arm: Fix arm {,u}subvdi4 and usubvsi4 expanders [PR94286]
authorJakub Jelinek <jakub@redhat.com>
Tue, 24 Mar 2020 09:28:58 +0000 (10:28 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 24 Mar 2020 09:28:58 +0000 (10:28 +0100)
commit596c90d35591589e0efddda65c81609fb422a986
tree84a20a52fbbae76605933a6aaaba3fdb6af7cd2e
parent565ab7efbdc68cca5a2a81d872015f33359048b4
arm: Fix arm {,u}subvdi4 and usubvsi4 expanders [PR94286]

The following testcase ICEs, because these expanders will happily create
a SImode 0x80000000 CONST_INT, which is not valid RTL, as CONST_INTs need to
be sign extended from the mode precision to full HWI.

2020-03-24  Jakub Jelinek  <jakub@redhat.com>

PR target/94286
* config/arm/arm.md (subvdi4, usubvsi4, usubvdi4): Use gen_int_mode
instead of GEN_INT.

* gcc.dg/pr94286.c: New test.
gcc/ChangeLog
gcc/config/arm/arm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr94286.c [new file with mode: 0644]