Commit Graph

35 Commits

Author SHA1 Message Date
Richard Kenner 8783b15e06 (reg_unused_after): For a SEQUENCE, make sure all insns are safe
before returning 1.

From-SVN: r10261
1995-08-21 13:04:26 -04:00
Richard Kenner 46d81ffa4a (output_stack_adjust): Add new argument reg.
(output_stack_adjust): Add new argument reg.  Use it instead of
stack_pointer_rtx.
(sh_expand_prologue, sh_expand_epilogue): Pass new argument to
output_stack_adjust.

From-SVN: r10259
1995-08-21 12:11:05 -04:00
Richard Kenner a55e9d2b21 (reg_unused_after): New function.
From-SVN: r10183
1995-07-28 09:06:19 -04:00
Richard Kenner c15c907559 Change FSF address.
From-SVN: r9984
1995-06-15 16:46:00 -04:00
Jim Wilson 79b2746ad7 (print_operand): Check for annulled branches.
(output_movedouble): Handle SUBREG addresses.
(output_branch): Handle annulled branches.
(sh_expand_prologue): Correct number of saved registers for
varargs functions.

From-SVN: r9886
1995-06-06 10:45:16 -07:00
Jim Wilson 20b04867c8 (shiftcosts, genshifty_op): Add SH3 support.
From-SVN: r9813
1995-05-24 18:38:04 -07:00
Jim Wilson 1d3534c0e7 (shift_amounts): Correct entry for shifts by 29.
From-SVN: r9784
1995-05-23 14:38:27 -07:00
Jim Wilson 97f8690b74 (general_movsrc_operand, general_movdst_operand): Delete
references to POST_DEC and PRE_INC.

From-SVN: r9571
1995-05-04 11:12:10 -07:00
Jim Wilson 8aa2a30584 Completely rewritten.
From-SVN: r9423
1995-04-20 18:19:27 -07:00
Jim Wilson df87c8b70b (shiftby_operand): Delete.
From-SVN: r9363
1995-04-11 14:02:20 -07:00
Jim Wilson 9a4bdb8649 (gen_shifty_op, case ASHIFTRT): Return 0 if shift count is not a constant.
From-SVN: r9301
1995-04-03 15:00:32 -07:00
Jim Wilson a6f71af520 (andcosts): Modify costs to match the hardware, and add
explanatory comments.

From-SVN: r9245
1995-03-29 13:58:12 -08:00
Jim Wilson 16bea517d3 Correct typos and formatting problems.
(add_constant, current_function_pretend_args_size,
flag_traditional, table_lab): Delete unnecessary declarations.
(sh_cpu): Change type from attr_cpu to processor_type.
(need_slot, output_shift, lshiftrt_insns, howshift,
pop_operand): Delete.
(print_operand, output_branch): Delete calls to need_slot.
(synth_constant): Comment that it doesn't work.
(output_movedouble): Handle PRE_DEC dest not POST_INC dest.
(output_options): Don't use flag_traditional.
(shift_insns): Correct numbers to optimal sequences.
(shift_amounts): New table.
(shift_insns_rtx): New function.
(shiftinsns): Combine LSHIFTRT and ASHIFT cases.
(shiftcosts): Return true costs of shifts instead of estimate of 1.
(gen_ashift): Handle negative shift amounts.  Call gen_lshrsi3_m
for single bit LSHIFTRT, and gen_lshrisi3_k for multiple bit shifts.
(gen_shifty_op): Handle negative shift amounts at top.  Generate
optimal sequences for ASHIFT and LSHIFTRT.
(find_barrier): Correct pattern for matching mova instructions.
(general_movsrc_operand): Delete redundant test for (MEM LABEL_REF).
Don't reject POST_INC address for size > 4.
(general_movdst_operand): Don't reject PRE_DEC address for size > 4.

From-SVN: r9062
1995-02-24 14:19:23 -08:00
Jim Wilson e553bfb99a (prepare_scc_operands, from_compare): Force constant 0 into
register for unsigned comparisons.

From-SVN: r8891
1995-02-07 12:57:00 -08:00
Jim Wilson 5325c0fa57 Correct errors in comments.
(calc_live_regs, expand_acall): Delete TARGET_SMALLCALL support.
(need_slot): Add comment.  Delete test of INSN_ANNULLED_BRANCH_P.
(print_operand_address): Delete '*', '^', '!' support.
(synth_constant): Call zero_extend* instead of and*.  Call ashlsi3_k
instead of ashlsi3_n.
(prepare_scc_operands): Abort for NE case.
(output_move_double, output_far_jump, output_branch): Delete commented
out code.  Don't output assembler comments.
(gen_ashift): Don't call addsi3.
(fixit): Delete redundant test for QImode constants.
(hi_const): Delete TARGET_SHORTADDR support.
(find_barrier): Don't put constant pool between mova and its label.
(add_function, seen_function, bsr_operand, mac_operand,
fake_shift): Delete.
(sh_expand_prologue, expand_acall): Delete TARGET_BSR support.
(general_movsrc_operand): Don't reject non-I CONST_INT.

From-SVN: r8889
1995-02-07 12:18:43 -08:00
Jim Wilson 3385bb9103 (sh_function_arg): Don't reject unaligned structures.
(sh_function_arg_partial_nregs): Likewise.

From-SVN: r8881
1995-02-06 15:26:58 -08:00
Jim Wilson 22e1ebf1d7 (prepare_scc_operands): Force sh_compare_op1 to a register if it is an invalid constant.
(prepare_scc_operands): Force sh_compare_op1 to a register if
it is an invalid constant.
(output_branch): Add cases for 4, 8, and 18.  Correct branch offsets
in comments.
(find_barrier): Correct test for move instructions that need to be
fixed by verifying that the set source is a bad constant.
(arith_reg_or_0_operand): New function.

From-SVN: r8824
1995-01-25 16:40:27 -08:00
Jim Wilson 23ed92ca4c (machine_dependent_reorg): When remove SUBREG, add in
SUBREG_WORD to new register number.

From-SVN: r8778
1995-01-20 17:23:12 -08:00
Jim Wilson a7771f7854 (multcosts): Do not compute cost of constant power-of-two multiplies as if they were shifts.
(multcosts): Do not compute cost of constant power-of-two
multiplies as if they were shifts.  Reduce multiply cost from 5 to 3.
Delete variable insn_cost.

From-SVN: r8777
1995-01-20 17:11:01 -08:00
Jim Wilson 40d2032bdf (sh_expand_prologue): Clear extra_push at start.
(sh_expand_prologue): Clear extra_push at start.  Clear
current_function_anonymous_args if set.  Clear shiftsyms array.
(sh_expand_epilogue): Don't clear extra_push,
current_function_pretend_args_size, current_function_anonymous_args,
and shiftsyms array.

From-SVN: r8697
1994-12-28 18:31:51 -08:00
Steve Chamberlain 00f8ff66e9 *** empty log message ***
From-SVN: r8563
1994-11-24 04:38:49 +00:00
Jim Wilson 07c109c894 (arith_reg_operand): Disallow MACH_REG and MACL_REG.
From-SVN: r8556
1994-11-23 11:25:55 -08:00
Steve Chamberlain c3898ccd98 *** empty log message ***
From-SVN: r8064
1994-09-09 23:43:17 +00:00
Steve Chamberlain 07bd02ca78 *** empty log message ***
From-SVN: r8046
1994-09-08 22:48:52 +00:00
Steve Chamberlain 4fdd1f85ce *** empty log message ***
From-SVN: r8026
1994-09-06 18:37:01 +00:00
Steve Chamberlain 2d1aa7d8f5 *** empty log message ***
From-SVN: r7959
1994-08-23 02:16:00 +00:00
Steve Chamberlain 06c386eacf *** empty log message ***
From-SVN: r7958
1994-08-23 02:07:34 +00:00
Steve Chamberlain 8e87e1611c *** empty log message ***
From-SVN: r7790
1994-07-22 06:12:36 +00:00
Steve Chamberlain d3ae8277eb *** empty log message ***
From-SVN: r7101
1994-04-20 19:17:23 +00:00
Doug Evans 3841a7f67d (output_shift, ASHIFTRT case): Do opposite shift as ASHIFT.
Delete LSHIFT case.

From-SVN: r7097
1994-04-20 16:11:04 +00:00
Steve Chamberlain 0d7e008e87 *** empty log message ***
From-SVN: r6486
1994-02-05 21:03:19 +00:00
Steve Chamberlain b9654711e9 Major rework.
From-SVN: r4792
1993-06-29 00:10:35 +00:00
Steve Chamberlain 32642232ce (shift_value_ok): Can't shift by negative values.
From-SVN: r4409
1993-05-10 15:57:26 +00:00
Steve Chamberlain a9f71ad8db > (arith_reg_operand): New constraint.
> (arith_reg_operand): New constraint.  (dump_constants): Force
 out a constant table if necessary.

From-SVN: r4321
1993-05-04 15:21:44 +00:00
Steve Chamberlain bc45ade3d6 Initial revision
From-SVN: r4284
1993-04-30 14:29:19 +00:00