diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2017-10-03 18:02:38 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2017-10-03 18:02:38 +0200 |
commit | a8ccdfa8ea6fbdc78bdd5617427d7ba945cc83af (patch) | |
tree | 50f8effb7cc092e35fba1cd02ad40548cf55e31b /gcc/fold-const.c | |
parent | 9c53f040cb3c3bc0b86f702af5bd73d904d6cf0f (diff) | |
download | gcc-a8ccdfa8ea6fbdc78bdd5617427d7ba945cc83af.zip gcc-a8ccdfa8ea6fbdc78bdd5617427d7ba945cc83af.tar.gz gcc-a8ccdfa8ea6fbdc78bdd5617427d7ba945cc83af.tar.bz2 |
simplify-rtx: Remove non-simplifying simplification (PR77729)
If we have (X&C1)|C2 simplify_binary_operation_1 makes C1 as small as
possible. This makes worse code in common cases like when the AND with
C1 is from a zero-extension. This patch fixes it by removing this
transformation (twice).
PR rtl-optimization/77729
* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
to (X&(C1&~C2))|C2 transformations.
From-SVN: r253384
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions