summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/sgs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m68k/sgs.h')
-rw-r--r--gcc/config/m68k/sgs.h31
1 files changed, 11 insertions, 20 deletions
diff --git a/gcc/config/m68k/sgs.h b/gcc/config/m68k/sgs.h
index 5e4c212c691..7f44b268209 100644
--- a/gcc/config/m68k/sgs.h
+++ b/gcc/config/m68k/sgs.h
@@ -30,11 +30,11 @@ Boston, MA 02111-1307, USA. */
#include "m68k/m68k.h"
+#undef INT_OP_GROUP
+#define INT_OP_GROUP INT_OP_STANDARD
+
/* SGS specific assembler pseudo ops. */
-#define BYTE_ASM_OP "\t.byte "
-#define WORD_ASM_OP "\t.short "
-#define LONG_ASM_OP "\t.long "
#define SPACE_ASM_OP "\t.space "
#define ALIGN_ASM_OP "\t.align "
#undef GLOBAL_ASM_OP
@@ -42,9 +42,6 @@ Boston, MA 02111-1307, USA. */
#define SWBEG_ASM_OP "\t.swbeg "
#define SET_ASM_OP "\t.set "
-#define UNALIGNED_SHORT_ASM_OP "\t.short " /* Used in dwarfout.c */
-#define UNALIGNED_INT_ASM_OP "\t.long " /* Used in dwarfout.c */
-
#define ASM_PN_FORMAT "%s_%d" /* Format for private names */
/* Here are four prefixes that are used by asm_fprintf to
@@ -105,18 +102,12 @@ Boston, MA 02111-1307, USA. */
/* This is how to output an assembler line defining an `int' constant. */
/* The SGS assembler doesn't understand ".word". */
-#undef ASM_OUTPUT_SHORT
-#define ASM_OUTPUT_SHORT(FILE,VALUE) \
-( fprintf ((FILE), "%s", WORD_ASM_OP), \
- output_addr_const ((FILE), (VALUE)), \
- fprintf ((FILE), "\n"))
-
#undef ASM_OUTPUT_LONG_DOUBLE
#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \
do { long l[3]; \
REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, l); \
- fprintf ((FILE), "%s0x%lx,0x%lx,0x%lx\n", LONG_ASM_OP, \
- l[0], l[1], l[2]); \
+ fprintf ((FILE), "%s0x%lx,0x%lx,0x%lx\n", \
+ integer_asm_op (4, TRUE), l[0], l[1], l[2]); \
} while (0)
/* This is how to output an assembler line defining a `double' constant. */
@@ -125,8 +116,8 @@ do { long l[3]; \
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
do { long l[2]; \
REAL_VALUE_TO_TARGET_DOUBLE (VALUE, l); \
- fprintf ((FILE), "%s0x%lx,0x%lx\n", LONG_ASM_OP, \
- l[0], l[1]); \
+ fprintf ((FILE), "%s0x%lx,0x%lx\n", \
+ integer_asm_op (4, TRUE), l[0], l[1]); \
} while (0)
/* This is how to output an assembler line defining a `float' constant. */
@@ -135,7 +126,7 @@ do { long l[2]; \
#define ASM_OUTPUT_FLOAT(FILE,VALUE) \
do { long l; \
REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
- fprintf ((FILE), "%s0x%lx\n", LONG_ASM_OP, l); \
+ assemble_aligned_integer (4, GEN_INT (l)); \
} while (0)
/* This is how to output an assembler line that says to advance the
@@ -160,7 +151,7 @@ do { \
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
do { \
register size_t sp = 0, limit = (LEN); \
- fprintf ((FILE), "%s", BYTE_ASM_OP); \
+ fputs (integer_asm_op (1, TRUE), (FILE)); \
do { \
int ch = (PTR)[sp]; \
if (ch > ' ' && ! (ch & 0x80) && ch != '\\') \
@@ -175,7 +166,7 @@ do { \
{ \
if ((sp % 10) == 0) \
{ \
- fprintf ((FILE), "\n%s", BYTE_ASM_OP); \
+ fprintf ((FILE), "\n%s", integer_asm_op (1, TRUE)); \
} \
else \
{ \
@@ -423,7 +414,7 @@ extern int switch_table_difference_label_flag;
#undef ASM_OUTPUT_ADDR_DIFF_ELT
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
- asm_fprintf (FILE, "%s%LL%d-%LL%d\n", WORD_ASM_OP, VALUE, REL)
+ asm_fprintf (FILE, "%s%LL%d-%LL%d\n", integer_asm_op (2, TRUE), VALUE, REL)
/* Currently, JUMP_TABLES_IN_TEXT_SECTION must be defined in order to
keep switch tables in the text section. */