Commit Graph

11546 Commits

Author SHA1 Message Date
Jim Wilson 2af1bac84c (clear_storage): Add comment terminator.
From-SVN: r11518
1996-03-12 09:42:04 -08:00
Torbjorn Granlund ac6849cbdf (dbra peepholes): Use flags_in_68881.
From-SVN: r11517
1996-03-12 15:07:49 +00:00
Torbjorn Granlund 6a0f85e3bc (valid_dbcc_comparison_p): Don't test cc_prev_status here.
(flags_in_68881): New function.

From-SVN: r11516
1996-03-12 15:07:49 +00:00
Jeff Law 69f724c026 recog.c (constrain_operands, case 'V'): Don't call offsettable_memref_p before reload has completed.
* recog.c (constrain_operands, case 'V'): Don't call
        offsettable_memref_p before reload has completed.

From-SVN: r11515
1996-03-11 17:08:58 -07:00
Doug Evans 269c14e111 h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.
* h8300/h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.
	(CC_DONE_CBIT): Delete.
	(CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define.
	* h8300/h8300.c (cond_string): Delete CC_DONE_CBIT handling.
	(notice_update_cc): Delete CC_CBIT, CC_WHOOPS.  Add CC_SET_ZN_C0.
	(restore_compare_p): New function.
	(shift_one): Use shll instead of shal so overflow bit is usable.
	Set cc_valid bits to cc_status.flags values.
	(emit_a_shift): Set cc_status.flags.
	* h8300/h8300.md (attr cc): Delete whoops,cbit.  Add set_zn_c0.
	(all patterns) Update cc attr setting.
	(tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling.
	(addhi3,subhi3): Change define_expand to define_insn.
	(branch_true,branch_false): Check if compare needs to be restored.

From-SVN: r11514
1996-03-11 21:05:49 +00:00
Michael Meissner 4e74d8ec4b Make long longs use normal CONST_DOUBLE in movdi, do not split too early
From-SVN: r11513
1996-03-11 18:57:23 +00:00
Jim Wilson 9740123d5c (jump_optimize): When handle a USE insn before an unconditional jump...
(jump_optimize): When handle a USE insn before an
unconditional jump, disable the optimization if the USE is the
only insn in the loop.

From-SVN: r11512
1996-03-11 10:12:30 -08:00
Richard Kenner 8319988283 Use proper modes and predicates for {sign,zero}_extract.
From-SVN: r11511
1996-03-11 06:53:27 -05:00
Richard Kenner d7cd794fdf (make_extraction): Use proper mode for INNER in all cases.
(simplify_comparison, case ZERO_EXTRACT): For bits big endian and no extzv,
use BITS_PER_WORD.

From-SVN: r11510
1996-03-11 06:49:32 -05:00
Doug Evans 2ae508e5e3 (move_pic_label_si,move_label_di): Rewrite length
attr calcs to be more conservative.

From-SVN: r11509
1996-03-11 06:05:08 +00:00
Richard Kenner 4312729434 (free_insn): New variable.
(init_emit, restore_emit_status): Clear it.
(gen_sequence): Store insn in free_insn when sequence length is 1.
(make_insn_raw): Use free_insn if available and still in the rtl generation
phase.

From-SVN: r11508
1996-03-10 06:23:17 -05:00
Richard Kenner 935ddcf539 Update comment for rtx_equal_function_value_matters.
From-SVN: r11507
1996-03-10 06:15:07 -05:00
Mike Stump 357a4089d9 85th Cygnus<->FSF quick merge
From-SVN: r11506
1996-03-09 20:23:30 +00:00
Mike Stump 934c6b1387 85th Cygnus<->FSF quick merge
From-SVN: r11505
1996-03-09 19:44:47 +00:00
Mike Stump 2a888d4cd0 expr.c (expand_expr, [...]): Delay putting the cleanup on the cleanup chain until after the subexpression...
* expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup
	on the cleanup chain until after the subexpression has been expanded.
Fixes eh44.C and eh45.C

From-SVN: r11504
1996-03-08 23:44:26 +00:00
Jim Wilson 23ccec44cc (store_constructor_field): Add explanatory comment.
Call store_field if bitpos is nonzero and target is not a MEM.

From-SVN: r11503
1996-03-08 13:52:23 -08:00
Stan Cox 29e8f73f36 (ix86_binary_operator_ok): one memory operand is OK.
From-SVN: r11502
1996-03-08 21:19:14 +00: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
Doug Evans 449bf2aa18 (CPP_SPEC): Use %(cpp_cpu).
From-SVN: r11500
1996-03-08 17:59:37 +00:00
Doug Evans b6697adbe1 sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here,
* sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here,
* splet.h (SUBTARGET_SWITCHES): To here.

From-SVN: r11499
1996-03-08 01:18:14 +00:00
Doug Evans f48d6f4786 sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here,
splet.h (SUBTARGET_SWITCHES): To here.

From-SVN: r11498
1996-03-08 01:17:17 +00:00
Mike Stump e76a26469d 85th Cygnus<->FSF merge
From-SVN: r11497
1996-03-08 00:38:10 +00:00
Doug Evans 838b5ca862 Initial revision
From-SVN: r11496
1996-03-08 00:21:09 +00:00
Doug Evans 1ee4af950a (eligible_for_epilogue_delay): Move set of `pat'.
From-SVN: r11495
1996-03-08 00:13:46 +00:00
Doug Evans c4ce68534a sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.
* sparc/sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.
	(TARGET_SWITCHES): Add live-g0.
	(FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101).
	(FIXED_REGISTERS,CALL_USED_REGISTERS): Update.
	(FIXED_REGISTERS): %g0 is fixed by default.
	(SPARC_{FIRST,LAST}_V9_FCC_REG): Define.
	(SPARC_{ICC,FCC}_REG): Define.
	(CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8.
	(REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc.
	(REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'.
	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc.
	(REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case.
	(REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg.
	(REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise.
	(REGISTER_NAMES): Add %icc.
	(ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG.
	* sparc/sparc.c (leaf_reg_remap): Add %icc=100.
	(reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0.
	(fcc_reg_operand): Renamed from ccfp_reg_operand.
	Use SPARC_FCC_REG.  Don't treat reg 0 as an fcc reg.  Don't match
	modes if `mode' argument is VOIDmode.
	(icc_or_fcc_reg_operand): New function.
	(gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares.
	Use SPARC_ICC_REG for int compares.
	(eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0.
	Delete unnecessary test for %g0.
	(emit_move_sequence): Don't emit (set (mem) (const_int 0)) if
	TARGET_LIVE_G0.
	(output_scc_insn): Label moved to operand 3.  Condition code reg
	moved to operand 2.
	(sparc_mode_class): Enum C_MODE renamed to CC_MODE.
	(hard_32bit_mode_classes): Set reg 0 to S_MODES.  Add entry for %icc.
	(hard_64bit_mode_classes): Set reg 0 to D_MODES.  Add entry for %icc.
	(sparc_regno_reg_class): New global.
	(sparc_init_modes): Initialize it.
	(output_cbranch): Delete fp_cond_reg argument.
	(print_operand, MEM op): Don't print "%g0+" if TARGET_SPARCLET.
	(sparc_flat_eligible_for_epilogue_delay): Don't allow anything if
	TARGET_LIVE_G0.
	* sparc/sparc.md (live_g0): New attribute.
	(*): Integer condition code register is now reg 100.
	Use SPARC_ICC_REG instead of hardcoding reg 100 where possible.
	Non-v9 floating point condition code register is now reg 96.
	(*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases.
	(*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch.
	(*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0.
	(*mov{qi,hi,si}_insn_liveg0): New patterns.
	(*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to
	fcc_reg_operand.
	(*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if
	TARGET_LIVE_G0.
	(*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2.
	(patterns that use %g0 in rs2): Use 0 immediate value instead.
	(patterns that read %g0): Don't use if TARGET_LIVE_G0.

From-SVN: r11494
1996-03-08 00:12:21 +00:00
Jim Wilson 05066d29ea (PASS_IN_REG_P): Change < to <=.
From-SVN: r11493
1996-03-07 15:12:02 -08:00
Jim Wilson 9bad074fa5 (va_start): Change __SH3E___ to __SH3E__.
(va_arg): Add little-endian SH3E support.  Fix big-endian version
to work for arguments smaller than the word size.

From-SVN: r11492
1996-03-07 15:10:54 -08:00
Jeff Law ddaf4c9114 lib2funcs.asm: Remove entry/exit routines.
* lib2funcs.asm: Remove entry/exit routines.  Move them into...
        * ee.asm: New file.  Entry/exit code.
        * ee_fp.asm: New file.  Entry/exit code with frame pointer.
        * t-pa: Corresponding changes.
        * t-pro: Corresponding changes.

From-SVN: r11491
1996-03-07 10:38:08 -07:00
Jeff Law 9e9b00600b Initial revision
From-SVN: r11490
1996-03-07 10:34:53 -07:00
Jeff Law 99561ab6ee cd config/pa
* pa.c: Fix misc small typos/thinkos in recent changes.

From-SVN: r11489
1996-03-07 08:38:43 -07:00
Jeff Law 077fbf9ea3 * t-pro (dp-bit rule): Fix typo.
From-SVN: r11488
1996-03-06 19:46:06 -07:00
Jason Merrill 983edca44c (demangle_template): Fix for address-of-extern arguments.
From-SVN: r11487
1996-03-07 01:40:04 +00:00
Jim Wilson 326bdf5894 (USER_H): Add ginclude/va-sh.h.
From-SVN: r11486
1996-03-06 17:03:43 -08:00
Jim Wilson 385512eb87 Use va-sh.h.
From-SVN: r11485
1996-03-06 16:59:13 -08:00
Jim Wilson b4b3403773 New file.
From-SVN: r11484
1996-03-06 16:56:15 -08:00
Jeff Law e63ffc3836 lib2funcs.asm (__outline_prologue): Remove frame pointer support.
* lib2funcs.asm (__outline_prologue): Remove frame pointer
        support.
        (__outline_prologue_fp): Out of line prologue with frame pointer.
        (__outline_epilogue, outline_epilogue_fp): Similarly.
        * pa.c (compute_frame_size): Allocate enough space to avoid holes
        in the callee register saves.  Remove some special handling of %r3.
        (hppa_expand_prologue): Don't do an out of line prologue/epilogue
        if it would take more insns than an inline prologue/epilogue.
        Don't leave holes in the callee register save set.
        (hppa_expand_prologue): Corresponding changes.  Pass stack size
        to out of line epilogue code.
        * pa.h (FRAME_POINTER_REQUIRED): Revert last change.
        * pa.md (outline_prologue_call): Handle outline prologues which
        don't need frame pointers.
        (outline_epilogue_call): Similarly.
        * t-pro: Reenable multilib code.  Build a set of libraries that
        optimize for space.

From-SVN: r11483
1996-03-06 13:18:32 -07:00
Jim Wilson e4080ae4bb (PASS_IN_REG_P): Fix typo in last change.
From-SVN: r11482
1996-03-06 11:45:40 -08:00
David Edelsohn b7ff3d825a add scheduling information for stores
From-SVN: r11481
1996-03-06 16:40:14 +00:00
David Edelsohn 1ec26da6f1 602 uses 603 description
From-SVN: r11480
1996-03-06 16:38:58 +00:00
Richard Kenner eb1cb30dc4 (ASM_OUTPUT_SECTION_NAME): New define.
From-SVN: r11479
1996-03-05 18:51:38 -05:00
Richard Kenner fe4fcb3eda (SUPPORT_PASCAL_STRINGS): Deleted.
From-SVN: r11478
1996-03-05 18:49:33 -05:00
Richard Kenner e22a31dae7 Initial revision
From-SVN: r11477
1996-03-05 18:43:19 -05:00
Richard Kenner 4991a34375 (ASM_OUTPUT_CASE_END): Add missing semicolon.
(switch_table_difference_label_flag): Make extern.

From-SVN: r11476
1996-03-05 18:38:05 -05:00
Richard Kenner 973fa6914f (sys/param.h): Fix c89 __asm statements.
From-SVN: r11475
1996-03-05 18:37:33 -05:00
Richard Kenner 23dff8f093 Add -apple and -aux.
From-SVN: r11465
1996-03-05 18:34:58 -05: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
Doug Evans 04e1602e07 sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.
* sparc/sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.
	(*movsi_insn): Use fpload/fpstore attributes for fp loads/stores.
	%r1 -> %1 for fpstore alternative.
	(*movsf_insn,*movsf_no_f_insn): %r1 -> %1.

From-SVN: r11463
1996-03-05 22:37:54 +00:00
Jason Merrill 3e29c1a88c (staticp): Check DECL_NO_STATIC_CHAIN on nested functions.
From-SVN: r11462
1996-03-05 22:16:33 +00:00
Jason Merrill 38ee6ed956 (expand_expr, case *_DECL): If we make a non-local reference from a function with DECL_NO_STATIC_CHAIN set, abort.
(expand_expr, case *_DECL): If we make a non-local
        reference from a function with DECL_NO_STATIC_CHAIN set, abort.
        (expand_expr, case ADDR_EXPR): We don't need a trampoline for a
        function with DECL_NO_STATIC_CHAIN set.

From-SVN: r11461
1996-03-05 22:16:33 +00:00
Jim Wilson e115e436ee (JUMP_TABLES_IN_TEXT_SECTION): Define.
From-SVN: r11460
1996-03-05 12:29:06 -08:00