Ian Lance Taylor [Wed, 13 Dec 1995 20:01:49 +0000 (20:01 +0000)]
Output N_BINCL and N_EINCL stabs if DBX_USE_BINCL is defined.
From-SVN: r10706
Ian Lance Taylor [Wed, 13 Dec 1995 20:00:25 +0000 (20:00 +0000)]
Call new dbxout functions when changing source files.
From-SVN: r10705
Michael Meissner [Wed, 13 Dec 1995 12:03:00 +0000 (12:03 +0000)]
Use simpler functions instead of printf. INT_TYPE_SIZE is always 32. For NT, do not emit .extern for builtin functions
From-SVN: r10704
Doug Evans [Tue, 12 Dec 1995 18:57:58 +0000 (18:57 +0000)]
(MULTILIB_{OPTIONS,DIRNAMES}): Add -mint32 support.
From-SVN: r10703
Per Bothner [Tue, 12 Dec 1995 00:47:21 +0000 (16:47 -0800)]
(powerpc-harris-powerunix): Add guess for port to new target.
From-SVN: r10700
Torbjorn Granlund [Sun, 10 Dec 1995 23:50:32 +0000 (23:50 +0000)]
(matcher for neg:SI (geu:SI ..)): Get ppc syntax right.
|
From-SVN: r10699
Richard Kenner [Sun, 10 Dec 1995 15:06:28 +0000 (10:06 -0500)]
(simplify_if_then_else): Convert "a == b ? b : a" to "a".
From-SVN: r10698
Richard Kenner [Sun, 10 Dec 1995 14:51:54 +0000 (09:51 -0500)]
(expand_expr, case COMPONENT_REF): If result is BLKmode, use that to
access object too.
From-SVN: r10697
Richard Kenner [Sun, 10 Dec 1995 13:46:44 +0000 (08:46 -0500)]
(expand_expr, case CONSTRUCTOR): If TREE_READONLY, set
RTX_UNCHANGING_P in TARGET.
From-SVN: r10696
Richard Kenner [Sun, 10 Dec 1995 13:44:42 +0000 (08:44 -0500)]
(expand_expr, case INDIRECT_REF): Correct typo in May 8 change.
From-SVN: r10695
Jeff Law [Sun, 10 Dec 1995 06:07:52 +0000 (23:07 -0700)]
pa.md (millicode delay slot description): Remove reference to defunct TARGET_MILLICODE_LONG_CALLS.
* pa.md (millicode delay slot description): Remove reference
to defunct TARGET_MILLICODE_LONG_CALLS.
From-SVN: r10694
Jim Wilson [Sat, 9 Dec 1995 23:11:50 +0000 (15:11 -0800)]
(subsi3): Rename to subsi3_internal.
(subsi3): Rename to subsi3_internal. Add new define_expand
to handle subtracting a register from a constant.
From-SVN: r10693
Jim Wilson [Sat, 9 Dec 1995 23:04:27 +0000 (15:04 -0800)]
(ADDRESS_COST): Define.
From-SVN: r10692
Michael Meissner [Sat, 9 Dec 1995 00:30:07 +0000 (00:30 +0000)]
Fix recent breakage
From-SVN: r10691
Richard Earnshaw [Fri, 8 Dec 1995 15:47:42 +0000 (15:47 +0000)]
lib1funcs.asm (RET, RETCOND): Define according to whether we are compiling for 32 or 26 bit mode.
* arm/lib1funcs.asm (RET, RETCOND): Define according to whether we
are compiling for 32 or 26 bit mode.
(all return instructions): Use RET or RETCOND as appropriate.
From-SVN: r10690
Richard Earnshaw [Wed, 6 Dec 1995 11:57:46 +0000 (11:57 +0000)]
Recognize aof in the OS field.
From-SVN: r10685
Richard Earnshaw [Wed, 6 Dec 1995 11:54:43 +0000 (11:54 +0000)]
Don't define inhibit_libc when building libgcc2.a.
(CROSS_FLOAT_H): Define.
From-SVN: r10684
Richard Earnshaw [Wed, 6 Dec 1995 11:53:39 +0000 (11:53 +0000)]
Include arm/aout.h, not arm/arm.h.
From-SVN: r10683
Richard Earnshaw [Wed, 6 Dec 1995 11:50:21 +0000 (11:50 +0000)]
(attributes): Rearrange order, so that condition clobbering can be automatically determined for call insns.
(attributes): Rearrange order, so that condition clobbering
can be automatically determined for call insns.
(attribute cpu): Add new cpu ARM7.
(attribute type): Add new type MULT.
(attribute prog_mode): New attribute.
(attribute conds): Clobbering of call insns can now be determined
using prog_mode attribute.
(function units "write_buf", "write_blockage"): Model the write buffer
as two function units, so that conflicts are avoided more often.
(funcion unit "core"): New function unit, so that elapsed cycles can
be more accurately determined.
(all anonymous patterns): Add names.
(mulsidi3, umulsidi3): New patterns available with fast multiply
variants.
(all call insns): The conds attribute is now determined automatically.
(zero_extendhisi): Expand for architecture 4 variants if appropriate.
(*zero_extendhisi_insn): New pattern.
(extendqi{hi,si}, extendhisi): Expand for architecture 4 variants if
appropriate.
(*extendhisi_insn, *extendqihi, *extendqisi): New patterns.
(storehi_single_op): New expand.
(movhi): Handle architecture 4 expansion.
(*movhi_insn_arch4): New pattern.
(*movhi_*): Adjust applicability conditions to handle architecture 4.
(reload_outdf): Handle pre/post inc/dec reloads.
(tablejump): Delete.
(matcher for optimized tablejump): delete.
(casesi): New expand.
(casesi_internal): New pattern.
(*movsi_insn): Much simpified now that constants are handled
properly.
(movaddr): New expand.
(movsf, movdf): No need to force constants into the pool any more.
(*movdf_hard_insn): Much simplified.
(consttable_4, consttable_8, consttable_end, align_4): New patterns
for supporting embedded constants.
From-SVN: r10682
Richard Earnshaw [Wed, 6 Dec 1995 11:46:16 +0000 (11:46 +0000)]
(CPP_SPEC): Add defines for the cpu type, hard or soft floating point, and the APCS PC size.
(CPP_SPEC): Add defines for the cpu type, hard or soft floating
point, and the APCS PC size.
(TARGET_*): Restructure.
(ARM_FLAG_*): Many new definitions for different target options, not
all of which are supported yet.
(TARGET_SWITCHES): Use the ARM_FLAG_* definitions instead of explicit
numbers.
(prog_mode_type): New enum.
(floating_point_type): Split emulated floating point into FP_SOFT[23].
(OVERRIDE_OPTIONS): Call arm_override_options.
(ARM_CPU_NAME): Default to NULL if not defined by a subtarget.
(BYTES_BIG_ENDIAN): Can now be set as a compilation option.
(RETURN_IN_MEMORY, DEFAULT_PCC_STRUCT_RETURN): New definitions.
(GO_IF_LEGITIMATE_OFFSET): Use different HImode offsets if compiling
for an architecture 4 target. The offsets for floating point
constants are the same as for integers if compiling TARGET_SOFT_FLOAT
(GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_INC and POST_DEC if
the size is more than 4 bytes. Restrict the range offsets for DImode;
likewise for DFmode when TARGET_SOFT_FLOAT.
(LEGITIMIZE_ADDRESS): Use symbol_mentioned_p, not LEGITIMATE_CONSTANT_P
to determine if a constant address might be better in a register.
Handle DFmode addresses in the same way as DImode if TARGET_SOFT_FLOAT.
(LOAD_EXTEND_OP): If arm_arch4, then HImode also zero-extends.
(SECONDARY_OUTPUT_RELOAD_CLASS): No need to handle floating
point constants any more, since arm_reorg will deal with them.
(LEGITIMATE_CONSTANT_P): Is now anything that doesn't contain a
LABEL.
(GO_IF_LEGITIMATE_ADDRESS): Recognize addresses expressions generated
by arm_reorg, but only after reload has completed.
(MACHINE_DEPENDENT_REORG): Define.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): There should be nothing left in
the pool, even if it might look like it.
(most assembler-specific defines): Move to arm/aout.h.
(CONSTANT_ADDRESS_P): Can't directly access constant strings when
generating assembler for ARMASM.
(ENCODE_SECTION_INFO): Don't define if generating ARMASM assembler.
(ASM_OUTPUT_INTERNAL_LABEL): Generalize, so that it can be used
with all targeted assemblers.
(ASM_OUTPUT_LABEL): Call arm_asm_output_label.
From-SVN: r10681
Richard Earnshaw [Wed, 6 Dec 1995 11:41:39 +0000 (11:41 +0000)]
(arm_gen_constant): New function.
(arm_split_constant): Split most of the functionality into
arm_gen_constant. Try to decide which way of handling the constant
is optimal for the target processor.
(arm_prgmode): New enum.
(target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables.
(all_procs): New table describing processors and capabilities.
(arm_override_options): New function.
(arm_return_in_memory): New function.
(arm_rtx_costs): Adjust the multiply costs to cope with processors
with fast multiplication instructions.
(output_move_double): Use the ldm/stm variants more efficiently.
Delete cases that can no-longer occur.
(output_return_instruction, output_func_epilogue): Use TARGET_APCS_32,
not TARGET_6 for determining the type of return instruction to emit.
(final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6
to determine condition preservation.
({symbol,label}_mentioned_p): New functions.
(add_constant, dump_table, fixit, find_barrier, broken_move): New
support functions for handling constant spilling.
(arm_reorg): New constant spilling pass, for putting unhandlable
constants into the rtl where we can load them efficiently.
(output_load_symbol): Delete.
(strings_fpa): Use a form which is common to both GAS and ARMASM.
(output_return_instruction, output_func_epilogue): Call
assemble_external_libcall, before trying to generate an abort call
in the assembler.
(arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming
that labels are followed by a colon.
(aof_text_section, aof_add_import, aof_delete_import,
aof_dump_imports): New functions to support ARMASM assembler
generation.
From-SVN: r10680
Richard Earnshaw [Wed, 6 Dec 1995 11:39:58 +0000 (11:39 +0000)]
Initial revision
From-SVN: r10679
Jason Merrill [Tue, 5 Dec 1995 03:26:37 +0000 (03:26 +0000)]
(TARGET_LIBGCC2_CFLAGS): Use -fPIC.
From-SVN: r10678
Jason Merrill [Tue, 5 Dec 1995 03:26:37 +0000 (03:26 +0000)]
(LIBGCC_SPEC): Do link with libgcc when -shared.
From-SVN: r10677
Jason Merrill [Tue, 5 Dec 1995 03:26:37 +0000 (03:26 +0000)]
(LIBGCC_SPEC): Remove.
From-SVN: r10676
Jason Merrill [Tue, 5 Dec 1995 03:26:37 +0000 (03:26 +0000)]
#define NO_SYS_SIGLIST.
From-SVN: r10675
Jim Wilson [Tue, 5 Dec 1995 02:28:45 +0000 (18:28 -0800)]
(shiftcosts): For SH3, max cost of arithmetic right shift is 3.
(shiftcosts): For SH3, max cost of arithmetic right
shift is 3.
(expand_ashiftrt): For SH3, if shift cost is more than 3, then
call gen_ashrsi3_d to use shad instruction.
From-SVN: r10674
Jason Merrill [Mon, 4 Dec 1995 23:56:00 +0000 (23:56 +0000)]
(finish_struct): Don't mess with the type of bitfields.
From-SVN: r10673
Jeff Law [Mon, 4 Dec 1995 21:26:00 +0000 (14:26 -0700)]
FIx typo in last change.
From-SVN: r10672
Richard Kenner [Mon, 4 Dec 1995 19:10:50 +0000 (14:10 -0500)]
(store_constructor, record): If field is READONLY, set
RTX_UNCHANGING_P in TO_RTX.
From-SVN: r10671
Jeff Law [Mon, 4 Dec 1995 18:22:22 +0000 (11:22 -0700)]
config.guess: Recognize HP model 816 machines as having a PA1.1 processor.
* config.guess: Recognize HP model 816 machines as having
a PA1.1 processor.
From-SVN: r10669
Ian Lance Taylor [Mon, 4 Dec 1995 17:58:56 +0000 (17:58 +0000)]
Use -fPIC unconditionally
From-SVN: r10668
Jeff Law [Mon, 4 Dec 1995 01:58:44 +0000 (18:58 -0700)]
pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections.
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections.
(ASM_OUTPUT_SECTION_NAME): Define.
From-SVN: r10667
Jeff Law [Sun, 3 Dec 1995 19:27:44 +0000 (12:27 -0700)]
Fix typos/thinkos in fprintf->fputs changes.
From-SVN: r10666
Jeff Law [Sun, 3 Dec 1995 06:37:49 +0000 (23:37 -0700)]
Fix indention typo.
From-SVN: r10665
Jeff Law [Sun, 3 Dec 1995 05:33:31 +0000 (22:33 -0700)]
pa.h: Replace many uses of fprintf with fputs.
* pa.h: Replace many uses of fprintf with fputs.
* pa.c: Likewise.
* pa-pro.h: Likewise.
* pa.h (SECONDARY_RELOAD_CLASS): Don't call secondary_reload_class
to handle trivial cases.
* pa.c (secondary_reload_class): Rework to be more efficient.
From-SVN: r10664
Michael Meissner [Sat, 2 Dec 1995 13:33:09 +0000 (13:33 +0000)]
Fix spacing in last patch.
From-SVN: r10663
Michael Meissner [Sat, 2 Dec 1995 12:59:26 +0000 (12:59 +0000)]
Do not split large constants, let define_split do it later if needed
From-SVN: r10662
Doug Evans [Fri, 1 Dec 1995 21:02:01 +0000 (21:02 +0000)]
(output_double_int): Handle CODE_LABEL's if v9.
From-SVN: r10661
Michael Meissner [Fri, 1 Dec 1995 14:32:15 +0000 (14:32 +0000)]
Split decrement_and_branch_until_zero until define_expand/define_insn
From-SVN: r10660
Jim Wilson [Fri, 1 Dec 1995 01:02:34 +0000 (17:02 -0800)]
(from_compare): Get mode from operands instead of using SImode.
From-SVN: r10659
Jim Wilson [Fri, 1 Dec 1995 01:01:28 +0000 (17:01 -0800)]
(CONDITIONAL_REGISTER_USAGE): Correcting indentation.
(MODE_DISP_OK_4, MODE_DISP_OK_8): Move definitions next to uses.
From-SVN: r10658
Jim Wilson [Fri, 1 Dec 1995 00:58:35 +0000 (16:58 -0800)]
Minor changes to comments.
From-SVN: r10657
Per Bothner [Thu, 30 Nov 1995 21:59:48 +0000 (13:59 -0800)]
* config.guess: Recognize Pentium under SCO.
From-SVN: r10652
Jim Wilson [Thu, 30 Nov 1995 20:47:56 +0000 (12:47 -0800)]
(noncall_uses_reg): New function.
(machine_dependent_reorg): Add support for TARGET_RELAX.
(final_prescan_insn): Likewise.
From-SVN: r10651
Jim Wilson [Thu, 30 Nov 1995 20:47:02 +0000 (12:47 -0800)]
(ASM_SPEC, LINK_SPEC): Pass on -mrelax.
(RELAX_BIT, TARGET_RELAX): New macros.
(TARGET_SWITCHES): Add -mrelax.
From-SVN: r10650
Jim Wilson [Thu, 30 Nov 1995 20:31:06 +0000 (12:31 -0800)]
(insn-attr.h): Include.
(pragma_nosave_low_regs): New global variable.
(calc_live_regs): If SH3 and pragma_nosave_low_regs, then don't
save registers r0 through r7 for interrupt functions.
(function_epilogue): Clear pragma_nosave_low_regs.
(handle_pragma): Set pragma_nosave_low_regs if see pragma for it.
From-SVN: r10649
Michael Meissner [Thu, 30 Nov 1995 20:02:16 +0000 (20:02 +0000)]
update PowerPC support
From-SVN: r10648
Jim Wilson [Thu, 30 Nov 1995 20:01:53 +0000 (12:01 -0800)]
(FUNCTION_PROFILER): Use trap #33 instead of trap #5.
Put additional .align before trapa instruction.
From-SVN: r10647
Jim Wilson [Thu, 30 Nov 1995 19:43:54 +0000 (11:43 -0800)]
(seqdi_special_trunc, snedi_special_trunc,
seqsi_special_extend, snesi_special_extend): Delete uses of SUBREG.
Make compare modes match modes of operands.
(snesi_zero_extend, snedi_zero_trunc_sp32, snedi_zero_trunc_sp64,
seqsi_zero_extend, seqdi_zero_trunc_sp32, seqdi_zero_trunc_sp64):
New patterns.
From-SVN: r10646
Michael Meissner [Thu, 30 Nov 1995 18:56:05 +0000 (18:56 +0000)]
PowerPC macros
From-SVN: r10645
Michael Meissner [Thu, 30 Nov 1995 18:38:35 +0000 (18:38 +0000)]
Initial revision
From-SVN: r10644
Michael Meissner [Thu, 30 Nov 1995 18:24:37 +0000 (18:24 +0000)]
PowerPC Windows NT support
From-SVN: r10643
Michael Meissner [Thu, 30 Nov 1995 17:49:53 +0000 (17:49 +0000)]
Add MULTILIB_EXCEPTiONS
From-SVN: r10642
Michael Meissner [Thu, 30 Nov 1995 17:49:15 +0000 (17:49 +0000)]
Add MULTILIB_EXCEPTIONS
From-SVN: r10641
Jim Wilson [Thu, 30 Nov 1995 03:10:02 +0000 (19:10 -0800)]
New file.
From-SVN: r10640
Jim Wilson [Thu, 30 Nov 1995 03:04:51 +0000 (19:04 -0800)]
Add make rule for gcrt1.o.
From-SVN: r10639
Jim Wilson [Thu, 30 Nov 1995 03:04:24 +0000 (19:04 -0800)]
(STARTFILE_SPEC): Link with gcrt1.o with -pg.
From-SVN: r10638
Jim Wilson [Thu, 30 Nov 1995 03:03:54 +0000 (19:03 -0800)]
(_mcleanup): Add support for PROFDIR environment variable.
From-SVN: r10637
Jim Wilson [Thu, 30 Nov 1995 02:40:33 +0000 (18:40 -0800)]
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
MULTILIB_MATCHES): Add -msingle-float support.
From-SVN: r10636
Jim Wilson [Thu, 30 Nov 1995 02:38:54 +0000 (18:38 -0800)]
(CPP_SPEC): If -msingle-float and not -msoft-float, pass -D__mips_single_float.
(CPP_SPEC): If -msingle-float and not
-msoft-float, pass -D__mips_single_float. Likewise for -m4650 and
not -msoft-float.
From-SVN: r10635
Doug Evans [Wed, 29 Nov 1995 23:17:30 +0000 (23:17 +0000)]
(do_spec_1): Fix typos in version calculation.
From-SVN: r10634
Doug Evans [Wed, 29 Nov 1995 23:12:54 +0000 (23:12 +0000)]
(LIB_SPEC): Don't use absolute path names if cross compiling.
From-SVN: r10633
Doug Evans [Wed, 29 Nov 1995 23:08:59 +0000 (23:08 +0000)]
svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
* svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
(MD_STARTFILE_PREFIX): Likewise.
(LINK_SPEC): Don't use absolute path names if cross compiling.
From-SVN: r10632
Doug Evans [Wed, 29 Nov 1995 23:01:50 +0000 (23:01 +0000)]
* cccp.c (do_include): Recognize c:\foo as absolute path name in DOS.
From-SVN: r10631
Doug Evans [Wed, 29 Nov 1995 22:57:03 +0000 (22:57 +0000)]
toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags has been initialized so sets of...
* toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags
has been initialized so sets of target_flags aren't clobbered.
From-SVN: r10630
Doug Evans [Wed, 29 Nov 1995 22:51:27 +0000 (22:51 +0000)]
(MAX_OFILE_ALIGNMENT): Moved to config/svr4.h.
From-SVN: r10629
Doug Evans [Wed, 29 Nov 1995 22:50:54 +0000 (22:50 +0000)]
(MAX_OFILE_ALIGNMENT): Define.
From-SVN: r10628
Jim Wilson [Wed, 29 Nov 1995 20:47:03 +0000 (12:47 -0800)]
(ashrsi3_d): Use %0 not %1 in output pattern.
From-SVN: r10627
Jim Wilson [Wed, 29 Nov 1995 20:29:51 +0000 (12:29 -0800)]
(MAX_OFILE_ALIGNMENT): Define.
From-SVN: r10626
Jim Wilson [Wed, 29 Nov 1995 20:14:02 +0000 (12:14 -0800)]
(WORD_SWITCH_TAKES_ARG): Define.
(LINK_SPEC): Add rpath.
From-SVN: r10625
Jim Wilson [Wed, 29 Nov 1995 20:13:25 +0000 (12:13 -0800)]
(LINK_SPEC): Add rpath.
From-SVN: r10624
Jim Wilson [Wed, 29 Nov 1995 19:18:43 +0000 (11:18 -0800)]
(stupid_mark_regs): For hard registers...
(stupid_mark_regs): For hard registers, use regno+j
instead of just regno in MARK_LIVE_AFTER and SET_HARD_REG_BIT calls.
From-SVN: r10623
Jim Wilson [Wed, 29 Nov 1995 19:05:42 +0000 (11:05 -0800)]
(combine_strings): Add support for WCHAR_TYPE as short.
From-SVN: r10622
Jim Wilson [Wed, 29 Nov 1995 18:59:13 +0000 (10:59 -0800)]
(integrate_decl_tree): Delete variable newd.
Always set DECL_ABSTRACT_ORIGIN before calling pushdecl.
From-SVN: r10621
Jim Wilson [Wed, 29 Nov 1995 18:57:22 +0000 (10:57 -0800)]
(merge_attributes): New function.
(merge_attributes): New function. Move code from
common_type to here.
(common_type): Call merge_attributes instead of having inline code.
From-SVN: r10620
Jim Wilson [Wed, 29 Nov 1995 18:56:28 +0000 (10:56 -0800)]
(merge_attributes): New declaration.
From-SVN: r10619
Jim Wilson [Wed, 29 Nov 1995 18:55:34 +0000 (10:55 -0800)]
(duplicate_decls): Add new paramter different_binding_level.
Lots of changes to use new new parameter.
(pushdecl): Delete variable declared_global. New variable
different_binding_level and code to set it. Move extern/static
warning before duplicate_decls call. Don't let global typedefs
conflict with nested extern declarations. Move oldglobal test
inside code for setting IDENTIFIER_LIMBO_VALUE.
(lookup_name_current_level_global): Delete.
From-SVN: r10618
Jim Wilson [Wed, 29 Nov 1995 02:56:14 +0000 (18:56 -0800)]
(mips_function_value): Add check for i > 0 when deciding
if structure should be return in FP registers.
From-SVN: r10617
Jeff Law [Tue, 28 Nov 1995 17:49:46 +0000 (10:49 -0700)]
pa.md (define split for (plus (reg) (large_constant)): Try another way to handle this with only 2 insns.
* pa.md (define split for (plus (reg) (large_constant)): Try
another way to handle this with only 2 insns. From Tege.
From-SVN: r10616
Jeff Law [Mon, 27 Nov 1995 22:10:51 +0000 (15:10 -0700)]
Initial revision
From-SVN: r10615
Jeff Law [Mon, 27 Nov 1995 22:01:57 +0000 (15:01 -0700)]
Update copyrights.
From-SVN: r10614
Jeff Law [Mon, 27 Nov 1995 16:19:26 +0000 (09:19 -0700)]
toplev.c (rest_of_compilation): Always call jump_optimize at least once.
* toplev.c (rest_of_compilation): Always call jump_optimize
at least once.
From-SVN: r10613
Jeff Law [Mon, 27 Nov 1995 08:31:46 +0000 (01:31 -0700)]
pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber the value of TREE_SYMBOL_REFERENCED.
* pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber
the value of TREE_SYMBOL_REFERENCED.
* pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable
trap on null pointer dereference for programs built on hpux9.
* pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise.
* pa.c (output_function_prologue): No longer need to keep
track of the total number code bytes when TARGET_GAS &&
not TARGET_PORTABLE_RUNTIME.
* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when
not TARGET_PORTABLE_RUNTIME.
(ASM_OUTPUT_FUNCTION_PREFIX): Define. Prefix functions with
.NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME.
* pa.md (symbolic high patterns): Use 'H' to print the symbolic
address so that the constant part gets rounded.
* pa.c (print_operand): Handle 'H' operand for high part of a
symbolic address with a rounded constant.
(output_global_address): New argument "rounded_constant". All
callers changed appropriately.
* x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE.
* pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if
-ansi is not present.
(CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE.
* pa-ghiux.h (CPP_PREDEFINES): Likewise.
* pa-gux7.h (CPP_PREDEFINES): Likewise.
* pa-hiux.h (CPP_PREDEFINES): Likewise.
* pa-hpux.h (CPP_PREDEFINES): Likewise.
* pa-hpux7.h (CPP_PREDEFINES): Likewise.
* pa1-ghiux.h (CPP_PREDEFINES): Likewise.
* pa1-hiux.h (CPP_PREDEFINES): Likewise.
* pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the
linker.
* pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise.
* pa1-ghpux9.h, pa1-hpux9.h: Likewise.
* pa.h (LINK_SPEC): Likewise.
(TARGET_SWITCHES): Add -mlinker-opt.
* pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT.
* pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark
the beginning and end of the branch table.
* pa.md (begin_brtab): New insn. Just a marker so GCC knows
where to put the .begin_brtab pseudo-op.
(end_brtab): Similarly.
* pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if
CTORS_SECTION_FUNCTION is defined. Else define dummy
versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION.
(EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and
DTORS_SECTION_FUNCTION.
* pa.md: Add peepholes to improve spill code generated
by reload when we run out of FP registers.
From-SVN: r10612
Jeff Law [Mon, 27 Nov 1995 07:58:32 +0000 (00:58 -0700)]
* xm-pa.h: Remove spurious double-quote.
From-SVN: r10611
Jeff Law [Mon, 27 Nov 1995 07:55:04 +0000 (00:55 -0700)]
pa.md (call expanders): For indirect calls, load %r22 with the function's address.
* pa.md (call expanders): For indirect calls, load %r22 with the
function's address.
(indirect call patterns): No need to copy the call address into
%r22 anymore.
* pa.c (output_cbranch): Fix buglet in length handling of
backwards branches with unfilled delay slots.
(output_bb, output_bvb, output_dbra, output_movb): Likewise.
* pa.md: Fix off-by-one error in length computations for all
conditional branch patterns.
* pa.h (output_bvb): Declare.
* pa.c (output_bvb): New function to output branch on variable
bit insns.
* pa.md (branch-on-variable-bit): New patterns.
* pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all
references.
(output_millicode_call): Declare new function
* pa.md (millicode calls): Update length computation to handle
variable length millicode calls.
(call pattners): Likewise.
(indirect call patterns): Update length compuations and output
templates to handle variable length millicode calls.
(plabel_dereference): Likewise.
* pa.c (override_options): Give warnings when incompatable
options are used.
(output_mul_insn): Call output_millicode_call instead of
output_call, eliminate last argument to output_millicode_call.
(output_div_insn): Likewise.
(output_mod_insn): Likewise.
(output_call): Rewrite long call code to handle variable length
millicode calls. Eliminate support for calling mul, div and mod
millicode routines.
(output_millicode_call): New function for calling mul, div and mod
millicode routines.
From-SVN: r10610
Jeff Law [Mon, 27 Nov 1995 07:33:58 +0000 (00:33 -0700)]
pa.md (abssi2): New pattern.
* pa.md (abssi2): New pattern.
* pa.c (secondary_reload_class): Loads from reg+d addresses into
FP registers don't need secondary reloads.
* pa.h: Delete soem #if 0 code. Update some comments.
(EXTRA_CONSTRAINT, case 'Q'): Only accept valid memory addresses.
* pa.h (RTX_COSTS): Tege's rewrite.
* pa.c (hppa_legitimize_address): Generate unscaled indexed
addressing for (plus (symbol_ref) (reg)).
(emit_move_sequence): Set REGNO_POINTER_FLAG appropriately
to encourage unscaled indexing modes.
(basereg_operand): New function for unscaled index address support.
* pa.md (unscaled indexing patterns): New patterns for unscaled
index address support.
* pa.h (MOVE_RATIO): Define.
* pa.md (movstrsi expander): Refine tests for when to use the
library routine instead of an inlined loop copy. Provide an
additional scratch register for use in the inlined loop copy.
(movstrsi_internal): Name the pattern for ease of use. Add
additional scratch register.
* pa.c (output_block_move): Greatly simplify. Use 2X unrolled
copy loops to improve performance.
(compute_movstrsi_length): Corresponding changes.
* pa.c (print_operand): Handle 'y' case for reversed FP
comparisons. Delete some #if 0 code. Fix various comment typos.
* pa.md (fcmp patterns): Try and reverse the comparison to avoid
useless add,tr insns.
From-SVN: r10609
Richard Kenner [Sun, 26 Nov 1995 19:50:48 +0000 (14:50 -0500)]
(fixup_var_refs_1): Make pseudo for DEST in PROMOTED_MODE unless in a
SUBREG.
From-SVN: r10608
Richard Kenner [Sun, 26 Nov 1995 19:47:28 +0000 (14:47 -0500)]
(insert): Don't put a REG into qty_const.
From-SVN: r10607
Richard Kenner [Sun, 26 Nov 1995 19:44:51 +0000 (14:44 -0500)]
(stamp-objlist): Change .o to $objext.
From-SVN: r10606
Richard Kenner [Sun, 26 Nov 1995 19:41:43 +0000 (14:41 -0500)]
(trampoline): Add getpagesize and mprotect for WINNT.
From-SVN: r10605
Richard Kenner [Sun, 26 Nov 1995 19:40:57 +0000 (14:40 -0500)]
(LINK_SPEC): Pass -g to ld.exe.
Increase default stack size.
From-SVN: r10604
Richard Kenner [Sun, 26 Nov 1995 19:40:30 +0000 (14:40 -0500)]
Reformat and add some new functions for gnat1.
From-SVN: r10603
Richard Kenner [Sun, 26 Nov 1995 19:40:07 +0000 (14:40 -0500)]
(main): Don't pass -g to link.
From-SVN: r10602
Richard Kenner [Sun, 26 Nov 1995 19:39:43 +0000 (14:39 -0500)]
(CPP_PREDEFINES): Set __unaligned and __stdcall to null.
From-SVN: r10601
Richard Kenner [Sun, 26 Nov 1995 19:32:34 +0000 (14:32 -0500)]
(nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before stack pointer code.
(nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED code before
stack pointer code. Return nonzero at end of stack pointer code.
From-SVN: r10600
Richard Kenner [Sun, 26 Nov 1995 19:30:02 +0000 (14:30 -0500)]
(PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.
From-SVN: r10599
Richard Kenner [Sun, 26 Nov 1995 19:28:06 +0000 (14:28 -0500)]
(cppalloc.o): Add a rule to build it.
From-SVN: r10598
Richard Kenner [Sun, 26 Nov 1995 19:25:22 +0000 (14:25 -0500)]
(FUNCTION_VALUE): Deleted; incorrect.
From-SVN: r10597
Richard Kenner [Sun, 26 Nov 1995 19:22:56 +0000 (14:22 -0500)]
(curses.h): Allow space or tab after bool keyword, instead of tab or tab.
From-SVN: r10596