summaryrefslogtreecommitdiff
path: root/gcc/config/h8300/lib1funcs.asm
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1996-07-08 15:02:16 -0600
committerJeff Law <law@gcc.gnu.org>1996-07-08 15:02:16 -0600
commita1616dd9e81f077a581da475d45d379d7959fb04 (patch)
tree00d3da0eeba3ca80390e177cc5ad43f968c90e4e /gcc/config/h8300/lib1funcs.asm
parent8343b898b93c9d2f89154b58315592d217e37f66 (diff)
downloadgcc-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.asm12
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: