mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-17 13:15:41 +08:00
arm.md (addsi3_cbranch_scratch): Correct constraints.
* config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints. Handle negative constants. From-SVN: r88929
This commit is contained in:
parent
49dee49c62
commit
b49e92fea2
@ -6417,7 +6417,7 @@
|
||||
(match_operator 3 "comparison_operator"
|
||||
[(plus:SI
|
||||
(match_operand:SI 1 "s_register_operand" "%l,l,l,0")
|
||||
(match_operand:SI 2 "reg_or_int_operand" "J,l,I,L"))
|
||||
(match_operand:SI 2 "reg_or_int_operand" "J,l,L,IJ"))
|
||||
(const_int 0)])
|
||||
(label_ref (match_operand 4 "" ""))
|
||||
(pc)))
|
||||
@ -6438,10 +6438,16 @@
|
||||
output_asm_insn (\"cmn\t%1, %2\", operands);
|
||||
break;
|
||||
case 2:
|
||||
output_asm_insn (\"add\t%0, %1, %2\", operands);
|
||||
if (INTVAL (operands[2]) < 0)
|
||||
output_asm_insn (\"sub\t%0, %1, %2\", operands);
|
||||
else
|
||||
output_asm_insn (\"add\t%0, %1, %2\", operands);
|
||||
break;
|
||||
case 3:
|
||||
output_asm_insn (\"add\t%0, %0, %2\", operands);
|
||||
if (INTVAL (operands[2]) < 0)
|
||||
output_asm_insn (\"sub\t%0, %0, %2\", operands);
|
||||
else
|
||||
output_asm_insn (\"add\t%0, %0, %2\", operands);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user