aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gcc.gnu.org>2013-09-10 18:08:57 +0930
committerAlan Modra <amodra@gcc.gnu.org>2013-09-10 18:08:57 +0930
commit7dbdaf87da09ca1b3ff501d0a89ea28463b541bb (patch)
treee6612a7ce79e2097f1aeca779c44589aee5020cf /gcc
parentff131f2627d91481bf40eb75b71a7d8234dbd7b0 (diff)
downloadgcc-7dbdaf87da09ca1b3ff501d0a89ea28463b541bb.zip
gcc-7dbdaf87da09ca1b3ff501d0a89ea28463b541bb.tar.gz
gcc-7dbdaf87da09ca1b3ff501d0a89ea28463b541bb.tar.bz2
re PR target/58330 (powerpc64 atomic store split in two)
PR target/58330 oops, missed from commit From-SVN: r202428
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr58330.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/pr58330.c b/gcc/testsuite/gcc.target/powerpc/pr58330.c
new file mode 100644
index 0000000..76983dd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pr58330.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-require-effective-target lp64 } */
+/* { dg-options "-O -mno-popcntb" } */
+/* { dg-final { scan-assembler-not "stwbrx" } } */
+
+void
+write_reverse (unsigned long *addr, unsigned long val)
+{
+ unsigned long reverse = __builtin_bswap64 (val);
+ __atomic_store_n (addr, reverse, __ATOMIC_RELAXED);
+}