]]>
x86/pixelutils: don't use the AVX2 functions on CPUs known to be slow with themJames Almer <jamrial@gmail.com>Wed, 1 Aug 2018 01:14:53 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/481741ece040b0a938099b521fd431d537d7198ahttp://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/481741ece040b0a938099b521fd431d537d7198a
x86/pixelutils: don't use the AVX2 functions on CPUs known to be slow with them
x86/pixelutils: don't use the AVX2 functions on CPUs known to be slow with them
Signed-off-by: James Almer <jamrial@gmail.com>

]]>
x86inc: Support creating global symbols from local labelsHenrik Gramner <henrik@gramner.com>Wed, 16 Aug 2017 13:59:16 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/6b6edd121699a87c17bd5eca9e94cdd125088c0ehttp://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/6b6edd121699a87c17bd5eca9e94cdd125088c0e
x86inc: Support creating global symbols from local labels
x86inc: Support creating global symbols from local labels
On ELF platforms such symbols needs to be flagged as functions with the
correct visibility to please certain linkers in some scenarios.

]]>
x86inc: Enable AVX emulation for floating-point pseudo-instructionsHenrik Gramner <henrik@gramner.com>Fri, 4 Aug 2017 22:09:52 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/3a02cbe3faccad9e346d63cf40c009e664657304http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/3a02cbe3faccad9e346d63cf40c009e664657304
x86inc: Enable AVX emulation for floating-point pseudo-instructions
x86inc: Enable AVX emulation for floating-point pseudo-instructions
There are 32 pseudo-instructions for each floating-point comparison
instruction, but only 8 of them are actually valid in legacy-encoded mode.
The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions
and can therefore be disregarded for this purpose.

]]>
x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled but... James Almer <jamrial@gmail.com>Mon, 25 Dec 2017 00:34:19 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/90d216cb90398ffb92e9e8361656ad619a985b64http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/90d216cb90398ffb92e9e8361656ad619a985b64
x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled but...
x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled but not used
Fixes compilation of libavresample/x86/audio_mix.asm
Reviewed-by: Gramner
Signed-off-by: James Almer <jamrial@gmail.com>

]]>
x86inc: AVX-512 supportHenrik Gramner <henrik@gramner.com>Sat, 25 Mar 2017 09:16:09 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/f7197f68dc61753be67ff68b27bbd3b15fe43da6http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/f7197f68dc61753be67ff68b27bbd3b15fe43da6
x86inc: AVX-512 support
x86inc: AVX-512 support
AVX-512 consists of a plethora of different extensions, but in order to keep
things a bit more manageable we group together the following extensions
under a single baseline cpu flag which should cover SKL-X and future CPUs:
* AVX-512 Foundation (F)
* AVX-512 Conflict Detection Instructions (CD)
* AVX-512 Byte and Word Instructions (BW)
* AVX-512 Doubleword and Quadword Instructions (DQ)
* AVX-512 Vector Length Extensions (VL)
On x86-64 AVX-512 provides 16 additional vector registers, prefer using
those over existing ones since it allows us to avoid using `vzeroupper`
unless more than 16 vector registers are required. They also happen to
be volatile on Windows which means that we don't need to save and restore
existing xmm register contents unless more than 22 vector registers are
required.
Big thanks to Intel for their support.

]]>
avutil/x86util : add macro for loading a 128 bits constants in an xmm or in each... Martin Vignali <martin.vignali@gmail.com>Sat, 2 Dec 2017 17:22:14 +0000http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/b37196adff750b49cdf2d2739deb069cfcbfd4ebhttp://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/b37196adff750b49cdf2d2739deb069cfcbfd4eb
avutil/x86util : add macro for loading a 128 bits constants in an xmm or in each...
avutil/x86util : add macro for loading a 128 bits constants in an xmm or in each part of an ymm in order to simplify avx2 asm func