Commit 3ade30ea by Richard Earnshaw Committed by Richard Earnshaw

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
parent ce05139c
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> 2002-07-24 Chris Demetriou <cgd@broadcom.com>
* config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o. * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
......
...@@ -6029,7 +6029,7 @@ ...@@ -6029,7 +6029,7 @@
if (arm_ccfsm_state != 0) if (arm_ccfsm_state != 0)
abort (); abort ();
return \"bvs\\t%l0;beq\\t%l0\"; return \"bvs\\t%l0\;beq\\t%l0\";
" "
[(set_attr "conds" "jump_clob") [(set_attr "conds" "jump_clob")
(set_attr "length" "8")] (set_attr "length" "8")]
...@@ -6046,7 +6046,7 @@ ...@@ -6046,7 +6046,7 @@
if (arm_ccfsm_state != 0) if (arm_ccfsm_state != 0)
abort (); abort ();
return \"bmi\\t%l0;bgt\\t%l0\"; return \"bmi\\t%l0\;bgt\\t%l0\";
" "
[(set_attr "conds" "jump_clob") [(set_attr "conds" "jump_clob")
(set_attr "length" "8")] (set_attr "length" "8")]
...@@ -6081,7 +6081,7 @@ ...@@ -6081,7 +6081,7 @@
if (arm_ccfsm_state != 0) if (arm_ccfsm_state != 0)
abort (); abort ();
return \"bmi\\t%l0;bgt\\t%l0\"; return \"bmi\\t%l0\;bgt\\t%l0\";
" "
[(set_attr "conds" "jump_clob") [(set_attr "conds" "jump_clob")
(set_attr "length" "8")] (set_attr "length" "8")]
...@@ -6098,7 +6098,7 @@ ...@@ -6098,7 +6098,7 @@
if (arm_ccfsm_state != 0) if (arm_ccfsm_state != 0)
abort (); abort ();
return \"bvs\\t%l0;beq\\t%l0\"; return \"bvs\\t%l0\;beq\\t%l0\";
" "
[(set_attr "conds" "jump_clob") [(set_attr "conds" "jump_clob")
(set_attr "length" "8")] (set_attr "length" "8")]
...@@ -6303,8 +6303,12 @@ ...@@ -6303,8 +6303,12 @@
" "
{ {
enum rtx_code code = GET_CODE (operands[1]); 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); operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
}" }"
) )
...@@ -6320,6 +6324,9 @@ ...@@ -6320,6 +6324,9 @@
enum rtx_code code = GET_CODE (operands[1]); enum rtx_code code = GET_CODE (operands[1]);
rtx ccreg; rtx ccreg;
if (code == UNEQ || code == LTGT)
FAIL;
/* When compiling for SOFT_FLOAT, ensure both arms are in registers. /* When compiling for SOFT_FLOAT, ensure both arms are in registers.
Otherwise, ensure it is a valid FP add operand */ Otherwise, ensure it is a valid FP add operand */
if ((!TARGET_HARD_FLOAT) if ((!TARGET_HARD_FLOAT)
...@@ -6340,8 +6347,12 @@ ...@@ -6340,8 +6347,12 @@
" "
{ {
enum rtx_code code = GET_CODE (operands[1]); 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); operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
}" }"
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment