diff options
author | liuhongt <hongtao.liu@intel.com> | 2024-04-19 10:29:34 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2024-06-06 08:34:13 +0800 |
commit | 7876cde25cbd2f026a0ae488e5263e72f8e9bfa0 (patch) | |
tree | 3238e6ab9a5e72c32a1f723ad62874ee868b879a /gcc/tree-vect-loop.cc | |
parent | 10cb3336ba1ac89b258f627222e668b023a6d3d4 (diff) | |
download | gcc-7876cde25cbd2f026a0ae488e5263e72f8e9bfa0.zip gcc-7876cde25cbd2f026a0ae488e5263e72f8e9bfa0.tar.gz gcc-7876cde25cbd2f026a0ae488e5263e72f8e9bfa0.tar.bz2 |
Simplify (AND (ASHIFTRT A imm) mask) to (LSHIFTRT A imm) for vector mode.
When mask is (1 << (prec - imm) - 1) which is used to clear upper bits
of A, then it can be simplified to LSHIFTRT.
i.e Simplify
(and:v8hi
(ashifrt:v8hi A 8)
(const_vector 0xff x8))
to
(lshifrt:v8hi A 8)
gcc/ChangeLog:
PR target/114428
* simplify-rtx.cc
(simplify_context::simplify_binary_operation_1):
Simplify (AND (ASHIFTRT A imm) mask) to (LSHIFTRT A imm) for
specific mask.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr114428-1.c: New test.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions