aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2014-02-07 14:21:29 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2014-02-07 14:21:29 +0000
commitf4b83d665915650fb5711732f3edab926425d957 (patch)
tree431d7bb0eca8472cfcd9a2954c452d5bb0417f58
parent8bd7070a7a6fc94831aa9a67083ae038410ab19b (diff)
downloadgcc-f4b83d665915650fb5711732f3edab926425d957.zip
gcc-f4b83d665915650fb5711732f3edab926425d957.tar.gz
gcc-f4b83d665915650fb5711732f3edab926425d957.tar.bz2
gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations.
2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations. From-SVN: r207600
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/gcc-have-sync-compare-and-swap.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2e12145..e1ccc2d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte
+ variable used for atomic operations.
+
2014-02-07 Richard Biener <rguenther@suse.de>
PR middle-end/60092
diff --git a/gcc/testsuite/gcc.dg/gcc-have-sync-compare-and-swap.c b/gcc/testsuite/gcc.dg/gcc-have-sync-compare-and-swap.c
index faed818..5affeba 100644
--- a/gcc/testsuite/gcc.dg/gcc-have-sync-compare-and-swap.c
+++ b/gcc/testsuite/gcc.dg/gcc-have-sync-compare-and-swap.c
@@ -40,10 +40,12 @@ void f8()
#endif
}
+/* aligned (16): On S/390 16 byte compare and swap operations are only
+ available if the memory operand resides on a 16 byte boundary. */
void f16()
{
#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
- typedef int __attribute__ ((__mode__ (__TI__))) ti_int_type;
+ typedef int __attribute__ ((__mode__ (__TI__), aligned (16))) ti_int_type;
ti_int_type ti_int;
__sync_bool_compare_and_swap (&ti_int, (ti_int_type)0, (ti_int_type)1);
#endif