Hi, the attached patch fixes 2 more testcases for s390x.
gcc.dg/dfp/fe-convert-2.c: This one is supposed to test libdecnumber functions. On s390 we have an instruction which does the conversion performed here what makes the testcase fail with -march=z9-ec or higher. Fixed by forcing use of software dfp. testsuite/libgomp.c/atomic-2.c: A long double data type is used here to test atomic access on 16 byte values. However, long double on s390x is not necessarily 16 byte aligned but this is an requirement for the 128 bit compare and swap instruction. Fixed by forcing the alignment of the variable to 16 byte. Ok for mainline? Bye, -Andreas- 2012-01-27 Andreas Krebbel <andreas.kreb...@de.ibm.com> * gcc.dg/dfp/fe-convert-2.c: Force use of soft dfp on s390 and s390x. * testsuite/libgomp.c/atomic-2.c: Force alignment of the long double variable. --- gcc/testsuite/gcc.dg/dfp/fe-convert-2.c | 2 ++ libgomp/testsuite/libgomp.c/atomic-2.c | 2 !! 2 files changed, 2 insertions(+), 2 modifications(!) Index: gcc/testsuite/gcc.dg/dfp/fe-convert-2.c =================================================================== *** gcc/testsuite/gcc.dg/dfp/fe-convert-2.c.orig --- gcc/testsuite/gcc.dg/dfp/fe-convert-2.c *************** *** 1,3 **** --- 1,5 ---- + /* { dg-options "-mno-hard-dfp" { target { s390*-*-* } } } */ + /* Check that appropriate exceptions are raised for BFP to DFP conversions. The test only uses double and _Decimal32; tests for conversions to _Decimal64 would need 128-bit long double. */ Index: libgomp/testsuite/libgomp.c/atomic-2.c =================================================================== *** libgomp/testsuite/libgomp.c/atomic-2.c.orig --- libgomp/testsuite/libgomp.c/atomic-2.c *************** *** 6,12 **** #endif double d = 1.5; ! long double ld = 3; extern void abort (void); void --- 6,12 ---- #endif double d = 1.5; ! long double ld __attribute__ ((aligned (16))) = 3; extern void abort (void); void