This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/52242] New: [4.7 regression] libgomp.c/atomic-2.c failure on s390x


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]