• Henrik Gramner's avatar
    x86inc: AVX-512 support · f7197f68
    Henrik Gramner authored
    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.
    f7197f68
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
fftools Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
configure Loading commit data...