diff options
author | liuhongt <hongtao.liu@intel.com> | 2024-05-14 18:39:54 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2024-05-16 08:41:01 +0800 |
commit | 0cc0956b3bb8bcbc9196075b9073a227d799e042 (patch) | |
tree | 147d95c51138f455c3ed676537a672d49c3b4e41 /gcc/common | |
parent | 25456c0e6d18ecc40215a2ad945502edbab39e88 (diff) | |
download | gcc-0cc0956b3bb8bcbc9196075b9073a227d799e042.zip gcc-0cc0956b3bb8bcbc9196075b9073a227d799e042.tar.gz gcc-0cc0956b3bb8bcbc9196075b9073a227d799e042.tar.bz2 |
Optimize ashift >> 7 to vpcmpgtb for vector int8.
Since there is no corresponding instruction, the shift operation for
vector int8 is implemented using the instructions for vector int16,
but for some special shift counts, it can be transformed into vpcmpgtb.
gcc/ChangeLog:
PR target/114514
* config/i386/i386-expand.cc
(ix86_expand_vec_shift_qihi_constant): Optimize ashift >> 7 to
vpcmpgtb.
(ix86_expand_vecop_qihi_partial): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr114514-shift.c: New test.
Diffstat (limited to 'gcc/common')
0 files changed, 0 insertions, 0 deletions