Richard Kenner [Wed, 8 Sep 1993 14:50:35 +0000 (10:50 -0400)]
(define_attr): Expand list of instruction attributes.
(define_function_unit): Compute delay information based upon processor type
and expand functional unit types.
(mulsi3, divsi3, divmodsi4, divsf3, divdf3, muldf3, movsf): Use expanded
attributes.
(load with update): Likewise.
Richard Kenner [Wed, 8 Sep 1993 14:49:18 +0000 (10:49 -0400)]
(MASK_*, TARGET_*): Add target masks and tests.
(TARGET_SWITCHES): Add target switches for various architectures and mnemonics
options.
(TARGET_OPTIONS): Add cpu type as special target option.
(OVERRIDE_OPTIONS): Call rs6000_override_options to decipher.
(push_init_level): Diagnose extra brace group at end of record.
(push_init_level): Diagnose extra brace group at end
of record. Set constructor_type to 0.
(pop_init_level): Don't output anything if constructor_type is 0.
(process_init_element): Do nothing if constructor_type is 0.
* 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.