re PR target/93141 (Missed optimization : Use of adc when checking overflow)
authorJakub Jelinek <jakub@redhat.com>
Thu, 9 Jan 2020 08:18:51 +0000 (09:18 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 9 Jan 2020 08:18:51 +0000 (09:18 +0100)
commitec9b602c167fb7dfba717f04852a3810ecf9a9a8
treed50925ac91112f5e6a577e4bacb8aa67dd7e27b5
parentb9c84e95030d375a275f4e518dbc60a397dd5151
re PR target/93141 (Missed optimization : Use of adc when checking overflow)

PR target/93141
* config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
SWI.  Use <general_hilo_operand> instead of <general_operand>.  Use
CONST_SCALAR_INT_P instead of CONST_INT_P.
(*subv<mode>4_1): Rename to ...
(subv<mode>4_1): ... this.
(*subv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
define_insn_and_split patterns.
(*subv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
patterns.

* gcc.target/i386/pr93141-1.c: Add tests with constants that have MSB
of the low half of the constant set.
* gcc.target/i386/pr93141-2.c: New test.

From-SVN: r280029
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr93141-1.c
gcc/testsuite/gcc.target/i386/pr93141-2.c [new file with mode: 0644]