aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-03-10re PR target/14480 (gcc/config/rs6000/t-rtems is missing)Joel Sherrill1-1/+1
2004-03-08 Joel Sherrill <joel@oarcorp.com> PR target/14480 * config/rs6000/t-rtems: Add missing file on branch. From-SVN: r79263
2004-03-05config.gcc (mips64orion-*-elf*, [...]): Delete duplicated line.Chris Demetriou1-1/+0
2004-03-05 Chris Demetriou <cgd@broadcom.com> * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete duplicated line. From-SVN: r79010
2004-03-03config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.Stuart Hastings1-2/+2
2004-03-03 Stuart Hastings <stuart@apple.com> * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a. From-SVN: r78866
2004-03-01config.gcc: Create a default tmake_file for linux, and use it in all but two ↵Nathanael Nerode1-22/+24
linux clauses. * config.gcc: Create a default tmake_file for linux, and use it in all but two linux clauses. Comment those two. From-SVN: r78704
2004-02-26config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m /pentium4m.Jan Hubicka1-3/+13
* config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m /pentium4m. * i386.c (override_options): Add support for new CPUs. * i386.h (TARGET_CPU_DEFAULT_NAMES): New names. (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New constants. * invoke.texi: Extend documentation of -mtune/-march for new CPUs. From-SVN: r78524
2004-02-25config.gcc: Add comment describing extra_gcc_objs.Kelley Cook1-1/+4
2004-02-25 Kelley Cook <kcook@gcc.gnu.org> * config.gcc: Add comment describing extra_gcc_objs. i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs. * configure.ac (extra_gcc_objs): New substitution variable. (host_extra_gcc_objs): Don't substitute. * configure: Regenerate. * Makefile.in: Use extra_gcc_objs. From-SVN: r78459
2004-02-25config.gcc (hppa*-*-*, [...]): Add MASK_BIG_SWITCH to all target_cpu_default ↵John David Anglin1-14/+15
defines. * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all target_cpu_default defines. * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define. * pa.h (TARGET_DEFAULT): Likewise. From-SVN: r78446
2004-02-24Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.Alexandre Oliva1-1/+20
2004-02-05 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for symbols in sections named by the user. 2004-01-30 Alexandre Oliva <aoliva@redhat.com> * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New. 2004-01-27 Alexandre Oliva <aoliva@redhat.com> * config.gcc (frv-*-*linux*): Handle like *-*-linux*. * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by the above. 2004-01-20 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add one more pseudo to further improve code generation. 2004-01-19 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.md (movdi_ldd): Introduce explicit indirection inside UNSPEC. 2004-01-16 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_legitimate_address_p): Added allow_double_reg_p argument. Adjust all callers. Use it to decide whether to enable double-register indirect addressing. (frv_funcdesc_alias_set): Remove. (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into register. Emit movdi_ldd. (ldd_address_operand): New. * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust. * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise. (PREDICATE_CODES): Add ldd_address_operand. * config/frv/frv.md (movdi_ldd): New. (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for intermediate computations if possible. (symGOTOFF2reg_i): Fix harmless typo. 2003-12-18 Alexandre Oliva <aoliva@redhat.com> * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast relocated p_vaddr to vaddr type. * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void. * config/frv/frv.c (frv_get_funcdesc_alias_set): New. (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc MEM, or use a funcdesc alias set. Use regular move instead of ldd. (dbl_memory_one_insn_operand): Recognize function descriptors by type or by alias set, and don't split them. * config/frv/frv.md (call, call_value): Never use call_internal for fdpic. (call_internal, call_value_internal): Never match for FDPIC. (call_fdpicdi, call_fdpicsi, call_value_fdpicdi, call_value_fdpicsi): Require FDPIC. (ldd): Removed. 2003-12-17 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__. * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more. (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV FDPIC. Compute data base address. * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic before the other self-specs are processed. * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Build with -fPIC. 2003-12-15 Alexandre Oliva <aoliva@redhat.com> * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if inhibit_libc is defined. 2003-12-12 Alexandre Oliva <aoliva@redhat.com> * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for __FRV_FDPIC__. (__RELOC_POINTER): Define. (_Unwind_IteratePhdrCallback): Use it. * config/frv/frv.h (Twrite): Define. (TRANSFER_FROM_TRAMPOLINE): Use it. * config/frv/linux.h (INVOKE__main): Undefine. (Twrite): Override. 2003-12-05 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options. (-mlibrary-pic): Emphasize that this option generates EABI code. (-mcpu): Add fr550. (-mpack): Remove. 2003-11-30 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs and CONSTs in FDPIC mode. * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*. 2003-11-29 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv.c (move_source_operand): Don't accept symbolic constants. * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n' rather than 'i' constraint for the 2-instruction alternative. (*movsi_2word): New, incorporating existing int_2word_operand splitter. 2003-11-29 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from EXTRA_CONSTRAINT_FOR_Y. (EXTRA_CONSTRAINT): Remove handling of 'Y'. * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint. (addsi3): Change 'Y' constraint to 'Q'. 2003-11-27 Richard Sandiford <rsandifo@redhat.com> * reload.c (CONST_POOL_OK_P): New macro. (find_reloads): Use it to decide whether a constant can be forced into memory. * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the constant satisfies got12_operand. (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC. (frv_legitimate_address_p): Check for valid unspec offsets using got12_operand rather than frv_legitimate_fdpic_operand_p. (frv_legitimate_fdpic_operand_p): Delete. (frv_emit_movsi): Abort if we try to use the FDPIC register during or after reload. (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if TARGET_FDPIC. * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE. 2003-11-19 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand) (frv_fdpic_fptr_operand): Don't declare here. * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand rather than fdpic_got12_operand. (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for got12_operand and const_unspec_operand. * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand. (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls. (symbolic_operand): Remove. (const_unspec_operand): New predicate. * config/frv/frv.md (*movsi_got): Use got12_operand. (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand. 2003-11-18 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove. * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition. * config/frv/frv.c (frv_unspec): New structure. (frv_small_data_reloc_p, frv_const_unspec_p): New functions. (frv_print_operand_memory_reference): Use frv_const_unspec_p to validate CONST indices. Use frv_output_const_unspec to print them. (frv_print_operand): Update call to unspec_got_name. Use frv_output_const_unspec to print constant unspecs. (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p. Reject UNSPECs otherwise. (unspec_got_name): Take the relocation number as argument, not an rtx containing it. (frv_output_addr_const_extra): Remove, replacing with... (frv_output_const_unspec): ...this new function. (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p. (gpr_or_int12_operand): Use fdpic_got12_operand. (dbl_memory_one_insn_operand): Likewise. (fdpic_got12_operand): Use frv_const_unspec_p. (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that are already legitimate. Use frv_small_data_reloc_p when deciding whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12. 2003-11-18 Alexandre Oliva <aoliva@redhat.com> * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export... * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file. * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local label, for real this time. * config/frv/frv.c (frv_local_funcdesc_p): Update to new representation of visibility. (fdpic_got12_operand, symbolic_operand): Mark unused arguments as such. 2003-11-17 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros. (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp. * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless it was explicitly disabled. (frv_stack_info): There is no need to save the link register in every frame unless TARGET_LINKED_FP is true. (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a frame pointer if the stack pointer might change value. (frv_return_addr_rtx): Check and process "count" argument. 2003-11-14 Richard Sandiford <rsandifo@redhat.com> * config/frv/frv-protos.h (frv_legitimize_address): Remove. (frv_find_base_term): Declare. * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing. (FIND_BASE_TERM): Define. (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand, small_data_register_operand, small_data_symbolic_operand. Add symbolic_operand. * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete. (frv_print_operand_memory_reference, output_move_single): Remove special handling for unlegitimized sdata addresses. (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG and symbolic addresses. (frv_legitimize_address, frv_legitimize_fdpic_address): Delete. (frv_find_base_term): New function. (int_2word_operand): Check specifically for symbolic address constants. (pic_register_operand, pic_symbolic_operand): Delete. (small_data_register_operand, small_data_symbolic_operand): Delete. (dbl_memory_one_insn_operand): Don't call plus_small_data_p. Allow UNSPEC_GOT constants if !TARGET_FDPIC. (move_source_operand): Only accept CONSTs if they're a two-insn symbolic constant. (fdpic_got12_operand): Don't require TARGET_FDPIC. (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses using gen_symGOTOFF2reg*. (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases. (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs themselves a cost of 3 insns. * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too. Change predicate to symbolic_operand. (*movsi_high_got, *movsi_lo_sum_got): Likewise. (*movsi_lda_sdata): Delete. (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete. 2003-11-05 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for frv-*-*linux*. * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local label. * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before -multilib-library-pic. (LINK_SPEC): Add -z text for -mfdpic. * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC. * config/frv/frvend.c (__ROFIXUP_END__): Likewise. * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Override. (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define. * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use crtstuff-generated files. 2003-10-31 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Add frv-*-*linux*. * config/frv/linux.h, config/frv/t-linux: New. 2003-10-06 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker when -mfdpic even if a linker script is explicitly listed. 2003-10-02 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_override_options): Clear asm_out unaligned_op for SImode on FDPIC. (frv_emit_movsi): Use compute_reloc_for_constant to compute the argument passed to decl_readonly_section. (frv_assemble_integer): Revert 2003-09-30's change, but make the whole block run with FDPIC even with -fno-PIC. 2003-10-02 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_cannot_force_const_mem): Don't force symbol or label plus offset to memory. (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit GOTOFF and GPREL for LABEL_REF. * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with -mfdpic unless -mno-gprel-ro, -fpic or -fpie. (MASK_GPREL_RO, TARGET_GPREL_RO): New. (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro. * doc/invoke.texi: Document them. 2003-09-30 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare. (frv_splittable_got_operand): Removed. * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and LO_SUM. Add comments. (frv_override_options): Moved enabling of FDPIC to DRIVER_SELF_SPECS. Don't enable MASK_DWORD. (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie. (frv_legitimize_fdpic_address): Don't duplicate logic in frv_emit_movsi. (frv_gen_GPsym2reg): New. (unspec_got_name): Added gprel. (frv_expand_fdpic_call): Add support for inlining PLTs. (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand. (gpr_or_int12_operand): Added GPREL12. (pic_symbolic_operand): Match even if !flag_pic for FDPIC. (small_data_symbolic_operand): Fail if FDPIC. (fdpic_splittable_got_operand): Removed. (fdpic_got12_operand): Added GPREL12. (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL when appropriate. Fix sdata GOTOFF. (frv_legitimate_constant_p): Require legitimate PIC operand for FDPIC with pic, but only a legitimate fdpic operand for non-pic. (frv_assemble_integer): Move FDPIC funcdesc handling out of flag_pic case. (frv_asm_out_constructor, frv_asm_out_destructor): Abort if frv_assemble_integer fails. * config/frv/frv.h (DRIVER_SELF_SPECS): New. (SUBTARGET_DRIVER_SELF_SPECS): New. (ASM_SPEC): Don't pass -mno-fdpic. (LINK_SPEC): Pass -melf32frvfd for FDPIC. (MASK_INLINE_PLT, TARGET_INLINE_PLT): New. (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and -multilib-library-pic. (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand, condexec_si_media_operator, condexec_sf_add_operator and condexec_sf_conv_operator. Removed condexec_sf_binary_operator and condexec_sf_unary_operator. * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO): New. (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before movsi_internal. Give them internal names. movsi_got has type int. (fdpic got splitters): Remove. (symGPREL2reg, symGPREL2reg_hilo): New. * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC to -mlibrary-pic. Map -multilib-library-pic to it. * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic: Document. 2003-09-28 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_function_symbol_referenced_p): Declare. (TARGET_CANNOT_FORCE_CONST_MEM): Define to... (frv_cannot_force_const_mem): New function. (const_small_data_p, plus_small_data_p): Update comments on sdata on FDPIC. (frv_override_options): Set flag_pie for FDPIC too. (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed, call-saved registers on FDPIC. (frv_stack_info): Don't preserve the PIC register on FDPIC, and don't force LR to be preserved. (frv_expand_prologue): Likewise. (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic. (frv_frame_pointer_required): Don't force it just because the FDPIC register is used. (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC operand only if !condexec_p. (frv_legitimize_address): Return the FDPIC-legitimized address. Don't match small data here on FDPIC. (frv_legitimate_fdpic_operand_p): Don't accept unadorned function symbols. Use TRUE/FALSE instead of 1/0. (frv_local_funcdesc_p): New. (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit immediates when possible. (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC. (dbl_memory_one_insn_operand): Accept addresses that add a REG and an UNSPEC_GOT. (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and 12-bit immediates when possible. (frv_legitimate_constant_p): In FDPIC, reject SImode operands that are not legitimate pic operands. (frv_in_small_data_p): Re-enable for FDPIC. * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC. (FRV_GLOBAL_P): Removed. * config/frv/frv.md: Add modes to CONSTs. (movsi_got): New. (movsi_lo_sum_got): Use separate matches instead of match_dup. (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only. (fdpic splittable operations): Match on flag_pic != 1. 2003-09-22 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_asm_out_constructor, frv_asm_out_destructor): Pass to frv_assemble_integer the size in bytes, not bits. 2003-09-19 Alexandre Oliva <aoliva@redhat.com> * config/frv/frv.c (frv_assemble_integer): Reject complex expressions referencing function SYMBOL_REFs. * config/frv/frv.c (frv_function_symbol_referenced_p): New. (move_source_operand): Reject CONSTs that reference function SYMBOL_REFs on FDPIC. (frv_emit_movsi): If we get such a CONST, break it up. * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic. (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC. * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without MEM. (frv_assemble_integer): Don't use funcdesc for LABEL_REFs. (frv_trampoline_size): Increase for FDPIC. * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC. (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines. * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi): Disable use of GOTOFF for now. (const_small_data_p, plus_small_data_p, frv_in_small_data_p): Disable use of small data in FDPIC for now. (frv_asm_output_mi_thunk): Implement for FDPIC. * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC. * config/frv/frv.c (frv_asm_out_constructor): Use frv_assemble_integer for FDPIC pointers. (frv_asm_out_destructor): Likewise. * config/frv/frv.md (ldd): Fix order of operands. Use address_operand for input. 2003-09-18 DJ Delorie <dj@redhat.com> * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC. (unspec_got_name): Correct typo. (frv_emit_movsi): Pre-expand splittable GOTs. (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd. * config/frv/frv.md (lddi): Fix syntax error, rename to ldd. (symGOT2reg_hilo, symGOTOFF2reg_hilo): New. * config/frv/t-frv: Add -mfdpic multilibs. * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic. (TARGET_SWITCHES): Add -mno-fdpic, fix documentation. * config/frv/frv.c (frv_override_options): -mfdpic assumes flag_pic, default to 32-bit pics, require DWORD ops. (frv_override_options): Add W and Z constraints. (frv_expand_prologue): No pic prologue for -mfdpic. (frv_asm_output_mi_thunk): Support -mfdpic (soon). (frv_print_operand_memory_reference): Handle GOT constants. (frv_legitimate_address_p): Allow GOT constants. (frv_legitimize_address): Handle GOT addresses too. (frv_legitimate_fdpic_operand_p): New. (frv_legitimize_fdpic_address): New. (unspec_got_name): New. (frv_output_addr_const_extra): New. (frv_expand_fdpic_call): New. (frv_fdpic_fptr_operand): New. (gpr_or_int12_operand): Handle GOT operands. (int_2word_operand): Handle GOT operands. (fdpic_operand): New. (fdpic_splittable_got_operand): New. (fdpic_got12_operand): New. (frv_emit_movsi): Handle GOT operands. (frv_assemble_integer): -mfdpic doesn't use rofixups. (frv_print_operand): Support 'g' code for GOT operands. * config/frv/frv-protos.h: Add prototypes as needed. * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New. (movsi_high_got, movsi_lo_sum_got): New. (*movsi_pic): Don't use this splitter for -mfdpic. (addsi3): Allow GOT references also. (call, call_value): Handle -mfdpic separately. (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi, call_value_fdpicsi): New. (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg, symGOTOFF2reg_i): New. * config/frv/frv.h (MASK_FDPIC): New. (TARGET_FDPIC): New. (TARGET_SWITCHES): Add -mfdpic. (FDPIC_FPTR_REGNO): New. (FDPIC_REGNO): New. (OUR_FDPIC_REG): New. (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and FDPIC_CALL_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs. (EXTRA_CONSTRAINT): Add it here. (FRV_GLOBAL_P): New. (OUTPUT_ADDR_CONST_EXTRA): New. From-SVN: r78373
2004-02-22config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra ↵Christopher Faylor1-1/+1
host object file when... * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra host object file when targetting cygwin rather than generic object files. From-SVN: r78278
2004-02-22config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object ↵Christopher Faylor1-1/+2
file when targetting cygwin. * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object file when targetting cygwin. * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is overridden by top-level Makefile. From-SVN: r78241
2004-02-17t-iris6gld: Renamed to ...Rainer Orth1-2/+10
* config/mips/t-iris6gld: Renamed to ... * config/mips/t-irix-gld: ... this. * config.gcc (mips-sgi-irix6*): Reflect this (mips-sgi-irix5*): Use it with GNU ld. * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed to ... * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this. * config/mips/t-irix-gld: Reflect this. * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/mips/iris5gld.h: New file. * config.gcc (mips-sgi-irix5*): Use it with GNU ld. Only use collect2 without gas. * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC): Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC. (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this. * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ... * config/mips/iris5.h: ... here. * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC. (STARTFILE_SPEC, ENDFILE_SPEC): Define. * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify using irix_startfile_spec, irix_endfile_spec. From-SVN: r77978
2004-02-16t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME in terms of ↵Matthias Klose1-0/+10
SHLIB_SOVERSION. * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME in terms of SHLIB_SOVERSION. * config/m68k/t-slibgcc-elf-ver: New file. * config/pa/t-slibgcc-elf-ver: New file. * config.gcc (m68k-linux, parisc-linux): Use them when not sjlj exceptions are not configured. From-SVN: r77920
2004-02-12* config.gcc: Restore support for m68k-openbsd.Gunther Nikl1-0/+8
From-SVN: r77712
2004-02-07config.gcc: Don't mention MAX_LONG_TYPE_SIZE.Kazu Hirata1-5/+2
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE. * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison. * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h, config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h, config/mips/iris5.h, config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h, config/rs6000/aix51.h, config/rs6000/aix52.h, config/rs6000/darwin.h, config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h, config/sparc/netbsd-elf.h, config/sparc/sparc.h, config/xtensa/xtensa.h: Remove the definitions of MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or MAX_WCHAR_TYPE_SIZE. * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove. From-SVN: r77460
2004-02-06* config.gcc: Remove i370 support.Kazu Hirata1-21/+0
From-SVN: r77369
2004-02-04config.gcc: Remove obsolete ports and configurations.Kazu Hirata1-199/+2
gcc/ * config.gcc: Remove obsolete ports and configurations. * config/linux-aout.h, config/netware.h, config/t-linux-gnulibc1, config/d30v/abi, config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h, config/d30v/d30v.md, config/d30v/libgcc1.asm, config/d30v/t-d30v, config/dsp16xx/dsp16xx-modes.def, config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c, config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md, config/i370/README, config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c, config/i370/i370.h, config/i370/i370.md, config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370, config/i386/freebsd-aout.h, config/i386/linux-aout.h, config/i386/moss.h, config/i386/netware.h, config/i386/svr3.ifile, config/i386/svr3dbx.h, config/i386/svr3gas.h, config/i386/svr3z.ifile, config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h, config/i960/i960-c.c, config/i960/i960-coff.h, config/i960/i960-modes.def, config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h, config/i960/i960.md, config/i960/rtems.h, config/i960/t-960bare, config/m68k/hp310.h, config/m68k/hp320.h, config/m68k/hp320base.h, config/m68k/m68kv4.h, config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320: Remove. * doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi: Remove mentions of obsolete ports. testsuite/ * gcc.dg/20020312-2.c, gcc.dg/builtin-inf-1.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/cpp/assert4.c: Remove mentions of obsolete ports. From-SVN: r77216
2004-02-03* config.gcc (sh[234]l): Use little endian fragments.J"orn Rennecke1-1/+1
From-SVN: r77185
2004-02-03backport: re PR target/12476 (ARM/THUMB thunk calls broken)Paul Brook1-4/+15
Merge from csl-arm-branch. 2004-01-30 Paul Brook <paul@codesourcery.com> * aof.h (REGISTER_NAMES): Add vfp reg names (ADDITIONAL_REGISTER_NAMES): Ditto. * aout.h (REGISTER_NAMES): Ditto. (ADDITIONAL_REGISTER_NAMES): Ditto. * arm-protos.h: Update/Add Prototypes. * arm.c (init_fp_table): Rename from init_fpa_table. Update users. Only allow 0.0 for VFP. (fp_consts_inited): Rename from fpa_consts_inited. Update users. (values_fp): Rename from values_fpa. Update Users. (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa. Update users. Only check valid constants for this hardware. (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users. Only allow consts for FPA. (arm_float_add_operand): Rename from fpa_add_operand. Update users. Only allow consts for FPA. (use_return_insn): Check for saved VFP regs. (arm_legitimate_address_p): Handle VFP DFmode addressing. (arm_legitimize_address): Ditto. (arm_general_register_operand): New function. (vfp_mem_operand): New function. (vfp_compare_operand): New function. (vfp_secondary_reload_class): New function. (arm_float_compare_operand): New function. (vfp_print_multi): New function. (vfp_output_fstmx): New function. (vfp_emit_fstm): New function. (arm_output_epilogue): Output VPF reg restore code. (arm_expand_prologue): Output VFP reg save code. (arm_print_operand): Add 'P'. (arm_hard_regno_mode_ok): Return modes for VFP regs. (arm_regno_class): Return classes for VFP regs. (arm_compute_initial_elimination_offset): Include space for VFP regs. (arm_get_frame_size): Ditto. * arm.h (FIXED_REGISTERS): Add VFP regs. (CALL_USED_REGISTERS): Ditto. (CONDITIONAL_REGISTER_USAGE): Enable VFP regs. (FIRST_VFP_REGNUM): Define. (LAST_VFP_REGNUM): Define. (IS_VFP_REGNUM): Define. (FIRST_PSEUDO_REGISTER): Include VFP regs. (HARD_REGNO_NREGS): Handle VFP regs. (REG_ALLOC_ORDER): Add VFP regs. (enum reg_class): Add VFP_REGS. (REG_CLASS_NAMES): Ditto. (REG_CLASS_CONTENTS): Ditto. (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs. (REG_CLASS_FROM_LETTER): Add 'w'. (EXTRA_CONSTRAINT_ARM): Add 'U'. (EXTRA_MEMORY_CONSTRAINT): Define. (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs. (SECONDARY_INPUT_RELOAD_CLASS): Ditto. (REGISTER_MOVE_COST): Ditto. (PREDICATE_CODES): Add arm_general_register_operand, arm_float_compare_operand and vfp_compare_operand. * arm.md (various): Rename as above. (divsf3): Enable when TARGET_VFP. (divdf3): Ditto. (movdfcc): Ditto. (sqrtsf2): Ditto. (sqrtdf2): Ditto. (arm_movdi): Disable when TARGET_VFP. (arm_movsi_insn): Ditto. (movsi): Only split with general regs. (cmpsf): Use arm_float_compare_operand. (push_fp_multi): Restrict to TARGET_FPA. (vfp.md): Include. * vfp.md: New file. * fpa.md (various): Rename as above. * doc/md.texi: Document ARM w and U constraints. 2004-01-15 Paul Brook <paul@codesourcery.com> * config.gcc: Add with_fpu. Allow with-float=softfp. * config/arm/arm.c (arm_override_options): Rename *-s to *s. Break out of loop when we find a float-abi. Fix typo. * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu". Set -mfloat-abi=. * doc/install.texi: Document --with-fpu. 2003-01-14 Paul Brook <paul@codesourcery.com> * config.gcc (with_arch): Add armv6. * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s. * config/arm/arm.c (arm_overrride_options): Ditto. 2004-01-08 Richard Earnshaw <rearnsha@arm.com> * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT. (FL_ARCH6): Renamed from FL_ARCH6J. (arm_arch3m): Renamed from arm_fast_multiply. (arm_arch6): Renamed from arm_arch6j. * arm.h: Update all uses of above. * arm-cores.def: Likewise. * arm.md: Likewise. * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j, not arm6j. Add entry for arch armv6. 2004-01-07 Richard Earnshaw <rearnsha@arm.com> * arm.c (arm_emit_extendsi): Delete. * arm-protos.h (arm_emit_extendsi): Delete. * arm.md (zero_extendhisi2): Also handle zero-extension of non-subregs. (zero_extendqisi2, extendhisi2, extendqisi2): Likewise. (thumb_zero_extendhisi2): Only match if not v6. (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2) (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi) (thumb_extendqisi2): Likewise. (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns. (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns. (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns. (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns. (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete. (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete. (arm_zero_extendhisi2addsi): Remove subreg. Add attributes. (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise. (arm_extendqisi2addsi): Likewise. 2003-12-31 Mark Mitchell <mark@codesourcery.com> Revert this change: * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG + REG addressing modes. * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG + REG addressing modes. 2003-12-30 Mark Mitchell <mark@codesourcery.com> * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept CONSTANT_P_RTX. 2003-30-12 Paul Brook <paul@codesourcery.com> * longlong.h: protect arm inlines with !defined (__thumb__) 2003-30-12 Paul Brook <paul@codesourcery.com> * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__. 2003-12-30 Nathan Sidwell <nathan@codesourcery.com> * builtins.c (expand_builtin_apply_args_1): Fix typo in previous change. 2003-12-29 Nathan Sidwell <nathan@codesourcery.com> * builtins.c (expand_builtin_apply_args_1): Add pretend args size to the virtual incoming args pointer for downward stacks. 2003-12-29 Paul Brook <paul@codesourcery.com> * config/arm/arm-cores.def: Add cost function. * config/arm/arm.c (arm_*_rtx_costs): New functions. (arm_rtx_costs): Remove (struct processors): Add rtx_costs field. (all_cores, all_architectures): Ditto. (arm_override_options): Set targetm.rtx_costs. (thumb_rtx_costs): New function. (arm_rtx_costs_1): Remove cases handled elsewhere. * config/arm/arm.h (processor_type): Add COSTS parameter. 2003-12-29 Nathan Sidwell <nathan@codesourcery.com> * config/arm/arm.md (generic_sched): arm926 has its own scheduler. (arm926ejs.md): Include it. * config/arm/arm926ejs.md: New pipeline description. 2003-12-24 Paul Brook <paul@codesourcery.com> * config/arm/arm.c (arm_arch6j): New variable. (arm_override_options): Set it. (arm_emit_extendsi): New function. * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype. * config/arm/arm.h (arm_arch6j): Declare. * config/arm/arm.md: Add sign/zero extend insns. 2003-12-23 Paul Brook <paul@codesourcery.com> * config/arm/arm.c (all_architectures): Add armv6. * doc/invoke.texi: Document it. 2003-12-19 Paul Brook <paul@codesourcery.com> * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify insn patterns to match. * config/arm/arm-generic.md: Ditto. * config/arm/cirrus.md: Ditto. * config/arm/fpa.md: Ditto. * config/amm/iwmmxt.md: Ditto. * config/arm/arm1026ejs.md: Ditto. * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses for 11_loadb. 2003-12-18 Nathan Sidwell <nathan@codesourcery.com> * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare. * config/arm/arm.c (arm_adjust_cost): Check shift cost for TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG. (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Correctly deal with conditional execution, parallels and single shift operations. (arm_no_early_alu_shift_value_dep): Define. * arm.md (attr type): Replace 'normal' with 'alu', 'alu_shift' and 'alu_shift_reg'. (attr core_cycles): Adjust. (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3, *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0, *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp, *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0, *arith_shiftsi_compare0_scratch, *sub_shiftsi, *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch, *if_shift_move, *if_move_shift, *if_shift_shift): Set type attribute appropriately. * config/arm/arm1026ejs.md (alu_op): Adjust. (alu_shift_op, alu_shift_reg_op): New. * config/arm/arm1136.md: Add better bypasses for early registers. Remove load[234] and store[234] bypasses. (11_alu_op): Adjust. (11_alu_shift_op, 11_alu_shift_reg_op): New. 2003-12-15 Nathan Sidwell <nathan@codesourcery.com> * config/arm/arm-protos.h (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare. * config/arm/arm.c (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define. * config/arm/arm1026ejs.md: Add load-store bypass. * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles. Add bypasses between instructions. 2003-12-10 Paul Brook <paul@codesourcery.com> * config/arm/arm.c (arm_fpu_model): New variable. (arm_fload_abi): New variable. (target_fpe_name): Rename from target_fp_name. (target_fpu_name): New variable. (arm_is_cirrus): Remove. (fpu_desc): New struct. (all_fpus): Define. (pf_model_for_fpu): Define. (all_loat_abis): Define. (arm_override_options): Set fp arch flags based on -mfpu= and -float-abi=. (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. (*): Use new TARGET_* flags. * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove. (TARGET_HARD_FLOAT): No longer implies TARGET_FPA. (TARGET_SOFT_FLOAT): Ditto. (TARGET_SOFT_FLOAT_ABI): New. (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies TARGET_HARD_FLOAT. (TARGET_VFP): No longer implies TARGET_HARD_FLOAT. (TARGET_OPTIONS): Add -mfpu=. (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. (arm_pf_model): Define. (arm_float_abi_type): Define. (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE * config/arm/arm.md: Use new TARGET_* flags. * config/arm/cirrus.md: Ditto. * config/arm/fpa.md: Ditto. * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=. * config/arm/semi.h (ASM_SPEC): Ditto. * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp. (FPUTYPE_DEFAULT): Set to VFP. * doc/invoke.texi: Document -mfpu= and -mfloat-abi=. 2003-11-22 Phil Edwards <phil@codesourcery.com> PR target/12476 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use 'bx' instead of 'b' to avoid branch range restrictions. Output the thunk immediately before the thunked-to function. * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit .thumb_func if a thunk is being generated. Emit .code 16 along with .thumb_func if a thunk is not being generated. 2003-11-15 Nicolas Pitre <nico@cam.org> * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3, arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns. * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3. (lshrdi3_iwmmxt): Renamed from lshrdi3. * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly. 2003-11-12 Steve Woodford <scw@wasabisystems.com> Ian Lance Taylor <ian@wasabisystems.com> * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__). 2003-11-05 Phil Edwards <phil@codesourcery.com> * config/arm/arm.md (insn): Add new V6 instruction names. (generic_sched): New attr. * config/arm/arm-generic.md: Use generic_sched here. * config/arm/arm1026ejs.md: Do not model fetch/issue/decode stages of pipeline. Adjust latency counts accordingly. * config/arm/arm1136jfs.md: New file. 2003-10-28 Mark Mitchell <mark@codesourcery.com> * config/arm/arm.h (processor_type): New enumeration type. (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S, ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores. (CPP_CPU_ARCH_SPEC): Likewise. * config/arm/arm.c (arm_tune): New variable. (all_cores): Use cores.def. (all_architectures): Add representative processor. (arm_override_options): Restructure way in which tuning information is deduced. * arm.md: Update "insn" and "type" attributes throughout. (insn): New attribute. (type): Compute "mult" from "insn" attribute. Add load2, load3, load4 alternatives. (arm automaton): Move to arm-generic.md. * config/arm/arm-cores.def: New file. * config/arm/arm-generic.md: Likewise. * config/arm/arm1026ejs.md: Likewise. From-SVN: r77171
2004-01-23config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to ↵Jakub Jelinek1-1/+5
default{32,64}. * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}. From-SVN: r76439
2004-01-22config.gcc (mips-sgi-irix6*o32): Removed.Rainer Orth1-29/+1
* config.gcc (mips-sgi-irix6*o32): Removed. * config/mips/iris6-o32-as.h: Likewise. * config/mips/iris6-o32-gas.h: Likewise. * config/mips/iris6-o32.h: Likewise. From-SVN: r76376
2004-01-14re PR bootstrap/12527 ([arm] bootstrap error on arm-linux, miscompiling ↵Richard Earnshaw1-1/+1
genconstants) PR bootstrap/12527 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. Move linux-gas.h and linux-elf.h before aout.h. * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. From-SVN: r75870
2004-01-12re PR bootstrap/10847 (build fails on openbsd3.2-sparc64)Jonathan Merriman1-1/+1
2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> PR target/10847 * config.gcc: No longer includes conflicting header sparc/sol2.h when building on sparc64-*-openbsd*. From-SVN: r75751
2004-01-06re PR target/10301 (Side effects of architecture specific flags are not ↵Jan Hubicka1-2/+3
documented.) PR target/10301 * config.gcc: Accept opteron and athlon-64 as variants of k8. * i386.c (override_options): Likewise. * invoke.texi (i386 -mtune): Expand documentation. From-SVN: r75476
2003-12-31Add support for m32r-linux target.Kazuhiro Inaoka1-0/+28
From-SVN: r75263
2003-12-22re PR target/13466 (-mpowerpc64 causes ICE)Andrew Pinski1-2/+0
2003-12-22 Andrew Pinski <pinskia@physics.uc.edu> PR target/13466 * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint. From-SVN: r74952
2003-12-19Drop test for libunwind 0.95 and earlier.James E Wilson1-5/+1
* configure.in: Delete libunwind_has_eh_support test. * configure: Regenerate. * config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh and libunwind_has_eh_support check. * config/t-libunwind-no-eh: Delete. From-SVN: r74865
2003-12-12config.gcc: Don't use fixproto.Geoffrey Keating1-2/+0
* config.gcc <i[34567]86-*-darwin*>: Don't use fixproto. <powerpc-*-darwin*>: Likewise. From-SVN: r74581
2003-12-11libunwind related patch from David MosbergerDavid Mosberger1-1/+5
libunwind related patch from David Mosberger * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as required by C++ ABI for Itanium. * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c. * config/t-libunwind-no-eh: New file. * configure.in: Check libunwind for _Unwind_Resume() and if it's present, set libunwind_has_eh_support to "yes". * configure: Regenerate. * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh. From-SVN: r74548
2003-12-09m32r.h: Add support for m32r2 processor.Kazuhiro Inaoka1-1/+1
* config/m32r/m32r.h: Add support for m32r2 processor. Including a new command line option -m32r2 to select it. * config/m32r/m32r.c: Add support for the new processor variant. * config/m32r/m32r.md: Likewise. * config/m32r/t-m32r: Add m32r2 multilibs. * doc/invoke.texi: Document the new command line switch. From-SVN: r74473
2003-12-03* config.gcc: Mark obsolete targets for GCC 3.4.Nathanael Nerode1-1/+31
From-SVN: r74236
2003-12-01* config.gcc (s390x-ibm-tpf*): Add extra_parts.Ulrich Weigand1-0/+1
From-SVN: r74121
2003-11-30config.gcc (m68020-*-elf*, [...]): Add tm_defines containing MOTOROLA and ↵Gunther Nikl1-0/+3
USE_GAS. * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing MOTOROLA and USE_GAS. * config/m68k/rtemself.h (MOTOROLA): Delete. * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete. * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete. From-SVN: r74048
2003-11-24config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when using GNU ld.Richard Sandiford1-1/+2
* config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when using GNU ld. * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the whole of the previous STARTFILE_SPEC except crtbegin.o%s. (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s. (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above. (SUBTARGET_EXTRA_SPECS): Define. * config/mips/iris6gld.h (LINK_SPEC): Change -init function to __gcc_init and -fini function to __gcc_fini. (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o. (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o. (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define. * config/mips/t-iris6gld, * config/mips/irix6-crti.asm, * config/mips/irix6-crtn.asm: New files. From-SVN: r73891
2003-11-19config.gcc (powerpc-*-darwin*): Add libgcc build specification file.Andreas Tobler1-1/+1
2003-11-19 Andreas Tobler <a.tobler@schweiz.ch> * config/config.gcc (powerpc-*-darwin*): Add libgcc build specification file. * config/t-slibgcc-darwin: New file, libgcc build specification. * config/t-darwin: Add libgcc2 flag -fPIC. * config/rs6000/t-darwin: Multilib matches float. * libgcc-darwin.ver: New file, contains libgcc symbols. From-SVN: r73728
2003-11-03rs6000.c (rs6000_override_options): Add G3, G4, and G5 marketing names to ↵Syd Polk1-1/+1
the list of supported processors. 2003-10-28 Syd Polk <spolk@apple.com> * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5 marketing names to the list of supported processors. * config/rs6000/rs6000.h: Ditto. * doc/invoke.texi: Ditto. * config.gcc: Ditto. From-SVN: r73228
2003-10-23config.gcc: Update *-*-vxworks* generic hook and comments.Phil Edwards1-2/+33
2003-10-22 Phil Edwards <phil@codesourcery.com> * config.gcc: Update *-*-vxworks* generic hook and comments. (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks, mips-wrs-windiss, sh-wrs-vxworks): New stanzas. * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly. * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it. * config/windiss.h: New file. * config/arm/t-vxworks: New file. * config/arm/vxworks.h: New file. * config/i386/t-vxworks: New file. * config/i386/vxworks.h: New file. * config/mips/t-vxworks: New file. * config/mips/vxworks.h: New file. * config/mips/windiss.h: New file. * config/sh/t-vxworks: New file. * config/sh/vxworks.h: New file. From-SVN: r72834
2003-10-21kfreebsdgnu.h: New.Robert Millan1-0/+17
2003-09-28 Robert Millan <robertmh@gnu.org> * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions. * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions. * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file. * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu. From-SVN: r72744
2003-10-20config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, ↵Mark Mitchell1-3/+3
and armv6j. * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, and armv6j. * config/arm/arm.c (FL_ARCH6J): New macro. (FL_VFPV2): Likewise. (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js, and arm1136jfs. (all_architectures): Add entry for armv6j. (arm_override_options): Add entries for arm926ejs, arm1026ejs, arm1136js, and arm1136jfs. * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro. (TARGET_CPU_arm1026ej_s): Likewise. (TARGET_CPU_arm1136j_s): Likewise. (TARGET_CPU_arm1136jf_s): Likewise. * doc/invoke.texi: Document new ARM cores and architecture variants. From-SVN: r72694
2003-10-17config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas.Rainer Orth1-1/+14
* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas. (mips-sgi-irix6*): Likewise. * config/mips/iris6gas.h: New file. * gcc/config.gcc (mips-sgi-irix6*): Use it. * config/mips/mips.h (TARGET_IRIX): Provide default. (TARGET_IRIX5): Likewise. (TARGET_SGI_O32_AS): Likewise. * config/mips/iris5.h (TARGET_IRIX): Redefine as 1. (TARGET_IRIX5): Likewise. * config/mips/iris6.h (TARGET_IRIX6): Remove. (TARGET_IRIX5): Redefine as 0. * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32 linker workaround with TARGET_IRIX and mips_abi instead of ASM_OUTPUT_UNDEF_FUNCTION. (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition, testing TARGET_IRIX and mips_abi explicitly. * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove. * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef. * config/mips/mips.c (irix_output_external_libcall): Renamed from mips_output_external_libcall. Use new TARGET_IRIX in guard. * config/mips/mips-protos.h (irix_output_external_libcall): Match this. * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise. * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment. Define as 0. * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define depending on mips_abi. * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1. * config/mips/mips.c (mips_output_function_prologue): Test FUNCTION_NAME_ALREADY_DECLARED at runtime. (mips_output_function_epilogue): Likewise. (build_mips16_function_stub): Likewise. (build_mips16_call_stub): Likewise. * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide default. * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native IRIX 6 O32 assembler. (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI. (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define _MIPS_SIM for O32 ABI. (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler. (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version. (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition. Integrate O32 version. (SUBTARGET_ASM_SPEC): Handle -mabi=32. (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with O32 ABI. (BSS_SECTION_ASM_OP_32): Define. (BSS_SECTION_ASM_OP_64): Likewise. (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs using them. (TARGET_ASM_NAMED_SECTION): Reflect renaming. Move up to allow override for O32 ABI without GNU as. (EH_FRAME_SECTION_NAME): Define explicitly. (MUST_USE_SJLJ_EXCEPTIONS): Define. [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Dummy definitions. (TARGET_ASM_NAMED_SECTION): Undef statically. (EH_FRAME_SECTION_NAME): Likewise. (ASM_OUTPUT_FILENAME): Integrate mips.h version. (LINK_SPEC): Only use default options -call_shared -no_unresolved without -r. Don't pass -init, -fini with -mabi=32. (COLLECT_PARSE_FLAG): Define. * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to TARGET_IRIX. Renamed to use irix_ prefix. (iris6_asm_named_section): Likewise. (iris_section_align_entry_eq): Likewise. (iris_section_align_entry_hash): Likewise. (iris6_file_start): Likewise. (iris6_section_align_1): Likewise. (iris6_file_end): Likewise. (iris6_section_type_flags): Likewise. (iris_section_align_htab): Likewise. (iris_orig_asm_out_file): Likewise. [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename. (TARGET_ASM_FILE_END): Likewise. (TARGET_SECTION_TYPE_FLAGS): Likewise. * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6] (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in override_options instead. (TARGET_ASM_UNALIGNED_SI_OP): Likewise. (TARGET_ASM_UNALIGNED_DI_OP): Likewise. * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32 assemblers. Likewise for constructor/destructor handling. (override_options): Handle IRIX O32 assembler quirks. [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and without gas. (mips_file_start): Use new TARGET_IRIX. (mips_declare_object_name): No special processing for IRIX O32 assembler. (mips_finish_declare_object): Likewise. (irix_asm_output_align): Renamed from iris6_asm_output_align. Don't record alignment for O32 ABI. (irix_file_start): Renamed from iris6_file_start. Return early for O32 ABI. (irix_file_end): Renamed from iris6_file_end. Don't emit .section directives for O32 ABI. * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming. * config/mips/mips-protos.h (irix_asm_output_align): Likewise. * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32. (MULTILIB_OSDIRNAMES): Likewise. From-SVN: r72600
2003-10-15config.gcc (s390x-ibm-tpf*): New target.Ulrich Weigand1-0/+8
* config.gcc (s390x-ibm-tpf*): New target. * doc/invoke.texi: Document it. * config/s390/t-tpf: New file. * config/s390/tpf.h: New file. From-SVN: r72529
2003-10-14* config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.Nathanael Nerode1-1/+1
From-SVN: r72490
2003-10-14config.gcc, [...]: Replace uses of target_alias with target_noncanonical.Nathanael Nerode1-2/+2
gcc: * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of target_alias with target_noncanonical. ada: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). * ada/Makefile.in: Remove unused mention of $(target_alias). cp: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). java: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). From-SVN: r72487
2003-10-13config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which ↵Nathanael Nerode1-5/+12
do the same thing. * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which do the same thing. * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h, config/freebsd6.h: Remove now unnecessary files. OK, I don't know what happened, but get this to commit properly. From-SVN: r72417
2003-10-11t-uclinux: New target Makefile fragment.Bernardo Innocenti1-0/+6
* config/m68k/t-uclinux: New target Makefile fragment. * config/m68k/uclinux.h: New target macro file. * config.gcc (m68k-*-uclinux): New target definition. From-SVN: r72328
2003-10-10config.gcc (mips*-*-netbsd*): Remove content-free line.Nathanael Nerode1-1/+0
* config.gcc (mips*-*-netbsd*): Remove content-free line. Also fixed old-style ChangeLog date to be new-style. From-SVN: r72304
2003-10-09config.gcc: Remove redundant thread_file setting clauses for various ↵Nathanael Nerode1-11/+0
*-*-linux* targets. * config.gcc: Remove redundant thread_file setting clauses for various *-*-linux* targets. From-SVN: r72269
2003-10-08config.gcc: Don't accept --enable-threads=pthreads.Nathanael Nerode1-11/+11
* config.gcc: Don't accept --enable-threads=pthreads. Clean up related case statements. * configure.in: Don't accept --enable-threads=pthreads, decosf1, mach, or os2 (none of which work anyway). Alphabetize supported thread files in case clause. * configure: Regenerate. From-SVN: r72244
2003-10-02target.h (init_libfuncs): New hook.Zack Weinberg1-12/+11
* target.h (init_libfuncs): New hook. * target-def.h: Default TARGET_INIT_BUILTINS and TARGET_INIT_LIBFUNCS to hook_void_void. Add TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER. * builtins.c (default_init_builtins): Delete. * expr.h (default_init_builtins): Delete prototype. * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST. Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL. Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL, MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL, and UMODDI3_LIBCALL, * Makefile.in (optabs.o): Depends on target.h. * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL. * optabs.c: Include target.h. (prepare_float_lib_cmp): No need for #ifdef around use of FLOAT_LIB_COMPARE_RETURNS_BOOL. (set_optab_libfunc): New function. (init_optabs): Delete use of all *_LIBCALL defines. Call targetm.init_libfuncs not INIT_TARGET_OPTABS. * optabs.h: Prototype set_optab_libfunc. * config.gcc: Remove all references to pa/long_double.h, ia64/hpux_longdouble.h, and gofast.h. (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file. * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c * config/sparc/sparc.c, config/vax/vax.c: Provide a definition for TARGET_INIT_LIBFUNCS. Where necessary, include optabs.h, libfuncs.h, and/or config/gofast.h. * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS, INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros. * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0. Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here. * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE, HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here. * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete. * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC. * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 0. * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 1. * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 0. * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h: Define US_SOFTWARE_GOFAST. * config/vax/vax.h: Default TARGET_ELF to 0. * config/vax/elf.h: Redefine TARGET_ELF to 1. * config/gofast.h: Don't define any macros here. Provide one static function, gofast_maybe_init_libfuncs, which does what INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST is already defined. Do not clear negation libfuncs. Do not mess with HFmode, XFmode, or TFmode libfuncs. * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME. From-SVN: r72009
2003-10-01xm-iris5.h: Remove, unnecessary.Rainer Orth1-3/+0
* config/mips/xm-iris5.h: Remove, unnecessary. * config.build (mips-sgi-irix5*): Remove. (mips-sgi-irix6*o32): Likewise. * config.gcc (mips-sgi-irix6*o32): Remove xm_file. (mips-sgi-irix5cross64): Likewise. (mips-sgi-irix5*): Likewise. * config.host (mips-sgi-irix5*): Remove. (mips-sgi-irix6*o32): Likewise. From-SVN: r72003
2003-10-01* config.gcc (cris-*-linux*): Revert mistaken commit.Nathanael Nerode1-1/+1
From-SVN: r71970