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:
parent
97727e8573
commit
957211c3f6
2 changed files with 11 additions and 16 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue