]> git.ipfire.org Git - thirdparty/gcc.git/commit
simplify-rtx: Simplify `(zero_extend (and x CST))` -> (and (subreg x) CST)
authorAndrew Pinski <quic_apinski@quicinc.com>
Wed, 5 Feb 2025 22:44:25 +0000 (14:44 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Sat, 26 Apr 2025 04:09:27 +0000 (21:09 -0700)
commite6f89d78c1a7528e93458278e35d365544a18c26
treee1d3bc3a0632172a6431fde98e9b27501eb30d0f
parented65ae6c9e7862c49554da54e90c8bb304748142
simplify-rtx: Simplify `(zero_extend (and x CST))` -> (and (subreg x) CST)

This adds the simplification of a ZERO_EXTEND of an AND. This optimization
was already handled in combine via combine_simplify_rtx and the handling
there of compound_operations (ZERO_EXTRACT).

Build and tested for aarch64-linux-gnu.
Bootstrapped and tested on x86_64-linux-gnu.

gcc/ChangeLog:

* simplify-rtx.cc (simplify_context::simplify_unary_operation_1) <case ZERO_EXTEND>:
Add simplifcation for and with a constant.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/simplify-rtx.cc