* config/rs6000/rs6000.c (rs6000_override_options): Invert check
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 14:47:34 +0000 (14:47 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2010 14:47:34 +0000 (14:47 +0000)
for rs6000_gen_cell_microcode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156518 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 35a10e6..a627eaf 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 ee4eff6..effde07 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