diff options
author | Andrew Pinski <quic_apinski@quicinc.com> | 2025-07-29 21:49:16 -0700 |
---|---|---|
committer | Andrew Pinski <quic_apinski@quicinc.com> | 2025-07-30 08:27:51 -0700 |
commit | 0340177d54d08b6375391ba164a878e6a596275e (patch) | |
tree | 241aa3fa72ddbbeebe662a1b30b8ac9d0e9610b3 /libstdc++-v3/testsuite/std | |
parent | aebbc90d8c7c703c787ce402b9c55fdf2ecbbcd8 (diff) | |
download | gcc-0340177d54d08b6375391ba164a878e6a596275e.zip gcc-0340177d54d08b6375391ba164a878e6a596275e.tar.gz gcc-0340177d54d08b6375391ba164a878e6a596275e.tar.bz2 |
simplify-rtx: Add `(subreg (not a))` simplification for word_mode [PR121308]
Right now in simplify_subreg, there is code to try to simplify for word_mode
with the binary bitwise operators. The unary bitwise operator is not handle,
this causes an odd mix match and the new self testing code that was added with
r16-2614-g965564eafb721f was not expecting.
The self testing code was for testing the newly added code but since there
was already code that handles word_mode, we hit the mismatch but only
for targets where word_mode is SImode (or smaller).
This adds the code to handle `not` in a similar fashion as the other
bitwise operators for word_mode.
Changes since v1:
* v2: add `&& SCALAR_INT_MODE_P (innermode)` to the conditional.
Bootstrapped and tested on x86_64-linux-gnu.
PR rtl-optimization/121308
gcc/ChangeLog:
* simplify-rtx.cc (simplify_context::simplify_subreg): Handle
subreg of `not` with word_mode to make it symmetric with the
other bitwise operators.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'libstdc++-v3/testsuite/std')
0 files changed, 0 insertions, 0 deletions