diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-19 17:06:44 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-19 17:06:44 -0400 |
commit | 3511415dafa8e57895092748cdb9ce5b39aaf9f0 (patch) | |
tree | 37bfdae7685a47d81f115410d77c890ccad0c5bf /gcc | |
parent | 19ac27705c77dd5e2a02a7dd04abda133b0003fd (diff) | |
download | gcc-3511415dafa8e57895092748cdb9ce5b39aaf9f0.zip gcc-3511415dafa8e57895092748cdb9ce5b39aaf9f0.tar.gz gcc-3511415dafa8e57895092748cdb9ce5b39aaf9f0.tar.bz2 |
(STATIC_CHAIN_REGNUM): Use r3.
(REGISTER_NAMES): Print r7 as sp.
(ADDITIONAL_REGISTER_NAMES): Recognize r7.
(ASM_OUTPUT_ALIGN): Alignment is power of 2.
From-SVN: r10248
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/h8300/h8300.h | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index 1ebb813..dfe04d1 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -99,8 +99,15 @@ extern int target_flags; {"exp",8192}, \ { "", TARGET_DEFAULT}} +/* Merge the meaning of -mdouble64 and -fshort-double. + ??? Unfortunately, there's no way to detect -fno-short-double + (our default is the opposite of theirs). + Also do other things that must be done once at start up. */ + #define OVERRIDE_OPTIONS \ { \ + /*extern int flag_short_double; \ + flag_short_double = TARGET_DOUBLE32;*/ \ h8300_init_once (); \ } @@ -246,7 +253,7 @@ extern int target_flags; MODE. H8/300: If an even reg, then anything goes. Otherwise the mode must be QI - or HI. + or HI. H8/300H: Anything goes. */ #define HARD_REGNO_MODE_OK(REGNO, MODE) \ @@ -282,7 +289,7 @@ extern int target_flags; #define ARG_POINTER_REGNUM 8 /* Register in which static-chain is passed to a function. */ -#define STATIC_CHAIN_REGNUM 4 +#define STATIC_CHAIN_REGNUM 3 /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. @@ -659,14 +666,14 @@ extern int current_function_anonymous_args; H8/300 vvvv context - 1 0000 79001234 mov.w #0x1234,r4 - 2 0004 5A000000 jmp @0x1234 + 1 0000 7900xxxx mov.w #0x1234,r3 + 2 0004 5A00xxxx jmp @0x1234 ^^^^ function H8/300H vvvvvvvv context - 2 0000 7A0012345678 mov.l #0x12345678,er4 - 3 0006 5A000000 jmp @0x12345678 + 2 0000 7A00xxxxxxxx mov.l #0x12345678,er3 + 3 0006 5Axxxxxx jmp @0x123456 ^^^^^^ function */ @@ -674,12 +681,12 @@ extern int current_function_anonymous_args; do { \ if (TARGET_H8300) \ { \ - fprintf (FILE, "\tmov.w #0x1234,r4\n"); \ + fprintf (FILE, "\tmov.w #0x1234,r3\n"); \ fprintf (FILE, "\tjmp @0x1234\n"); \ } \ else \ { \ - fprintf (FILE, "\tmov.l #0x12345678,er4\n"); \ + fprintf (FILE, "\tmov.l #0x12345678,er3\n"); \ fprintf (FILE, "\tjmp @0x123456\n"); \ } \ } while (0) @@ -1062,17 +1069,15 @@ dtors_section() \ This sequence is indexed by compiler's hard-register-number (see above). */ #define REGISTER_NAMES \ -{ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "ap"} +{ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "sp", "ap"} + +#define ADDITIONAL_REGISTER_NAMES { { "r7", 7 } } /* How to renumber registers for dbx and gdb. H8/300 needs no change in the numeration. */ #define DBX_REGISTER_NUMBER(REGNO) (REGNO) -/* Vax specific: which type character is used for type double? */ - -#define ASM_DOUBLE_CHAR ('g') - #define SDB_DEBUGGING_INFO #define SDB_DELIM "\n" @@ -1197,7 +1202,7 @@ do { char dstr[30]; \ #define ASM_OUTPUT_ALIGN(FILE,LOG) \ if ((LOG) != 0) \ - fprintf (FILE, "\t.align %d\n", 1 << (LOG)) + fprintf (FILE, "\t.align %d\n", (LOG)) /* This is how to output an assembler line that says to advance the location counter by SIZE bytes. */ |