gcc/gcc9-pr89434.patch

21 lines
848 B
Diff

2019-02-27 Jakub Jelinek <jakub@redhat.com>
PR target/89434
* config/arm/arm.md (*subsi3_carryin_compare_const): Use
trunc_int_for_mode (-INTVAL (...), SImode), just instead of
-UINTVAL (...).
--- gcc/config/arm/arm.md.jj 2019-02-25 11:32:02.914684615 +0100
+++ gcc/config/arm/arm.md 2019-02-26 14:41:41.128767480 +0100
@@ -1185,7 +1187,9 @@ (define_insn "*subsi3_carryin_compare_co
(minus:SI (plus:SI (match_dup 1)
(match_operand:SI 3 "arm_neg_immediate_operand" "L"))
(ltu:SI (reg:CC_C CC_REGNUM) (const_int 0))))]
- "TARGET_32BIT && UINTVAL (operands[2]) == -UINTVAL (operands[3])"
+ "TARGET_32BIT
+ && (INTVAL (operands[2])
+ == trunc_int_for_mode (-INTVAL (operands[3]), SImode))"
"sbcs\\t%0, %1, #%n3"
[(set_attr "conds" "set")
(set_attr "type" "adcs_imm")]