diff options
author | liuhongt <hongtao.liu@intel.com> | 2021-07-20 18:32:35 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2021-07-22 10:40:16 +0800 |
commit | a56c251898ea70b46798d7893a871bcfe318529b (patch) | |
tree | c377234035d48b0c85d7ca7ac75c3e29612093ff /gcc/gimple-range-fold.cc | |
parent | 419c6c68e60adc8801b44dab72ebcd680cfe1d97 (diff) | |
download | gcc-a56c251898ea70b46798d7893a871bcfe318529b.zip gcc-a56c251898ea70b46798d7893a871bcfe318529b.tar.gz gcc-a56c251898ea70b46798d7893a871bcfe318529b.tar.bz2 |
Support logic shift left/right for avx512 mask type.
gcc/ChangeLog:
* config/i386/constraints.md (Wb): New constraint.
(Ww): Ditto.
* config/i386/i386.md (*ashlhi3_1): Extend to avx512 mask
shift.
(*ashlqi3_1): Ditto.
(*<insn><mode>3_1): Split to ..
(*ashr<mode>3_1): this, ...
(*lshr<mode>3_1): and this, also extend this pattern to avx512
mask registers.
(*<insn><mode>3_1): Split to ..
(*ashr<mode>3_1): this, ...
(*lshrqi3_1): and this, also extend this pattern to avx512
mask registers.
(*lshrhi3_1): And this, also extend this pattern to avx512
mask registers.
* config/i386/sse.md (k<code><mode>): New define_split after
it to convert generic shift pattern to mask shift ones.
gcc/testsuite/ChangeLog:
* gcc.target/i386/mask-shift.c: New test.
Diffstat (limited to 'gcc/gimple-range-fold.cc')
0 files changed, 0 insertions, 0 deletions