aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2023-08-10 11:41:39 +0800
committerliuhongt <hongtao.liu@intel.com>2023-08-16 09:18:06 +0800
commit3064d1f5c48cb6ce1b4133570dd08ecca8abb52d (patch)
tree46ab8bae6faf850daa3843d6ffd6aaf2bc1e874a /gcc/tree-vectorizer.h
parentf5f7d03bb9634b052a7b4469f10db10e20a8bbc4 (diff)
downloadgcc-3064d1f5c48cb6ce1b4133570dd08ecca8abb52d.zip
gcc-3064d1f5c48cb6ce1b4133570dd08ecca8abb52d.tar.gz
gcc-3064d1f5c48cb6ce1b4133570dd08ecca8abb52d.tar.bz2
Software mitigation: Disable gather generation in vectorization for GDS affected Intel Processors.
For more details of GDS (Gather Data Sampling), refer to https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/gather-data-sampling.html After microcode update, there's performance regression. To avoid that, the patch disables gather generation in autovectorization but uses gather scalar emulation instead. gcc/ChangeLog: * config/i386/i386-options.cc (m_GDS): New macro. * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't enable for m_GDS. (X86_TUNE_USE_GATHER_4PARTS): Ditto. (X86_TUNE_USE_GATHER): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/avx2-gather-2.c: Adjust options to keep gather vectorization. * gcc.target/i386/avx2-gather-6.c: Ditto. * gcc.target/i386/avx512f-pr88464-1.c: Ditto. * gcc.target/i386/avx512f-pr88464-5.c: Ditto. * gcc.target/i386/avx512vl-pr88464-1.c: Ditto. * gcc.target/i386/avx512vl-pr88464-11.c: Ditto. * gcc.target/i386/avx512vl-pr88464-3.c: Ditto. * gcc.target/i386/avx512vl-pr88464-9.c: Ditto. * gcc.target/i386/pr88531-1b.c: Ditto. * gcc.target/i386/pr88531-1c.c: Ditto.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions