aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2003-03-11 21:26:12 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2003-03-11 21:26:12 +0000
commitb50442834d23091adcc254f9782f841f74d6fe6b (patch)
tree431b6ba8fef32f0cea682afbbe947d8add24f0df
parentcd6a5007071b8507492dbbed2abb2d4e6a6f431d (diff)
downloadgcc-b50442834d23091adcc254f9782f841f74d6fe6b.zip
gcc-b50442834d23091adcc254f9782f841f74d6fe6b.tar.gz
gcc-b50442834d23091adcc254f9782f841f74d6fe6b.tar.bz2
rs6000.c (rs6000_override_options): Disable string instructions for e500.
2003-03-11 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.c (rs6000_override_options): Disable string instructions for e500. From-SVN: r64188
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index da85a8b..c05eeb6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Disable string
+ instructions for e500.
+
2003-03-11 Neil Booth <neil@daikokuya.co.uk>
* Makefile.in: Update.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 17997fd..38a2e32 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -698,6 +698,11 @@ rs6000_override_options (default_cpu)
SUBSUBTARGET_OVERRIDE_OPTIONS;
#endif
+ /* The e500 does not have string instructions, and we set
+ MASK_STRING above when optimizing for size. */
+ if (TARGET_SPE && (target_flags & MASK_STRING) != 0)
+ target_flags = target_flags & ~MASK_STRING;
+
/* Handle -m(no-)longcall option. This is a bit of a cheap hack,
using TARGET_OPTIONS to handle a toggle switch, but we're out of
bits in target_flags so TARGET_SWITCHES cannot be used.