From 7d65bfc1cd1150b39ad64cd89012a33cf366cfc5 Mon Sep 17 00:00:00 2001
From: rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 17 Aug 2001 02:03:36 +0000
Subject: [PATCH]         * varasm.c (force_const_mem): Keep pool alignment in
 bits.         (output_constant_pool): Use assemble_align.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44952 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog |  5 +++++
 gcc/varasm.c  | 13 +++++--------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 93b902d0ad81..e0c4c105b134 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-16  Richard Henderson  <rth@redhat.com>
+
+	* varasm.c (force_const_mem): Keep pool alignment in bits.
+	(output_constant_pool): Use assemble_align.
+
 2001-08-16  Zack Weinberg  <zackw@panix.com>
 
 	* doc/tm.texi: Remove extra @table command.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 57c3aab07a45..4a65020abb77 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3513,16 +3513,14 @@ force_const_mem (mode, x)
       const_rtx_hash_table[hash] = desc;
 
       /* Align the location counter as required by EXP's data type.  */
-      align = (mode == VOIDmode) ? UNITS_PER_WORD : GET_MODE_SIZE (mode);
-      if (align > BIGGEST_ALIGNMENT / BITS_PER_UNIT)
-	align = BIGGEST_ALIGNMENT / BITS_PER_UNIT;
+      align = GET_MODE_ALIGNMENT (mode == VOIDmode ? word_mode : mode);
 #ifdef CONSTANT_ALIGNMENT
       align = CONSTANT_ALIGNMENT (make_tree (type_for_mode (mode, 0), x),
-				 align * BITS_PER_UNIT) / BITS_PER_UNIT;
+				  align);
 #endif
 
-      pool_offset += align - 1;
-      pool_offset &= ~ (align - 1);
+      pool_offset += (align / BITS_PER_UNIT) - 1;
+      pool_offset &= ~ ((align / BITS_PER_UNIT) - 1);
 
       if (GET_CODE (x) == LABEL_REF)
 	LABEL_PRESERVE_P (XEXP (x, 0)) = 1;
@@ -3731,8 +3729,7 @@ output_constant_pool (fnname, fndecl)
 				     pool->align, pool->labelno, done);
 #endif
 
-      if (pool->align > 1)
-	ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (pool->align));
+      assemble_align (pool->align);
 
       /* Output the label.  */
       ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LC", pool->labelno);
-- 
GitLab