summaryrefslogtreecommitdiffstats
path: root/gcc/config.gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* Add -march=/-mtune=corei7-avx.hjl2010-12-061-7/+11
| | | | | | | | | | | | | | | | 2010-12-06 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Allow corei7-avx for --with-arch/--with-cpu. * config/i386/driver-i386.c (host_detect_local_cpu): Support Sandy Bridge. * config/i386/i386.c (override_options): Handle "corei7-avx". * doc/invoke.texi: Document corei7-avx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167495 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo indanglin2010-12-061-2/+2
| | | | | | | | last change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167482 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignoredanglin2010-12-061-0/+8
| | | | | | | | --with-dwarf2 option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167479 138bc75d-0d04-0410-961f-82ee72b054a4
* Allow corei7 for --with-arch=/--with-cpu=.hjl2010-12-021-7/+15
| | | | | | | | | 2010-12-02 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Allow corei7 for --with-arch=/--with-cpu=. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167397 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (sparc*-*-*): Reorder.ebotcazou2010-11-231-27/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167071 138bc75d-0d04-0410-961f-82ee72b054a4
* s390: -mfused-madd cleanuprth2010-11-161-0/+1
| | | | | | | | | | | * config.gcc [s390*-*] (extra_options): Add fused-madd.opt. * config/s390/s390.opt (mfused-madd): Remove. * config/s390/s390.c (s390_rtx_costs): Handle FMA. (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA. (fms<DSF>4): Rename from *fmsub<DSF>; use FMA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166838 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: -mfused-madd cleanuprth2010-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt. * config/rs6000/rs6000.opt (mfused-madd): Remove. * config/rs6000/altivec.md (altivec_vmaddfp): Remove. (*altivec_vmaddfp_1): Remove. (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA. (altivec_mulv4sf3): Expand to FMA directly. (*altivec_vnmsubfp): Rename from altivec_vnmsubfp. (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove. * config/rs6000/paired.md (paired_madds0): Use FMA. (paired_madds1): Likewise. (*paired_madd): Rename from paired_madd; use FMA. (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not consider TARGET_FUSED_MADD wrt rs6000_recip_control. (bdesc_3arg): Update CODE_FOR_* for pattern renames. (rs6000_emit_madd): Use fma_optab. (rs6000_emit_msub): Use fms_optab. (rs6000_emit_nmsub): Expand the FMA pattern directly. * config/rs6000/rs6000.md (FMA_F): New mode iterator. (*fmasf4_fpr): Rename from fmasf4_fpr. (*nfmasf4_fpr): Rename from *fnmasf4_fpr. (*nfmssf4_fpr): Rename from *fnmssf4_fpr. (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove. (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove. (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove. (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove. (*fmadf4_fpr): Rename from fmadf4_fpr. (*nfmadf4_fpr): Rename from *fnmadf4_fpr. (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr. (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove. (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove. (fmasf4, fmadf4): Macroize into... (fma<FMA_F>4): ... here. (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New. (nfma<FMA_F>4, nfms<FMA_F>4): New. * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on TARGET_FUSED_MADD. * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove. (*vsx_fmadd<mode>4_1): Remove. (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove. (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove. (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove. (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2. (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2. (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4. (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4. testsuite/ * gcc.target/powerpc/ppc-fma-2.c: Use -ffp-contract=off. * gcc.target/powerpc/ppc-fma-4.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166837 138bc75d-0d04-0410-961f-82ee72b054a4
* ia64: -mfused-madd cleanuprth2010-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc [ia64-*] (extra_options): Add fused-madd.opt. * config/ia64/ia64.opt: Remove mfused-madd. * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA. * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD. * config/ia64/vms64.h (TARGET_DEFAULT): Likewise. * config/ia64/ia64.h (TARGET_DEFAULT): Likewise. * config/ia64/hpux.h (TARGET_DEFAULT): Likewise. * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA. (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove. (fmav2sf4): Rename from fpma; use FMA code. (fmsv2sf4): Rename from fpms; use FMA code. (fnmav2sf4): Rename from *fpnma; use FMA code. * config/ia64/ia64.md (MODE_SDF): New iterator. (suffix): New mode attribute. (*maddsf4, *msubsf4, *nmaddsf4): Remove. (fmssf4): Rename from *fmssf4. (fnmasf4): Rename from *nfmasf4. (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove. (*nmadddf4, *nmadddf4_truncsf): Remove. (fmsdf4): Rename from *fmsdf4. (fnmadf4): Rename from *nfmadf4. (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New. (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove. (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove. (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove. (fmsxf4): Rename from *fmsxf4. (fnmaxf4): Rename from *nfmaxf4. (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New. (*fnmaxf_trunc_<MODE_SDF>): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166780 138bc75d-0d04-0410-961f-82ee72b054a4
* xtensa: Convert to fma.rth2010-11-121-0/+3
| | | | | | | | | | | | * config.gcc [xtensa] (extra_options): Add fused-madd.opt. * config/xtensa/xtensa.opt (mfused-madd): Remove. * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use * fma. (fnmasf4): Rename from mulsubsf3; use fma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166666 138bc75d-0d04-0410-961f-82ee72b054a4
* i386: Convert from -mfused-madd to -ffp-contract.rth2010-11-121-0/+2
| | | | | | | | | | | | * config/fused-madd.opt: New file. * config.gcc [i386-*, x86_64-*] (extra_options): Use it. * config/i386/i386.c (ix86_extra_costs): Handle FMA. (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. * config/i386/i386.opt (mfused-madd): Remove. * config/i386/sse.md (split_fma): Remove. (split_fms, split_fnma, split_fnms): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166642 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for TBM.spop2010-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com> gcc/ * config.gcc (i[34567]86-*-*): Include tbmintrin.h. (x86_64-*-*): Likewise. * config/i386/cpuid.h: Define TBM bit. * config/i386/driver-i386.c (host_detect_local_cpu): Define and set has_tbm. * config/i386/i386-c.c (ix86_target_macros_internal): Check isa_flag for TBM. * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New. (OPTION_MASK_ISA_TBM_UNSET): New. (ix86_handle_option): Handle -mtbm. (isa_opts): Add -mtbm. (enum pta_flags): Add PTA_TBM. (ix86_option_override_internal): Add TBM support. (ix86_valid_target_attribute_inner_p): Handle -mtbm. (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic. (IX86_BUILTIN_BEXTRI64): Likewise. (bdesc_args): Add TBM intrinsics. (ix86_expand_builtin): Add TBM specific case. * config/i386/i386.h (TARGET_TBM): New for TBM. * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM. (tbm_bextri_<mode>): Likewise. (*tbm_blcfill_<mode>): Likewise. (*tbm_blci_<mode>): Likewise. (*tbm_blcic_<mode>): Likewise. (*tbm_blcmsk_<mode>): Likewise. (*tbm_blcs_<mode>): Likewise. (*tbm_blsfill_<mode>): Likewise. (*tbm_blsic_<mode>): Likewise. (*tbm_t1mskc_<mode>): Likewise. (*tbm_tzmsk_<mode>): Likewise. * config/i386/i386.opt: Add -mtbm. * config/i386/tbmintrin.h (__bextri_u32): New. (__blcfill_u32): Likewise. (__blci_u32): Likewise. (__blcic_u32): Likewise. (__blcmsk_u32): Likewise. (__blcs_u32): Likewise. (__blsfill_u32): Likewise. (__blsic_u32): Likewise. (__t1mskc_u32): Likewise. (__tzmsk_u32): Likewise. (__bextri_u64): Likewise. (__blcfill_u64): Likewise. (__blci_u64): Likewise. (__blcic_u64): Likewise. (__blcmsk_u64): Likewise. (__blcs_u64): Likewise. (__blsfill_u64): Likewise. (__blsic_u64): Likewise. (__t1mskc_u64): Likewise. (__tzmsk_u64): Likewise. * config/i386/x86intrin.h: Add TBM check and tbmintrin.h. * doc/invoke.texi: Document -mtbm. * doc/extend.texi: Document TBM built-in functions. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mtbm. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/funcspec-5.c: Add tbm and no-tbm targets. * gcc.target/i386/funcspec-6.c: Likewise. * gcc.target/i386/sse-12.c: Add -mtbm. * gcc.target/i386/sse-13.c: Add -mtbm and test immediate operand intrinsics. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. * gcc.target/i386/tbm-1.c: New file. * gcc.target/i386/tbm-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166562 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for BMI.spop2010-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com> gcc/ * config.gcc (i[34567]86-*-*): Include bmiintrin.h. (x86_64-*-*): Likewise. * config/i386/cpuid.h: Define BMI bit. * config/i386/driver-i386.c (host_detect_local_cpu): Define and set has_bmi. * config/i386/i386-c.c (ix86_target_macros_internal): Check isa_flag for BMI. * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New. (OPTION_MASK_ISA_BMI_UNSET): New. (ix86_handle_option): Handle -mbmi. (isa_opts): Add -mbmi. (enum pta_flags): Add PTA_BMI. (ix86_option_override_internal): Add BMI support. (ix86_valid_target_attribute_inner_p): Handle -mbmi. (IX86_BUILTIN_BEXTR32): New for BMI intrinsic. (IX86_BUILTIN_BEXTR64): Likewise. (IX86_BUILTIN_CTZS): Likewise. (bdesc_args): Add BMI intrinsics. (ix86_expand_args_builtin): Add BMI specific cases. * config/i386/i386.h (TARGET_BMI): New for BMI. (CTZ_DEFINED_VALUE_AT_ZERO): Likewise. (CLZ_DEFINED_VALUE_AT_ZERO): Likewise. * config/i386/i386.md (UNSPEC_BEXTR): New for BMI. (UNSPEC_TZCNT): Likewise. (ctz<mode>2): Add tzcnt, and handle 16 bit operands. (bmi_andn_<mode>): New for BMI. (bmi_bextr_<mode>): Likewise. (bmi_blsi_<mode>): Likewise. (bmi_blsmsk_<mode>): Likewise. (bmi_blsr_<mode>): Likewise. * config/i386/i386.opt: Add -mbmi. * config/i386/x86intrin.h: Add BMI check and bmiintrin.h. * config/i386/bmiintrin.h (__lzcnt_u16): New. (__tzcnt_u16): Likewise. (__andn_u32): Likewise. (__bextr_u32): Likewise. (__blsi_u32): Likewise. (__blsmsk_u32): Likewise. (__blsr_u32): Likewise. (__lzcnt_u32): Likewise. (__tzcnt_u32): Likewise. (__andn_u64): Likewise. (__bextr_u64): Likewise. (__blsi_u64): Likewise. (__blsmsk_u64): Likewise. (__blsr_u64): Likewise. (__lzcnt_u64): Likewise. (__tzcnt_u64): Likewise. * doc/invoke.texi: Document -mbmi and -mno-bmi. * doc/extend.texi: Document BMI built-in functions. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mbmi. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/funcspec-5.c: Add bmi and no-bmi targets. * gcc.target/i386/funcspec-6.c: Likewise. * gcc.target/i386/sse-12.c: Add -mbmi. * gcc.target/i386/bmi-1.c: New file. * gcc.target/i386/bmi-2.c: Likewise. * gcc.target/i386/bmi-3.c: Likewise. * gcc.target/i386/bmi-4.c: Likewise. * gcc.target/i386/bmi-5.c: Likewise. * gcc.target/i386/bmi-6.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166561 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/44755amylaar2010-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file. * config/t-pnt16-warn: New file. * config/picochip/picochip.c (picochip_emit_stack_allocate): Use add_reg_note. (picochip_emit_save_register): Likewise. (picochip_emit_restore_register): Remove variable insn. (picochip_legitimize_address): Don't use C++ style comments. (picochip_legitimize_reload_address): Likewise. (reorder_var_tracking_notes): Remove variable vliw_start. (picochip_reorg): Cast first arguemnt to emit_note_after to enum insn_note. (picochip_expand_builtin_2op): Use EXPAND_NORMAL. (picochip_expand_builtin_3op): Likewise. (picochip_expand_builtin_2opvoid): Likewise. (picochip_expand_array_get, picochip_expand_array_put): Likewise. (picochip_expand_array_testport): Likewise. (picochip_init_builtins): Remove unused variables. * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO to unsigned long, and output it as such. (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED. * config/picochip/picochip.md (movhicc): Remove nonsense statement. (schedType): Cast result of picochip_schedule_type to enum attr_schedType. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166499 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Support --with-fpmath=avx for x86.uros2010-11-051-0/+3
| | | | | | | | | * config/i386/avxmath.h: New. * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166369 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h forkkojima2010-11-031-0/+3
| | | | | | | | newlib targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166279 138bc75d-0d04-0410-961f-82ee72b054a4
* ChangeLog:davek2010-11-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-03 Ian Lance Taylor <iant@google.com> Dave Korn <dave.korn.cygwin@gmail.com> PR lto/46273 * configure.ac: Remove libelf tests. Build lto-plugin on ELF always and on other supported platforms whenever LTO is enabled. * configure: Rebuild. gcc/ChangeLog: 2010-11-03 Ian Lance Taylor <iant@google.com> PR lto/46273 * gcc/config.gcc: Don't set lto_binary_reader. * doc/install.texi (Prerequisites): Remove libelf paragraphs. (Configuration): Mention --disable-lto. Remove --with-libelf paragraph. lto-plugin/ChangeLog: 2010-11-03 Dave Korn <dave.korn.cygwin@gmail.com> PR lto/46273 * lto-plugin.h: Delete. * lto-plugin-elf.c: Likewise. * lto-plugin-coff.c: Likewise. * configure.ac: Don't use libelf, don't source config.gcc. (LIBELFLIBS): Delete. (LIBELFINC): Delete. (LTO_FORMAT): Delete. (SYM_STYLE): Add AC_DEFINE var, set based on $target. (config.h): Add AC_CONFIG_HEADERS directive. * Makefile.am (LIBELFLIBS): Delete. (LIBELFINC): Delete. (LTO_FORMAT): Delete. (DEFS): Import. (AM_CPPFLAGS): Use it. Don't use LIBELFINC. (liblto_plugin_la_SOURCES): Don't use LTO_FORMAT, don't include any object-format-specific source file in the link. (liblto_plugin_la_LIBADD): Don't use LIBELFLIBS. * config.h.in: Generate. * configure: Regenerate. * Makefile.in: Likewise. * lto-plugin.c (O_BINARY): Definition moved here from lto-plugin.h. (LTO_SEGMENT_NAME): New definition. (LTO_SECTION_PREFIX): Definition moved here from lto-plugin.h. (LTO_SECTION_PREFIX_LEN): New definition. (struct sym_aux): Struct definition moved here from lto-plugin.h. (struct plugin_symtab): Likewise. (struct plugin_objfile): Likewise. (struct plugin_objfile): New struct def. (enum symbol_style): New enum type. (add_symbols): Make static. (claimed_files): Likewise. (num_claimed_files): Likewise. (sym_style): New global. (check): Make static. (parse_table_entry): Likewise. Respect sym_style when extracting symbol from symtab entry. (translate): Make static. (resolve_conflicts): Likewise. (process_symtab): New function, per-section callback version of old object-format-specific handling from deleted lto-plugin-elf.c. (claim_file_handler): Convert ELF-specific version from deleted lto-plugin-elf.c to simple_object interface and move here. (process_options): Allow new '-sym-style=' option. (onload): Don't call deleted onload_format_checks hook. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166233 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/46273ian2010-11-021-0/+8
| | | | | | | * config.gcc: Revert last patch: set lto_binary_reader. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166207 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Remove elf_getshdrstrndx test. Don't substituteian2010-11-021-8/+0
| | | | | | | | | | | | | | | LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and LIBELFINC. Remove HAVE_libelf. * config.gcc: Don't set lto_binary_reader. * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables. (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables. (LIBS): Remove $(LIBELFLIBS). (INCLUDES): Remove $(LIBELFINC). * configure: Rebuild. * config.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166189 138bc75d-0d04-0410-961f-82ee72b054a4
* update darwin x86 output.iains2010-11-021-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: Merge from FSF "apple/trunk" branch. * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ... * config/darwin.opt: .. to here. (matt-stubs): New option. * config/i386/darwin.opt: Delete. * config/i386/i386.h (MACHOPIC_ATT_STUB): New. (MACHO_DYNAMIC_NO_PIC_P): New. (MACHOPIC_INDIRECT): New. (MACHOPIC_PURE): New. * config/i386/darwin.h (DARWIN_X86) Define to 1. (MACHOPIC_ATT_STUB): New. (CC1_SPEC): Do not remove mdynamic-no-pic. Move HOT_TEXT_SECTION_NAME: move to config/darwin.h UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise. (FUNCTION_PROFILER): Correct over-length line. (SUBTARGET_OVERRIDE_OPTIONS): New. (MACHOPIC_NL_SYMBOL_PTR_SECTION): New. * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT. (legitimate_constant_p): Handle mdynamic-no-pic. (ix86_legitimate_address_p): Likewise. (ix86_legitimize_address): Likewise. (ix86_expand_move): Likewise. (machopic_output_stub): Update for ATT-style stubs and mdynamic-no-pic. * config/darwin-protos.h (machopic_symbol_defined_p): New. * config/rs6000/darwin.h (DARWIN_PPC): Define to 1. TARGET_DYNAMIC_NO_PIC: Remove. Move HOT_TEXT_SECTION_NAME: move to config/darwin.h UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise. * config/rs6000/rs6000.c (darwin_rs6000_override_options): Remove handling of mdynamic-no-pic. * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low): Define if required. (machopic_symbol_defined_p): Do not try to use current_function_decl when generating _get_pc thunks within stubs. (machopic_indirect_data_reference): Rework for direct conditionals rather than #ifdefs, add x86 mdynamic-no-pic (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a defined value. (darwin_override_options): Handle mdynamic-no-pic here. * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New. (machopic_lazy_symbol_ptr3_section): New. (machopic_picsymbol_stub2_section): New. (machopic_picsymbol_stub3_section): New. * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0. (MACHOPIC_NL_SYMBOL_PTR_SECTION): New. (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Moved common definition from x86 and rs6000. (MACHO_DYNAMIC_NO_PIC_P): Override value. (MACHOPIC_INDIRECT): Likewise. (MACHOPIC_PURE): Likewise. * config.gcc (x86-darwin-*): Remove darwin.opt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166184 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.jsm282010-11-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove. (CC1_SPEC): Don't handle -target. * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument options. * config/darwin.opt (Zallowable_client, Zbundle_loader, Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename, Zimage_base, Zinit, Zinstall_name, Zmultiply_defined, Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr, Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list, Zweak_reference_mismatches, client_name, compatibility_version, current_version, dylinker_install_name, pagezero_size, read_only_relocs, seg1addr, segs_read_only_addr, segs_read_write_addr, sub_library, sub_umbrella): New. * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove. * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove. * config/freebsd.opt: New. * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove. * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove. * config/rpath.opt: New. * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt. (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*): Use rpath.opt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166156 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-10-141-2/+7
| | | | | | | | | | | | | | | | | | | | * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc. (arm*-*-uclinux*eabi) <tm_file>: Likewise. (arm*-*-eabi*) <tm_file>: Likewise. (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc. (frv-*-*linux*) <tm_file>: Likewise. * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas and associated helper macros. * config/frv/frv-abi.h: Delete. libgcc/ * config/arm/bpabi.h: New file. * config/frv/frv-abi.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165463 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>corsepiu2010-10-091-2/+2
| | | | | | | | | * config.gcc (bfin*-rtems*): Add newlib-stdint.h. * config.gcc (lm32*-rtems*): Add newlib-stdint.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165216 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't adddavek2010-10-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cygwin2.o. (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise. (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o. * config/i386/t-cygwin (cygwin1.o): Delete build rule. (cygwin2.o): Likewise. * config/i386/cygwin1.c: Delete file. * config/i386/cygwin2.c: Likewise. * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and make all {%!mno-cygwin} ones unconditional. (STARTFILE_SPEC): Likewise. (REAL_LIBGCC_SPEC): Likewise. (LIB_SPEC): Likewise. (CXX_WRAP_SPEC): Likewise. (LINK_SPEC): Likewise. (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition. (CYGWIN_MINGW_SUBDIR_LEN): Likewise. (cygwin_gplusplus_include_dir): Delete now-unused array. (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it. (cygwin_gplusplus_tool_include_dir): Delete now-unused array. (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it. (cygwin_gplusplus_backward_include_dir): Delete now-unused array. (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it. (cygwin_local_include_dir): Delete now-unused array. (LOCAL_INCLUDE_DIR): Don't redefine to point to it. (cygwin_cross_include_dir): Delete now-unused array. (CROSS_INCLUDE_DIR): Don't redefine to point to it. (cygwin_tool_include_dir): Delete now-unused array. (TOOL_INCLUDE_DIR): Don't redefine to point to it. (cygwin_standard_include_dir): Delete now-unused array. (STANDARD_INCLUDE_DIR): Don't redefine to point to it. (GEN_CVT_ARRAY): Delete now-unused macro definition. (cvt_to_mingw): Delete now-unused array. (mingw_scan): Remove prototype of deleted function. (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro. * config/i386/cygming.opt (mcygwin): Delete target-specific option. * doc/invoke.texi (-mcygwin): Don't document removed option. (-mno-cygwin): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165119 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>krebbel2010-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Christian Borntraeger <Christian.Borntraeger@de.ibm.com> * gcc/config/s390/s390.c (z196_cost): New. (s390_handle_arch_option): Add -march=z196. (s390_option_override): Use the new cost function and use the z10 defaults also for z196. (legitimate_reload_constant_p): Adjust comment. (legitimate_reload_fp_constant_p): New function. (s390_preferred_reload_class): Distingiush between FP and Int constants. (preferred_la_operand_p): Avoid la with index on z196. (s390_adjust_priority): Trigger also for z196. (s390_issue_rate): Issue rate for z196 is 3. (s390_z10_fix_long_loop_prediction): Rename to ... (s390_fix_long_loop_prediction): ... this. (s390_reorg): Apply the z10 adjustments also for z196. (s390_loop_unroll_adjust): Do this also for z196. * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196. (enum processor_flags): Add PF_Z196. (TARGET_AVOID_CMP_AND_BRANCH): New macro. (TARGET_CPU_Z196, TARGET_Z196): New macros. * gcc/config.gcc: Enable z196 for --with-arch. * gcc/config/s390/2817.md: New file. * gcc/config/s390/2084.md: New type for multiply and add. * gcc/config/s390/2097.md: Likewise. * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN) (UNSPECV_ATOMIC_OP): New constants. (fmadddf, fmaddsf): New values for type attribute. (z196prop): New insn attribute. (cpu, cpu_facility): Add z196. (ATOMIC_Z196): New code iterator. (noxa): New code attribute. (gk): New mode attribute. (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>): Support load zero for fp constants. (fixuns_truncdddi2, fixuns_trunctddi2) (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern for z196. (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2) (popcounthi2, popcountqi2): New expander. (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2) (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>) (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New insn definition. (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly) (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc) (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3) (*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc) (*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2) (*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly) (*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc) (*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch) (*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3) (*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3) (*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3) (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and): Support new z196 instructions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164985 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix moxie-rtems configurationgreen2010-10-011-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164877 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sparc.opt (mimpure-text): Move ...ro2010-09-301-0/+3
| | | | | | | | | | | | | | | * config/sol2.opt: ... here. Correct description. * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options. * doc/invoke.texi (Option Summary, SPARC Options): Move -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ... (Option Summary, Solaris 2 Options): ... here. (Submodel Options, Solaris 2 Options): New menu entry. (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ... (Solaris 2 Options): ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164757 138bc75d-0d04-0410-961f-82ee72b054a4
* Check in support for Xilinx MicroBlaze processor. eager2010-09-301-0/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164756 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add --enable-indirect-function option.nathan2010-09-291-0/+15
| | | | | | | | | | | | | | | | | * config.gcc: Add default_gnu_indirect_function. * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ... (HAVE_GNU_INDIRECT_FUNCTION): ... this. * varasm.c (do_assemble_alias): Adjust for macto name change. * configure: Rebuilt. * doc/install.texi: Document --enable-indirect-function. testsuite/ * lib/target-supports-dg.exp (dg-require-ifunc): Remove extraneous alias checking. * lib/target-supports.exp (check_ifunc_available): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164725 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-09 Tristan Gingold <gingold@adacore.com>gingold2010-09-241-2/+2
| | | | | | | | | | | | | | | | | PR target/44242 * config/vms/vms-crt0-64.c: Removed. * config/vms/vms-crt0.c: Removed. * config/vms/vms-psxcrt0-64.c: Removed. * config/vms/vms-psxcrt0.c: Removed. * config/vms/vms-ucrt0.c: New file. * config/vms/t-vms64: Removed. * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC. Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o * config.gcc (alpha-dec-vms): Use t-vms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164587 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-18 Kai Tietz <kai.tietz@onevision.com>ktietz2010-09-181-1/+1
| | | | | | | | * config.gcc (*-w64-mingw*): Correct typo about t-dfprules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164393 138bc75d-0d04-0410-961f-82ee72b054a4
* ChangeLog configktietz2010-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-09-10 Jonathan Yong <jon_y@users.sourceforge.net> * dfp.m4: Enable decimal float for i?86 cygwin and mingw, and for x86_64 mingw. ChangeLog libgcc 2010-09-10 Kai Tietz <kai.tietz@onevision.com> * configure: Regenerated. ChangeLog libdecnumber 2010-09-10 Kai Tietz <kai.tietz@onevision.com> * configure: Regenerated. ChangeLog gcc 2010-09-10 Kai Tietz <kai.tietz@onevision.com> * configure: Regenerated. * config.gcc: Add for x86_64 and i?86 mingw t-dfprule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164167 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't append t-android for Android targets.hjl2010-09-071-1/+0
| | | | | | | | | | | 2010-09-07 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Don't append t-android for Android targets. * config/t-android: Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163969 138bc75d-0d04-0410-961f-82ee72b054a4
* Use config/t-android for Android targets.hjl2010-09-071-0/+1
| | | | | | | | | | | 2010-09-07 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Append t-android for Android targets. * config/t-android: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163962 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/options.texi (SeparateAlias): Document.jsm282010-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * opt-functions.awk (switch_flags): Handle SeparateAlias. * opth-gen.awk: Generate enumeration names for options marked SeparateAlias, but not for those marked Ignore. * opts-common.c (generate_canonical_option): Don't output separate argument for options marked CL_SEPARATE_ALIAS. (decode_cmdline_option): Handle CL_SEPARATE_ALIAS. * opts.h (CL_SEPARATE_ALIAS): New. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET, CL_COMMON): Adjust definitions. * config/i386/darwin.opt, config/mips/sde.opt: New. * common.opt (fdump-final-insns): New. * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add i386/darwin.opt. (mips*-sde-elf*): Add mips/sde.opt. * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle -mno-data-in-code and -mcode-xonly here. * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'. * gcc.c (option_map): Add "j" to --dump entry. (translate_options): Don't translate -d to -foutput-class-dir= here. java: * lang.opt (d): New. testsuite: * gcc.dg/opts-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163844 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:uros2010-09-011-0/+3
| | | | | | | | | | | | | | | | | | * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file. * libgcc-std.ver (GCC_4.6.0): Define version. libgcc/ChangeLog: * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add i386/t-freebsd to tmake_file. * config/i386/t-freebsd: New file. * config/i386/libgcc-bsd.ver: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163718 138bc75d-0d04-0410-961f-82ee72b054a4
* PR boehm-gc/34544danglin2010-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only add -lpthread when -mt or -pthread is specified. * config/pa/pa-hpux11.h (LIB_SPEC): likewise. (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, $(T)libgcc_stub.a): Add methods. * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, pthread_mutex_unlock): New stubs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163461 138bc75d-0d04-0410-961f-82ee72b054a4
* Turn on -fomit-frame-pointer by default for 32bit Linux/x86.hjl2010-08-121-0/+6
| | | | | | | | | | | | | | | | | | | 2010-08-12 H.J. Lu <hongjiu.lu@intel.com> Uros Bizjak <ubizjak@gmail.com> * config.gcc: Handle --enable-frame-pointer. * configure.ac: Add --enable-frame-pointer. * configure: Regenerated. * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0. (override_options): If not configured with --enable-frame-pointer, enable -fomit-frame-pointer (but not for TARGET_MACHO or when optimizing for size), -fasynchronous-unwind-tables and -maccumulate-outgoing-args by default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163196 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (-G): Don't define option here.jsm282010-07-301-0/+11
| | | | | | | | | | | | | | | | | | | * config/g.opt: New. * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips, rs6000/powerpc and score targets. * opts.c (common_handle_option): Don't handle -G here. * config/alpha/alpha.c (alpha_handle_option): Handle -G. * config/frv/frv.c (frv_handle_option): Handle -G. * config/ia64/ia64.c (ia64_handle_option): Handle -G. * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New. * config/m32r/m32r.c (m32r_handle_option): Handle -G. * config/mips/mips.c (mips_handle_option): Handle -G. * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G. * config/score/score.c (score_handle_option): Handle -G. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162721 138bc75d-0d04-0410-961f-82ee72b054a4
* Add moxie-rtems configuration.green2010-07-301-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162706 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Support all v850 targets.nickc2010-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure: Regenerate. * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31, save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31, save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31, save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31, save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31, save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31, save_r31, return_r31, save_interrupt, return_interrupt, save_all_interrupt, return_all_interrupt, L_save_r2_r31, L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt, L_save_##START##_r31c, L_callt_save_r31c: Updated as per the new ABI requirements. save_r6_r9, L_callt_save_r6_r9: Remove. * config/v850/predicates.md (even_reg_operand, disp23_operand, const_float_1_operand const_float_0_operand): New Predicates. (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue): Update as per the ABI requirements. * config/v850/t-v850: Update multilibs for new target variants. (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove. * config/v850/t-v850e: Likewise. * config/v850/v850.c (v850_issue_rate): New. (v850_strict_argument_naming): New. (function_arg): Modify to generate a different ABI. (print_operand): Update case 'z' to support float modes. (output_move_single): Modify to generate appropriate and better assembly. (v850_float_z_comparison_operator, v850_select_cc_mode, v850_float_nz_comparison_operator, v850_gen_float_compare, v850_gen_compare): New functions to support comparison of float values. (ep_memory_offset): Add support for V850E2 targets. (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update. (INTERRUPT_REGPARM_NUM): Remove. (compute_register_save_size): Add extra case to save/restore long call. (use_prolog_function): New function to support prologue. (expand_prologue): Add support for V850E2 targets and modified as per the current ABI requirements. (expand_epilogue): Likewise. (construct_restore_jr): Modify based on TARGET_LONG_CALLS. (construct_save_jarl): Likewise. (construct_dispose_instruction): Update as per the current ABI requirements. (construct_prepare_instruction): Likewise. * config/v850/v850.h(TARGET_CPU_DEFAULT): Add target predefines. (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define (CPP_SPEC): Updated to support v850e2 targets. (STRICT_ALIGNMENT): Modified. (FIRST_PSEUDO_REGISTER): Updated to add even registers. (FIXED_REGISTERS): Likewise. (CALL_USED_REGISTERS): Likewise. (CONDITIONAL_REGISTER_USAGE): Updated. (HARD_REGNO_MODE_OK): Updated. (reg_class): Updated to add even registers. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (REGNO_REG_CLASS): Updated for CC registers. (REG_CLASS_FROM_LETTER): Added support for even registers. (REGNO_OK_FOR_BASE_P): Updated for CC registers. (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM, ARG_POINTER_REGNUM): Updated. (FUNCTION_ARG_ADVANCE): Define. (REG_PARM_STACK_SPACE): Update as per the current ABI requirements. (OUTGOING_REG_PARM_STACK_SPACE): Remove. (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement. (GO_IF_LEGITIMATE_ADDRESS): Updated. (SELECT_CC_MODE): Define. (REGISTER_NAMES): Updated to add psw and fcc registers. (ADDITIONAL_REGISTER_NAMES): Updated. (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets. (JUMP_TABLES_IN_TEXT_SECTION): Updated. * config/v850/v850.md (define_constants): Define new constants. (type): Update store,bit1,macc,div,fpu and single attributes. (cpu): New attribute. (cc): Add set_z attribute. (unsign23byte_load, sign23byte_load, unsign23hword_load, sign23hword_load, 23word_load, 23byte_store, 23hword_store, 23word_store): New instructions for 23-bit displacement load and store. (movqi_internal, movhi_internal): Update the attributes. (movsi, movsi_internal_v850e): Updated to support v850e2 targets. (movsi_internal_v850e, movsi_internal, movsf_internal): Update the attributes. (v850_tst1): Modified using CC_REGNUM. (tstsi): Remove. (cmpsi): Modified as define_expand from define_insn. (cmpsi_insn, cmpsf, cmpdf): New instructions. (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4, udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3, one_cmplsi2): Clobber the CC_REGNUM register. (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1, v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2, v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly. (setf_insn, set_z_insn, set_nz_insn): New instructions for v850e2v3 target. (movsicc_normal_cc, movsicc_reversed_cc): New instructions. (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2 targets. (sasf_1, sasf_2): Remove. (sasf): New instruction. (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2 targets. CC_REGNUM register is clobbered and attributes are updated. (branch_z_normal, branch_z_invert, branch_nz_normal, branch_nz_invert): New branch related instructions. (jump): Updated the attributes. (switch): Update to support new targets. CC_REGNUM register is clobbered and attributes are updated. (call_internal_short, call_internal_long, call_value_internal_short, call_value_internal_long): Updated the attributes. (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is clobbered and attributes are updated. (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2): Update to support new targets. CC_REGNUM register is clobbered. (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift instructions. (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes are updated. (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3, divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2, negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2, floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2, rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4, cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn, cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn, cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr, movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn, movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating point instructions defined for V850e2v3 target. (callt_save_interrupt, callt_return_interrupt, return_interrupt): Add support for V850E2 targets and CC_REGNUM register is clobbered. (callt_save_all_interrupt, callt_restore_all_interrupt): Add support for new targets. * config/v850/v850-modes.def: New file. * config/v850/v850.opt(mstrict-align): Remove. (mno-strict-align, mjump-tables-in-data-section, mv850e2, mv850e2v3): New command line options for V850. * config.gcc: Update the newly added files. * doc/invoke.texi: Update the newly added command line options for V850 target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162530 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-23 Kai Tietz <kai.tietz@onevision.com>ktietz2010-07-231-0/+10
| | | | | | | | | | | | | | | | | | PR target/41943 * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New. (stmp-int-hdrs): Prefix/postfix headers by include_next. * config.gcc (user_headers_inc_next_pre): New. (user_headers_inc_next_post): Likewise. (*-w64-mingw*): Use for float.h post-fixing, and for stddef.h/stdarg.h pre-fixing by include_next. * configure.ac (user_headers_inc_next_post): New. (user_headers_inc_next_pre): New. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162479 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constantsmkuvyrkov2010-07-191-2/+3
| | | | | | | | | | | | to top level. * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific definitions ... * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here. New macro. * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162315 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:ro2010-07-121-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to pentiumpro on Solaris 8 and 9/x86. * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as. Document SSE/SSE2 support. * doc/sourcebuild.texi (Effective-Target Keywords): Document sse. gcc/testsuite: * lib/target-supports.exp (check_effective_target_sse): New proc. * gcc.target/i386/sol2-check.h: New file. * gcc.target/i386/sse-check.h (ILL_INSN, ILL_INSN_LEN): Define. Include sol2-check.h. (main) Only run do_test () if sol2_check (). * gcc.target/i386/sse2-check.h: Likewise. * gcc.target/i386/sse3-check.h: Likewise. * gcc.dg/vect/tree-vect.h (check_vect) [__i386__ || __x86_64__] [__sun__ && __svr4__]: Execute SSE2 instruction. * gcc.target/i386/math-torture/math-torture.exp: Only add options with -msse to MATH_TORTURE_OPTIONS if check_effective_target_sse. * g++.dg/debug/dwarf2/const2b.C: Use dg-require-effective-target sse. * g++.dg/ext/vector14.C: Likewise. * g++.dg/other/mmintrin.C: Likewise. * gcc.dg/20020418-1.c: Likewise. * gcc.dg/debug/dwarf2/const-2b.c: Likewise. * gcc.dg/format/ms_unnamed-1.c: Likewise. * gcc.dg/format/unnamed-1.c: Likewise. Adapt dg-warning line number. * gcc.dg/graphite/pr40281.c: Likewise. * gcc.dg/pr32176.c: Likewise. * gcc.dg/pr40550.c: Likewise. * gcc.dg/prefetch-loop-arrays-1.c: Likewise. * gcc.dg/torture/pr36891.c: Likewise. * gcc.target/i386/20020218-1.c: Likewise. * gcc.target/i386/20020523.c: Likewise. * gcc.target/i386/abi-1.c: Likewise. * gcc.target/i386/brokensqrt.c: Likewise. * gcc.target/i386/fastcall-sseregparm.c: Likewise. * gcc.target/i386/pr13366.c: Likewise. * gcc.target/i386/pr13685.c: Likewise. * gcc.target/i386/pr24306.c: Likewise. * gcc.target/i386/pr31486.c: Likewise. * gcc.target/i386/pr32065-1.c: Likewise. * gcc.target/i386/pr32065-2.c: Likewise. * gcc.target/i386/pr32389.c: Likewise. * gcc.target/i386/pr38824.c: Likewise. * gcc.target/i386/pr38931.c: Likewise. * gcc.target/i386/pr39592-1.c: Likewise. * gcc.target/i386/pr43766.c: Likewise. * gcc.target/i386/recip-divf.c: Likewise. * gcc.target/i386/recip-sqrtf.c: Likewise. * gcc.target/i386/recip-vec-divf.c: Likewise. * gcc.target/i386/recip-vec-sqrtf.c: Likewise. * gcc.target/i386/sse-1.c: Likewise. * gcc.target/i386/sse-16.c: Likewise. * gcc.target/i386/sse-2.c: Likewise. * gcc.target/i386/sse-20.c: Likewise. * gcc.target/i386/sse-3.c: Likewise. * gcc.target/i386/sse-7.c: Likewise. * gcc.target/i386/sse-9.c: Likewise. * gcc.target/i386/sse-addps-1.c: Likewise. * gcc.target/i386/sse-addss-1.c: Likewise. * gcc.target/i386/sse-andnps-1.c: Likewise. * gcc.target/i386/sse-andps-1.c: Likewise. * gcc.target/i386/sse-cmpss-1.c: Likewise. * gcc.target/i386/sse-comiss-1.c: Likewise. * gcc.target/i386/sse-comiss-2.c: Likewise. * gcc.target/i386/sse-comiss-3.c: Likewise. * gcc.target/i386/sse-comiss-4.c: Likewise. * gcc.target/i386/sse-comiss-5.c: Likewise. * gcc.target/i386/sse-comiss-6.c: Likewise. * gcc.target/i386/sse-copysignf-vec.c: Likewise. * gcc.target/i386/sse-cvtsi2ss-1.c: Likewise. * gcc.target/i386/sse-cvtsi2ss-2.c: Likewise. * gcc.target/i386/sse-cvtss2si-1.c: Likewise. * gcc.target/i386/sse-cvtss2si-2.c: Likewise. * gcc.target/i386/sse-cvttss2si-1.c: Likewise. * gcc.target/i386/sse-cvttss2si-2.c: Likewise. * gcc.target/i386/sse-divps-1.c: Likewise. * gcc.target/i386/sse-divss-1.c: Likewise. * gcc.target/i386/sse-init-v4hi-1.c: Likewise. * gcc.target/i386/sse-init-v4sf-1.c: Likewise. * gcc.target/i386/sse-maxps-1.c: Likewise. * gcc.target/i386/sse-maxss-1.c: Likewise. * gcc.target/i386/sse-minps-1.c: Likewise. * gcc.target/i386/sse-minss-1.c: Likewise. * gcc.target/i386/sse-movaps-1.c: Likewise. * gcc.target/i386/sse-movaps-2.c: Likewise. * gcc.target/i386/sse-movhlps-1.c: Likewise. * gcc.target/i386/sse-movhps-1.c: Likewise. * gcc.target/i386/sse-movhps-2.c: Likewise. * gcc.target/i386/sse-movlhps-1.c: Likewise. * gcc.target/i386/sse-movmskps-1.c: Likewise. * gcc.target/i386/sse-movntps-1.c: Likewise. * gcc.target/i386/sse-movss-1.c: Likewise. * gcc.target/i386/sse-movss-2.c: Likewise. * gcc.target/i386/sse-movss-3.c: Likewise. * gcc.target/i386/sse-movups-1.c: Likewise. * gcc.target/i386/sse-movups-2.c: Likewise. * gcc.target/i386/sse-mulps-1.c: Likewise. * gcc.target/i386/sse-mulss-1.c: Likewise. * gcc.target/i386/sse-orps-1.c: Likewise. * gcc.target/i386/sse-rcpps-1.c: Likewise. * gcc.target/i386/sse-recip-vec.c: Likewise. * gcc.target/i386/sse-recip.c: Likewise. * gcc.target/i386/sse-rsqrtps-1.c: Likewise. * gcc.target/i386/sse-set-ps-1.c: Likewise. * gcc.target/i386/sse-sqrtps-1.c: Likewise. * gcc.target/i386/sse-subps-1.c: Likewise. * gcc.target/i386/sse-subss-1.c: Likewise. * gcc.target/i386/sse-ucomiss-1.c: Likewise. * gcc.target/i386/sse-ucomiss-2.c: Likewise. * gcc.target/i386/sse-ucomiss-3.c: Likewise. * gcc.target/i386/sse-ucomiss-4.c: Likewise. * gcc.target/i386/sse-ucomiss-5.c: Likewise. * gcc.target/i386/sse-ucomiss-6.c: Likewise. * gcc.target/i386/sse-unpckhps-1.c: Likewise. * gcc.target/i386/sse-unpcklps-1.c: Likewise. * gcc.target/i386/sse-xorps-1.c: Likewise. * gcc.target/i386/ssefn-1.c: Likewise. * gcc.target/i386/ssefn-3.c: Likewise. * gcc.target/i386/sseregparm-1.c: Likewise. * gcc.target/i386/stackalign/return-3.c: Likewise. * gcc.target/i386/vectorize1.c: Likewise. * gcc.target/i386/vperm-v4sf-1.c: Likewise. * gcc.target/i386/xorps-sse.c: Likewise. * gfortran.dg/pr28158.f90: Likewise. * gfortran.dg/pr30667.f: Likewise. * gnat.dg/loop_optimization7.adb: Likewise. * gnat.dg/sse_nolib.adb: Likewise. libgfortran: * config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>, <ucontext.h>. (sigill_caught): New. (sigill_hdlr): New function (has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes SIGILL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162073 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/44531kkojima2010-07-041-1/+1
| | | | | | | | | * config.gcc (sh*-*-*): Use regular expressions instead of the 'i' modifier for sed substitutions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161807 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>dje2010-06-281-1/+1
| | | | | | | | | | | | | | * config.gcc (powerpc*-*-*): Handle titan. * config/rs6000/rs6000.c (titan_cost): New costs. (rs6000_override_options): Add "titan" to processor_target_table. Add Titan to branch alignment logic. Correctly set rs6000_cost for titan. * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md". * config/rs6000/titan.md: New file. * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161491 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kazu2010-06-121-0/+2
| | | | | | | | | | | | | | | * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*): Add crtfastmath.o to extra_parts. * config/mips/crtfastmath.c: New. * config/mips/linux.h (ENDFILE_SPEC): New. libgcc/ * config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. * config/mips/t-crtfm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160655 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/t-linux-androideabi: New.mkuvyrkov2010-06-011-0/+6
| | | | | | | * config.gcc (arm*-*-linux-androideabi): Include multilib configuration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160095 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>iains2010-05-281-4/+5
| | | | | | | | * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159979 138bc75d-0d04-0410-961f-82ee72b054a4
* Support compilation for Android platform. Reimplement -mandroid.mkuvyrkov2010-05-271-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (*linux*): Include linux-android.h and linux-android.opt. (*android*): Set ANDROID_DEFAULT. (arm*-*-linux*): Include linux-android.h. (arm*-*-eabi*): Don't include previous -mandroid implementation. * config/arm/eabi.h: Remove, move Android-specific parts ... * config/linux-android.h: ... here. New file. * config/arm/eabi.opt: Rename to ... * config/linux-android.opt: ... this. (mandroid): Allow -mno-android option. Initialize based on ANDROID_DEFAULT. * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC): Move logic to corresponding LINUX_TARGET_* macros. (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate. * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,) (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and Android definitions. (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID. * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159918 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for Bionic C librarymkuvyrkov2010-05-271-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define macro. (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*. (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update. * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define. (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC. (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier to support multiple C libraries. Handle Bionic. (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,) (BIONIC_DYNAMIC_LINKER64): Define. (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Update. (TARGET_HAS_SINCOS): Enable for Bionic. * config/linux.opt: Rewrite to handle more than 2 C libraries. Make the last option specified on command line take effect. (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC. (mbionic): New. (mglibc, muclibc): Update. * config/alpha/linux-elf.h, config/rs6000/linux64.h, * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use DEFAULT_LIBC. * doc/invoke.texi (-mglibc, -muclibc): Update. (-mbionic): Document. gcc/testsuite/ * gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159917 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud