Remove the cmpdi pattern, since the operand constraints cannot be enforced
during register spilling. The default implementation is less optimal in some cases, but it works.
This commit is contained in:
parent
28152db63a
commit
f525bcf594
|
@ -414,32 +414,6 @@
|
|||
|
||||
;; compare instructions.
|
||||
|
||||
(define_expand "cmpdi"
|
||||
[(parallel
|
||||
[(set (cc0)
|
||||
(compare (match_operand:DI 0 "nonimmediate_operand" "")
|
||||
(match_operand:DI 1 "general_operand" "")))
|
||||
(clobber (match_dup 2))])]
|
||||
""
|
||||
"operands[2] = gen_reg_rtx (DImode);")
|
||||
|
||||
(define_insn ""
|
||||
[(set (cc0)
|
||||
(compare (match_operand:DI 1 "nonimmediate_operand" "0,d")
|
||||
(match_operand:DI 2 "general_operand" "d,0")))
|
||||
(clobber (match_operand:DI 0 "register_operand" "=d,d"))]
|
||||
""
|
||||
"*
|
||||
{
|
||||
if (rtx_equal_p (operands[0], operands[1]))
|
||||
return \"sub%.l %R2,%R0\;subx%.l %2,%0\";
|
||||
else
|
||||
{
|
||||
cc_status.flags |= CC_REVERSED;
|
||||
return \"sub%.l %R1,%R0\;subx%.l %1,%0\";
|
||||
}
|
||||
}")
|
||||
|
||||
;; This is the second "hook" for PIC code (in addition to movsi). See
|
||||
;; comment of movsi for a description of PIC handling.
|
||||
(define_expand "cmpsi"
|
||||
|
|
Loading…
Reference in New Issue