diff options
author | Richard Henderson <rth@redhat.com> | 2001-08-17 17:53:20 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-08-17 17:53:20 -0700 |
commit | c8af3574e39507d08798c890c034c1935b51885c (patch) | |
tree | 980e4cc8bb27895af2efcfd04f1969c28cccd1f9 /gcc/config | |
parent | 920ae24b3528f63f23f9b77dc8600120cdd5658e (diff) | |
download | gcc-c8af3574e39507d08798c890c034c1935b51885c.zip gcc-c8af3574e39507d08798c890c034c1935b51885c.tar.gz gcc-c8af3574e39507d08798c890c034c1935b51885c.tar.bz2 |
defaults.h (UNALIGNED_SHORT_ASM_OP, [...]): Move from ...
* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
* dwarf2asm.c: ... here.
* dwarfout.c: Remove them.
* varasm.c (assemble_integer): Add align parameter.
(assemble_real, output_constant, output_constructor): Likewise.
* output.h: Update decls.
* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
Update all callers.
* final.c (end_final): Abort profile block generation if we
havn't layed it out properly.
* output.h (assemble_eh_integer): Remove stale decl.
* varasm.c (assemble_zeros): Tidy; use assemble_integer.
(min_align): New.
(assemble_integer): Handle unaligned data.
(assemble_real): Abort on unaligned data.
(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
anything useful.
(default_dtor_section_asm_out_destructor): Use assemble_align.
(default_named_section_asm_out_constructor): Likewise.
(default_ctor_section_asm_out_constructor): Likewise.
* config/darwin.c (machopic_asm_out_constructor): Likewise.
(machopic_asm_out_destructor): Likewise.
* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
(nextstep_asm_out_destructor): Likewise.
* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
(vms_asm_out_destructor): Likewise.
* java/class.c (emit_register_classes): Add align parameter to
call to assemble_integer.
From-SVN: r44992
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/alpha/alpha.c | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 12 | ||||
-rw-r--r-- | gcc/config/clipper/clipper.c | 4 | ||||
-rw-r--r-- | gcc/config/darwin.c | 14 | ||||
-rw-r--r-- | gcc/config/m88k/m88k.c | 4 | ||||
-rw-r--r-- | gcc/config/mcore/mcore.md | 2 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 4 | ||||
-rw-r--r-- | gcc/config/mips/mips.md | 12 | ||||
-rw-r--r-- | gcc/config/nextstep.c | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 4 | ||||
-rw-r--r-- | gcc/config/s390/s390.h | 83 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 10 |
14 files changed, 89 insertions, 80 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 741a5ee..731f6a6 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -6595,7 +6595,8 @@ vms_asm_out_constructor (symbol, priority) int priority ATTRIBUTE_UNUSED; { ctors_section (); - assemble_integer (symbol, UNITS_PER_WORD, 1); + assemble_align (BITS_PER_WORD); + assemble_integer (symbol, UNITS_PER_WORD, BITS_PER_WORD, 1); } static void @@ -6604,7 +6605,8 @@ vms_asm_out_destructor (symbol, priority) int priority ATTRIBUTE_UNUSED; { dtors_section (); - assemble_integer (symbol, UNITS_PER_WORD, 1); + assemble_align (BITS_PER_WORD); + assemble_integer (symbol, UNITS_PER_WORD, BITS_PER_WORD, 1); } #else diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index fea1954..5565aee 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -9064,7 +9064,7 @@ "TARGET_THUMB" "* making_const_table = TRUE; - assemble_integer (operands[0], 1, 1); + assemble_integer (operands[0], 1, BITS_PER_WORD, 1); assemble_zeros (3); return \"\"; " @@ -9076,7 +9076,7 @@ "TARGET_THUMB" "* making_const_table = TRUE; - assemble_integer (operands[0], 2, 1); + assemble_integer (operands[0], 2, BITS_PER_WORD, 1); assemble_zeros (2); return \"\"; " @@ -9095,11 +9095,11 @@ { union real_extract u; memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, GET_MODE (operands[0])); + assemble_real (u.d, GET_MODE (operands[0]), BITS_PER_WORD); break; } default: - assemble_integer (operands[0], 4, 1); + assemble_integer (operands[0], 4, BITS_PER_WORD, 1); break; } return \"\"; @@ -9119,11 +9119,11 @@ { union real_extract u; memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, GET_MODE (operands[0])); + assemble_real (u.d, GET_MODE (operands[0]), BITS_PER_WORD); break; } default: - assemble_integer (operands[0], 8, 1); + assemble_integer (operands[0], 8, BITS_PER_WORD, 1); break; } return \"\"; diff --git a/gcc/config/clipper/clipper.c b/gcc/config/clipper/clipper.c index 8104b85..37756e9 100644 --- a/gcc/config/clipper/clipper.c +++ b/gcc/config/clipper/clipper.c @@ -712,6 +712,6 @@ clix_asm_out_destructor (symbol, priority) int priority ATTRIBUTE_UNUSED; { fini_section (); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); - assemble_integer (const0_rtx, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); + assemble_integer (const0_rtx, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); } diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index f2bd5bd..d00b7bd 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -924,10 +924,11 @@ machopic_finish (asm_out_file) ) { data_section (); - assemble_align (UNITS_PER_WORD * BITS_PER_UNIT); + assemble_align (GET_MODE_ALIGNMENT (Pmode)); assemble_label (lazy_name); assemble_integer (gen_rtx (SYMBOL_REF, Pmode, sym_name), - GET_MODE_SIZE (Pmode), 1); + GET_MODE_SIZE (Pmode), + GET_MODE_ALIGNMENT (Pmode), 1); } else { @@ -939,7 +940,8 @@ machopic_finish (asm_out_file) assemble_name (asm_out_file, sym_name); fprintf (asm_out_file, "\n"); - assemble_integer (const0_rtx, GET_MODE_SIZE (Pmode), 1); + assemble_integer (const0_rtx, GET_MODE_SIZE (Pmode), + GET_MODE_ALIGNMENT (Pmode), 1); } } } @@ -1117,7 +1119,8 @@ machopic_asm_out_constructor (symbol, priority) mod_init_section (); else constructor_section (); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); if (!flag_pic) fprintf (asm_out_file, ".reference .constructors_used\n"); @@ -1132,7 +1135,8 @@ machopic_asm_out_destructor (symbol, priority) mod_term_section (); else destructor_section (); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); if (!flag_pic) fprintf (asm_out_file, ".reference .destructors_used\n"); diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c index c1b9a6b..1c0bd15 100644 --- a/gcc/config/m88k/m88k.c +++ b/gcc/config/m88k/m88k.c @@ -3311,8 +3311,8 @@ m88k_svr3_asm_out_destructor (symbol, priority) int i; fini_section (); - assemble_integer (symbol, UNITS_PER_WORD, 1); + assemble_integer (symbol, UNITS_PER_WORD, BITS_PER_WORD, 1); for (i = 1; i < 4; i++) - assemble_integer (constm1_rtx, UNITS_PER_WORD, 1); + assemble_integer (constm1_rtx, UNITS_PER_WORD, BITS_PER_WORD, 1); } #endif diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md index 4cc1537..1a37bbb 100644 --- a/gcc/config/mcore/mcore.md +++ b/gcc/config/mcore/mcore.md @@ -3409,7 +3409,7 @@ "" "* { - assemble_integer (operands[0], 4, 1); + assemble_integer (operands[0], 4, BITS_PER_WORD, 1); return \"\"; }" [(set_attr "length" "4")]) diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index d86cf1c..b3c4dd4 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -4304,9 +4304,9 @@ do { \ else \ { \ assemble_integer (operand_subword ((VALUE), 0, 0, DImode), \ - UNITS_PER_WORD, 1); \ + UNITS_PER_WORD, BITS_PER_WORD, 1); \ assemble_integer (operand_subword ((VALUE), 1, 0, DImode), \ - UNITS_PER_WORD, 1); \ + UNITS_PER_WORD, BITS_PER_WORD, 1); \ } \ } while (0) diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index d0ab2a3..6c4e32c 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -10382,7 +10382,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" "TARGET_MIPS16" "* { - assemble_integer (operands[0], 1, 1); + assemble_integer (operands[0], 1, BITS_PER_UNIT, 1); return \"\"; }" [(set_attr "type" "unknown") @@ -10394,7 +10394,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" "TARGET_MIPS16" "* { - assemble_integer (operands[0], 2, 1); + assemble_integer (operands[0], 2, BITS_PER_UNIT * 2, 1); return \"\"; }" [(set_attr "type" "unknown") @@ -10406,7 +10406,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" "TARGET_MIPS16" "* { - assemble_integer (operands[0], 4, 1); + assemble_integer (operands[0], 4, BITS_PER_UNIT * 4, 1); return \"\"; }" [(set_attr "type" "unknown") @@ -10418,7 +10418,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" "TARGET_MIPS16" "* { - assemble_integer (operands[0], 8, 1); + assemble_integer (operands[0], 8, BITS_PER_UNIT * 8, 1); return \"\"; }" [(set_attr "type" "unknown") @@ -10435,7 +10435,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" if (GET_CODE (operands[0]) != CONST_DOUBLE) abort (); memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, SFmode); + assemble_real (u.d, SFmode, GET_MODE_ALIGNMENT (SFmode)); return \"\"; }" [(set_attr "type" "unknown") @@ -10452,7 +10452,7 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" if (GET_CODE (operands[0]) != CONST_DOUBLE) abort (); memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, DFmode); + assemble_real (u.d, DFmode, GET_MODE_ALIGNMENT (DFmode)); return \"\"; }" [(set_attr "type" "unknown") diff --git a/gcc/config/nextstep.c b/gcc/config/nextstep.c index 94492d4..bbe0cd6 100644 --- a/gcc/config/nextstep.c +++ b/gcc/config/nextstep.c @@ -96,7 +96,8 @@ nextstep_asm_out_constructor (symbol, priority) int priority ATTRIBUTE_UNUSED; { constructor_section (); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); fprintf (asm_out_file, ".reference .constructors_used\n"); } @@ -106,7 +107,8 @@ nextstep_asm_out_destructor (symbol, priority) int priority ATTRIBUTE_UNUSED; { destructor_section (); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); fprintf (asm_out_file, ".reference .destructors_used\n"); } diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index d4fe968..5517f99 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -4377,8 +4377,8 @@ output_deferred_plabels (file) for (i = 0; i < n_deferred_plabels; i++) { ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (deferred_plabels[i].internal_label)); - assemble_integer (gen_rtx_SYMBOL_REF (VOIDmode, - deferred_plabels[i].name), 4, 1); + assemble_integer (gen_rtx_SYMBOL_REF (Pmode, deferred_plabels[i].name), + 4, 32, 1); } } diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 838315e..f8a168d 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8745,7 +8745,7 @@ rs6000_elf_asm_out_constructor (symbol, priority) fputs (")@fixup\n", asm_out_file); } else - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); } static void @@ -8776,7 +8776,7 @@ rs6000_elf_asm_out_destructor (symbol, priority) fputs (")@fixup\n", asm_out_file); } else - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); } #endif diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 8c7ba33..f87c1eb 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -2475,9 +2475,9 @@ do { \ if (TARGET_32BIT) \ { \ assemble_integer (operand_subword ((VALUE), 0, 0, DImode), \ - UNITS_PER_WORD, 1); \ + UNITS_PER_WORD, BITS_PER_WORD, 1); \ assemble_integer (operand_subword ((VALUE), 1, 0, DImode), \ - UNITS_PER_WORD, 1); \ + UNITS_PER_WORD, BITS_PER_WORD, 1); \ } \ else \ { \ diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 066811a8..2e52dd2 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -1807,7 +1807,7 @@ extern int s390_nr_constants; /* Mark entries referenced by other entries */ \ for (pool = first_pool; pool; pool = pool->next) \ if (pool->mark) \ - mark_constants (pool->constant); \ + mark_constants (pool->constant); \ \ s390_asm_output_pool_prologue (FILE, FUNNAME, fndecl, size); \ } @@ -1818,46 +1818,47 @@ extern int s390_nr_constants; #define ASM_OUTPUT_POOL_EPILOGUE(FILE, FUNNAME, fndecl, size) return; #define ASM_OUTPUT_SPECIAL_POOL_ENTRY(FILE, EXP, MODE, ALIGN, LABELNO, WIN) \ -{ \ - if ((s390_pool_count == 0) || (s390_pool_count > 0 && LABELNO >= 0)) \ - { \ - fprintf (FILE, ".LC%d:\n", LABELNO); \ - LABELNO = ~LABELNO; \ - } \ - if (s390_pool_count > 0) \ - { \ - fprintf (FILE, ".LC%d_%X:\n", ~LABELNO, s390_pool_count); \ - } \ - \ - /* Output the value of the constant itself. */ \ - switch (GET_MODE_CLASS (pool->mode)) \ - { \ - case MODE_FLOAT: \ - if (GET_CODE (x) != CONST_DOUBLE) \ - abort (); \ - \ - memcpy ((char *) &u, (char *) &CONST_DOUBLE_LOW (x), sizeof u); \ - assemble_real (u.d, pool->mode); \ - break; \ - \ - case MODE_INT: \ - case MODE_PARTIAL_INT: \ - if (flag_pic && (GET_CODE (x) == CONST || \ - GET_CODE (x) == SYMBOL_REF || \ - GET_CODE (x) == LABEL_REF )) \ - { \ - fprintf (FILE, "%s\t",TARGET_64BIT ? ASM_QUAD : ASM_LONG); \ - s390_output_symbolic_const (FILE, x); \ - fputc ('\n', (FILE)); \ - } \ - else \ - assemble_integer (x, GET_MODE_SIZE (pool->mode), 1); \ - break; \ - \ - default: \ - abort (); \ - } \ - goto WIN; \ +{ \ + if ((s390_pool_count == 0) || (s390_pool_count > 0 && LABELNO >= 0)) \ + { \ + fprintf (FILE, ".LC%d:\n", LABELNO); \ + LABELNO = ~LABELNO; \ + } \ + if (s390_pool_count > 0) \ + { \ + fprintf (FILE, ".LC%d_%X:\n", ~LABELNO, s390_pool_count); \ + } \ + \ + /* Output the value of the constant itself. */ \ + switch (GET_MODE_CLASS (MODE)) \ + { \ + case MODE_FLOAT: \ + if (GET_CODE (EXP) != CONST_DOUBLE) \ + abort (); \ + \ + memcpy ((char *) &u, (char *) &CONST_DOUBLE_LOW (EXP), sizeof u); \ + assemble_real (u.d, MODE, ALIGN); \ + break; \ + \ + case MODE_INT: \ + case MODE_PARTIAL_INT: \ + if (flag_pic \ + && (GET_CODE (EXP) == CONST \ + || GET_CODE (EXP) == SYMBOL_REF \ + || GET_CODE (EXP) == LABEL_REF )) \ + { \ + fprintf (FILE, "%s\t",TARGET_64BIT ? ASM_QUAD : ASM_LONG); \ + s390_output_symbolic_const (FILE, EXP); \ + fputc ('\n', (FILE)); \ + } \ + else \ + assemble_integer (EXP, GET_MODE_SIZE (MODE), ALIGN, 1); \ + break; \ + \ + default: \ + abort (); \ + } \ + goto WIN; \ } #endif diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 2844291..69857c3 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -4131,7 +4131,7 @@ "* { if (operands[1] != const0_rtx) - assemble_integer (operands[0], 2, 1); + assemble_integer (operands[0], 2, BITS_PER_UNIT * 2, 1); return \"\"; }" [(set_attr "length" "2") @@ -4147,7 +4147,7 @@ "* { if (operands[1] != const0_rtx) - assemble_integer (operands[0], 4, 1); + assemble_integer (operands[0], 4, BITS_PER_UNIT * 4, 1); return \"\"; }" [(set_attr "length" "4") @@ -4163,7 +4163,7 @@ "* { if (operands[1] != const0_rtx) - assemble_integer (operands[0], 8, 1); + assemble_integer (operands[0], 8, BITS_PER_UNIT * 8, 1); return \"\"; }" [(set_attr "length" "8") @@ -4182,7 +4182,7 @@ { union real_extract u; memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, SFmode); + assemble_real (u.d, SFmode, GET_MODE_ALIGNMENT (SFmode)); } return \"\"; }" @@ -4202,7 +4202,7 @@ { union real_extract u; memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u); - assemble_real (u.d, DFmode); + assemble_real (u.d, DFmode, GET_MODE_ALIGNMENT (DFmode)); } return \"\"; }" |