• law's avatar
    * First cut at support for the H8/S. · 69b4e418
    law authored
            * 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.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12410 138bc75d-0d04-0410-961f-82ee72b054a4
    69b4e418
h8300.md 65.8 KB