From: Andreas Krebbel Date: Fri, 7 Feb 2014 14:21:29 +0000 (+0000) Subject: gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations. X-Git-Tag: releases/gcc-4.9.0~1019 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4b83d665915650fb5711732f3edab926425d957;p=thirdparty%2Fgcc.git gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations. 2014-02-07 Andreas Krebbel * gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte variable used for atomic operations. From-SVN: r207600 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e121458198a..e1ccc2d7547a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-02-07 Andreas Krebbel + + * gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte + variable used for atomic operations. + 2014-02-07 Richard Biener 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 faed818d5005..5affeba19f23 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