From 3ade30eaf7694319bd1acac3d798582d63886d37 Mon Sep 17 00:00:00 2001
From: Richard Earnshaw <rearnsha@arm.com>
Date: Wed, 24 Jul 2002 18:29:00 +0000
Subject: [PATCH] arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
 pattern.

* 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         |  7 +++++++
 gcc/config/arm/arm.md | 23 +++++++++++++++++------
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af8ff6033ee1..8c38eb767bac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 8bd129cf0e5e..091da69c7eaf 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6029,7 +6029,7 @@
   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")]
@@ -6046,7 +6046,7 @@
   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")]
@@ -6081,7 +6081,7 @@
   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")]
@@ -6098,7 +6098,7 @@
   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")]
@@ -6303,8 +6303,12 @@
   "
   {
     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);
   }"
 )
@@ -6320,6 +6324,9 @@
     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)
@@ -6340,8 +6347,12 @@
   "
   {
     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);
   }"
 )
-- 
GitLab