https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77729

--- Comment #13 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Tue Oct  3 16:02:38 2017
New Revision: 253384

URL: https://gcc.gnu.org/viewcvs?rev=253384&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/simplify-rtx.c

Reply via email to