aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
AgeCommit message (Collapse)AuthorFilesLines
2003-06-07i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is specified.Jan Hubicka2-3/+3
* i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is specified. From-SVN: r67590
2003-06-07Makefile.in (stageprofile_build): Kill redundant target.Jan Hubicka1-1/+2
* Makefile.in (stageprofile_build): Kill redundant target. * i386.c (mdep_reorg): Don't pad jumps for Athlon. From-SVN: r67586
2003-06-07tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.Andreas Jaeger4-20/+1
* doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation. * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR. * config/dsp16xx/dsp16xx.h: Likewise. * config/i386/i386.h: Likewise. * config/ip2k/ip2k.h: Likewise. From-SVN: r67585
2003-06-07* config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.Alan Modra1-0/+12
From-SVN: r67578
2003-06-06pa.h (ASM_OUTPUT_SKIP, [...]): Cast `SIZE' and `ALIGNED' parameters to ↵John David Anglin3-7/+13
unsigned HOST_WIDE_INT. * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to unsigned HOST_WIDE_INT. * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. From-SVN: r67570
2003-06-06sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode of the ↵J"orn Rennecke1-4/+4
generated register. * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode of the generated register. From-SVN: r67555
2003-06-06Apply the right patch.H.J. Lu2-81/+447
From-SVN: r67544
2003-06-06config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-* and x86_64-*-*.H.J. Lu3-1467/+1586
2003-06-06 H.J. Lu <hongjiu.lu@intel.com> * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-* and x86_64-*-*. * config/i386/mmintrin.h: Update version and add alternate intrinsic names. * config/i386/xmmintrin.h: Likewise. * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2 intrinsics to ... * config/i386/emmintrin.h: Here. New file. From-SVN: r67543
2003-06-06h8300.c (get_shift_alg): Correct the syntax of rotxl.Kazu Hirata2-3/+3
* config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl. * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise. From-SVN: r67530
2003-06-05re PR rtl-optimization/4490 (ICE with -m128bit-long-double)Kelley Cook1-55/+55
PR optimization/4490 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE. * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword documentation to accurately reflect what these options do. From-SVN: r67528
2003-06-06linux.h (STARTFILE_SPEC): Handle -pie.Kaz Kojima1-5/+12
* config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify. (ENDFILE_SPEC): Redefine to handle -pie. From-SVN: r67527
2003-06-05re PR middle-end/9986 ([HP-UX] [3.4 regression] Incorrect transformation of ↵John David Anglin1-0/+1
fputs_unlocked to fputc_unlocked) PR middle-end/9986 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for BUILT_IN_FPUTC_UNLOCKED to NULL_TREE. From-SVN: r67500
2003-06-05i386.md (align): Fix warning; clarify what to do when no p2align is available.Jan Hubicka1-2/+5
* i386.md (align): Fix warning; clarify what to do when no p2align is available. From-SVN: r67485
2003-06-05config.gcc (m32r-elf): Revert previous delta.Nick Clifton1-22/+15
* config.gcc (m32r-elf): Revert previous delta. * config/m32r/t-m32r (crtinit.o): Fix rule to work with multilibs. Remove m32rx specific version. (crtfini.o): Likewise. (EXTRA_MULTILIB_PARTS): Define. From-SVN: r67483
2003-06-04i386.c (struct ix86_address): Add seg.Richard Henderson5-223/+355
* config/i386/i386.c (struct ix86_address): Add seg. (no_seg_address_operand): New. (ix86_decompose_address): Restructure PLUS loop. Accept one UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test to test for a regnum, not stack_pointer_rtx. (ix86_address_cost): Reduce cost if non-default segment. (legitimate_address_p): Remove UNSPEC_TP check. (get_thread_pointer): Add to_reg argument. Don't represent the thread pointer as a memory load. (legitimize_tls_address): Split out of ... (legitimize_address): ... here. (print_operand_address): Handle parts.seg. (ix86_expand_move): Use legitimize_tls_address. (ix86_rtx_costs): Handle UNSPEC_TP. * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New. (TARGET_TLS_DIRECT_SEG_REFS): New. (TARGET_SWITCHES): Add tls-direct-seg-refs. (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default. (PREDICATE_CODES): Add no_seg_address_operand. * config/i386/i386.md (lea_1): Use it. (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise. (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New. * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New. * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New. * doc/invoke.texi: Add -mtls-direct-seg-refs. From-SVN: r67475
2003-06-04Makefile.in (varasm.o): Don't set -Wno-error.Kaveh R. Ghazi1-2/+0
* Makefile.in (varasm.o): Don't set -Wno-error. * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear. From-SVN: r67469
2003-06-04aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.Kaveh R. Ghazi5-9/+8
* arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning. * arm.c (arm_output_function_prologue): Fix format specifiers. * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise. * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of HOST_WIDE_INT_PRINT_DEC. * vax.c (vax_output_function_prologue): Fix format specifiers. From-SVN: r67464
2003-06-04* config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.Richard Henderson1-4/+8
From-SVN: r67461
2003-06-04darwin.h (RS6000_OUTPUT_BASENAME): Remove semi-colon at the end of the ↵Andrew Pinski1-1/+1
expression. * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Remove semi-colon at the end of the expression. From-SVN: r67459
2003-06-04i370.c (mvs_function_name_length): Fix signed/unsigned warnings.Kaveh R. Ghazi7-9/+8
* i370.c (mvs_function_name_length): Fix signed/unsigned warnings. * i370.h (mvs_function_name_length): Likewise. * i960.h (CONSTANT_ALIGNMENT): Likewise. * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused variable. From-SVN: r67458
2003-06-04config.gcc: Reorganize --with-cpu logic.Daniel Jacobowitz7-0/+68
* config.gcc: Reorganize --with-cpu logic. Set configure_default_options according to the default CPU, --with-cpu, --with-arch, --with-tune, --with-schedule, --with-abi, and --with-float. Check for legal values of various options. * configure.in: Define configure_default_options in configargs.h. * configure: Regenerated. * config/mips/mips.h (TARGET_DEFAULT_ARCH_P) (TARGET_DEFAULT_FLOAT_P): New macros. * gcc.c (do_option_spec): New function. (struct default_spec, option_default_specs): New. (main): Call do_option_spec. * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h, config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h, config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define. * doc/install.texi: Update --with-cpu documentation. Mention --with-arch, --with-schedule, --with-tune, --with-abi, and --with-float. * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS. From-SVN: r67457
2003-06-04rs6000.c (rs6000_complex_function_value): Unpack complex numbers <= 32 bits ↵Aldy Hernandez1-1/+2
into two registers. 2003-06-04 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack complex numbers <= 32 bits into two registers. From-SVN: r67454
2003-06-04alpha.c (print_operand_address): Fix format specifier warnings.Kaveh R. Ghazi19-23/+23
* alpha.c (print_operand_address): Fix format specifier warnings. * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. * arm/pe.h (ASM_OUTPUT_COMMON): Likewise. * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Likewise. * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON): Likewise. * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise. * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise. * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise. * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise. * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * svr3.h (ASM_OUTPUT_COMMON): Likewise. From-SVN: r67453
2003-06-04c-common.c (handle_cleanup_attribute): New.Richard Henderson4-4/+5
* c-common.c (handle_cleanup_attribute): New. (c_common_attributes): Add it. * c-decl.c (finish_decl): Honor the cleanup attribute. * doc/extend.texi (Variable Attributes): Document it. * unwind-c.c: New file. * Makefile.in (LIB2ADDEH): Add it. * config/t-darwin, config/t-linux, config/t-linux-gnulibc1, config/ia64/t-ia64: Likewise. * gcc.dg/cleanup-1.c: New. * gcc.dg/cleanup-2.c: New. * gcc.dg/cleanup-3.c: New. * gcc.dg/cleanup-4.c: New. * gcc.dg/cleanup-5.c: New. * gcc.dg/cleanup-6.c: New. * gcc.dg/cleanup-7.c: New. From-SVN: r67449
2003-06-04function.c (trampolines_created): New variable.Jakub Jelinek11-0/+72
* function.c (trampolines_created): New variable. (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE. * function.h (trampolines_created): Add. * config/s390/linux.h (ASM_FILE_END): Define. * config/alpha/linux-elf.h (ASM_FILE_END): Define. * config/m68k/linux.h (ASM_FILE_END): Define. * config/rs6000/linux.h (ASM_FILE_END): Define. * config/rs6000/linux64.h (ASM_FILE_END): Define. * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux. * config/sparc/linux.h (ASM_FILE_END): Define. * config/sparc/linux64.h (ASM_FILE_END): Define. * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END. * config/i386/linux.h (SUBTARGET_FILE_END): Define. * config/i386/linux64.h (SUBTARGET_FILE_END): Define. From-SVN: r67447
2003-06-04i386.c (min_insn_size, [...]): New functionsJan Hubicka2-0/+128
* i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions (ix86_reorg): Use it. * i386.md (align): New insn pattern. From-SVN: r67446
2003-06-04linux.h (NO_PROFILE_COUNTERS): Define to 1.Jakub Jelinek21-279/+662
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1. * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise. * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise. * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise. * config/darwin.h (NO_PROFILE_COUNTERS): Likewise. * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined. (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant. * config/rs6000/rs6000.c (output_profile_hook): Likewise. * configure.in (powerpc*-*, s390*-*): Set tls_as_opt. Pass it to $gcc_cv_as. * configure: Rebuilt. * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer. (print_operand): Allow TARGET_AIX to be non-constant. (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore): Define unconditionally. (rs6000_elf_declare_function_name): New function. * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be non-constant. * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define to 1. (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define. [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__ is defined. (TARGET_AIX): Define to 1 if TARGET_64BIT. (PROCESSOR_DEFAULT): Remove. (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT, INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define. [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define. (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both -m32 and -m64. (MULTILIB_DEFAULTS): Define. (SUBSUBTARGET_EXTRA_SPECS): Define. (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define. (TARGET_TOC): Define only if !RS6000_BI_ARCH. (TARGET_NO_TOC): Remove. [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Define to 0. (NO_PROFILE_COUNTERS): Define to TARGET_64BIT. (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT. (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly if !TARGET_64BIT. (USER_LABEL_PREFIX): Remove. (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT. (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init if TARGET_64BIT. (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64. (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define. (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove. (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT. (MINIMAL_TOC_SECTION_ASM_OP): Likewise. (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on TARGET_64BIT. (RS6000_CALL_GLUE): Likewise. (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX, RESTORE_FP_SUFFIX): Likewise. (ASM_DECLARE_FUNCTION_NAME): Remove. (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function name if TARGET_64BIT. (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and !TARGET_64BIT. (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs. (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account. (DRAFT_V4_STRUCT_RET): Define. (SIGNAL_FRAMESIZE): New enum value. (MD_FALLBACK_FRAME_STATE_FOR): Define. * config/rs6000/default64.h: New file. * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64 options. (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc if !TARGET_64BIT. [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define. (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name function. (TARGET_OS_SYSV_CPP_BUILTINS): Define. (TARGET_OS_CPP_BUILTINS): Use it. (CPP_SYSV_SPEC): Remove. (CPP_SPEC): Remove cpp_sysv. (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv. Add SUBSUBTARGET_EXTRA_SPECS. (SUBSUBTARGET_EXTRA_SPECS): Define. * config/rs6000/biarch64.h: New file. * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name): New prototype. * config/rs6000/x-linux64: New file. * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float multilibs. * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__. * config/rs6000/eabi-cn.asm: Likewise. * config/rs6000/tramp.asm: Likewise. * config/rs6000/sol-ci.asm: Likewise. * config/rs6000/sol-cn.asm: Likewise. * config/rs6000/linux.h (TARGET_64BIT): Define to 0. (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS. * config/rs6000/ppc-asm.h: Move __powerpc64__ section before _CALL_AIXDESC section. * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler, defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs or default32. Co-Authored-By: Alan Modra <amodra@bigpond.net.au> From-SVN: r67442
2003-06-04i386.c (ix86_reorg): Replace the jump instead of adding nop.Jan Hubicka2-8/+28
* i386.c (ix86_reorg): Replace the jump instead of adding nop. * i386.md (UNSPEC_REP): New constant. (return_internal_long): New pattern. From-SVN: r67432
2003-06-04re PR rtl-optimization/11018 ([SPARC] -mcpu=ultrasparc busts tar-1.13.25)Eric Botcazou1-2/+8
PR optimization/11018 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative consistently to decide whether the scratch register is really required. From-SVN: r67429
2003-06-04re PR rtl-optimization/10876 (Segfault when compiling KDE 3.1.2)Eric Botcazou2-83/+34
PR optimization/10876 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add new 'O' constraint for constant 4096. (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise. * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern. Do not transform into MINUS insn for constant 4096. (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative for constant 4096 as third operand. (addsi3 expander): Remove. (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add new alternative for constant 4096 as third operand. (subdi3 expander): Do not transform into PLUS insn for constant 4096. (*subdi3_sp64 insn): Add new alternative for constant 4096 as third operand. (subsi3 expander): Remove. (*subsi3 insn): Rename into 'subsi3'. Add new alternative for constant 4096 as third operand. * doc/md.texi (Machine Constraints): Document new 'O' constraint for the SPARC port. From-SVN: r67426
2003-06-03t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.Chris Demetriou1-0/+1
2003-06-03 Chris Demetriou <cgd@broadcom.com> * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define. From-SVN: r67424
2003-06-04uwin.h: Remove SUBTARGET_PROLOGUE.Andreas Jaeger5-14/+3
* config/i386/uwin.h: Remove SUBTARGET_PROLOGUE. * config/i386/i386.c (ix86_expand_prologue): Do not use SUBTARGET_PROLOGUE. * system.h: Poision SUBTARGET_PROLOGUE. * config/arm/arm-protos.h: Remove unused rdate_section prototype. * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP dependend code. * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP. * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed. (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM. (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL. (dbxout_block): Remove usage of DBX_OUTPUT_CATCH. (dbxout_block): Remove usage of DBX_LBRAC_FIRST. (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME. (dbxout_init): Remove test for DBX_WORKING_DIRECTORY. * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST, DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and DBX_WORKING_DIRECTORY. * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM, DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY. * config/frv/frv-protos.h: Remove unused const_section declaration. * config/vax/vax-protos.h: Likewise. * output.h: Remove CONST_SECTION_ASM_OP usage. * system.h: Poison CONST_SECTION_ASM_OP. * crtstuff.c (__do_global_dtors_aux): Remove usage of CRT_GET_RFIB_TEXT (frame_dummy): Likewise. * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise. * system.h: Poison CRT_GET_RFIB_TEXT. From-SVN: r67423
2003-06-03configure.in (inhibit_libc): Don't define when configuring with ↵J"orn Rennecke1-9/+0
--with-newlib --with-headers. * configure.in (inhibit_libc): Don't define when configuring with --with-newlib --with-headers. * configure: Regenerate. * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules. From-SVN: r67396
2003-06-03x86-64.h: Remove two target-independent comments; replace "GNU CC" with "GCC".Nathanael Nerode1-14/+5
* config/i386/x86-64.h: Remove two target-independent comments; replace "GNU CC" with "GCC". From-SVN: r67381
2003-06-03Commit patch that was approved last october. Oops.Anthony Green1-1/+1
From-SVN: r67375
2003-06-03function.c (assign_parms): Split complex arguments.Aldy Hernandez3-5/+61
2003-06-03 Aldy Hernandez <aldyh@redhat.com> * function.c (assign_parms): Split complex arguments. * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document. * expr.h (SPLIT_COMPLEX_ARGS): Define. (split_complex_types): Protoize. (split_complex_values): Protoize. * calls.c (expand_call): Split complex arguments on architectures that require it. (split_complex_values): New. (split_complex_types): New. * config/rs6000/rs6000.c (rs6000_libcall_value): New. (rs6000_function_value): Handle complex values on AIX. (rs6000_complex_function_value): New. * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize. * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function. (SPLIT_COMPLEX_ARGS): New. From-SVN: r67367
2003-06-03configure.in (HAVE_LD_PIE): Check for ld -pie.Jakub Jelinek32-82/+93
* configure.in (HAVE_LD_PIE): Check for ld -pie. * config.in: Rebuilt. * configure: Rebuilt. * toplev.c (flag_pie, flag_shlib): New variables. (f_options): Add -fpie and -fPIE. (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE. Set flag_shlib if flag_pic and not -fpie/-fPIE. * flags.h (flag_pic, flag_shlib): Add. * varasm.c (default_binds_local_p): Use flag_shlib instead of flag_pic. * gcc.c (LINK_PIE_SPEC): Define. (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC. (option_map): Add --pie -> -pie mapping. * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic and -fPIE the same way as -fPIC. * config/openbsd.h (ASM_SPEC): Likewise. * config/frv/frv.h (ASM_SPEC): Likewise. * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise. * config/arm/semi.h (ASM_SPEC): Likewise. * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise. * config/i386/beos-elf.h (CC1_SPEC): Likewise. * config/i386/freebsd-aout.h (ASM_SPEC): Likewise. * config/m68k/linux.h (CPP_SPEC): Likewise. * config/m68k/netbsd.h (ASM_SPEC): Likewise. * config/m68k/openbsd.h (ASM_SPEC): Likewise. * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise. * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise. * config/pa/pa-linux.h (CPP_SPEC): Likewise. * config/netbsd-aout.h (ASM_SPEC): Likewise. * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise. * config/rs6000/vxworks.h (CPP_SPEC): Likewise. * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise. * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise. * config/sparc/sparc.h (ASM_SPEC): Likewise. * config/sparc/sp64-elf.h (ASM_SPEC): Likewise. * config/sparc/sysv4.h (ASM_SPEC): Likewise. * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise. * config/sparc/openbsd64.h (ASM_SPEC): Likewise. * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise. * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie. Simplify. * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * doc/invoke.texi: Document -pie, -fpie and -fPIE options. From-SVN: r67359
2003-06-03builtins.c (expand_builtin_memcpy): Remove endp argument and endp != 0 handling.Jakub Jelinek1-1/+1
* builtins.c (expand_builtin_memcpy): Remove endp argument and endp != 0 handling. Pass 0 to store_by_pieces. (expand_builtin_mempcpy): Add endp argument. Don't call expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces directly. If ignoring result, only do expand_call. (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy otherwise. (expand_builtin_strncpy, expand_builtin_memset): Adjust store_by_pices callers. (expand_builtin): Adjust expand_builtin_memcpy and expand_builtin_mempcpy callers. * expr.c (can_move_by_pieces): New function. (move_by_pieces): Add endp argument, return to resp. memory at end or one byte earlier depending on endp. (store_by_pieces): Likewise. (emit_block_move): Adjust call to move_by_pieces. (emit_push_insn): Adjust move_by_pieces caller. * expr.h (can_move_by_pieces): New prototype. (store_by_pieces): Adjust prototypes. * rtl.h (move_by_pieces): Adjust prototype. * config/mips/mips.c (expand_block_move): Adjust move_by_pieces caller. * gcc.c-torture/execute/builtins/string-4.c (main_test): Remove mempcpy test with post-increments. * gcc.c-torture/execute/string-opt-3.c: New test. * gcc.dg/string-opt-1.c: New test. From-SVN: r67358
2003-06-02Revert accidental change to mips_output_move.Richard Sandiford1-2/+2
From-SVN: r67346
2003-06-02mips.c: Don't include output.h twice.Kaveh R. Ghazi3-3/+0
* mips.c: Don't include output.h twice. * stormy16.c: Likewise. * xtensa.c: Likewise. * output.h: Protect against multiple inclusion. From-SVN: r67330
2003-06-02sh.h (OLD_ARG_MODE): New macro.J"orn Rennecke1-17/+29
* sh.h (OLD_ARG_MODE): New macro. (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it. (FUNCTION_ARG_1): Break out of: (FUNCTION_ARG). Use OLD_ARG_MODE. From-SVN: r67329
2003-06-02arm.c (arm_use_dfa_pipeline_interface): Declare.Ben Elliston3-116/+160
2003-06-02 Ben Elliston <bje@wasabisystems.com> * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare. (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already defined. (arm_use_dfa_pipeline_interface): Implement. * config/arm/arm.md (arm): New automaton. (write_buf): Remove function units; new cpu unit. (write_blockage): Remove function units; new cpu unit. (core): Remove function units; new cpu unit. (r_mem_f_wbuf): New instruction reservation. (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise. (store1_ldsched, store2, store3, store4): Likewise. (load_ldsched, load_ldsched_xscale, load_or_store): Likewise. (mult, mult_ldsched, mult_ldsched_strongarm): Likewise. (multi_cycle, single_cycle): Likewise. * config/arm/fpa.md (armfp): New automaton. (fpa): Remove function units; new cpu unit. (fpa_mem): Remove function unit; new cpu unit. (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations. (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise. From-SVN: r67322
2003-06-01* config/d30v/d30v.h: Remove text copied from the manual.Andreas Jaeger1-2066/+0
From-SVN: r67311
2003-06-01* config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.Andreas Schwab1-28/+0
From-SVN: r67304
2003-06-01re PR target/11044 ([x86] out of range loop instructions for FP code on K6)Eric Botcazou1-0/+2
PR target/11044 * config/i386/i386.md (length attribute): Set length to 4 for instructions of type "fcmp". From-SVN: r67300
2003-06-01rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require TARGET_SPE for SPE_VECTOR_MODE.Aldy Hernandez1-1/+1
2003-06-01 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require TARGET_SPE for SPE_VECTOR_MODE. From-SVN: r67289
2003-05-31function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE usage.Andreas Jaeger1-20/+1
* function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE usage. * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE. * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE. * system.h: Poison ALLOCATE_TRAMPOLINE. * doc/tm.texi (Misc): Remove HANDLE_PRAGMA. * system.h: Poison HANDLE_PRAGMA. In f/ * lex.c (ffelex_hash_): Remove HANDLE_PRAGMA and HANDLE_GENERIC_PRAGMA dependend code, remove #if 0 code. (pragma_getc): Removed. (pragma_ungetc): Removed. From-SVN: r67274
2003-05-30crti.asm: Use .h8300hn and .h8300sn for normal mode.Dhananjay Deshpande6-4/+34
* config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal mode. * config/h8300/crtn.asm: Likewise. * config/h8300/lib1funcs.asm: Likewise. * config/h8300/h8300.c (asm_file_start): Likewise. * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and h8300snelf emulations for normal mode. * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn emulations for normal mode. From-SVN: r67250
2003-05-30h8300.c (h8300_tiny_constant_address_p): Return true if TARGET_NORMAL_MODE.Dhananjay Deshpande1-2/+3
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Return true if TARGET_NORMAL_MODE. From-SVN: r67248
2003-05-30mips.c (extern_list): Add GTY marker.Eric Christopher1-7/+9
2003-05-30 Eric Christopher <echristo@redhat.com> * config/mips/mips.c (extern_list): Add GTY marker. (extern_head): Separate out definition. Add marker. (mips_output_external): Use ggc_alloc for extern_list allocation. (mips_output_external_libcall): Ditto. From-SVN: r67245