]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output pattern.
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 24 Jul 2002 18:29:00 +0000 (18:29 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 24 Jul 2002 18:29:00 +0000 (18:29 +0000)
* arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
pattern.
(arm_buneq_reversed, arm_bltgt_reversed): Likewise.
(movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.

From-SVN: r55717

gcc/ChangeLog
gcc/config/arm/arm.md

index af8ff6033ee136b88cb6cfe8f04312fac738288f..8c38eb767bac2d866d0a813dd82593ff90527414 100644 (file)
@@ -1,3 +1,10 @@
+2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
+       pattern.
+       (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
+       (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
+
 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
 
        * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
index 8bd129cf0e5e0009c06e439b5fae6752bf906923..091da69c7eaf35c948ce16325568b1f37b817cf7 100644 (file)
   if (arm_ccfsm_state != 0)
     abort ();
 
-  return \"bvs\\t%l0;beq\\t%l0\";
+  return \"bvs\\t%l0\;beq\\t%l0\";
   "
   [(set_attr "conds" "jump_clob")
    (set_attr "length" "8")]
   if (arm_ccfsm_state != 0)
     abort ();
 
-  return \"bmi\\t%l0;bgt\\t%l0\";
+  return \"bmi\\t%l0\;bgt\\t%l0\";
   "
   [(set_attr "conds" "jump_clob")
    (set_attr "length" "8")]
   if (arm_ccfsm_state != 0)
     abort ();
 
-  return \"bmi\\t%l0;bgt\\t%l0\";
+  return \"bmi\\t%l0\;bgt\\t%l0\";
   "
   [(set_attr "conds" "jump_clob")
    (set_attr "length" "8")]
   if (arm_ccfsm_state != 0)
     abort ();
 
-  return \"bvs\\t%l0;beq\\t%l0\";
+  return \"bvs\\t%l0\;beq\\t%l0\";
   "
   [(set_attr "conds" "jump_clob")
    (set_attr "length" "8")]
   "
   {
     enum rtx_code code = GET_CODE (operands[1]);
-    rtx ccreg = arm_gen_compare_reg (code, arm_compare_op0, arm_compare_op1);
+    rtx ccreg;
+
+    if (code == UNEQ || code == LTGT)
+      FAIL;
 
+    ccreg = arm_gen_compare_reg (code, arm_compare_op0, arm_compare_op1);
     operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
   }"
 )
     enum rtx_code code = GET_CODE (operands[1]);
     rtx ccreg;
 
+    if (code == UNEQ || code == LTGT)
+      FAIL;
+
     /* When compiling for SOFT_FLOAT, ensure both arms are in registers. 
        Otherwise, ensure it is a valid FP add operand */
     if ((!TARGET_HARD_FLOAT)
   "
   {
     enum rtx_code code = GET_CODE (operands[1]);
-    rtx ccreg = arm_gen_compare_reg (code, arm_compare_op0, arm_compare_op1);
+    rtx ccreg;
 
+    if (code == UNEQ || code == LTGT)
+      FAIL;
+
+    ccreg = arm_gen_compare_reg (code, arm_compare_op0, arm_compare_op1);
     operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
   }"
 )