From 302fd2cc3f4b3742e13361a2dbfbe54cd855d0e7 Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Wed, 2 Nov 2016 18:06:04 +0100 Subject: [PATCH] rs6000: Disable shrink-wrap-separate for abi=spe (PR78168) 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 | 6 ++++++ gcc/config/rs6000/rs6000.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96bcf4110f6..e9640c8ed21 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-11-02 Segher Boessenkool + + PR target/78168 + * config/r6000/rs6000.c (rs6000_get_separate_components): Return + NULL if TARGET_SPE_ABI. + 2016-11-02 Kyrylo Tkachov * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 39ac4697997..49985f1f113 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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); -- 2.30.2