mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-03 17:36:03 +08:00
[RS6000] rs6000_linux64_override_options fix
Commit c6be439b37
wrongly left a block of code inside an "else" block,
which changed the default for power10 TARGET_NO_FP_IN_TOC
accidentally. We don't want FP constants in the TOC when
-mcmodel=medium can address them just as efficiently outside the TOC.
* config/rs6000/rs6000.c (rs6000_linux64_override_options):
Formatting. Correct setting of TARGET_NO_FP_IN_TOC and
TARGET_NO_SUM_IN_TOC.
This commit is contained in:
parent
4830b30c82
commit
d26cc5885a
@ -3494,8 +3494,7 @@ rs6000_linux64_override_options ()
|
|||||||
}
|
}
|
||||||
if (!global_options_set.x_rs6000_current_cmodel)
|
if (!global_options_set.x_rs6000_current_cmodel)
|
||||||
SET_CMODEL (CMODEL_MEDIUM);
|
SET_CMODEL (CMODEL_MEDIUM);
|
||||||
if ((rs6000_isa_flags_explicit
|
if ((rs6000_isa_flags_explicit & OPTION_MASK_MINIMAL_TOC) != 0)
|
||||||
& OPTION_MASK_MINIMAL_TOC) != 0)
|
|
||||||
{
|
{
|
||||||
if (global_options_set.x_rs6000_current_cmodel
|
if (global_options_set.x_rs6000_current_cmodel
|
||||||
&& rs6000_current_cmodel != CMODEL_SMALL)
|
&& rs6000_current_cmodel != CMODEL_SMALL)
|
||||||
@ -3504,23 +3503,18 @@ rs6000_linux64_override_options ()
|
|||||||
SET_CMODEL (CMODEL_SMALL);
|
SET_CMODEL (CMODEL_SMALL);
|
||||||
else if (TARGET_PCREL
|
else if (TARGET_PCREL
|
||||||
|| (PCREL_SUPPORTED_BY_OS
|
|| (PCREL_SUPPORTED_BY_OS
|
||||||
&& (rs6000_isa_flags_explicit
|
&& (rs6000_isa_flags_explicit & OPTION_MASK_PCREL) == 0))
|
||||||
& OPTION_MASK_PCREL) == 0))
|
|
||||||
/* Ignore -mno-minimal-toc. */
|
/* Ignore -mno-minimal-toc. */
|
||||||
;
|
;
|
||||||
else
|
else
|
||||||
SET_CMODEL (CMODEL_SMALL);
|
SET_CMODEL (CMODEL_SMALL);
|
||||||
}
|
}
|
||||||
else
|
if (rs6000_current_cmodel != CMODEL_SMALL)
|
||||||
{
|
{
|
||||||
if (rs6000_current_cmodel != CMODEL_SMALL)
|
if (!global_options_set.x_TARGET_NO_FP_IN_TOC)
|
||||||
{
|
TARGET_NO_FP_IN_TOC = rs6000_current_cmodel == CMODEL_MEDIUM;
|
||||||
if (!global_options_set.x_TARGET_NO_FP_IN_TOC)
|
if (!global_options_set.x_TARGET_NO_SUM_IN_TOC)
|
||||||
TARGET_NO_FP_IN_TOC
|
TARGET_NO_SUM_IN_TOC = 0;
|
||||||
= rs6000_current_cmodel == CMODEL_MEDIUM;
|
|
||||||
if (!global_options_set.x_TARGET_NO_SUM_IN_TOC)
|
|
||||||
TARGET_NO_SUM_IN_TOC = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (TARGET_PLTSEQ && DEFAULT_ABI != ABI_ELFv2)
|
if (TARGET_PLTSEQ && DEFAULT_ABI != ABI_ELFv2)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user