[ARM] PR target/69875 Fix atomic_loaddi expansion
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 24 Feb 2016 11:00:28 +0000 (11:00 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Wed, 24 Feb 2016 11:00:28 +0000 (11:00 +0000)
commit74a002883c0a800298ad2db7fff646fca07870cf
tree88c83daf7ce5206486dc7168e43397fe7e35f6e7
parentd46cfcc0b9d41c4c6bd2611368b9cbc45872bb7f
[ARM] PR target/69875 Fix atomic_loaddi expansion

PR target/69875
* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
(atomic_loaddi_1): Delete.
(atomic_loaddi): Rewrite expander using the above changes.

* gcc.target/arm/atomic_loaddi_acquire.x: New file.
* gcc.target/arm/atomic_loaddi_relaxed.x: Likewise.
* gcc.target/arm/atomic_loaddi_seq_cst.x: Likewise.
* gcc.target/arm/atomic_loaddi_1.c: New test.
* gcc.target/arm/atomic_loaddi_2.c: Likewise.
* gcc.target/arm/atomic_loaddi_3.c: Likewise.
* gcc.target/arm/atomic_loaddi_4.c: Likewise.
* gcc.target/arm/atomic_loaddi_5.c: Likewise.
* gcc.target/arm/atomic_loaddi_6.c: Likewise.
* gcc.target/arm/atomic_loaddi_7.c: Likewise.
* gcc.target/arm/atomic_loaddi_8.c: Likewise.
* gcc.target/arm/atomic_loaddi_9.c: Likewise.

From-SVN: r233658
17 files changed:
gcc/ChangeLog
gcc/config/arm/arm.h
gcc/config/arm/sync.md
gcc/config/arm/unspecs.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/atomic_loaddi_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_acquire.x [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_relaxed.x [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/atomic_loaddi_seq_cst.x [new file with mode: 0644]