Commit Graph

201 Commits

Author SHA1 Message Date
Jim Wilson
8bca10f462 (sne): Modified to use negc instead of xor.
(sne+1): New define_split for new sne pattern.

From-SVN: r13848
1997-04-10 15:39:01 -07:00
Jim Wilson
f3cd53755b (output_stack_adjust): Reorganize code for readability.
If size is negative, negate and subtract it instead of adding it.

From-SVN: r13847
1997-04-09 15:44:46 -07:00
Joern Rennecke
20ec31d305 (output_stack_adjust): When splitting an adjustment into two parts,
make sure the stack is aligned at all times.

From-SVN: r13846
1997-04-09 18:50:38 +01:00
Joern Rennecke
a62de84f08 (ADJUST_COSTS): Define.
From-SVN: r13825
1997-04-01 15:13:57 +01:00
Joern Rennecke
cf641ce6cc (calc_live_regs): need not save MACL/MACH when not live, and in leaf function.
From-SVN: r13627
1997-02-11 20:53:36 +00:00
Joern Rennecke
f3e9068e0a (calc_live_regs): exclude RETURN_ADDRESS_POINTER_REGNUM.
From-SVN: r13626
1997-02-11 19:59:59 +00:00
Joern Rennecke
cc27ef7497 (ELIMINABLE_REGS): updated comments.
From-SVN: r13625
1997-02-11 19:59:59 +00:00
Joern Rennecke
4ed4cb9a03 Update comment about BSR.
From-SVN: r13601
1997-02-03 18:17:13 +00:00
Joern Rennecke
27232d2885 sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for immediate operands where appropriate.
sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for
immediate operands where appropriate.
(movsf_ie+1): Fail when loading anything but a MEM into
a floating point reguister.

From-SVN: r13566
1997-01-29 23:15:10 +00:00
Joern Rennecke
f8aa1f6e5d (REG_CLASS_CONTENTS): Add rap to GENERAL_REGS and its superclasses.
From-SVN: r13565
1997-01-29 23:00:27 +00:00
Joern Rennecke
9788ff4d96 (and_shl_scratch): typo fix for length 8.
From-SVN: r13557
1997-01-27 18:32:31 +00:00
Joern Rennecke
6ab911bb39 (shl_and_kind): typo fix.
From-SVN: r13556
1997-01-27 18:32:05 +00:00
Joern Rennecke
aff48e325b (dect): Rewrite pattern so that it can be combined.
From-SVN: r13307
1996-12-13 19:46:28 +00:00
Ian Lance Taylor
2922fe9ecc Define SMALL_REGISTER_CLASSES with a value
From-SVN: r13303
1996-12-13 01:05:20 +00:00
Joern Rennecke
8e90e2734e (ADJUST_INSN_LENGTH): don't break from loop when only a LOOP_BEG is found.
Calculate padding in new variable pad.

From-SVN: r13261
1996-12-10 18:47:02 +00:00
Joern Rennecke
885c9a395a (output_stack_adjust): New argument TEMP. Changed all callers.
If the adjust cannot be done with one, but can be done with two
CONST_OK_FOR_I constants, do it that way.

From-SVN: r13213
1996-11-21 20:53:26 +00:00
Joern Rennecke
fc2380b93f (define_split for and_shl_scratch):
Use rtx_equal_p on the operands to find out which alternative is used.

From-SVN: r13102
1996-11-06 03:48:54 +00:00
Joern Rennecke
24c50999b5 (gen_shl_and): Try to generate shorter constant for and.
From-SVN: r13101
1996-11-06 03:48:54 +00:00
Joern Rennecke
3c377a2a6a (shl_sext_ext): Don't accept simple left/right shift variant.
From-SVN: r13060
1996-10-29 01:08:53 +00:00
Joern Rennecke
ae9d19c0e1 (EXT_SHIFT_SIGNED): New macro.
(shl_sext_kind, gen_shl_sext): try left shift - sign extend -
left shift - arithmetic right shift in case 2.

From-SVN: r13059
1996-10-29 01:08:53 +00:00
Joern Rennecke
0f68f06bf4 (SECONDARY_INPUT_RELOAD_CLASS): Define.
From-SVN: r13047
1996-10-28 14:06:28 +00:00
Joern Rennecke
7f74cc8d20 (movsf_ieq, movsf_ie): Merged the former into the latter.
Changed matching define_split appropriately.
(movsf): Changed appropriately.
(reload_insf) Define.

From-SVN: r13046
1996-10-28 14:06:28 +00:00
Joern Rennecke
3e943b5984 sh.md (movdf_k, [...]): new alternative for pc-relative load.
* sh.md (movdf_k, movsf_i, movsf_ie): new alternative for
        pc-relative load.
        (movsf_ieq): new define_insn with matching define_split.
        (movsf): use it where appropriate.
        (consttable_sf, consttable_df): new define_insns.

From-SVN: r13022
1996-10-24 01:40:58 +01:00
Joern Rennecke
e577c183dd sh.c (dump_table): handle SFmode and DFmode.
* sh.c (dump_table): handle SFmode and DFmode.
        (broken_move): handle simple PARALLEL.
        (machine_dependent_reorg, pc-relative move generation): Likewise.

From-SVN: r13021
1996-10-24 01:40:58 +01:00
Joern Rennecke
b1bbe7328c sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
* sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
        (LEGITIMATE_CONSTANT_P): accept SFmode and DFmode.

From-SVN: r13020
1996-10-24 01:40:58 +01:00
Jim Wilson
d00d338cdc (gen_shl_sext): Add missing parameter to shl_sext_kind call.
From-SVN: r12990
1996-10-21 15:28:24 -07:00
Jim Wilson
4787bce0e9 (sfunc_uses_reg): New function.
(noncall_uses_reg, machine_dependent_reorg, final_prescan_insn):
Handle special functions like function calls for purposes of relaxing.
(noncall_uses_reg): Added some missing cases of registers
being used in non-call instructions.

From-SVN: r12901
1996-10-04 12:56:02 -07:00
Jim Wilson
227665e760 (PRESERVE_DEATH_INFO_REGNO_P): define
From-SVN: r12900
1996-10-04 12:29:44 -07:00
Jim Wilson
afad3d2c26 (gen_shl_and, gen_shl_sext): use gen_lowpart to generate rtx in the appropriate mode for zero/sign-extension.
(gen_shl_and, gen_shl_sext): use gen_lowpart to
generate rtx in the appropriate mode for zero/sign-extension.
Don't generate a zero bit shift.
(gen_shl_sext) directly use gen_ashift instead of gen_ashrsi3 .

From-SVN: r12884
1996-09-30 14:45:47 -07:00
Jim Wilson
725de644d6 (insv): New pattern.
From-SVN: r12847
1996-09-25 15:51:33 -07:00
Richard Kenner
4e0c8ad2e7 (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
From-SVN: r12750
1996-09-21 06:53:37 -04:00
Jim Wilson
55ebdce3ee (LEGITIMIZE_ADDRESS): typo fixes (x -> X).
From-SVN: r12730
1996-09-17 12:09:43 -07:00
Jim Wilson
653bd7a660 New define_splits to recombine output from LEGITIMIZE_ADDRESS.
From-SVN: r12729
1996-09-17 12:08:58 -07:00
Jim Wilson
8d4812411e (ext_shift_insns, ext_shift_amounts): new arrays.
(gen_ashift_hi, gen_shifty_hi_op, shl_and_kind): new functions.
rtx_equal_function_value_matters: declare.
(shl_and_length, shl_and_src_length, gen_shl_and): new functions.
(shl_sext_kind, shl_sext_length, gen_shl_sext): new functions.

From-SVN: r12726
1996-09-16 10:40:36 -07:00
Jim Wilson
98e819b9b7 (ashlhi3_k, lshrhi3_m): new insn pattern.
(lshrhi3, shl_sext_ext, shl_sext_sub):
new insn pattern with matching define_split.
(and_shl_scratch): Likewise, but also with unnamed variants.

From-SVN: r12725
1996-09-16 10:39:15 -07:00
Jim Wilson
24f72d7685 Fix typo in comment.
From-SVN: r12695
1996-09-10 09:59:05 -07:00
Jim Wilson
a73a51149a (LEGITIMIZE_ADDRESS): Define nonempty.
From-SVN: r12691
1996-09-05 11:59:21 -07:00
Ian Lance Taylor
c110819ef2 Initial revision
From-SVN: r12687
1996-09-03 16:00:33 +00:00
Jim Wilson
d59c4c8e37 (PROFILE_BEFORE_PROLOGUE): Define.
From-SVN: r12631
1996-08-13 13:48:43 -07:00
Jim Wilson
d1405d8907 (RAP_REG, RETURN_ADDRESS_POINTER_REGNUM): Define.
(ELIMINABLE_REGS): Add RETURN_ADDRESS_POINTER_REGNUM support.
(RETURN_ADDR_RTX): Define.
(REGISTER_NAMES): Add rap.

From-SVN: r12628
1996-08-12 14:44:14 -07:00
Jim Wilson
2afeea0fa3 (regno_reg_class): Change entry 23 from NO_REGS to GENERAL_REGS.
(initial_elimination_offset): New variable live_regs_mask.  Add
code to handle RETURN_ADDRESS_POINTER_REGNUM.

From-SVN: r12627
1996-08-12 14:43:22 -07:00
Jim Wilson
f1ffca1c5a (casesi_jump): New pattern.
(casesi): Generate RTL to match it.

From-SVN: r12600
1996-08-07 16:02:30 -07:00
Jim Wilson
519164a9ed (arith_reg_operand): Reject SUBREG of an invalid hard reg.
From-SVN: r12594
1996-08-05 14:27:22 -07:00
Jim Wilson
7c225e8805 (branch_true, branch_false, inverse_branch_true,
inverse_branch_false, beq, bne, bgt, blt, ble, bge, bgtu, bltu,
bgeu, bleu, casesi): Express tests of the T bit as comparisons
against zero, rather thann one.

From-SVN: r12561
1996-07-24 14:44:03 -07:00
Jim Wilson
38f357812d (reg_unused_after): Handle JUMP_INSN inside a sequence.
From-SVN: r12554
1996-07-23 17:04:53 -07:00
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