aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.cc
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2024-04-19 10:29:34 +0800
committerliuhongt <hongtao.liu@intel.com>2024-06-06 08:34:13 +0800
commit7876cde25cbd2f026a0ae488e5263e72f8e9bfa0 (patch)
tree3238e6ab9a5e72c32a1f723ad62874ee868b879a /gcc/tree-vect-loop.cc
parent10cb3336ba1ac89b258f627222e668b023a6d3d4 (diff)
downloadgcc-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