(comparison): Don't emit invalid optimization
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Nov 1993 15:24:51 +0000 (15:24 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Nov 1993 15:24:51 +0000 (15:24 +0000)
for (set (reg) (comparison)) and (set (reg) (neg (comparison)))
when comparison is LT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6075 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/arm/arm.md

index 68d5c15..8b2cd62 100644 (file)
    (clobber (reg 24))]
   ""
   "*
-  if (GET_CODE (operands[1]) == LT)
-    {
-      if (operands[3] == const0_rtx)
-       return arm_output_asm_insn (\"mov\\t%0, %2, lsr #31\", operands);
-      if (GET_CODE (operands[3]) == CONST_INT
-         && !const_ok_for_arm (INTVAL (operands[3])))
-       arm_output_asm_insn (\"add\\t%0, %2, #%n3\", operands);
-      else
-        arm_output_asm_insn (\"sub\\t%0, %2, %3\", operands);
-      return arm_output_asm_insn (\"mov\\t%0, %0, lsr #31\", operands);
-    }
+  if (GET_CODE (operands[1]) == LT && operands[3] == const0_rtx)
+    return arm_output_asm_insn (\"mov\\t%0, %2, lsr #31\", operands);
   if (GET_CODE (operands[1]) == GE && operands[3] == const0_rtx)
     {
       arm_output_asm_insn (\"mvn\\t%0, %2\", operands);
    (clobber (reg 24))]
   ""
   "*
-  if (GET_CODE (operands[3]) == LT)
-    {
-      if (operands[3] == const0_rtx)
-       return arm_output_asm_insn (\"mov\\t%0, %1, asr #31\", operands);
-      arm_output_asm_insn (\"sub\\t%0, %1, %2\", operands);
-      return arm_output_asm_insn (\"mov\\t%0, %0, asr #31\", operands);
-    }
+  if (GET_CODE (operands[3]) == LT && operands[3] == const0_rtx)
+    return arm_output_asm_insn (\"mov\\t%0, %1, asr #31\", operands);
   if (GET_CODE (operands[3]) == NE)
     {
       arm_output_asm_insn (\"subs\\t%0, %1, %2\", operands);