diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-02-28 14:13:33 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-02-28 14:13:33 +0100 |
commit | ad7abff56e3bd04f9e5f34bfe89facb647f3a54a (patch) | |
tree | 7437cfc65ed8be5ab3dcfb55695ab32ce9cbae19 | |
parent | 29c6debccf0d155cb0a0fd14eb6afe077a206f27 (diff) | |
download | gcc-ad7abff56e3bd04f9e5f34bfe89facb647f3a54a.zip gcc-ad7abff56e3bd04f9e5f34bfe89facb647f3a54a.tar.gz gcc-ad7abff56e3bd04f9e5f34bfe89facb647f3a54a.tar.bz2 |
re PR target/89434 (wrong code with -Og and __builtin_mul_overflow())
PR target/89434
* config/arm/arm.md (*subsi3_carryin_compare_const): Use
trunc_int_for_mode (-INTVAL (...), SImode), just instead of
-UINTVAL (...).
From-SVN: r269277
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7ca0e4..34c3bbd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-02-28 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 (...). + 2019-02-28 Tamar Christina <tamar.christina@arm.com> PR target/88530 diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index baf71a5..8668937 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -1185,7 +1185,9 @@ (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")] |