re PR target/85582 (wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode)
authorJakub Jelinek <jakub@redhat.com>
Wed, 2 May 2018 07:52:08 +0000 (09:52 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 2 May 2018 07:52:08 +0000 (09:52 +0200)
commit014dcf477d1504e3259a901fc9ebc4f091cf07f6
treed969467ed4a36be70259c7c49832fcb3a9b26c67
parent9e4da9b5d5d3d8e14ab1748fafb08c6b9bfcf629
re PR target/85582 (wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode)

PR target/85582
* config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
*ashl<dwi>3_doubleword_mask_1, *<shift_insn><dwi>3_doubleword_mask,
*<shift_insn><dwi>3_doubleword_mask_1): If and[sq]i3 is needed, don't
clobber operands[2], instead use a new pseudo.  Formatting fixes.

* gcc.c-torture/execute/pr85582-1.c: New test.
* gcc.c-torture/execute/pr85582-2.c: New test.

From-SVN: r259825
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr85582-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr85582-2.c [new file with mode: 0644]