]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Use right shifts to eliminate redundant test/compare insns on the H8
authorJeff Law <jeffreyalaw@gmail.com>
Fri, 25 Jun 2021 13:22:28 +0000 (09:22 -0400)
committerJeff Law <jeffreyalaw@gmail.com>
Fri, 25 Jun 2021 13:22:28 +0000 (09:22 -0400)
gcc/
* config/h8300/h8300.c (select_cc_mode): Handle ASHIFTRT and LSHIFTRT.

gcc/config/h8300/h8300.c

index 511c2b28e4020f632b8e427937faaeb9ee19f6e4..d8b4bfcbdbe76cdecb58aca4c09d15cee854279e 100644 (file)
@@ -1947,9 +1947,10 @@ h8300_select_cc_mode (enum rtx_code cond, rtx op0, rtx op1)
   if (op1 == const0_rtx
       && (cond == EQ || cond == NE || cond == LT || cond == GE)
       && (GET_CODE (op0) == PLUS || GET_CODE (op0) == MINUS
-          || GET_CODE (op0) == NEG || GET_CODE (op0) == AND
-          || GET_CODE (op0) == IOR || GET_CODE (op0) == XOR
-          || GET_CODE (op0) == NOT || GET_CODE (op0) == ASHIFT
+         || GET_CODE (op0) == NEG || GET_CODE (op0) == AND
+         || GET_CODE (op0) == IOR || GET_CODE (op0) == XOR
+         || GET_CODE (op0) == NOT || GET_CODE (op0) == ASHIFT
+         || GET_CODE (op0) == ASHIFTRT || GET_CODE (op0) == LSHIFTRT
          || GET_CODE (op0) == MULT || GET_CODE (op0) == SYMBOL_REF
          || GET_CODE (op0) == SIGN_EXTEND || GET_CODE (op0) == ZERO_EXTEND
          || REG_P (op0) || MEM_P (op0)))