Summary: m68k: add missing early clobber in beq0_di, bne0_di patterns

* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.

From-SVN: r211104
This commit is contained in:
Andreas Schwab 2014-05-31 12:08:25 +00:00 committed by Andreas Schwab
parent f10743d3f7
commit aef1bf3b55
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2014-05-31 Andreas Schwab <schwab@linux-m68k.org>
* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.
2014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.

View File

@ -5954,15 +5954,15 @@
(define_insn "beq0_di"
[(set (pc)
(if_then_else (eq (match_operand:DI 0 "general_operand" "d*ao,<>")
(if_then_else (eq (match_operand:DI 0 "general_operand" "d*a,o,<>")
(const_int 0))
(label_ref (match_operand 1 "" ","))
(label_ref (match_operand 1 "" ",,"))
(pc)))
(clobber (match_scratch:SI 2 "=d,d"))]
(clobber (match_scratch:SI 2 "=d,&d,d"))]
""
{
CC_STATUS_INIT;
if (which_alternative == 1)
if (which_alternative == 2)
return "move%.l %0,%2\;or%.l %0,%2\;jeq %l1";
if ((cc_prev_status.value1
&& rtx_equal_p (cc_prev_status.value1, operands[0]))
@ -5999,11 +5999,11 @@
(define_insn "bne0_di"
[(set (pc)
(if_then_else (ne (match_operand:DI 0 "general_operand" "do,*a")
(if_then_else (ne (match_operand:DI 0 "general_operand" "d,o,*a")
(const_int 0))
(label_ref (match_operand 1 "" ","))
(label_ref (match_operand 1 "" ",,"))
(pc)))
(clobber (match_scratch:SI 2 "=d,X"))]
(clobber (match_scratch:SI 2 "=d,&d,X"))]
""
{
if ((cc_prev_status.value1