diff options
Diffstat (limited to 'gcc/config/m68k/sgs.h')
-rw-r--r-- | gcc/config/m68k/sgs.h | 31 |
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. */ |