re PR target/70821 (x86_64: __atomic_fetch_add/sub() uses XADD rather than DECL in...
authorJakub Jelinek <jakub@redhat.com>
Thu, 28 Apr 2016 17:10:14 +0000 (19:10 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 28 Apr 2016 17:10:14 +0000 (19:10 +0200)
commit81262dad15795720e197df259bf690967bc57a2b
tree879304333dc392a536812778fa544a55b9084e3e
parent7ff75c4966baf4853ac837b097a6cd2b4f8495d3
re PR target/70821 (x86_64: __atomic_fetch_add/sub() uses XADD rather than DECL in some cases)

PR target/70821
* config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
Add new peephole2 where the first insn is *mov<mode>_or instead of
*mov<mode>_internal.

* gcc.target/i386/pr70821.c: New test.

From-SVN: r235586
gcc/ChangeLog
gcc/config/i386/sync.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr70821.c [new file with mode: 0644]