This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/52242] New: [4.7 regression] libgomp.c/atomic-2.c failure on s390x
- From: "krebbel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 Feb 2012 08:33:38 +0000
- Subject: [Bug tree-optimization/52242] New: [4.7 regression] libgomp.c/atomic-2.c failure on s390x
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52242
Bug #: 52242
Summary: [4.7 regression] libgomp.c/atomic-2.c failure on s390x
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: krebbel@gcc.gnu.org
181748 rth /* ??? Assume BIGGEST_ALIGNMENT *is* aligned. */
181748 rth if (exact_log2 (align) >= index
181748 rth || align * BITS_PER_UNIT >= BIGGEST_ALIGNMENT)
That broke the atomic-2.c libgomp testcase on s390x. We have
BIGGEST_ALIGNMENT of 64. A 128 bit long double does not need to be
aligned better than 64 bit in memory. However, the 128bit compare and
swap instruction we have requires the operands to be naturally
aligned. In the testcase a compare and swap double instruction is used
on a long double value which is only 8 byte aligned in memory.