]> git.ipfire.org Git - thirdparty/gcc.git/commit
Support -m[no-]gather -m[no-]scatter to enable/disable vectorization for all gather...
authorliuhongt <hongtao.liu@intel.com>
Thu, 10 Aug 2023 08:26:13 +0000 (16:26 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 16 Aug 2023 02:12:02 +0000 (10:12 +0800)
commitb2a927fb5343db363ea4361da0d6bcee227b6737
tree86e7ad6abe5045b58a88523bbd88fca766378503
parent3064d1f5c48cb6ce1b4133570dd08ecca8abb52d
Support -m[no-]gather -m[no-]scatter to enable/disable vectorization for all gather/scatter instructions

Rename original use_gather to use_gather_8parts, Support
-mtune-ctrl={,^}use_gather to set/clear tune features
use_gather_{2parts, 4parts, 8parts}. Support the new option -mgather
as alias of -mtune-ctrl=, use_gather, ^use_gather.

Similar for use_scatter.

gcc/ChangeLog:

* config/i386/i386-builtins.cc
(ix86_vectorize_builtin_gather): Adjust for use_gather_8parts.
* config/i386/i386-options.cc (parse_mtune_ctrl_str):
Set/Clear tune features use_{gather,scatter}_{2parts, 4parts,
8parts} for -mtune-crtl={,^}{use_gather,use_scatter}.
* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust
for use_scatter_8parts
* config/i386/i386.h (TARGET_USE_GATHER): Rename to ..
(TARGET_USE_GATHER_8PARTS): .. this.
(TARGET_USE_SCATTER): Rename to ..
(TARGET_USE_SCATTER_8PARTS): .. this.
* config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to
(X86_TUNE_USE_GATHER_8PARTS): .. this.
(X86_TUNE_USE_SCATTER): Rename to
(X86_TUNE_USE_SCATTER_8PARTS): .. this.
* config/i386/i386.opt: Add new options mgather, mscatter.
gcc/config/i386/i386-builtins.cc
gcc/config/i386/i386-options.cc
gcc/config/i386/i386.cc
gcc/config/i386/i386.h
gcc/config/i386/i386.opt
gcc/config/i386/x86-tune.def