Commit Graph

156 Commits

Author SHA1 Message Date
Ian Lance Taylor 1075dedade Skip inappropriate LOG_LINK entries when looking for reg-setting call
insn

From-SVN: r12442
1996-07-13 04:55:16 +00:00
Jim Wilson 5c5eb4ef3c (enum reg_class): Add new class GENERAL_FP_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.

From-SVN: r12418
1996-07-08 16:41:43 -07:00
Jim Wilson 20fef67b3a (calc_live_regs): For pragma_interrupt case...
(calc_live_regs): For pragma_interrupt case, exclude call
clobbered regs that are fixed, explicitly add MACH_REG and MACL_REG.

From-SVN: r12415
1996-07-08 15:33:09 -07:00
Ian Lance Taylor 9c0e838fa0 Don't call ADJUST_INSN_LENGTH on an insn inside a sequence
From-SVN: r12336
1996-06-27 15:05:07 +00:00
Jim Wilson 564890c985 (branch_true): Add comment about T-bit compares.
From-SVN: r12172
1996-06-05 17:19:36 -07:00
Jim Wilson 211a0f8598 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
From-SVN: r12171
1996-06-05 17:04:32 -07:00
Ian Lance Taylor e4fa6b06f0 Align code at the start of loops and after branches.
Align code at the start of loops and after branches.  Don't accept
negative zero in fp_zero_operand.

From-SVN: r12155
1996-06-04 18:13:21 +00:00
Ian Lance Taylor 446b03afbb Align code at the start loops and after unconditional branches
From-SVN: r12154
1996-06-04 18:12:36 +00:00
Ian Lance Taylor c1aef54de3 Do better scheduling of floating point instructions
From-SVN: r12083
1996-05-23 19:52:56 +00:00
Jim Wilson adade86813 (output_file_start): Delete misplaced semicolon.
From-SVN: r12061
1996-05-20 11:00:02 -07:00
Jim Wilson e22856e8fb (prepare_move_operands): If source is r0, and dest is reg+reg
MEM, then copy source to a pseudo-reg.

From-SVN: r12036
1996-05-18 17:34:10 -07:00
Jim Wilson a1a0806af6 (untyped_call): New pattern.
From-SVN: r12035
1996-05-18 17:33:19 -07:00
Doug Evans 17b653714a sh.h (ASM_FILE_START): Likewise.
* sh/sh.h (ASM_FILE_START): Likewise.
	(ASM_COMMENT_START): Define.

From-SVN: r12003
1996-05-17 16:32:33 +00:00
Doug Evans d787aec5bd sh.c (output_option, [...]): Delete.
* sh/sh.c (output_option, m_options, output_options): Delete.
	(output_file_start): Delete option output support.

From-SVN: r12002
1996-05-17 16:31:43 +00:00
Jim Wilson 6303b9ba98 (SET_ASM_OP): Define.
From-SVN: r11961
1996-05-09 16:34:32 -07:00
Jim Wilson cff3d762dc (gen_shifty_op): Truncate VALUE to avoid out of bounds array access.
From-SVN: r11947
1996-05-06 16:39:46 -07:00
Jim Wilson 7b7499bf35 (lshrsi3): Change gen_ashlsi3_d to gen_lshrsi3_d.
From-SVN: r11851
1996-04-18 17:56:37 -07:00
Jim Wilson 78f308f51e (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
From-SVN: r11841
1996-04-17 12:15:06 -07:00
Jim Wilson 119d0c36a6 (process_pragma): Take the IDENTIFIER_POINTER tree
node instead of a character.

From-SVN: r11840
1996-04-17 12:11:28 -07:00
Jim Wilson a8d762e1d2 (GIV_SORT_CRITERION): Define.
From-SVN: r11669
1996-04-04 12:12:59 -08:00
Jeff Law 2c7ee1a641 calls.c (expand_call): Remove current_call_is_indirect nonsense.
* calls.c (expand_call): Remove current_call_is_indirect nonsense.
	Add additional argument to INIT_CUMULATIVE_ARGS.
	(emit_library_call): Likewise.
	(emit_library_call_value): Likewise.
	* expr.c (expand_builtin): Likewise.
	* function.c (assign_parms): Likewise.
	* cp/method.c (emit_thunk): Likewise.
	* config/pa/pa.h (hppa_args): New field "indirect".
	(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
	(FUNCTION_ARG): Check "indirect" field, rather than
	"current_call_is_indirect".
	* All other backends updated with new argument to
	INIT_CUMULATIVE_ARGS

From-SVN: r11641
1996-03-29 07:37:11 -07:00
Jim Wilson 8b760293d7 (reg_unused_after): Return 0 if see a JUMP_INSN.
From-SVN: r11501
1996-03-08 11:10:35 -08:00
Jim Wilson 05066d29ea (PASS_IN_REG_P): Change < to <=.
From-SVN: r11493
1996-03-07 15:12:02 -08:00
Jim Wilson e4080ae4bb (PASS_IN_REG_P): Fix typo in last change.
From-SVN: r11482
1996-03-06 11:45:40 -08:00
Jim Wilson 3adbde603a (find_barrier): Set si_limit to 1018 instead of 1020, and
hi_limit to 510 instead of 512.

From-SVN: r11464
1996-03-05 15:28:32 -08:00
Jim Wilson e115e436ee (JUMP_TABLES_IN_TEXT_SECTION): Define.
From-SVN: r11460
1996-03-05 12:29:06 -08:00
Jim Wilson 8255ed68f7 (push_e, pop_e): Add TARGET_SH3E to condition.
From-SVN: r11459
1996-03-05 12:11:11 -08:00
Jim Wilson 2425db7e17 (PASS_IN_REG_P): Don't reject BLKmode for SH3e.
For SH3e, do reject parameter that won't fit entirely in registers.

From-SVN: r11424
1996-03-04 15:38:50 -08:00
Jim Wilson af55dae3a3 (mulhisi3-2, mulhisi3-1, mulsidi3_i, umulsidi3_i,
smulsi3_highpart, umulsi3_highpart): Renames operands 1/2 to 0/1.
(mulsidi3, umulsidi3): Add support for TARGET_LITTLE_ENDIAN.

From-SVN: r11423
1996-03-04 15:07:38 -08:00
Jim Wilson c1e8e6bd23 (machine_dependent_reorg): In TARGET_RELAX code...
(machine_dependent_reorg): In TARGET_RELAX code, when scan
forward from LINK, fail if pass a CODE_LABEL before finding INSN.
Fail if SCAN not INSN is a JUMP_INSN.

From-SVN: r11419
1996-03-04 14:37:57 -08:00
Jim Wilson 58b57c2c70 (FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP registers only when TARGET_SH3E.
(FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP
registers only when TARGET_SH3E.
(PASS_IN_REG_P): Exclude BLKmode only when ! TARGET_SH3E.

From-SVN: r11363
1996-02-28 14:20:46 -08:00
Doug Evans 92fd61996f (HANDLE_PRAGMA): Delete `return'.
This change was supposed to have been made on Feb. 1, but somehow
never got checked in.

From-SVN: r11355
1996-02-27 20:01:59 +00:00
Jim Wilson cd9784dbc9 (CPP_SPEC): Add defines for -m1, -m2, and -m3.
From-SVN: r11184
1996-02-09 10:48:24 -08:00
Doug Evans 7ec6d4d920 (HANDLE_PRAGMA): Change to expression with terminating character as result.
From-SVN: r11154
1996-02-01 22:47:21 +00:00
Jim Wilson b920730aaf Clean up CONST_DOUBLE_OK_FOR_LETTER_P definition.
From-SVN: r11069
1996-01-18 14:43:49 -08:00
Jim Wilson 1a95a96373 (ctype.h): Delete.
(regno_reg_class, reg_class_from_letter, prepare_scc_operands,
broken_move, push, pop, push_regs, calc_live_regs, sh_expand_prologue,
sh_expand_epilogue, initial_elimination_offset, arith_reg_operand):
Add SH3e support.
(sh_builtin_saveregs, fp_zero_operand, fp_one_operand): New functions.
(sh_function_arg, sh_function_arg_partial_nregs): Delete.

From-SVN: r11068
1996-01-18 14:41:00 -08:00
Jim Wilson 5c3ea80546 (CPP_SPEC, CONDITIONAL_REGISTER_USAGE, TARGET_SWITCHES,
OVERRIDE_OPTIONS, FIRST_PSEUDO_REGISTER, FIXED_REGISTERS,
CALL_USED_REGISTERS, HARD_REGNO_MODE_OK, enum reg_class,
REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER,
CONST_DOUBLE_OK_FOR_LETTER_P, NPARM_REGS, FUNCTION_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P,
CUMULATIVE_ARGS, ROUND_REG, INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE,
FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, LEGITIMATE_CONSTANT_P,
MODE_DISP_OK_4, REGISTER_MOVE_COST, REGISTER_NAMES,
DBX_REGISTER_NUMBER, enum processor_type): Add SH3E support.
(SH3E_BIT, TARGET_SH3E, FPUL_REG, FIRST_FP_REG, LAST_FP_REG,
FIRST_FP_PARM_REG, FIRST_FP_RET_REG, BASE_RETURN_VALUE_REG,
BASE_ARG_REG, enum sh_arg_class, struct sh_args, GET_SH_ARG_CLASS,
PASS_IN_REG_P, sh_builtin_saveregs, EXPAND_BUILTIN_SAVEREGS,
DOUBLE_TYPE_SIZE): New.
(TARGET_SWITCHES): Delete broken -m3l option.

From-SVN: r11067
1996-01-18 14:40:12 -08:00
Jim Wilson 1979c66c4e (MULTILIB_OPTIONS): Add SH3E support.
(MULTILIB_DIRNAMES): Define to empty.

From-SVN: r11066
1996-01-18 14:38:57 -08:00
Jim Wilson 45348d9eef (cpu, movsi_i, movsf_i, blt, bge, sle, sge): Add SH3E support.
(cpu, movsi_i, movsf_i, blt, bge, sle, sge): Add SH3E
support.
(push_e, pop_e, movsi_ie, movsf_ie, addsf3, subsf3, mulsf3, macsf3,
divsf3, floatsisf2, fix_truncsfsi2, cmpgtsf_t, cmpqesf_t, cmpsf,
negsf2, sqrtsf2, abssf2): New patterns.
(abssf2+9, abssf2+10): Add SH3e support to peepholes
(abssf2+11, abssf2+12): New peepholes for SH3e.

From-SVN: r11065
1996-01-18 14:37:48 -08:00
Ian Lance Taylor 3c35520e75 Use dbxcoff.h
From-SVN: r11029
1996-01-16 16:51:49 +00:00
Doug Evans 05a81fe58a c-lex.c (check_newline): Pass character after `#pragma' to HANDLE_PRAGMA.
* c-lex.c (check_newline): Pass character after `#pragma' to
	HANDLE_PRAGMA.  Don't call get_directive_line if at end of line.
	* c-common.c (get_directive_line): Watch for EOF.
	* h8300/h8300.h (HANDLE_PRAGMA): New argument `c'.
	Must issue `return' now.
	* i960/i960.h (HANDLE_PRAGMA): Likewise.
	* sh/sh.h (HANDLE_PRAGMA): Likewise.
	* nextstep.h (HANDLE_PRAGMA): Likewise.
	* h8300/h8300.c (handle_pragma): New argument `ch'.
	Simplify pragma processing.  Delete support for `#pragma section'.
	* i960/i960.c (process_pragma): New argument `c'.  Change result to
	terminating character.
	* nextstep.c (handle_pragma): Likewise.
	* sh/sh.c (handle_pragma): Likewise.  Also simplified.

From-SVN: r10999
1996-01-15 22:25:24 +00:00
Jim Wilson c17f53a8cb (gen_shifty_op): Output a NOP for a shift by 0.
(find_barrier): New variables si_limit, hi_limit.  Set them depending
on whether we are optimizing.  Set found_hi if the destination is
HImode.
(machine_dependent_reorg): If not optimizing, then change scan to a
note instead of calling delete_insn.

From-SVN: r10937
1996-01-02 13:27:38 -08:00
Jim Wilson 403aec4f57 OVERRIDE_OPTIONS): Don't set optimize or flag_delayed_branch.
From-SVN: r10936
1996-01-02 13:26:53 -08:00
Jim Wilson caca3c8a03 (subsi3): Rename to subsi3_internal.
(subsi3): Rename to subsi3_internal.  Add new define_expand
to handle subtracting a register from a constant.

From-SVN: r10693
1995-12-09 15:11:50 -08:00
Jim Wilson 06ada9d1c1 (ADDRESS_COST): Define.
From-SVN: r10692
1995-12-09 15:04:27 -08:00
Jim Wilson 49b6d06b41 (shiftcosts): For SH3, max cost of arithmetic right shift is 3.
(shiftcosts): For SH3, max cost of arithmetic right
shift is 3.
(expand_ashiftrt): For SH3, if shift cost is more than 3, then
call gen_ashrsi3_d to use shad instruction.

From-SVN: r10674
1995-12-04 18:28:45 -08:00
Jim Wilson 24a25d4575 (from_compare): Get mode from operands instead of using SImode.
From-SVN: r10659
1995-11-30 17:02:34 -08:00
Jim Wilson 5a4638841f (CONDITIONAL_REGISTER_USAGE): Correcting indentation.
(MODE_DISP_OK_4, MODE_DISP_OK_8): Move definitions next to uses.

From-SVN: r10658
1995-11-30 17:01:28 -08:00
Jim Wilson eeb531d587 Minor changes to comments.
From-SVN: r10657
1995-11-30 16:58:35 -08:00
Jim Wilson 933c3ba3e7 (noncall_uses_reg): New function.
(machine_dependent_reorg): Add support for TARGET_RELAX.
(final_prescan_insn): Likewise.

From-SVN: r10651
1995-11-30 12:47:56 -08:00