]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 4 Apr 2014 14:20:31 +0000 (14:20 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Fri, 4 Apr 2014 14:20:31 +0000 (14:20 +0000)
2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

Apply mainline r205060.
2013-11-20  Alan Modra  <amodra@gmail.com>
* config/rs6000/sysv4.h (CC1_ENDIAN_LITTLE_SPEC): Define as empty.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Default
to strict alignment on older processors when little-endian.
* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to power8
for ELFv2.

From-SVN: r209100

gcc/ChangeLog
gcc/config/rs6000/linux64.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/sysv4.h

index c891fc5b2828c81cda067ff6e5a25abde4ffffbd..726f92713861d44b69f20fe678dd1e1d1a50a972 100644 (file)
@@ -1,3 +1,13 @@
+2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       Apply mainline r205060.
+       2013-11-20  Alan Modra  <amodra@gmail.com>
+       * config/rs6000/sysv4.h (CC1_ENDIAN_LITTLE_SPEC): Define as empty.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Default
+       to strict alignment on older processors when little-endian.
+       * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to power8
+       for ELFv2.
+
 2014-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        POWER ELFv2 ABI Support
index 37fe10a6bee2e97a4072e4938ac6888c4f3a9550..5e7ae86279b23436450146cd398aedc308d921e9 100644 (file)
@@ -71,7 +71,11 @@ extern int dot_symbols;
 #undef  PROCESSOR_DEFAULT
 #define PROCESSOR_DEFAULT PROCESSOR_POWER7
 #undef  PROCESSOR_DEFAULT64
+#ifdef LINUX64_DEFAULT_ABI_ELFv2
+#define PROCESSOR_DEFAULT64 PROCESSOR_POWER8
+#else
 #define PROCESSOR_DEFAULT64 PROCESSOR_POWER7
+#endif
 
 /* We don't need to generate entries in .fixup, except when
    -mrelocatable or -mrelocatable-lib is given.  */
index deb05422406f4be195803d4b5be2fb68ff307494..0810d7326f62f34e9e53d053cedbd32741ef6cf3 100644 (file)
@@ -3206,6 +3206,12 @@ rs6000_option_override_internal (bool global_init_p)
        }
     }
 
+  /* If little-endian, default to -mstrict-align on older processors.
+     Testing for htm matches power8 and later.  */
+  if (!BYTES_BIG_ENDIAN
+      && !(processor_target_table[tune_index].target_enable & OPTION_MASK_HTM))
+    rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN;
+
   /* Add some warnings for VSX.  */
   if (TARGET_VSX)
     {
index ba4ceb3ff2e1450bc3e4eb48185d371bb693298a..73c3ec16c2cd2c6fdd0501cc9e251858455e15c8 100644 (file)
@@ -538,12 +538,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
 
 #define        CC1_ENDIAN_BIG_SPEC ""
 
-#define        CC1_ENDIAN_LITTLE_SPEC "\
-%{!mstrict-align: %{!mno-strict-align: \
-    %{!mcall-i960-old: \
-       -mstrict-align \
-    } \
-}}"
+#define        CC1_ENDIAN_LITTLE_SPEC ""
 
 #define        CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big)"