a1616dd9e8
* 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
27 lines
802 B
Plaintext
27 lines
802 B
Plaintext
CROSS_LIBGCC1 = libgcc1-asm.a
|
|
LIB1ASMSRC = h8300/lib1funcs.asm
|
|
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3
|
|
|
|
# We do not have DF or DI types, so fake out the libgcc2 compilation.
|
|
LIBGCC2_CFLAGS = -g -O2 -DDF=SF -DDI=SI $(GCC_CFLAGS) $(LIBGCC2_INCLUDES)
|
|
|
|
LIB2FUNCS_EXTRA = fp-bit.c
|
|
|
|
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
echo '#define FLOAT' > fp-bit.c
|
|
echo '#define FLOAT_ONLY' >> fp-bit.c
|
|
echo '#define SMALL_MACHINE' >> fp-bit.c
|
|
echo '#ifdef __H8300__' >> fp-bit.c
|
|
echo '#define CMPtype HItype' >> fp-bit.c
|
|
echo '#else' >> fp-bit.c
|
|
echo '#define CMPtype SItype' >> fp-bit.c
|
|
echo '#endif' >> fp-bit.c
|
|
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
|
|
MULTILIB_OPTIONS = mh/ms mint32
|
|
MULTILIB_DIRNAMES = h8300h h8300s int32
|
|
|
|
LIBGCC = stmp-multilib
|
|
INSTALL_LIBGCC = install-multilib
|
|
|