Doug Evans
b4d2cd972d
h8300.md (cpu): New attribute.
...
* h8300/h8300.md (cpu): New attribute.
(attribute length): Add h8/300h support.
(attribute cc): New value `cbit'.
(all anonymous insns): Give them names.
(move insns): Add h8/300h support.
(tstqi, tsthi): Use btst insn if able.
(arithmetic insns): Add h8/300h support.
(boolean insns): Likewise.
(negate insns): Likewise.
(branch insns): Likewise.
(call_value): Use call_insn_operand for operand 1.
(shift insns): Completely rewritten. Add h8/300h support.
(zero/sign extension insns): Add h8/300h support.
(extv): Deleted.
(insv, extzv): Only use for h8/300.
(bitfield insns): Completely rewritten.
(fancyb*): New insns for speeding up bit accesses.
From-SVN: r7730
1994-07-11 22:53:08 +00:00
Doug Evans
48837e291c
h8300.c (cpu_type, [...]): New variables.
...
* h8300/h8300.c (cpu_type, names_extended, names_upper_extended,
h8_reg_names, h8_push_ops, h8_pop_ops, h8_mov_ops, h8_push_op,
h8_pop_op, h8_mov_op, current_function_anonymous_args, extra_pop,
hand_list): New variables.
(h8300_init_once, asm_file_start, asm_file_end, ok_for_bclr, o_operand,
p_operand, call_insn_operand, jump_address_operand, bit_operand,
eq_operator, const_costs, notice_update_cc, bit_operator,
nshift_operator, expand_a_shift, get_shift_alg, emit_a_shift,
fix_bit_operand): New functions.
(shift_alg, shift_type, shift_mode): New enums.
(shift_insn): New struct.
(shift_n_bits, can_shift): Deleted.
(shift_one, rotate_one): New variables.
(WORD_REG_USED): New macro (was function word_reg_used).
(dosize, function_prologue, function_epilogue, print_operand_address):
Add h8/300h support.
(small_power_of_two): Renamed from potl8.
(potg8): Deleted.
(general_operand_src): Fix POST_INC case.
(general_operand_dst): Fix PRE_DEC case.
(function_arg): 3 regs of args are passed if -mquickcall.
4 regs of args are passed to handwritten assembler routines.
(print_operand): New cases 'A', 'P', 'S', 'U', 'W', 'b', 'c', 'd', 'g'.
Delete case 'O'. Sort cases. Add h8/300h support.
(do_movsi): Renamed from domovsi.
Handle reload_in_progress and reload_completed.
(initial_offset): Renamed from io. Add h8/300h support.
From-SVN: r7729
1994-07-11 22:51:17 +00:00
Doug Evans
7bc8cb2b6b
h8300.h (CPP_PREDEFINES, [...]): Add h8/300h support.
...
* h8300/h8300.h (CPP_PREDEFINES, CPP_SPEC, LIB_SPEC, TARGET_SWITCHES,
BITS_PER_WORD, MAX_BITS_PER_WORD, UNITS_PER_WORD, MAX_UNITS_PER_WORD,
POINTER_SIZE, PARM_BOUNDARY, BIGGEST_ALIGNMENT,
BIGGEST_FIELD_ALIGNMENT, STACK_BOUNDARY, HARD_REGNO_NREGS,
HARD_REGNO_MODE_OK, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REGNO_REG_CLASS, PUSH_ROUNDING, FUNCTION_ARG_ADVANCE,
TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE,
CONSTANT_ADDRESS, MOVE_MAX, Pmode, SIZE_TYPE, PTRDIFF_TYPE):
Add h8/300h support.
(LINK_SPEC, TARGET_RTL_DUMP, TARGET_H8300, TARGET_H8300H,
REAL_ARITHMETIC, SETUP_INCOMING_VARARGS, HAVE_POST_INCREMENT,
HAVE_PRE_DECREMENT, MAX_MOVE_MAX, NO_BUILTIN_SIZE_TYPE,
NO_BUILTIN_PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE,
MAX_WCHAR_TYPE_SIZE, ASM_WORD_OP, INIT_SECTION_ASM_OP,
CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, EXTRA_SECTIONS,
EXTRA_SECTION_FUNCTIONS, ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR,
DO_GLOBAL_CTORS_BODY, DO_GLOBAL_DTORS_BODY, INIT_TARGET_OPTABS):
Define.
(CAN_DEBUG_WITHOUT_FP, PCC_STATIC_STRUCT_RETURN, STRUCT_VALUE_REGNUM,
STRUCT_VALUE_INCOMING, STRUCTURE_SIZE_BOUNDARY): Undefine.
(enum reg_class): Add h8/300h support.
(emit_a_shift): Declare.
(TARGET_DEFAULT): Set default to -mquickcall.
(DOUBLE_TYPE_SIZE): Fix at 32. DFmode support doesn't exist.
(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Swap registers 2,3 with 4,5.
Registers 0,1 contain function result, allocate after 2,3.
(STATIC_CHAIN_REGNUM): Use reg 4.
(CONST_OK_FOR_LETTER_P): 'O' is ok_for_bclr, 'P' is small_power_of_two.
(FUNCTION_PROFILER, FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): First
attempt at an implementation.
(CONST_COSTS): Move code into function const_costs.
(BRANCH_COST): Set to 0.
(NOTICE_UPDATE_CC): Move code into function notice_update_cc.
(ASM_FILE_START): Move code into function asm_file_start.
(ASM_FILE_END): Move code into function asm_file_end.
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Use REAL_VALUE_TO_DECIMAL.
From-SVN: r7728
1994-07-11 22:50:27 +00:00
Doug Evans
d215dc1d4b
t-h8300 (CROSS_LIBGCC1): Use libgcc1-asm.a.
...
* h8300/t-h8300 (CROSS_LIBGCC1): Use libgcc1-asm.a.
(LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA, MULTILIB_OPTIONS,
MULTILIB_DIRNAMES, LIBGCC, INSTALL_LIBGCC): Define.
(fp-bit.c): Build it.
From-SVN: r7727
1994-07-11 22:49:34 +00:00
Doug Evans
26731a9e43
Initial revision
...
From-SVN: r7726
1994-07-11 22:45:37 +00:00
Doug Evans
159c2aedc6
(init_optabs): Allow target specific libcalls with INIT_TARGET_OPTABS.
...
From-SVN: r7725
1994-07-11 22:37:14 +00:00
Doug Evans
44d65d8450
(libgcc1-asm.a): New target for building libgcc1.a in cross compilers.
...
From-SVN: r7724
1994-07-11 22:36:14 +00:00
Doug Evans
012a47cb77
Initial revision
...
From-SVN: r7723
1994-07-11 22:32:24 +00:00
Richard Kenner
218d0f8a84
(stmt): Don't give more than one error message if a nested `if' has an
...
empty body.
From-SVN: r7722
1994-07-11 18:17:57 -04:00
Richard Stallman
4843c18526
Rewrite for coff
...
From-SVN: r7721
1994-07-11 21:07:46 +00:00
Richard Stallman
58376b85b1
Initial revision
...
From-SVN: r7720
1994-07-11 21:05:28 +00:00
Richard Kenner
4eb38a3357
(CPP_SPEC): Fix typo.
...
From-SVN: r7719
1994-07-11 17:00:40 -04:00
Richard Stallman
a598de0b44
*** empty log message ***
...
From-SVN: r7718
1994-07-11 20:58:36 +00:00
Richard Stallman
df5f2948f5
Initial revision
...
From-SVN: r7717
1994-07-11 20:55:23 +00:00
Richard Stallman
eb4c374938
Initial revision
...
From-SVN: r7716
1994-07-11 20:49:29 +00:00
Richard Stallman
5f0a312d74
*** empty log message ***
...
From-SVN: r7715
1994-07-11 20:48:16 +00:00
Richard Kenner
b959a1de92
(movqi): Call loadhi, not loadqi.
...
From-SVN: r7714
1994-07-11 16:46:21 -04:00
Jeff Law
6a5c0a8e26
pa.h (DEBUGGER_ARG_OFFSET): Define.
...
* pa.h (DEBUGGER_ARG_OFFSET): Define. If no frame pointer
is available, then adjust the offset by the size of the
current frame.
From-SVN: r7713
1994-07-11 14:45:30 -06:00
Richard Stallman
6776d73955
*** empty log message ***
...
From-SVN: r7712
1994-07-11 20:40:03 +00:00
Richard Kenner
1d8f7ff646
When setting up tm.h, convert "vax/vax.h" into "config-vax.h" rather than "[.config.vax]vax.h" for #include so it will work from [.cp] subdirectory...
...
When setting up tm.h, convert "vax/vax.h" into "config-vax.h" rather
than "[.config.vax]vax.h" for #include so it will work from [.cp]
subdirectory; copy vax.h to config-vax.h as part of configuration
setup. Also, manually include cc1plus in the list of buildable
compilers (a temporary measure; it should process cp/Makefile.in like
it does for primary makefile).
From-SVN: r7711
1994-07-11 15:40:35 -04:00
Richard Kenner
1ca0c604b9
Compile most of cc1plus in the `cp' subdirector.
...
From-SVN: r7710
1994-07-11 15:37:48 -04:00
Richard Kenner
b5890b3157
Revise to be more consistent with make-cc1.com for symbol setup &
...
usage and for echoing command execution.
From-SVN: r7709
1994-07-11 15:16:22 -04:00
Richard Kenner
63468c37b4
Use =' rather than
:=' when setting up CC, so that `gcc' can be defined as a foreign command if necessary...
...
Use `=' rather than `:=' when setting up CC, so that `gcc' can be
defined as a foreign command if necessary; eliminate `set
symbol/scope=noGlobal' for same reason; use `=' with all other
symbols, for consistency; add explicit .obj extension to some lists of
object files passed to the linker; general cleanup of the command text
echoed during execution.
From-SVN: r7708
1994-07-11 15:15:46 -04:00
Charles Hannum
842a1144f2
Do the 4.4BSD sys_errlist modification for NetBSD also.
...
From-SVN: r7707
1994-07-11 19:03:10 +00:00
Kresten Krab Thorup
f58cfbfb7b
(STRUCT_VALUE): Change definition from `(rtx)0' to
...
just `0' so it is a valid expression for the pre-processor.
From-SVN: r7706
1994-07-11 18:19:35 +00:00
Kresten Krab Thorup
50b07e5b2a
*** empty log message ***
...
From-SVN: r7705
1994-07-11 18:00:49 +00:00
Stan Cox
b73f48fe80
Initial revision
...
From-SVN: r7704
1994-07-11 17:51:24 +00:00
Stan Cox
a24a554980
Changed for svr4.
...
From-SVN: r7703
1994-07-11 17:46:46 +00:00
Stan Cox
ba4852bc4b
Changed for svr4.
...
From-SVN: r7702
1994-07-11 17:29:14 +00:00
Stan Cox
89ad259924
(TARGET_SVR3): New target switch.
...
From-SVN: r7701
1994-07-11 17:26:58 +00:00
Stan Cox
1f29c9132a
(ASM_SPEC,STARTFILE_SPEC,LIB_SPEC): svr4 default.
...
From-SVN: r7700
1994-07-11 17:21:24 +00:00
Ian Lance Taylor
36b8d79271
Only turn IF_THEN_ELSE into AND if MODE_INT.
...
From-SVN: r7699
1994-07-11 17:17:03 +00:00
Richard Kenner
705e524eb3
expand_end_bindings): When adjusting FP, set it from
...
hard_frame_pointer_rtx.
From-SVN: r7698
1994-07-10 08:20:40 -04:00
Richard Kenner
dfd3dae6c2
(instantiate_virtual_regs_1): Remove last change.
...
From-SVN: r7697
1994-07-10 08:18:01 -04:00
Richard Kenner
dd1eab0a02
eliminate_regs_in_insn): Handle special case of assignment from hard frame...
...
eliminate_regs_in_insn): Handle special case of assignment from hard
frame pointer to frame pointer (for nonlocal goto).
From-SVN: r7696
1994-07-10 08:15:06 -04:00
Richard Kenner
e74a220154
(expand_builtin, case BUILT_IN_FSQRT): Don't use asterisk in name of
...
`errno'.
From-SVN: r7695
1994-07-10 06:02:49 -04:00
Mike Stump
63c68bb75e
fix libg++ make check.
...
From-SVN: r7694
1994-07-10 07:34:51 +00:00
Mike Stump
5b605f684e
44th Cygnus<->FSF merge
...
From-SVN: r7693
1994-07-09 07:13:10 +00:00
Jim Wilson
971ba70d62
Delete include of <varargs.h> when not gcc.
...
From-SVN: r7692
1994-07-08 19:06:27 -07:00
Jim Wilson
40620dcc93
Delete include of <stdarg.h> when not gcc.
...
From-SVN: r7691
1994-07-08 19:05:51 -07:00
Richard Kenner
3ea5a4aeca
(FUNCTION_EXTRA_EPILOGUE): Copy a0 to d0, not the other way.
...
From-SVN: r7690
1994-07-08 18:45:49 -04:00
Richard Kenner
7597472624
(record_constant_rtx, force_const_mem): Ensure everything is in
...
saveable_obstack, not current_obstack.
From-SVN: r7689
1994-07-08 18:37:55 -04:00
Richard Kenner
1c75dfa442
(force_to_mode): OP_MODE must be MODE if MODE and mode of X are of different classes.
...
(force_to_mode): OP_MODE must be MODE if MODE and mode of X are of different
classes.
(nonzero_bits, num_sign_bit_copies): Say nothing known for floating-point
modes.
From-SVN: r7688
1994-07-08 18:30:49 -04:00
Richard Kenner
a890174971
(instantiate_virtual_regs_1, case SET): If DEST is
...
virtual_stack_vars_rtx, replace with hardware frame pointer.
From-SVN: r7687
1994-07-08 18:26:41 -04:00
Richard Kenner
5069803972
(expand_expr, case CONVERT_EXPR): If changing signedness and we have a
...
promoted SUBREG, clear the promotion flag.
From-SVN: r7686
1994-07-08 18:22:46 -04:00
Jim Wilson
6be583037c
(get_inner_unaligned_p): New function.
...
(expand_assignment, expand_expr): Use it.
From-SVN: r7685
1994-07-08 14:41:02 -07:00
Doug Evans
4ee16841d4
(extract_split_bit_field): Set UNIT to BITS_PER_WORD for register values.
...
(store_split_bit_field): Likewise. Call operand_subword_force.
From-SVN: r7684
1994-07-08 21:16:01 +00:00
Jim Wilson
9fd5bb6267
(distribute_notes, REG_DEAD case): When check to see
...
if insn uses register, also call find_regno_fusage.
From-SVN: r7683
1994-07-08 13:55:33 -07:00
Jim Wilson
55be783d95
(SECONDARY_MEMORY_NEEDED_RTX): Call assign_stack_local
...
if the frame has zero size.
From-SVN: r7682
1994-07-08 13:52:11 -07:00
Mike Stump
d93d4205f1
fix temp lifetime (FOR TARGET_EXPRs only)
...
From-SVN: r7681
1994-07-08 20:45:14 +00:00