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