[ARM] PR target/69875 Fix atomic_loaddi expansion
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Feb 2016 11:00:28 +0000 (11:00 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Feb 2016 11:00:28 +0000 (11:00 +0000)
commit2a0accb9f37683f5d55d1edeaf266f8b49c1631c
tree88c83daf7ce5206486dc7168e43397fe7e35f6e7
parent698357bd3a1bbf06eebbc1813d0e0530d5522d92
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233658 138bc75d-0d04-0410-961f-82ee72b054a4
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]