aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-08-29 18:34:12 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-08-29 18:34:12 -0400
commit37c37a579c115ca41cef4bf760be77ed9e311e23 (patch)
treee91c17641b0173fb476db5982a07e9130891e64d
parent72847b95daca53d4a7b4880f27c9b00527b6a8ff (diff)
downloadgcc-37c37a579c115ca41cef4bf760be77ed9e311e23.zip
gcc-37c37a579c115ca41cef4bf760be77ed9e311e23.tar.gz
gcc-37c37a579c115ca41cef4bf760be77ed9e311e23.tar.bz2
(output_toc): Use TARGET_NO_FP_IN_TOC.
From-SVN: r5227
-rw-r--r--gcc/config/rs6000/rs6000.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index f4e0ed8..bad874a 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1646,12 +1646,14 @@ output_toc (file, x, labelno)
ASM_OUTPUT_INTERNAL_LABEL (file, "LC", labelno);
- /* Handle FP constants specially. */
+ /* Handle FP constants specially. Note that if we have a minimal
+ TOC, things we put here aren't actually in the TOC, so we can allow
+ FP constants. */
if (GET_CODE (x) == CONST_DOUBLE
&& GET_MODE (x) == DFmode
&& TARGET_FLOAT_FORMAT == HOST_FLOAT_FORMAT
&& BITS_PER_WORD == HOST_BITS_PER_INT
- && TARGET_FP_IN_TOC)
+ && ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC))
{
if (TARGET_MINIMAL_TOC)
fprintf (file, "\t.long %d\n\t.long %d\n",
@@ -1663,7 +1665,7 @@ output_toc (file, x, labelno)
return;
}
else if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == SFmode
- && TARGET_FP_IN_TOC)
+ && ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC))
{
rtx val = operand_subword (x, 0, 0, SFmode);