re PR target/82524 (expensive-optimizations produces wrong results)
authorJakub Jelinek <jakub@redhat.com>
Fri, 13 Oct 2017 07:29:51 +0000 (09:29 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 13 Oct 2017 07:29:51 +0000 (09:29 +0200)
commit5752d1f7943db65667edeaf8481dc10b60a23197
tree34ada7dd92163360dda28ca0bfa8dbae0ab5c47a
parenta0e4174cd80f8a17026d6c13af2802dc8a0146ad
re PR target/82524 (expensive-optimizations produces wrong results)

PR target/82524
* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
=Q constraints to +Q and into insn condition add check
that operands[0] and operands[1] are equal.
(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
=Q constraints to +Q and into insn condition add check
that operands[0] is equal to either operands[1] or operands[2].

* gcc.c-torture/execute/pr82524.c: New test.

From-SVN: r253710
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr82524.c [new file with mode: 0644]