Commit Graph

564 Commits

Author SHA1 Message Date
Jeff Law
7fc5b3310d Initial revision
From-SVN: r12284
1996-06-16 23:19:09 -06:00
Jeff Law
b46de15ede pa.h (cmp_type): Add CMP_PSI.
* pa/pa.h (cmp_type): Add CMP_PSI.
        (FUNCTION_POINTER_COMPARISON_MODE): Define.
        * pa.md (cmppsi): New expander.
        (plabel_dereference): New pattern

From-SVN: r12266
1996-06-10 13:22:32 -06:00
Jim Wilson
bd625e2114 (FUNCTION_ARG): General PARALLEL instead of EXPR_LIST.
From-SVN: r12197
1996-06-06 16:40:38 -07:00
Jeff Law
c003becada * pa/pa.h (TEXT_SPACE_P): Fix thinko in last change.
From-SVN: r12168
1996-06-05 17:11:46 -06:00
Jeff Law
c77c286a72 pa.c (reloc_needed): New function.
* pa/pa.c (reloc_needed): New function.
        * pa/pa.h (TEXT_SPACE_P): Variables/constants with initializers
        requiring relocs never live in the text space.

From-SVN: r12156
1996-06-04 12:58:08 -06:00
Jeff Law
5b6a438a41 * pa/pa.c (basereg_operand): Never accept a CONST_INT.
From-SVN: r12067
1996-05-21 11:43:15 -06:00
Richard Kenner
ff3829fac4 (LINK_SPEC): Provide version for Snake.
From-SVN: r12065
1996-05-21 12:31:49 -04:00
Richard Kenner
6b33ae1760 (LINK_SPEC): Provide versions for Snake as well.
From-SVN: r12064
1996-05-21 12:26:36 -04:00
Richard Kenner
b34ec578aa (TARGET_SWITCHES): Include TARGET_CPU_DEFAULT.
(TARGET_CPU_DEFAULT): Provide default value.
(CPP_SPEC): Test TARGET_CPU_DEFAULT too.

From-SVN: r12056
1996-05-19 23:02:44 -04:00
Richard Kenner
c7b88960b1 No longer include pa.h.
Move definitions after include to new file pa-pro-end.h.

From-SVN: r12055
1996-05-19 23:02:24 -04:00
Richard Kenner
d266710609 No longer include pa.h.
(TARGET_DEFAULT): Don't define; identical to default.

From-SVN: r12054
1996-05-19 23:01:59 -04:00
Richard Kenner
4dd8c5ad25 No longer include pa-hpux.h.
(TARGET_DEFAULT): Don't need to set here.

From-SVN: r12053
1996-05-19 23:01:42 -04:00
Richard Kenner
edd367a60b No longer include pa.h.
(HP_FP_ARG_DESCRIPTOR_REVERSED): Don't define here.

From-SVN: r12052
1996-05-19 23:00:37 -04:00
Richard Kenner
6ac7dac196 No longer include pa.h.
From-SVN: r12051
1996-05-19 23:00:10 -04:00
Richard Kenner
0ebfc1dc06 No longer include pa-hpux.h.
From-SVN: r12050
1996-05-19 22:59:47 -04:00
Richard Kenner
2b26c764d0 Initial revision
From-SVN: r12049
1996-05-19 22:57:13 -04:00
Doug Evans
0821c881a2 function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
* function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
	* pa/pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.

From-SVN: r11958
1996-05-09 01:04:34 +00:00
Jeff Law
2ac42d3ac2 pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the final $CODE$ subspace is in the $TEXT$ space.
* pa/pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the
        final $CODE$ subspace is in the $TEXT$ space.

From-SVN: r11901
1996-04-28 22:36:47 -06:00
Jeff Law
25ce77f447 pa.h (SELECT_SECTION): Define.
* pa/pa.h (SELECT_SECTION): Define.  Never place a something
        into the read-only data section if it requires a reloc.

From-SVN: r11847
1996-04-18 00:36:41 -06:00
Jeff Law
c182a405dd * pa/pa.md (rotlsi3): Delete unnecessary and incorrect pattern.
From-SVN: r11846
1996-04-17 16:50:50 -06:00
Jeff Law
a5bbd4b8dc pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect" field to zero.
* pa/pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect"
        field to zero.

From-SVN: r11670
1996-04-04 22:42:17 -07:00
Jeff Law
2c7ee1a641 calls.c (expand_call): Remove current_call_is_indirect nonsense.
* calls.c (expand_call): Remove current_call_is_indirect nonsense.
	Add additional argument to INIT_CUMULATIVE_ARGS.
	(emit_library_call): Likewise.
	(emit_library_call_value): Likewise.
	* expr.c (expand_builtin): Likewise.
	* function.c (assign_parms): Likewise.
	* cp/method.c (emit_thunk): Likewise.
	* config/pa/pa.h (hppa_args): New field "indirect".
	(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
	(FUNCTION_ARG): Check "indirect" field, rather than
	"current_call_is_indirect".
	* All other backends updated with new argument to
	INIT_CUMULATIVE_ARGS

From-SVN: r11641
1996-03-29 07:37:11 -07:00
Jeff Law
31d4f31fd7 pa.c (hppa_legitimize_address): Don't lose for (plus (plus (mult (A) (shadd_const)) (B)) (C)) if...
* pa.c (hppa_legitimize_address): Don't lose for
        (plus (plus (mult (A) (shadd_const)) (B)) (C)) if
        B + C isn't a valid address for indexing.
        (basereg_operand): Only accept base registers after
        cse has completed.  Don't accept the frame pointer if
        it's likely to be eliminated.
        * pa.md (unscaled indexing patterns): Add variants with
        basereg and index register reversed.
        (HImode and QImode loads): Add zero extended variants.

From-SVN: r11625
1996-03-28 10:14:41 -07:00
Jeff Law
c2827c50df pa.c (hppa_legitimize_address): Don't lose for x[n-const] when n-const will not be shifted.
* pa.c (hppa_legitimize_address): Don't lose for x[n-const]
        when n-const will not be shifted.  Don't pessimize code for
        x[n-const] when const is small.

From-SVN: r11579
1996-03-20 11:15:13 -07:00
Jeff Law
d6e35c2d34 pa.c (compute_frame_size): Update comments to reflect reality.
* pa.c (compute_frame_size): Update comments to reflect reality.
        (hppa_expand_prologue): Don't save registers which aren't
        used, even if it creates holes.  Partially undoes changes from
        early March.
        (hppa_expand_epilogue): Likewise.

From-SVN: r11567
1996-03-19 11:57:24 -07:00
Jeff Law
80363f0d97 pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING to TREE_ADDRESSABLE.
* pa/pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING
        to TREE_ADDRESSABLE.  From Jim Wilson.

From-SVN: r11527
1996-03-13 23:54:34 -07: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
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
Jeff Law
8c5b059c2d Fix typo in last change.
From-SVN: r11457
1996-03-05 09:30:04 -07:00
Jeff Law
9e18f57555 lib2funcs.asm (__outline_prologue): New "function".
* lib2funcs.asm (__outline_prologue): New "function".
        (__outline_epilogue): New "function".
        * pa.h (TARGET_SPACE): Define.
        (target_flags): Add -mspace and -mno-space.  Enable/disable
        space saving optimizations.
        (FRAME_POINTER_REQUIRED): Frame pointers are always required
        when generating out of line prologues and epilogues.
        * pa.c (compute_frame_size): Handle out of line prologues/epilogues.
        (hppa_expand_prologue): If optimizing for space, emit an out of
        line prologue.
        * pa.c (compute_frame_size): Handle out of line prologues/epilogues.
        (hppa_expand_prologue): If optimizing for space, emit an out of
        line prologue.
        (hppa_expand_epilogue): Similarly.
        (override_options): Optimizing for space is not compatable with
        either profiling or PIC code generation.
        * pa.md (outline_prologue_call): New pattern.
        (outline_epilogue_call): Likewise.

From-SVN: r11438
1996-03-05 00:34:13 -07:00
Jeff Law
c3d4f633e6 pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and "-mno-long-load-store".
* pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and
        "-mno-long-load-store".
        (TARGET_LONG_LOAD_STORE): Define.
        * pa.md (symbolic high part): Handle TARGET_LONG_LOAD_STORE.

From-SVN: r11384
1996-02-29 11:17:35 -07:00
Doug Evans
f7093a42ad pa.h (EXTRA_SECTIONS): Delete in_bss.
* pa/pa.h (EXTRA_SECTIONS): Delete in_bss.
	(EXTRA_SECTION_FUNCTIONS): Delete bss_section.

From-SVN: r11379
1996-02-29 03:12:52 +00:00
Jeff Law
f2be3a724b Fix typo in last change.
From-SVN: r11348
1996-02-26 10:29:16 -07:00
Jeff Law
77c872735a * pa.md (abssi2): Rework to avoid matching constraints.
From-SVN: r11344
1996-02-24 00:04:43 -07:00
Jeff Law
0eba3d300d pa.c (override_options): Warn if both PIC code generation and profiling are requested.
* pa.c (override_options): Warn if both PIC code generation and
        profiling are requested.

From-SVN: r11343
1996-02-23 09:23:13 -07:00
Jeff Law
1144563fbc pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.
* pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.

        * pa.c (hppa_expand_epilogue): Always emit a blockage insn
        before cutting back the stack.

From-SVN: r11327
1996-02-20 12:22:49 -07:00
Jeff Law
d177a3ef11 pa.md (floatunssisf2 expander): Don't use "general_operand".
* pa.md (floatunssisf2 expander): Don't use "general_operand".
        (floatunssidf2 expander): Likewise.

From-SVN: r11181
1996-02-07 23:12:24 -07:00
Jeff Law
cda0f51eb5 pa.md (various patterns): Avoid using "general operand" in define_insn patterns.
* pa.md (various patterns): Avoid using "general operand" in
	define_insn patterns.

From-SVN: r11176
1996-02-06 13:14:33 -07:00
Jeff Law
2029eca3a3 pa-pro.h (TARGET_DEFAULT): Turn on TARGET_SOFT_FLOAT by default for all pro targets.
* pa-pro.h (TARGET_DEFAULT): Turn on TARGET_SOFT_FLOAT by
        default for all pro targets.
        * t-pro: Delete all multilib references.

From-SVN: r11156
1996-02-01 19:50:29 -07:00
Jeff Law
981e5cd940 * pa.h (STACK_BOUNDARY): Bring back down to 64bits.
From-SVN: r10973
1996-01-13 23:03:38 -07:00
Jeff Law
305123ba4b pa.md (pre_ldwm): Fix bug exposed by recent changes.
* pa.md (pre_ldwm): Fix bug exposed by recent changes.
        Simplify.
        (pre_stwm, post_ldwm, post_stwm): Likewise.
        (HImode and QImode variants): Likewise.
        * pa.c (hppa_expand_prologue): Corresponding changes.
        (hppa_expand_epilogue): Likewise.

        * pa.c (hppa_legitimize_address): Generate more indexing
        address modes.

From-SVN: r10972
1996-01-13 21:15:10 -07:00
Jeff Law
18a686c082 * pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Call text_section.
From-SVN: r10938
1996-01-03 00:43:56 -07:00
Jeff Law
98d654f60c pa.h (REG_ALLOC_ORDER): Allocate PA1.1 caller-saved FP regs before PA1.0 caller-saved FP regs.
* pa.h (REG_ALLOC_ORDER): Allocate PA1.1 caller-saved FP regs
        before PA1.0 caller-saved FP regs.

From-SVN: r10919
1995-12-31 14:34:11 -07:00
Jeff Law
7c4a1f088f sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.
* sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.

        * pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers
        that will be allocated to %r1 shorter.

From-SVN: r10918
1995-12-31 13:48:17 -07:00
Jeff Law
3ba1236fc8 pa.c (output_function_epilogue): Use assemble_integer rather than calling ASM_OUTPUT_INT directly.
* pa.c (output_function_epilogue): Use assemble_integer rather
        than calling ASM_OUTPUT_INT directly.
        * pa.h (ASM_OUTPUT_INT): Use plabels for everything in the
        exception table section.

        * pa.c (print_operand): Don't call fprintf to output a register
        name.  Use fputs instead.

From-SVN: r10861
1995-12-24 22:46:32 -07:00
Jeff Law
435b1237b1 pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding on the section name.
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding
        on the section name.

From-SVN: r10860
1995-12-24 20:22:10 -07:00
Jeff Law
bad883f8a1 pa.c (output_move_double): Correctly identify and handle overlapping moves.
* pa.c (output_move_double): Correctly identify and handle
        overlapping moves.
        * pa.md (movdi patterns): Eliminate earlyclobbers in mem<->gr
        cases.
        (movdf patterns): Likewise.

From-SVN: r10837
1995-12-23 10:25:00 -07:00