rs6000: Disable shrink-wrap-separate for abi=spe (PR78168)
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 2 Nov 2016 17:06:04 +0000 (18:06 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 2 Nov 2016 17:06:04 +0000 (18:06 +0100)
With the SPE ABI, if we wrap GPRs we need to handle the upper half of the
extended 64-bit registers as well, which we cannot easily do.  So, this
patch disables separate shrink-wrapping for the SPE ABI.

PR target/78168
* config/r6000/rs6000.c (rs6000_get_separate_components): Return
NULL if TARGET_SPE_ABI.

From-SVN: r241799

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 96bcf41..e9640c8 100644 (file)
@@ -1,3 +1,9 @@
+2016-11-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/78168
+       * config/r6000/rs6000.c (rs6000_get_separate_components): Return
+       NULL if TARGET_SPE_ABI.
+
 2016-11-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
index 39ac469..49985f1 100644 (file)
@@ -27634,6 +27634,9 @@ rs6000_get_separate_components (void)
   if (WORLD_SAVE_P (info))
     return NULL;
 
+  if (TARGET_SPE_ABI)
+    return NULL;
+
   sbitmap components = sbitmap_alloc (32);
   bitmap_clear (components);