Commit 09e07be6 by Richard Henderson Committed by Richard Henderson

varasm.c (force_const_mem): Keep pool alignment in bits.

        * varasm.c (force_const_mem): Keep pool alignment in bits.
        (output_constant_pool): Use assemble_align.

From-SVN: r44952
parent 8daaf93c
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> 2001-08-16 Zack Weinberg <zackw@panix.com>
* doc/tm.texi: Remove extra @table command. * doc/tm.texi: Remove extra @table command.
......
...@@ -3513,16 +3513,14 @@ force_const_mem (mode, x) ...@@ -3513,16 +3513,14 @@ force_const_mem (mode, x)
const_rtx_hash_table[hash] = desc; const_rtx_hash_table[hash] = desc;
/* Align the location counter as required by EXP's data type. */ /* Align the location counter as required by EXP's data type. */
align = (mode == VOIDmode) ? UNITS_PER_WORD : GET_MODE_SIZE (mode); align = GET_MODE_ALIGNMENT (mode == VOIDmode ? word_mode : mode);
if (align > BIGGEST_ALIGNMENT / BITS_PER_UNIT)
align = BIGGEST_ALIGNMENT / BITS_PER_UNIT;
#ifdef CONSTANT_ALIGNMENT #ifdef CONSTANT_ALIGNMENT
align = CONSTANT_ALIGNMENT (make_tree (type_for_mode (mode, 0), x), align = CONSTANT_ALIGNMENT (make_tree (type_for_mode (mode, 0), x),
align * BITS_PER_UNIT) / BITS_PER_UNIT; align);
#endif #endif
pool_offset += align - 1; pool_offset += (align / BITS_PER_UNIT) - 1;
pool_offset &= ~ (align - 1); pool_offset &= ~ ((align / BITS_PER_UNIT) - 1);
if (GET_CODE (x) == LABEL_REF) if (GET_CODE (x) == LABEL_REF)
LABEL_PRESERVE_P (XEXP (x, 0)) = 1; LABEL_PRESERVE_P (XEXP (x, 0)) = 1;
...@@ -3731,8 +3729,7 @@ output_constant_pool (fnname, fndecl) ...@@ -3731,8 +3729,7 @@ output_constant_pool (fnname, fndecl)
pool->align, pool->labelno, done); pool->align, pool->labelno, done);
#endif #endif
if (pool->align > 1) assemble_align (pool->align);
ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (pool->align));
/* Output the label. */ /* Output the label. */
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LC", pool->labelno); ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LC", pool->labelno);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment