diff options
author | Jeff Law <law@gcc.gnu.org> | 1996-07-08 15:02:16 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1996-07-08 15:02:16 -0600 |
commit | a1616dd9e81f077a581da475d45d379d7959fb04 (patch) | |
tree | 00d3da0eeba3ca80390e177cc5ad43f968c90e4e /gcc/config/h8300/lib1funcs.asm | |
parent | 8343b898b93c9d2f89154b58315592d217e37f66 (diff) | |
download | gcc-a1616dd9e81f077a581da475d45d379d7959fb04.tar.gz |
* First cut at support for the H8/S.
* h8300/h8300.c (h8300_init_once): Handle the H8/S (treat it
like the H8/300H).
(dosize, adds_subs_operand, one_insn_adds_subs_operand): Likewise.
(output_adds_subs, const_costs, print_operand): Likewise.
(output_simode_bld, h8300_adjust_insn_length): Likewise.
(push_order, pop_order): Reverse.
(function_prologue): Try to use ldm.l and stm.l insns
on the H8/S. Minor cleanups.
(function_epilogue): Likewise.
(asm_file_start): Emit ".h8300s" when compiling for the H8/S.
* h8300/h8300.h (CPP_SPEC): Handle the H8/S.
(TARGET_H8300S): New target.
(TARGET_SWITCHES): Add "-ms" and "-mno-s".
(BITS_PER_WORD): Handle the H8/S (treat it like the H8/300H).
(UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY): Likewise.
(BIGGEST_ALIGNMENT, BIGGEST_FIELD_ALIGNMENT): Likewise.
(INITIALIZE_TRAMPOLINE, MOVE_MAX, Pmode): Likewise.
* h8300/h8300.md: Handle H8/S just like H8/300H
throughout the entire file.
* h8300/t-h8300 (MULTILIB_OPTIONS): Build "-ms" libraries
too.
(MULTILIB_DIRNAMES): Put H8/S libraries in "h8300s" directory.
* h8300/lib1funcs.asm: Emit ".h8300s" pseudo-op when generating
h8300s object files. Otherwise treat the H8/S just like the H8/300H.
* ginclude/stdarg.h: Handle the H8/S.
* ginclude/varargs.h: Likewise.
From-SVN: r12410
Diffstat (limited to 'gcc/config/h8300/lib1funcs.asm')
-rw-r--r-- | gcc/config/h8300/lib1funcs.asm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm index c52bcff0e70..4179a747fab 100644 --- a/gcc/config/h8300/lib1funcs.asm +++ b/gcc/config/h8300/lib1funcs.asm @@ -80,7 +80,7 @@ Boston, MA 02111-1307, USA. */ #define S2P r6 #endif -#ifdef __H8300H__ +#if defined (__H8300H__) || defined (__H8300S__) #define MOVP mov.l /* pointers are 32 bits */ #define ADDP add.l #define CMPP cmp.l @@ -314,6 +314,10 @@ setbit: inc A0L ; do insert bit .h8300h #endif +#ifdef __H8300S__ + .h8300s +#endif + .section .text .align 2 @@ -738,7 +742,13 @@ _done: #else /* __H8300H__ */ +#ifdef __H8300H__ .h8300h +#endif + +#ifdef __H8300S__ + .h8300s +#endif .global ___mulsi3 ___mulsi3: |