Richard Kenner
018dac8bab
Add new pattern for double-add when have reg + frame pointer.
...
Slight changes to all such patterns and add define_splits for them.
From-SVN: r7608
1994-06-29 16:13:22 -04:00
Richard Kenner
52a6920099
(FRAME_POINTER_REGNUM): Now register 63.
...
(HARD_FRAME_POINTER_REGNUM): New macro.
(CONDITIONAL_REGISTER_USAGE, REG_CLASS_CONTENTS, REGNO_REG_CLASS):
Show register 63 is not an FP register.
(REGHNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
(ALPHA_ROUND): New macro.
(STARTING_FRAME_OFFSET, ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET):
Modify to reflect save area between outgoing args and local vars.
From-SVN: r7607
1994-06-29 16:12:40 -04:00
Richard Kenner
d60a05a1c4
(alpha_sa_size): Round size to 16-byte boundary.
...
(add_long_const): Add new arg, TEMP_REG.
(output_{pro,epi}log): Rework to put save area between outgoing args and
local variables.
From-SVN: r7606
1994-06-29 16:12:03 -04:00
Richard Kenner
9ff3516a35
(reload): Can't eliminate if frame pointer needed and TO is stack pointer.
...
Spill HARD_FRAME_POINTER_REGNUM if not FRAME_POINTER_REGNUM and frame pointer
is needed.
(spill_hard_reg): If CANT_ELIMINATE, set regs_ever_live; no longer done by
callers.
From-SVN: r7605
1994-06-29 16:02:13 -04:00
Richard Kenner
daf55ac69a
(global_alloc): Make a more accurate attempt to see if the frame pointer will be used.
...
(global_alloc): Make a more accurate attempt to see if the frame pointer will
be used.
If it is, show HARD_FRAME_POINTER_REGNUM used if its not the same as
FRAME_POINTER_REGNUM.
From-SVN: r7604
1994-06-29 16:01:31 -04:00
Richard Kenner
245d26eb97
(movqi): Add missing `DONE'.
...
From-SVN: r7603
1994-06-29 15:52:27 -04:00
Doug Evans
269d917555
sp64-elf: (PTRDIFF_TYPE): Remove dependence on POINTER_SIZE.
...
* sparc/sp64-elf: (PTRDIFF_TYPE): Remove dependence on POINTER_SIZE.
(SIZE_TYPE): Likewise.
From-SVN: r7602
1994-06-29 19:44:07 +00:00
Doug Evans
857458c409
sparc.h (CPP_SPEC): Split up v9/non-v9 stuff.
...
* sparc/sparc.h (CPP_SPEC): Split up v9/non-v9 stuff.
Move -Acpu and -Amachine from here.
(CPP_PREDEFINES): To here.
(NO_BUILTIN_PTRDIFF_TYPE): Undefine.
(NO_BUILTIN_SIZE_TYPE): Likewise.
(PTRDIFF_TYPE): Split up v9/non-v9 definitions.
(SIZE_TYPE): Likewise.
From-SVN: r7601
1994-06-29 19:43:25 +00:00
Michael Meissner
d52a896594
Always put 1 space after the macro expansion in ANSI mode.
...
From-SVN: r7600
1994-06-29 19:25:41 +00:00
Doug Evans
094030c93f
(simplify_set): Evaluate HAVE_conditional_move at runtime.
...
From-SVN: r7599
1994-06-29 02:41:26 +00:00
Torbjorn Granlund
55c2d311c4
(expand_mult): Generalize to call synth_mult also for OP1 - 1.
...
(ceil_log2): New function.
(choose_multiplier): New function.
(invert_mod2n): New function.
(expand_mult_highpart_adjust): New function.
(expand_mult_highpart): New function.
(EXACT_POWER_OF_2_OR_ZERO_P): New macro.
(expand_divmod): Almost completely rewritten.
(expand_shift): Don't truncate immediate shift count, it doesn't work
for types smaller than int.
From-SVN: r7598
1994-06-29 00:23:02 +00:00
Torbjorn Granlund
f02d60632f
(smul_highpart_optab, umul_highpart_optab): New variables.
...
From-SVN: r7597
1994-06-29 00:22:36 +00:00
Torbjorn Granlund
af30900458
(optabs): Add [us]mul_highpart_optab.
...
From-SVN: r7596
1994-06-29 00:22:13 +00:00
Torbjorn Granlund
5035bbfe58
(smul_highpart_optab, umul_highpart_optab): New variables.
...
(expand_binop): Handle [us]mul_highpart_optab as commutative.
(init_optabs): Initialize [us]mul_highpart_optab.
(expand_binop): Convert OP0 to mode for library calls.
From-SVN: r7595
1994-06-29 00:21:32 +00:00
Torbjorn Granlund
dbb5b3cec9
(div_and_round_double): Make it globally accessible.
...
From-SVN: r7594
1994-06-29 00:20:58 +00:00
Torbjorn Granlund
ca300626e0
(umulsi3_highpart, const_umulsi3_highpart): New expander and matcher.
...
(smulsi3_highpart, const_smulsi3_highpart): Likewise.
From-SVN: r7593
1994-06-29 00:19:52 +00:00
Torbjorn Granlund
74a6106962
(umuldi3_highpart): New expander and matcher.
...
From-SVN: r7592
1994-06-29 00:19:15 +00:00
Torbjorn Granlund
14edc0e4d3
(cint8_operand): New predicate.
...
From-SVN: r7591
1994-06-29 00:18:43 +00:00
Torbjorn Granlund
8abf4d694f
(smulsi3_highpart, umulsi3_highpart): New patterns.
...
From-SVN: r7590
1994-06-29 00:18:12 +00:00
Jim Wilson
47c95f5005
(CPP_SPEC): Handle -msupersparc.
...
From-SVN: r7589
1994-06-28 12:33:59 -07:00
Jim Wilson
dbb5486265
(cpu_type, sparc_cpu_type): Rename to arch_type and sparc_arch_type.
...
(cpu_type, sparc_cpu_type): Rename to arch_type and
sparc_arch_type. Fix all users.
(supersparc_adjust_cost): New function.
From-SVN: r7588
1994-06-28 12:33:23 -07:00
Jim Wilson
bef8d8c781
(cpu_type, sparc_cpu_type): Rename to arch_type and sparc_arch_type.
...
(cpu_type, sparc_cpu_type): Rename to arch_type and
sparc_arch_type.
(CPP_SPEC): Handle -msupersparc.
(MASK_SUPERSPARC, TARGET_SUPERSPARC): New macros.
(TARGET_SWITCHES): Add -msupersparc and -mcypress.
(ADJUST_COST): New macro.
From-SVN: r7587
1994-06-28 12:32:11 -07:00
Jim Wilson
c180bd1ee8
(cpu attribute): Rename to arch attribute.
...
(cpu attribute): Rename to arch attribute. Add a new
cpu attribute. Fix all users.
(type attribute): Add ialu, shift, imul, fpdivs, and fpdivd.
Delete fpdiv.
(function units): Add Cypress and Supersparc versions of each.
(addsi3, subsi3, andsi3, iorsi3, xorsi3): Add ialu type attribute.
(mulsi3): Add imul type attribute.
(divtf3, divdf3): Use fpdivd not fpdiv type attribute.
(divsf3); Use fpdivs not fpdiv type attribute.
(ashlsi3, ashrsi3, lshrsi3): Add shift type attribute.
From-SVN: r7586
1994-06-28 12:31:14 -07:00
Jim Wilson
3c9b213099
(andsi3+6): Replace bad clrbit pattern with two working ones.
...
From-SVN: r7585
1994-06-28 10:41:52 -07:00
Richard Kenner
3bbbf89c84
Initial revision
...
From-SVN: r7584
1994-06-28 13:31:04 -04:00
Jeff Law
bd1fd7fbda
pa.md (define_split for (plus (reg) (large_constant))): Treat large_constant as signed.
...
* pa.md (define_split for (plus (reg) (large_constant))): Treat
large_constant as signed.
From-SVN: r7583
1994-06-28 10:42:26 -06:00
Richard Kenner
774672d2a2
(eliminate_regs_in_insn): When checking for moves and adds, use
...
single_set.
From-SVN: r7582
1994-06-28 06:02:05 -04:00
Richard Kenner
adab4fc503
(reloads_conflict): Handle R1_TYPE of RELOAD_OTHER.
...
From-SVN: r7581
1994-06-28 05:49:31 -04:00
Richard Kenner
2f6e6d22ea
(do_jump, case BIT_AND_EXPR): Only narrow to a type that corresponds
...
to a mode.
From-SVN: r7580
1994-06-28 05:44:57 -04:00
Richard Kenner
127b0efcf7
Include ctype.h.
...
From-SVN: r7579
1994-06-28 05:35:22 -04:00
Richard Kenner
85fff2f3a0
(movsf): Emit frsp if storing to memory and not PowerPC.
...
(movsf matcher): Remove explicit frsp.
(store sf with update): Likewise.
From-SVN: r7578
1994-06-28 05:34:30 -04:00
Richard Kenner
ab4a5fc941
(MEMORY_MOVE_COST): Make processor-dependent.
...
From-SVN: r7577
1994-06-28 05:33:48 -04:00
Richard Kenner
bfbc641633
Treat HFmode like SFmode, for now.
...
From-SVN: r7576
1994-06-28 05:15:25 -04:00
Richard Kenner
cb5b00cfa1
(expand_binop, multi-words shifts and rotates): Fix errors in last
...
change.
From-SVN: r7575
1994-06-27 19:16:01 -04:00
Richard Earnshaw
dfaa6d72a3
(function_unit fpa): Add more accurate scheduling information.
...
(all floating point patterns): Add more accurate instruction type information.
From-SVN: r7574
1994-06-27 15:24:36 +00:00
Richard Earnshaw
bee06f3d82
include "expr.h".
...
(arm_fpu): New variable.
(arm_gen_movstrqi): Fix typo.
From-SVN: r7573
1994-06-27 15:24:36 +00:00
Richard Earnshaw
4a1934977f
(STARTFILE_SPEC,SIZE_TYPE,PTRDIFF_TYPE): Fix typos.
...
(ASM_FINAL_SPEC): Only reject -mbsd and -mxopen when -pedantic.
From-SVN: r7572
1994-06-27 15:24:36 +00:00
Richard Earnshaw
24f0c1b4cc
(enum floating_point_type): New enumeration type.
...
(arm_fpu): New declaration.
From-SVN: r7571
1994-06-27 15:24:36 +00:00
Richard Kenner
cb039f8aa0
(v_message_with_decl): Avoid fwrite for stderr; mixing it with fprintf
...
and fputs can cause strange results under VMS.
From-SVN: r7570
1994-06-26 05:37:16 -04:00
Richard Earnshaw
13018fad5e
(distribute_notes, case REG_DEAD): If a call uses a
...
hard reg, then this is where it dies.
From-SVN: r7569
1994-06-25 10:04:06 +00:00
Richard Kenner
9966b3915f
(create_definition): Eliminate whitespace before and after macro
...
definitions.
From-SVN: r7568
1994-06-24 19:09:17 -04:00
Richard Kenner
25212cdd8a
(alpha_builtin_saveregs): Fix typo in computing value for __base.
...
From-SVN: r7567
1994-06-24 18:47:38 -04:00
Richard Kenner
8fac469f63
(zero_extract patterns): Don't allow constants in the first operand of...
...
(zero_extract patterns): Don't allow constants in the first operand of
ZERO_EXTRACT since the recognizer function forces them to match the
mode of the match_operand.
From-SVN: r7566
1994-06-24 18:29:54 -04:00
Richard Kenner
8c3a647770
(decl_constant_value): Test for const and not iterator.
...
(default_conversion, digest_init): Remove redundant checks before calling
decl_constant_value.
(convert_for_assignment): See if RHS has a constant value.
From-SVN: r7565
1994-06-24 17:46:59 -04:00
Richard Kenner
289871f06f
Add -W[no]-bad-function-cast.
...
From-SVN: r7564
1994-06-24 16:19:17 -04:00
Richard Kenner
95572adfa7
Declare warn_bad_function_cast.
...
From-SVN: r7563
1994-06-24 16:18:25 -04:00
Richard Kenner
796bb3734a
(build_c_cast): Issue a warning for non-matching cast from a function
...
call (like malloc without proto).
From-SVN: r7562
1994-06-24 16:17:42 -04:00
Richard Kenner
5c8902bb1a
(lang_decode_option): Set warn_bad_function_cast for
...
-Wbad-function-cast.
From-SVN: r7561
1994-06-24 16:17:01 -04:00
Richard Kenner
add2167d64
(ASM_IDENTIFY_LANGUAGE): New macro.
...
From-SVN: r7560
1994-06-24 16:09:07 -04:00
Richard Earnshaw
0bdece8adf
(movstrsi): Delete.
...
(movstrqi): New expand.
From-SVN: r7559
1994-06-24 19:51:26 +00:00