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:
parent
f10743d3f7
commit
aef1bf3b55
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user