aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <meissner@cygnus.com>1998-07-31 17:30:57 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1998-07-31 17:30:57 +0000
commitef79218343c379b07f84790dab47c1f7ea44ccce (patch)
treebb559905f39b6786d2b1e9e4296257341c595978
parent02c452afe0f71675fa93e16043c4a069ee633f77 (diff)
downloadgcc-ef79218343c379b07f84790dab47c1f7ea44ccce.zip
gcc-ef79218343c379b07f84790dab47c1f7ea44ccce.tar.gz
gcc-ef79218343c379b07f84790dab47c1f7ea44ccce.tar.bz2
If -Os use load/store multiple instructions
From-SVN: r21511
-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 a58f781..24132f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com>
+
+ * rs6000.c (rs6000_override_options): If big endian and -Os, use
+ load/store multiple instructions unless user overrides.
+
Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
* ns32k/netbsd.h: Fix typo.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index d4cb695..987c3ad 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -276,6 +276,11 @@ rs6000_override_options (default_cpu)
}
}
+ /* If we are optimizing big endian systems for space, use the
+ store multiple instructions. */
+ if (BYTES_BIG_ENDIAN && optimize_size)
+ target_flags |= MASK_MULTIPLE;
+
/* If -mmultiple or -mno-multiple was explicitly used, don't
override with the processor default */
if (TARGET_MULTIPLE_SET)