aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-09-15 17:10:22 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-09-15 17:10:22 -0400
commitff1720ed4112a81885d4b333f2045e47b0d9e693 (patch)
treefc4a6c5083e6a5335ba9d922f350d54d7f9d7e59 /gcc
parent89c89d11070fb2c05e8a883f0d047ab3cd8f8a4c (diff)
downloadgcc-ff1720ed4112a81885d4b333f2045e47b0d9e693.zip
gcc-ff1720ed4112a81885d4b333f2045e47b0d9e693.tar.gz
gcc-ff1720ed4112a81885d4b333f2045e47b0d9e693.tar.bz2
(output_toc): Align DF constants if STRICT_ALIGNMENT.
From-SVN: r10358
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 9abfef1..2e295a3 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3041,6 +3041,16 @@ output_toc (file, x, labelno)
if (TARGET_NO_TOC)
abort ();
+ /* if we're going to put a double constant in the TOC, make sure it's
+ aligned properly when strict alignment is on. */
+ if (GET_CODE (x) == CONST_DOUBLE
+ && STRICT_ALIGNMENT
+ && GET_MODE (x) == DFmode
+ && ! (TARGET_NO_FP_IN_TOC && ! TARGET_MINIMAL_TOC)) {
+ ASM_OUTPUT_ALIGN (file, 3);
+ }
+
+
#ifdef USING_SVR4_H
if (TARGET_MINIMAL_TOC)
{