rs6000.c (rs6000_override_options): Don't override -msoft-float by -mcpu.

* config/rs6000/rs6000.c (rs6000_override_options): Don't override
	-msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
	and MASK_STRING.

From-SVN: r79094
This commit is contained in:
Alan Modra 2004-03-08 04:18:39 +00:00 committed by Alan Modra
parent 97727e8573
commit 957211c3f6
2 changed files with 11 additions and 16 deletions

View file

@ -1,3 +1,9 @@
2004-03-08 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (rs6000_override_options): Don't override
-msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
and MASK_STRING.
2004-03-07 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power

View file

@ -715,11 +715,6 @@ rs6000_override_options (const char *default_cpu)
const size_t ptt_size = ARRAY_SIZE (processor_target_table);
/* Save current -mmultiple/-mno-multiple status. */
int multiple = TARGET_MULTIPLE;
/* Save current -mstring/-mno-string status. */
int string = TARGET_STRING;
/* Some OSs don't support saving the high part of 64-bit registers on
context switch. Other OSs don't support saving Altivec registers.
On those OSs, we don't touch the MASK_POWERPC64 or MASK_ALTIVEC
@ -742,6 +737,10 @@ rs6000_override_options (const char *default_cpu)
set_masks &= ~MASK_ALTIVEC;
#endif
/* Don't override these by the processor default if given explicitly. */
set_masks &= ~(target_flags_explicit
& (MASK_MULTIPLE | MASK_STRING | MASK_SOFT_FLOAT));
/* Identify the processor type. */
rs6000_select[0].string = default_cpu;
rs6000_cpu = TARGET_POWERPC64 ? PROCESSOR_DEFAULT64 : PROCESSOR_DEFAULT;
@ -777,17 +776,7 @@ rs6000_override_options (const char *default_cpu)
/* If we are optimizing big endian systems for space, use the load/store
multiple and string instructions. */
if (BYTES_BIG_ENDIAN && optimize_size)
target_flags |= MASK_MULTIPLE | MASK_STRING;
/* If -mmultiple or -mno-multiple was explicitly used, don't
override with the processor default */
if ((target_flags_explicit & MASK_MULTIPLE) != 0)
target_flags = (target_flags & ~MASK_MULTIPLE) | multiple;
/* If -mstring or -mno-string was explicitly used, don't override
with the processor default. */
if ((target_flags_explicit & MASK_STRING) != 0)
target_flags = (target_flags & ~MASK_STRING) | string;
target_flags |= ~target_flags_explicit & (MASK_MULTIPLE | MASK_STRING);
/* Don't allow -mmultiple or -mstring on little endian systems
unless the cpu is a 750, because the hardware doesn't support the