[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:
Alan Modra 2020-10-01 18:41:37 +09:30
parent 4830b30c82
commit d26cc5885a

View File

@ -3494,8 +3494,7 @@ rs6000_linux64_override_options ()
}
if (!global_options_set.x_rs6000_current_cmodel)
SET_CMODEL (CMODEL_MEDIUM);
if ((rs6000_isa_flags_explicit
& OPTION_MASK_MINIMAL_TOC) != 0)
if ((rs6000_isa_flags_explicit & OPTION_MASK_MINIMAL_TOC) != 0)
{
if (global_options_set.x_rs6000_current_cmodel
&& rs6000_current_cmodel != CMODEL_SMALL)
@ -3504,23 +3503,18 @@ rs6000_linux64_override_options ()
SET_CMODEL (CMODEL_SMALL);
else if (TARGET_PCREL
|| (PCREL_SUPPORTED_BY_OS
&& (rs6000_isa_flags_explicit
& OPTION_MASK_PCREL) == 0))
&& (rs6000_isa_flags_explicit & OPTION_MASK_PCREL) == 0))
/* Ignore -mno-minimal-toc. */
;
else
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_SUM_IN_TOC)
TARGET_NO_SUM_IN_TOC = 0;
}
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_SUM_IN_TOC)
TARGET_NO_SUM_IN_TOC = 0;
}
if (TARGET_PLTSEQ && DEFAULT_ABI != ABI_ELFv2)
{