diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-09-15 17:10:22 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-09-15 17:10:22 -0400 |
commit | ff1720ed4112a81885d4b333f2045e47b0d9e693 (patch) | |
tree | fc4a6c5083e6a5335ba9d922f350d54d7f9d7e59 /gcc | |
parent | 89c89d11070fb2c05e8a883f0d047ab3cd8f8a4c (diff) | |
download | gcc-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.c | 10 |
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) { |