pa.h (BIGGEST_ALIGNMENT): Adjust comment.
authorJohn David Anglin <danglin@gcc.gnu.org>
Sat, 29 Oct 2016 15:30:26 +0000 (15:30 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 29 Oct 2016 15:30:26 +0000 (15:30 +0000)
* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
(MALLOC_ABI_ALIGNMENT): Define to 128 on all targets except SOM.
Adjust comment.

From-SVN: r241676

gcc/ChangeLog
gcc/config/pa/pa.h

index 529b58e..2a74c71 100644 (file)
@@ -1,3 +1,9 @@
+2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
+       (MALLOC_ABI_ALIGNMENT): Define to 128 on all targets except SOM.
+       Adjust comment.
+
 2016-10-28  Jeff Law  <law@redhat.com>
 
        * config/vax/vax.h (REGNO_REG_CLASS): Access the REGNO argument.
index f0aa1ae..7787482 100644 (file)
@@ -295,17 +295,19 @@ typedef struct GTY(()) machine_function
 /* No data type wants to be aligned rounder than this.  The long double
    type has 16-byte alignment on the 64-bit target even though it was never
    implemented in hardware.  The software implementation only needs 8-byte
-   alignment.  This is to match the HP compilers.  */
+   alignment.  This matches the biggest alignment of the HP compilers.  */
 #define BIGGEST_ALIGNMENT (2 * BITS_PER_WORD)
 
 /* Alignment, in bits, a C conformant malloc implementation has to provide.
    The HP-UX malloc implementation provides a default alignment of 8 bytes.
-   This can be increased with mallopt.  The glibc implementation also provides
-   8-byte alignment.  Note that this isn't enough for various POSIX types such
-   as pthread_mutex_t.  However, since we no longer need the 16-byte alignment
-   for atomic operations, we ignore the nominal alignment specified for these
-   types.  The same is true for long double on 64-bit HP-UX.  */
-#define MALLOC_ABI_ALIGNMENT (64)
+   It should be 16 bytes on the 64-bit target since long double has 16-byte
+   alignment.  It can be increased with mallopt but it's non critical since
+   long double was never implemented in hardware.  The glibc implementation
+   currently provides 8-byte alignment.  It should be 16 bytes since various
+   POSIX types such as pthread_mutex_t require 16-byte alignment.  Again,
+   this is non critical since 16-byte alignment is no longer needed for
+   atomic operations.  */
+#define MALLOC_ABI_ALIGNMENT (TARGET_SOM ? 64 : 128)
 
 /* Get around hp-ux assembler bug, and make strcpy of constants fast.  */
 #define CONSTANT_ALIGNMENT(EXP, ALIGN)         \