* collect2.c (our_file_name, last_file_name): deleted.
(our_file_names): New variable.
(is_in_prefix_list): New function.
(find_a_file): Call is_in_prefix_list.
(main): Make COLLECT_NAMES a list of our invocations.
If we've invoked ourselves, try again with ld_file_name.
Richard Kenner [Thu, 2 Sep 1993 23:18:55 +0000 (19:18 -0400)]
Improve generated code for C400 Clipper.
(TARGET_SWITCHES): New options `c300' `c400'.
(TARGET_C300, TARGET_C400): New defines.
(TARGET_DEFAULT): Define as TARGET_C300.
(CONDITIONAL_REGISTER_USAGE): New define.
Jim Wilson [Tue, 31 Aug 1993 22:08:25 +0000 (15:08 -0700)]
(make_compound_operation): Handle the case (and (xor/ior (lshift...) (lshift...)) ...).
(make_compound_operation): Handle the case
(and (xor/ior (lshift...) (lshift...)) ...).
(make_field_assignment): In get_pos_from_mask call, only invert
bits in mode mask.
Richard Kenner [Tue, 31 Aug 1993 10:35:25 +0000 (06:35 -0400)]
(zero_extendqisi2...
(zero_extendqisi2, zero_extendqihi2): Change anonymous patterns to use 16-bit
and 32-bit hexadecimal values and masks instead of bit ranges if constant.
(rotlsi3, lshrsi3, move condition codes, scc insns): Likewise.
Richard Kenner [Fri, 27 Aug 1993 22:47:38 +0000 (18:47 -0400)]
(nonzero_bits): Fix reversed test for when we need to insert extra bits when sizes differ.
(nonzero_bits): Fix reversed test for when we need to insert extra bits when
sizes differ.
(nonzero_bits, case EQ): Always return STORE_FLAG_VALUE when returning integer
mode; remove now-redundant test.
Jim Wilson [Fri, 27 Aug 1993 17:16:17 +0000 (10:16 -0700)]
(TARGET_MINIMAL_TOC): New macro.
(TARGET_SWITCHES): Add -mminimal-toc and -mno-minimal-toc.
(ELIMINABLE_REGS): Add elimination for r30.
(CAN_ELIMINATE): Add case for r30.
(INITIAL_ELIMINATION_OFFSET): Add case for r30.
(toc_section): When TARET_MINIMAL_TOC, initialize toc_table.
Jim Wilson [Fri, 27 Aug 1993 17:15:28 +0000 (10:15 -0700)]
(print_operand_address): When TARGET_MINIMAL_TOC, use r30 instead of r2 for TOC references.
(print_operand_address): When TARGET_MINIMAL_TOC, use
r30 instead of r2 for TOC references.
(output_prologue): If TARGET_MINIMAL_TOC, and the constant pool
is needed, then setup r30.
(output_toc): When TARGET_MINIMAL_TOC, use .long instead of .tc.
(__objc_update_dispatch_table_for_class):
Don't free dtable... (memory leak to make posing work)
(__objc_update_dispatch_table_for_class):
Free old dispatch table and install a new.
(offset_is_register): New variable
(forwarding_offset): Use apply_args_register_offset to get
register offset.
(encode_method_def, encode_method_prototype): Prepend argument
offset by '+' if passed in register.
(apply_args_register_offset): Added declaration.
(generate_method_descriptors, generate_ivar_lists,
generate_dispatch_tables): Reorganized use of constructors.
(build_descriptor_table_initializer, build_ivar_list_initializer,
build_dispatch_table_initializer): Removed argument `int *size'.
(apply_args_register_offset): New function
(apply_args_register_offset): New function
(apply_args_reg_offset): New variable
(apply_args_size): Added initialization of apply_args_reg_offset.
Richard Kenner [Mon, 23 Aug 1993 22:45:15 +0000 (18:45 -0400)]
(MOTOROLA): Define this.
(VERSADOS): This the name of the DPX2 assembler. Define this in case.
(USG): Define this.
(SGS_NO_LI): define this to suppress jump table usage.
(TARGET_DEFAULT): Define this to 3 inside the conditional USE_GAS since
bitfields do not work a clean way on DPX2.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, SELECT_RTX_SECTION):
#undef these.
(READONLY_DATA_SECTION): Define to data_section.
(*_ASM_OP, ASM_OUTPUT_*): Define these accordingly to the native assembler
syntax.
(LONG_DOUBLE_TYPE_SIZE): Set to 64 to not use XFmode.
(REAL_ARITHMETIC): Define this to use the software floating point emulator.
(JUMP_TABLES_IN_TEXT_SECTION): Define this to 1.
(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Override m68k.h default.
(ASM_OUTPUT_ASCII): add a new variable to take care of the lentgh of the
operand field which must be < 80 chars.
(PRINT_OPERAND_ADDRESS): Override m68k.h default.
(PUT_SDB_TYPE): Output type in decimal.
(PUT_SDB_FUNCTION_[START|END]): Override sdbout.c default.
(PUT_SDB_BLOCK_[START|END]): Override sdbout.c default.
(subst): Instead, do it here, but also allow it in as a nested SUBREG since
the inner one will be eliminated.
(simplify_and_const_int): Convert (and (neg X) (const_int 1)) to a shift
when X is known to be either 0 or 1.
Jeff Law [Wed, 18 Aug 1993 16:34:05 +0000 (10:34 -0600)]
pa.md (movdf insn): Distinguish between offsettable and nonoffsettable memory locations when...
* pa.md (movdf insn): Distinguish between offsettable and
nonoffsettable memory locations when loading/storing a GR.
(movdi insn): Likewise. Loading a DImode constant can take
as many os 4 insns.
Jeff Law [Wed, 18 Aug 1993 16:26:12 +0000 (10:26 -0600)]
pa.md (zero_extendqihi2): No need to explicitly set a length, the defaults are correct.
* pa.md (zero_extendqihi2): No need to explicitly set a length,
the defaults are correct.
(zero_extendqisi2, floatsisf2, floatsidf2): Likewise.
(floatdisf2, floatdidf2, fix_truncsfsi2): Likewise.
(fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2): Likewise.
Jeff Law [Wed, 18 Aug 1993 06:45:41 +0000 (00:45 -0600)]
pa.c (emit_move_sequence): Always handle secondary reloads for symbolic addresses.
* pa.c (emit_move_sequence): Always handle secondary reloads for
symbolic addresses.
(secondary_reload_class): Symbolic operands always need a secondary
reload from R1_REGS if their target class is not R1_REGS.
Jeff Law [Wed, 18 Aug 1993 06:34:51 +0000 (00:34 -0600)]
pa.h (TARGET_GAS): New target flag to control use of GAS specific assembler directives.
* pa.h (TARGET_GAS): New target flag to control use of GAS specific
assembler directives.
(TARGET_SWITCHES): Support -mgas and -mno-gas.
(ASM_DECLARE_FUNCTION_NAME): If TARGET_GAS, then emit .PARAM directives
for static functions so that argument relocations work.