- 10 Dec, 1995 1 commit
-
-
* pa.md (millicode delay slot description): Remove reference to defunct TARGET_MILLICODE_LONG_CALLS. From-SVN: r10694
Jeff Law committed
-
- 09 Dec, 1995 3 commits
-
-
(subsi3): Rename to subsi3_internal. Add new define_expand to handle subtracting a register from a constant. From-SVN: r10693
Jim Wilson committed -
From-SVN: r10692
Jim Wilson committed -
From-SVN: r10691
Michael Meissner committed
-
- 08 Dec, 1995 1 commit
-
-
* 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 committed
-
- 06 Dec, 1995 7 commits
-
-
From-SVN: r10685
Richard Earnshaw committed -
(CROSS_FLOAT_H): Define. From-SVN: r10684
Richard Earnshaw committed -
From-SVN: r10683
Richard Earnshaw committed -
(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 committed -
(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 committed -
(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 committed -
From-SVN: r10679
Richard Earnshaw committed
-
- 05 Dec, 1995 5 commits
-
-
From-SVN: r10678
Jason Merrill committed -
From-SVN: r10677
Jason Merrill committed -
From-SVN: r10676
Jason Merrill committed -
From-SVN: r10675
Jason Merrill committed -
(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
Jim Wilson committed
-
- 04 Dec, 1995 6 commits
-
-
From-SVN: r10673
Jason Merrill committed -
From-SVN: r10672
Jeff Law committed -
RTX_UNCHANGING_P in TO_RTX. From-SVN: r10671
Richard Kenner committed -
* config.guess: Recognize HP model 816 machines as having a PA1.1 processor. From-SVN: r10669
Jeff Law committed -
From-SVN: r10668
Ian Lance Taylor committed -
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections. (ASM_OUTPUT_SECTION_NAME): Define. From-SVN: r10667
Jeff Law committed
-
- 03 Dec, 1995 3 commits
-
-
From-SVN: r10666
Jeff Law committed -
From-SVN: r10665
Jeff Law committed -
* 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
Jeff Law committed
-
- 02 Dec, 1995 2 commits
-
-
From-SVN: r10663
Michael Meissner committed -
From-SVN: r10662
Michael Meissner committed
-
- 01 Dec, 1995 5 commits
-
-
From-SVN: r10661
Doug Evans committed -
From-SVN: r10660
Michael Meissner committed -
From-SVN: r10659
Jim Wilson committed -
(MODE_DISP_OK_4, MODE_DISP_OK_8): Move definitions next to uses. From-SVN: r10658
Jim Wilson committed -
From-SVN: r10657
Jim Wilson committed
-
- 30 Nov, 1995 7 commits
-
-
From-SVN: r10652
Per Bothner committed -
(machine_dependent_reorg): Add support for TARGET_RELAX. (final_prescan_insn): Likewise. From-SVN: r10651
Jim Wilson committed -
(RELAX_BIT, TARGET_RELAX): New macros. (TARGET_SWITCHES): Add -mrelax. From-SVN: r10650
Jim Wilson committed -
(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
Jim Wilson committed -
From-SVN: r10648
Michael Meissner committed -
Put additional .align before trapa instruction. From-SVN: r10647
Jim Wilson committed -
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
Jim Wilson committed
-