aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-08-17 17:53:20 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-08-17 17:53:20 -0700
commitc8af3574e39507d08798c890c034c1935b51885c (patch)
tree980e4cc8bb27895af2efcfd04f1969c28cccd1f9 /gcc/config
parent920ae24b3528f63f23f9b77dc8600120cdd5658e (diff)
downloadgcc-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.c6
-rw-r--r--gcc/config/arm/arm.md12
-rw-r--r--gcc/config/clipper/clipper.c4
-rw-r--r--gcc/config/darwin.c14
-rw-r--r--gcc/config/m88k/m88k.c4
-rw-r--r--gcc/config/mcore/mcore.md2
-rw-r--r--gcc/config/mips/mips.h4
-rw-r--r--gcc/config/mips/mips.md12
-rw-r--r--gcc/config/nextstep.c6
-rw-r--r--gcc/config/pa/pa.c4
-rw-r--r--gcc/config/rs6000/rs6000.c4
-rw-r--r--gcc/config/rs6000/rs6000.h4
-rw-r--r--gcc/config/s390/s390.h83
-rw-r--r--gcc/config/sh/sh.md10
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 \"\";
}"