rs6000.c (rs6000_override_options): Invert check for rs6000_gen_cell_microcode.
authorNathan Froyd <froydnj@codesourcery.com>
Fri, 5 Feb 2010 14:47:34 +0000 (14:47 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Fri, 5 Feb 2010 14:47:34 +0000 (14:47 +0000)
* config/rs6000/rs6000.c (rs6000_override_options): Invert check
for rs6000_gen_cell_microcode.

From-SVN: r156518

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

index 35a10e6ac564bdb27b39512c0dcd1854424a1968..a627eaf1e66b470769a5fdd07456e75fc6f22ea0 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Invert check
+       for rs6000_gen_cell_microcode.
+
 2010-02-04  Richard Guenther  <rguenther@suse.de>
 
        PR rtl-optimization/42952
index ee4eff6bb34039f000c040cb4cbbe559ddc49632..effde078736124e524ba771023aec506aa20fb12 100644 (file)
@@ -2382,10 +2382,10 @@ rs6000_override_options (const char *default_cpu)
     rs6000_gen_cell_microcode = !(rs6000_cpu == PROCESSOR_CELL
                                   && !optimize_size);
 
-  /* If we are optimizing big endian systems for space, use the load/store
-     multiple and string instructions unless we are not generating
-     Cell microcode.  */
-  if (BYTES_BIG_ENDIAN && optimize_size && !rs6000_gen_cell_microcode)
+  /* If we are optimizing big endian systems for space and it's OK to
+     use instructions that would be microcoded on the Cell, use the
+     load/store multiple and string instructions.  */
+  if (BYTES_BIG_ENDIAN && optimize_size && rs6000_gen_cell_microcode)
     target_flags |= ~target_flags_explicit & (MASK_MULTIPLE | MASK_STRING);
 
   /* Don't allow -mmultiple or -mstring on little endian systems