Commit Graph

6412 Commits

Author SHA1 Message Date
Jim Wilson a0a74fda8d (ADDRESS_COST): Define to 1.
From-SVN: r6425
1994-01-24 14:56:27 -08:00
Jim Wilson cf9188c193 (sparc_address_cost): Delete.
From-SVN: r6424
1994-01-24 14:55:49 -08:00
Jim Wilson d10b5bca4e (ASM_OUTPUT_NEWLINE): New default for new macro.
(ASM_OUTPUT_ASCII): Use ASM_OUTPUT_NEWLINE.

From-SVN: r6423
1994-01-24 14:52:18 -08:00
Jim Wilson de74274fd2 (ASM_OUTPUT_NEWLINE): Define new macro.
From-SVN: r6422
1994-01-24 14:51:58 -08:00
Jim Wilson b277ceaf60 (ASM_OUTPUT_COMMON): Don't output .global. Use SIZE not ROUNDED.
(ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_LOCAL): Define.

From-SVN: r6421
1994-01-24 14:40:31 -08:00
Richard Kenner 2d55b7e858 (find_reloads): Properly test for output operand when changing
RELOAD_FOR_OUTPUT_ADDRESS to RELOAD_FOR_INPUT_ADDRESS.

From-SVN: r6420
1994-01-23 20:11:18 -05:00
Richard Kenner b65c1b5b01 (subst, case SUBREG): Handle paradoxical SUBREG of constant.
(IF_THEN_ELSE): Add missing "else" and check for comparison before
calling reversible_comparison_p.

From-SVN: r6419
1994-01-23 19:40:58 -05:00
Richard Kenner 127e4d19bd (do_jump_for_compare): Initialize JUMP_LABEL for the branch insn
before trying to invert it.

From-SVN: r6418
1994-01-23 18:56:41 -05:00
Richard Kenner 0d9ac0a81e (ASM_FILE_START): Delete; identical to one in bsd.h, which is
included.

From-SVN: r6417
1994-01-23 18:40:17 -05:00
Richard Kenner 3de59d54ce (PATH_SEPARATOR): New macro.
From-SVN: r6416
1994-01-23 18:39:56 -05:00
Richard Kenner 6c8c8a4b0d Assume GAS 2.x used and add support for debugging.
From-SVN: r6415
1994-01-23 18:21:18 -05:00
Richard Kenner b5ff0f707c (output_init_elements): Use FIELD instead of constructor_fields when doing alignment and sizing.
(output_init_elements): Use FIELD instead of constructor_fields when
doing alignment and sizing.
(output_pending_init_elements): Don't blow up when writing other than
first field put haven't written anything yet.  Update
constructor_bit_index when we emit a skip.

From-SVN: r6414
1994-01-23 09:11:44 -05:00
Richard Kenner 16411ea68b (rest_of_compilation): Defer compilation of function that were specified as inline...
(rest_of_compilation): Defer compilation of function that were
specified as inline, whether or not they actually were inlined.

From-SVN: r6413
1994-01-23 08:13:51 -05:00
Richard Kenner a62cc6e767 Initial revision
From-SVN: r6412
1994-01-23 07:30:50 -05:00
Richard Kenner 34fa88ab0b (OBJECT_FORMAT_COFF, EXTENDED_COFF, NM_FLAGS): Define.
From-SVN: r6411
1994-01-23 07:30:31 -05:00
Richard Kenner ad25ba1779 (simplify_comparison): Can remove NOT on both operands if we swap
comparison code.

From-SVN: r6410
1994-01-23 07:00:29 -05:00
Richard Kenner 2f607b946a Insert some missing blank lines.
From-SVN: r6409
1994-01-23 06:35:39 -05:00
Richard Kenner 5b9589fe78 (output_{pro,epi}log): Use assemble_name to output
alpha_function_name.

From-SVN: r6408
1994-01-23 06:22:46 -05:00
Richard Kenner 67232b230e (simplify_comparison): Fix typo in last change.
From-SVN: r6407
1994-01-23 06:18:50 -05:00
Richard Kenner 5cb7368c66 (really_start_incremental_init): Save current elements instead of
clearing them.

From-SVN: r6406
1994-01-23 05:59:15 -05:00
Richard Kenner 88a3dbc1a9 (c_expand_return): Issue a warning if returning address of non-static
local object.

From-SVN: r6405
1994-01-22 17:18:10 -05:00
Richard Kenner 3a19aabc45 (if_then_else_cond): Don't do anything with COMPARE.
(simplify_comparison): Strip SIGN_EXTEND, NOT, or NEG when both operands
have it.

From-SVN: r6404
1994-01-22 16:50:41 -05:00
Richard Kenner 0c314d1ab0 (num_sign_bit_copies): Ifndef WORD_REGISTER_OPERATIONS, ensure we
don't do the wrong thing if X is narrower than MODE.

From-SVN: r6403
1994-01-22 15:50:06 -05:00
Jeff Law abb6b72073 pa.h (ASM_OUTPUT_SOURCE_LINE): Make the first source line stab for each procedure special to avoid the need...
* pa.h (ASM_OUTPUT_SOURCE_LINE): Make the first source
	line stab for each procedure special to avoid the need
	for nasty hacks in GAS.

From-SVN: r6402
1994-01-19 23:08:37 -07:00
Jeff Law ac7198efaf * pa.md (iorscc): Fix typo.
From-SVN: r6401
1994-01-19 23:05:32 -07:00
Torbjorn Granlund 9153589571 (ASM_GLOBALIZE_LABEL): Don't globalize function labels here.
From-SVN: r6400
1994-01-20 00:34:47 +00:00
Jim Wilson ced21a3242 (xcoffout_begin_block): Don't emit a .bb for the function level scope.
(xcoffout_begin_block): Don't emit a .bb for the
function level scope.
(xcoffout_end_block): Don't emit a .eb for the function level
scope.

From-SVN: r6399
1994-01-17 13:37:52 -08:00
Richard Stallman 23729c44ab Delete duplicate clauses for hp9k2... and hp9k31...
From-SVN: r6398
1994-01-16 19:31:08 +00:00
Richard Stallman 12d725cbd5 Alphabetize the list of machine-name aliases.
Add nh3000 and nh[45]000.

From-SVN: r6397
1994-01-16 19:30:01 +00:00
Jim Wilson 903df3fecd (smulsi3_highpart): New pattern.
(umulsi3_highpart): New pattern.

From-SVN: r6396
1994-01-15 15:44:42 -08:00
Jim Wilson e783e4c2b3 (smulsi3_highpart): New pattern.
(umulsi3_highpart): New pattern.

From-SVN: r6395
1994-01-15 15:06:17 -08:00
Jim Wilson 33a3539d43 Add 64 bit support.
From-SVN: r6394
1994-01-13 15:54:09 -08:00
Jim Wilson bb621ad7c4 (cpu): Add r4600.
(define_function_unit): Correct numerous errors.  Add r4600.
(adddi3*, subdi3*, mulsidi3, umulsidi3, negdi2*, one_cmpdl2*,
nordi2*, anddi2*, iordi3*, xordi3*, movdi*, ashldi3*, ashrdi3*,
lshrdi3*, seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu,
indirect_jump, tablejump, call*, call_value*): Add 64 bit support.
(adddi3_internal_3, addsi3_internal_2, subdi3_internal_3,
subsi3_internal_2, muldi3, muldi3_internal, divmoddi4, udivmoddi4,
divdi3, moddi3, udivdi3, umoddi3, absdi3, ffsdi2,
negdi2_internal_2, anddi3_internal1, xordi3_immed, truncdisi2,
truncdihi2, truncdiqi2, zero_extendsidi2,
zero_extendsidi2_interal, zero_extendhidi2, zero_extendqidi2,
extendsidi2, extendhidi2, extendhidi2_internal, extendqidi2,
extendqidi2_insn, fix_truncdfdi2, fix_truncsfdi2, floatdidf2,
floatdisf2, fixuns_truncdfdi2, fixuns_truncdfsi2,
ashldi3_internal4, ashrdi3_internal_4, lshrdi3_internal4, cmpdi,
tstdi, branch_zero_di, branch_equality_di, seq_di_zero, seq_di,
sne_di_zero, sne_di, sgt_di, sge_di, slt_di, sle_di_const,
sle_di_reg, sgtu_di, sgeu_di, sltu_di, sleu_di_const, sleu_di_reg,
indirect_jump_internal1, indirect_jump_internal2,
tablejump_internal1, tablejump_internal2): New patterns.
(mulsi3): Add missing mips_move_1word parameter.
(mulsi3+1): Don't split on r4000.
(divmodsi4, udivmodsi4, udivsi3, umodsi3): Correct lengths.
(divsi3, modsi3, udivsi3, umodsi3): Allow constant operands.
(sqrtdf2, sqrtsf2): Correct type attribute.
(abssi2): Add mips2 support.
(movsi_unaligned, movsi_ulw, movsi_usw): Comment out.
(movsf, movdf): Use F not E.
(cmpdf, cmpsf, branch_fp*, s{eq,ne,lt,le,gt,ge}_[ds]f): Depend on
TARGET_HARD_FLOAT.

From-SVN: r6393
1994-01-13 15:52:43 -08:00
Jim Wilson 876c09d3a8 (enum cmp_type): Add 64 bit support.
(enum processor_type): Add PROCESSOR_R4600.
(MASK_64BIT, TARGET_64BIT): New mask bit, to indicate 64 bit mode.
(HAVE_64BIT_P, OPTIMIZATION_OPTIONS): Delete.
(CPP_SPEC): Don't abort if not defined.
(CC1_SPEC): -mips1 and -mips2 imply -mfp32. -mips3 implies -mfp64.
(CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips.
(BITS_PER_WORD, UNITS_PER_WORD, INT_SIZE_TYPE, LONG_TYPE_SIZE,
LONG_LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
PARM_BOUNDARY, EMPTY_FIELD_BOUNDARY, HARD_REGNO_NREGS,
CONST_OK_FOR_LETTER_P, STACK_ARGS_ADJUST, FUNCTION_PROFILER,
TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT,
INITIALIZE_TRAMPOLINE, CASE_VECTOR_MODE, MOVE_MAX,
TRULY_NOOP_TRUNCATION, Pmode, FUNCTION_MODE,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add 64 bit support.
(MAX_BITS_PER_WORD, MAX_UNITS_PER_WORD, UNITS_PER_FPREG,
MAX_INT_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
MAX_MOVE_MAX): Define.
(INDEX_REG_CLASS): NO_REGS not GR_REGS.
(CONST_DOUBLE_OK_FOR_LETTER_P): Don't examine CONST_DOUBLE
internals.
(PREFERRED_RELOAD_CLASS): Return CLASS if it isn't ALL_REGS.
(TRANSFER_FROM_TRAMPOLINE, ASM_OUTPUT_CASE_LABEL): Delete.
(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Redefine to 0.
(GO_IF_LEGITIMATE_ADDRESS): Delete redundant code0 == REG test.
(ENCODE_SECTION_INFO): Don't test mips_section_threshold.
(CONST_COSTS): CONST_INT have cost 0 not CONSTS_N_INSNS (0).  Pass
address not MEM to eliminate_constant_term.  Add 64 bit support.
(MEMORY_MOVE_COST, ASM_OUTPUT_DOUBLE_INT): Define.
(EXTRA_SECTIONS): Delete in_last_p1.
(SELECT_RTX_SECTION): Delete division by BITS_PER_UNIT.
(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
(SIZE_TYPE, PTRDIFF_TYPE): Add 64 bit support.

From-SVN: r6392
1994-01-13 15:51:54 -08:00
Jim Wilson 147255d877 (dfhigh, dflow, sfhigh, sflow): New variables.
(mips_sw_reg_names): Consistently use $ as name prefix.
(large_int): Handle 64 bit constants.
(reg_or_0_operand, mips_const_double_ok): Don't examine
CONST_DOUBLE internals.
(mips_const_double_ok): Use REAL_VALUE_* macros.
(simple_memory_operand): Add 64 bit support.  Only test
TARGET_GP_OPT to determine if doing gp optimizations.  Pass
address not MEM to eliminate_constant_term.  Use SMALL_INT.
(mips_fill_delay_slot): Add 64 bit support.
(mips_move_1word): Add 64 bit support.  Don't examine CONST_DOUBLE
internals.
(mips_move_2words): Likewise.
(mips_address_cost): Pass address not MEM to
eliminate_constant_term.  Use SMALL_INT.
(gen_int_relational): New variable mode.  Add 64 bit support.
(gen_conditional_branch): Add 64 bit support.
(block_move_load_store, block_move_loop, block_move_call,
expand_block_move, output_block_move, function_arg_advance,
function_arg, function_arg_partial_nregs): Likewise.
(override_options): Clear MASK_GPOPT if threshold is zero or
negative.  Set MASK_GPOPT if optimizing.  Set mips_isa from -misa=
option, else from MIPS_ISA_DEFAULT if defined, else to 1.  Make
default cpu depend on isa.  Add cpus r4400, r4600, orion.  Rewrite
TARGET_NAME_REGS support.  Initialize dfhigh, dflow, sfhigh,
sflow.  Add 64 bit support.
(print_operand): Use REAL_VALUE_* macros.
(mips_output_external): Don't depend on mips_section_threshold.
(make_temp_file): Define P_tmpdir when __MSDOS__.  Malloc filename
string.  Don't unlink temp file when __MSDOS__.
(mips_asm_file_start): Delete TARGET_NAME_REGS support.
(mips_asm_file_end): Unlike temp file when __MSDOS__.
(mips_declare_object): Don't test mips_sections_threshold.
(compute_frame_size, save_restore_insns, function_prologue,
mips_expand_prologue, function_epilogue, mips_expand_epilogue):
Add 64 bit support.
(function_epilogue): Correctly output `#' before .set volatile.

From-SVN: r6391
1994-01-13 15:51:01 -08:00
Jim Wilson 284f1f5a9c (CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips.
(CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and
__mips.
(SIZE_TYPE, PTRDIFF_TYPE): Delete.

From-SVN: r6390
1994-01-13 15:49:58 -08:00
Richard Kenner 06c6bfb17b (maybe_attribute): Allow multiple __attribute__ clauses on a
declaration.

From-SVN: r6389
1994-01-13 06:14:08 -05:00
Richard Kenner 9f7287cd93 (REG_CLASS_CONTENTS): Fix problems with last word of register set in
some classes.

(MEMORY_MOVE_COST): New macro.

From-SVN: r6388
1994-01-13 06:00:57 -05:00
Richard Kenner 3450f7ba60 Fix typo in -hiux* case.
From-SVN: r6387
1994-01-13 05:42:24 -05:00
Per Bothner 6c73937e8f dbxout.c (dbxout_range_type): If the range has a base type (TREE_TYPE)...
* dbxout.c (dbxout_range_type):  If the range has a base type
(TREE_TYPE), emit it, even if that is some other integer type.

From-SVN: r6386
1994-01-12 13:30:12 -08:00
Richard Kenner 8e871c0596 (sqrtsf2, sqrtdf2): Change POWERPCSQR to PPCFPX.
(maxsf3, minsf3, maxdf3, mindf3): New patterns using fsel instruction.

From-SVN: r6385
1994-01-12 06:02:09 -05:00
Richard Kenner 6a7ec0a773 (MASK and TARGET): Change POWERPCSQR to PPCFPX to describe both fsqrt
and fsel.

From-SVN: r6384
1994-01-12 06:00:25 -05:00
Richard Kenner fab3bcc305 (rs6000_override_options): Change POWERPCSQR to PPCFPX.
From-SVN: r6383
1994-01-12 05:59:49 -05:00
Richard Kenner b7f37b10e0 (output_prolog): Update debug reg map when we have -mkernel-registers.
From-SVN: r6382
1994-01-11 19:18:43 -05:00
Richard Kenner e9b5e15f60 (fold, truth_andor): Don't apply distributive law when it would change evaluation order.
(fold, truth_andor): Don't apply distributive law when it would change
evaluation order.
Clean up code a bit to improve flow.

From-SVN: r6381
1994-01-11 19:14:18 -05:00
Richard Kenner 212ac20ceb Remove redundant prototype for gen_highpart.
From-SVN: r6380
1994-01-10 19:37:14 -05:00
Richard Kenner 3d329b07b7 (assign_parms): Call gen_realpart and gen_imagpart instead of
gen_lowpart and gen_highpart.

From-SVN: r6379
1994-01-10 19:36:36 -05:00
Richard Kenner 976ff203d8 (emit_move_insn_1): Call gen_realpart and gen_imagpart instead of
gen_lowpart and gen_highpart.

From-SVN: r6378
1994-01-10 19:35:46 -05:00
Richard Kenner dc139c902a (gen_{real,imag}part): Extract value from CONCAT directly.
(gen_lowpart_common, gen_highpart): Don't do it here.

From-SVN: r6377
1994-01-10 19:32:57 -05:00
Richard Kenner 28bad1cbc3 (simplify_relational_operation): Don't do anything with CC0 in
addition to MODE_CC values.

From-SVN: r6376
1994-01-10 19:31:01 -05:00