diff options
author | liuhongt <hongtao.liu@intel.com> | 2021-01-04 11:24:30 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2021-01-05 19:39:46 +0800 |
commit | bea984814c6fcd056dc80c99805925eb19a591b9 (patch) | |
tree | 33fa2cdc417a299aaf5c9f760fa714c128a298ad /gcc/tree-vect-loop.c | |
parent | e8beba1cfc761cc35762283b3b44a355ef05e25b (diff) | |
download | gcc-bea984814c6fcd056dc80c99805925eb19a591b9.zip gcc-bea984814c6fcd056dc80c99805925eb19a591b9.tar.gz gcc-bea984814c6fcd056dc80c99805925eb19a591b9.tar.bz2 |
i386: Optimize pmovskb on zero_extend of subreg HI of pmovskb result [PR98461]
The following patch adds define_insn_and_split to optimize
vpmovmskb %xmm0, %eax
- movzwl %ax, %eax
notl %eax
and combine splitter to optimize
pmovmskb %xmm0, %eax
- notl %eax
- movzwl %ax, %eax
+ xorl $65535, %eax
gcc/ChangeLog
PR target/98461
* config/i386/sse.md (*sse2_pmovskb_zexthisi): New
define_insn_and_split for zero_extend of subreg HI of pmovskb
result.
(*sse2_pmovskb_zexthisi): Add new combine splitters for
zero_extend of not of subreg HI of pmovskb result.
gcc/testsuite/ChangeLog
* gcc.target/i386/sse2-pr98461-2.c: New test.
Diffstat (limited to 'gcc/tree-vect-loop.c')
0 files changed, 0 insertions, 0 deletions