aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-10-07* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.Richard Henderson1-1/+1
From-SVN: r179664
2011-10-04config.gcc (i[34567]86-*-elf*, [...]): Use i386/t-crtstuff.Joseph Myers1-2/+2
* config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use i386/t-crtstuff. From-SVN: r179498
2011-09-29re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay1-2/+2
PR target/50566 * config.gcc (extra_objs): Add avr-log.o for $target in: avr-*-rtems*, avr-*-*. * config/avr/t-avr (avr-log.o): New rule to compile... * config/avr/avr-log.c: ...this new file. * config/avr/avr.opt (mlog=): New option. * config/avr/avr-protos.h (avr_edump, avr_fdump): New macros. (avr_log_set_caller_e, avr_log_set_caller_f): New prototypes. (avr_log_set_avr_log): New prototype. (avr_log_t): New typedef. (avr_log): New declaration. * config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log. From-SVN: r179344
2011-09-26Move target CPP macro handling to C file and add __VIS/__VIS__.David S. Miller1-12/+18
* config/sparc/sparc-c.c: New file implementing sparc_target_macros, which will now define __VIS and __VIS__ when -mvis is enabled. * config/sparc/t-sparc: Likewise. * config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs, and add t-sparc to tmake_file for all sparc targets. * config/sparc/sparc-protos.h (sparc_target_macros): Declare. * config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it. From-SVN: r179210
2011-09-16visintrin.h: New file.David S. Miller1-0/+1
* config/sparc/visintrin.h: New file. * config.gcc: Add it to extra_headers on sparc. From-SVN: r178919
2011-09-05sol2-64.h: Move ...David S. Miller1-2/+2
* config/sparc/sol2-64.h: Move ... * config/sparc/default-64.h: ... to here. Update comment. * config.gcc: Update Solaris sparc to use default-64.h, also prefix this header into the list on sparc64-*-linux. * config/sparc/linux64.h (TARGET_DEFAULT): Only override if TARGET_64BIT_DEFAULT is defined. Remove commented out reference to MASK_HARD_QUAD. From-SVN: r178558
2011-09-05config.gcc: Recognize niagara3 and niagara4 in --with-cpu and --with-tune ↵David S. Miller1-1/+2
options. * config.gcc: Recognize niagara3 and niagara4 in --with-cpu and --with-tune options. From-SVN: r178555
2011-08-30Add FMA intrinsics and testcases.Ilya Tocar1-2/+2
gcc/ 2011-08-30 Ilya Tocar <ilya.tocar@intel.com> * config/i386/fmaintrin.h: New. * config.gcc: Add fmaintrin.h. * config/i386/i386.c (enum ix86_builtins) <IX86_BUILTIN_VFMADDSS3>: New. <IX86_BUILTIN_VFMADDSD3>: Likewise. * config/i386/sse.md (fmai_vmfmadd_<mode>): New. (*fmai_fmadd_<mode>): Likewise. (*fmai_fmsub_<mode>): Likewise. (*fmai_fnmadd_<mode>): Likewise. (*fmai_fnmsub_<mode>): Likewise. * config/i386/immintrin.h: Add fmaintrin.h. gcc/testsuite/ 2011-08-30 Ilya Tocar <ilya.tocar@intel.com> * gcc.target/i386/fma-check.h: New. * gcc.target/i386/fma-256-fmaddXX.c: New testcase. * gcc.target/i386/fma-256-fmaddsubXX.c: Likewise. * gcc.target/i386/fma-256-fmsubXX.c: Likewise. * gcc.target/i386/fma-256-fmsubaddXX.c: Likewise. * gcc.target/i386/fma-256-fnmaddXX.c: Likewise. * gcc.target/i386/fma-256-fnmsubXX.c: Likewise. * gcc.target/i386/fma-fmaddXX.c: Likewise. * gcc.target/i386/fma-fmaddsubXX.c: Likewise. * gcc.target/i386/fma-fmsubXX.c: Likewise. * gcc.target/i386/fma-fmsubaddXX.c: Likewise. * gcc.target/i386/fma-fnmaddXX.c: Likewise. * gcc.target/i386/fma-fnmsubXX.c: Likewise. * gcc.target/i386/fma-compile.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_fma): New. * gcc.target/i386/sse-12.c: Add -mfma. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. * g++.dg/other/i386-2.C: Likewise. * g++.dg/other/i386-3.C: Likewise. From-SVN: r178311
2011-08-23Add BMI2 support.H.J. Lu1-2/+4
gcc/ 2011-08-23 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (type): Add imulx, ishiftx and rotatex. (length_immediate): Handle imulx, ishiftx and rotatex. (imm_disp): Ditto. (isa): Add bmi2. (enabled): Handle bmi2. (w): New mode attribute. (*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3. (*umul<mode><dwi>3): Ditto. Add imulx BMI2 alternative. (*bmi2_umulditi3_1): New insn pattern. (*bmi2_umulsidi3_1): Ditto. (*umul<mode><dwi>3 splitter): New splitter to avoid flags dependency. (*bmi2_ashl<mode>3_1): New insn pattern. (*ashl<mode>3_1): Add ishiftx BMI2 alternative. (*ashl<mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_ashlsi3_1_zext): New insn pattern. (*ashlsi3_1_zext): Add ishiftx BMI2 alternative. (*ashlsi3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn><mode>3_1): New insn pattern. (*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative. (*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern. (*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative. (*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_rorx<mode>3_1): New insn pattern. (*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative. (*rotate<mode>3_1 splitter): New splitter to avoid flags dependency. (*rotatert<mode>3_1 splitter): Ditto. (*bmi2_rorxsi3_1_zext): New insn pattern. (*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative. (*rotatesi3_1_zext splitter): New splitter to avoid flags dependency. (*rotatertsi3_1_zext splitter): Ditto. 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET): New. (OPTION_MASK_ISA_BMI2_UNSET): Likewise. (ix86_handle_option): Handle OPT_mbmi2 case. * config.gcc (i[34567]86-*-*): Add bmi2intrin.h. (x86_64-*-*): Likewise. * config/i386/bmi2intrin.h: New file. * config/i386/cpuid.h (bit_BMI2): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect BMI2 feature. * config/i386/i386-c.c (ix86_target_macros_internal): Conditionally define __BMI2__. * config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2. Handle BMI2 option. (ix86_valid_target_attribute_inner_p): Handle BMI2 option. (print_reg): New code. (ix86_print_operand): Likewise. (ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. (bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. * config/i386/i386.h (TARGET_BMI2): New. * config/i386/i386.md (UNSPEC_PDEP): New. (UNSPEC_PEXT): Likewise. (*bmi2_bzhi_<mode>3): Likewise. (*bmi2_pdep_<mode>3): Likewise. (*bmi2_pext_<mode>3): Likewise. * config/i386/i386.opt (mbmi2): New. * config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__ is defined. * doc/extend.texi: Document BMI2 built-in functions. * doc/invoke.texi: Document -mbmi2. gcc/testsuite/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * g++.dg/other/i386-2.C: Add -mbmi2 check. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/bmi2-bzhi32-1.c: New testcase. * gcc.target/i386/bmi2-bzhi32-1a.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1a.c: Likewise. * gcc.target/i386/bmi2-mulx32-1.c: Likewise. * gcc.target/i386/bmi2-mulx32-1a.c: Likewise. * gcc.target/i386/bmi2-mulx64-1.c: Likewise. * gcc.target/i386/bmi2-mulx64-1a.c: Likewise. * gcc.target/i386/bmi2-pdep32-1.c: Likewise. * gcc.target/i386/bmi2-pdep32-1a.c: Likewise. * gcc.target/i386/bmi2-pdep64-1.c: Likewise. * gcc.target/i386/bmi2-pdep64-1a.c: Likewise. * gcc.target/i386/bmi2-pext32-1.c: Likewise. * gcc.target/i386/bmi2-pext32-1a.c: Likewise. * gcc.target/i386/bmi2-pext64-1.c: Likewise. * gcc.target/i386/bmi2-pext64-1a.c: Likewise. * gcc.target/i386/bmi2-rorx32-1.c: Likewise. * gcc.target/i386/bmi2-rorx32-1a.c: Likewise. * gcc.target/i386/bmi2-rorx64-1.c: Likewise. * gcc.target/i386/bmi2-rorx64-1a.c: Likewise. * gcc.target/i386/bmi2-sarx32-1.c: Likewise. * gcc.target/i386/bmi2-sarx32-1a.c: Likewise. * gcc.target/i386/bmi2-sarx64-1.c: Likewise. * gcc.target/i386/bmi2-sarx64-1a.c: Likewise. * gcc.target/i386/bmi2-shlx32-1.c: Likewise. * gcc.target/i386/bmi2-shlx32-1a.c: Likewise. * gcc.target/i386/bmi2-shlx64-1.c: Likewise. * gcc.target/i386/bmi2-shlx64-1a.c: Likewise. * gcc.target/i386/bmi2-shrx32-1.c: Likewise. * gcc.target/i386/bmi2-shrx32-1a.c: Likewise. * gcc.target/i386/bmi2-shrx64-1.c: Likewise. * gcc.target/i386/bmi2-shrx64-1a.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_bmi2): New. * gcc.target/i386/sse-12.c: Add BMI2. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. From-SVN: r178001
2011-08-22Add support for AVX2 builtin functions.Kirill Yukhin1-2/+2
2011-08-22 Kirill Yukhin <kirill.yukhin@intel.com> * config/i386/avx2intrin.h: New file. * config/i386/i386-builtin-types.def (PCINT, PCINT64, PV4SI, PV8SI, V32QI_FTYPE_V32QI, V32QI_FTYPE_V16QI, V16HI_FTYPE_V16HI, V16HI_FTYPE_V8HI, V8SI_FTYPE_V8SI, V16HI_FTYPE_V16QI, V8SI_FTYPE_V16QI, V4DI_FTYPE_V16QI, V8SI_FTYPE_V8HI, V4DI_FTYPE_V8HI, V4DI_FTYPE_V4SI, V4DI_FTYPE_PV4DI, V4DI_FTYPE_V2DI, V2DI_FTYPE_PCV2DI_V2DI, V4SI_FTYPE_PCV4SI_V4SI, V32QI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V8SI_V8SI, V32QI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V16HI_V8HI, V16HI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V16HI_INT, V16HI_FTYPE_V16HI_SI, V16HI_FTYPE_V16HI_V16HI_INT, V32QI_FTYPE_V32QI_V32QI_INT, V8SI_FTYPE_V8SI_V4SI, V8SI_FTYPE_V8SI_V8SI, V8SI_FTYPE_V16HI_V16HI, V8SI_FTYPE_V8SI_INT, V8SI_FTYPE_V8SI_SI, V8SI_FTYPE_PCV8SI_V8SI, V4DI_FTYPE_V4DI_V4DI, V4DI_FTYPE_V8SI_V8SI, V4DI_FTYPE_V4DI_V2DI, V4DI_FTYPE_PCV4DI_V4DI, V4DI_FTYPE_V4DI_INT, V2DI_FTYPE_V4DI_INT, V4DI_FTYPE_V4DI_V4DI_INT, V4DI_FTYPE_V4DI_V2DI_INT, VOID_FTYPE_PV2DI_V2DI_V2DI, VOID_FTYPE_PV4DI_V4DI_V4DI, VOID_FTYPE_PV4SI_V4SI_V4SI, VOID_FTYPE_PV8SI_V8SI_V8SI, V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_V2DF_INT, V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_V4DF_INT, V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_V2DF_INT, V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_V4DF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V4SI_V4SF_INT, V8SF_FTYPE_V8SF_PCFLOAT_V8SI_V8SF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V2DI_V4SF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V4DI_V4SF_INT, V2DI_FTYPE_V2DI_PCINT64_V4SI_V2DI_INT, V4DI_FTYPE_V4DI_PCINT64_V4SI_V4DI_INT, V2DI_FTYPE_V2DI_PCINT64_V2DI_V2DI_INT, V4DI_FTYPE_V4DI_PCINT64_V4DI_V4DI_INT, V4SI_FTYPE_V4SI_PCINT_V4SI_V4SI_INT, V8SI_FTYPE_V8SI_PCINT_V8SI_V8SI_INT, V4SI_FTYPE_V4SI_PCINT_V2DI_V4SI_INT, V4SI_FTYPE_V4SI_PCINT_V4DI_V4SI_INT, V16HI_FTYPE_V16HI_SI_COUNT, V16HI_FTYPE_V16HI_V8HI_COUNT, V8SI_FTYPE_V8SI_SI_COUNT, V8SI_FTYPE_V8SI_V4SI_COUNT, V4DI_FTYPE_V4DI_INT_COUNT, V4DI_FTYPE_V4DI_V2DI_COUNT, V4DI_FTYPE_V4DI_INT_CONVERT, V4DI_FTYPE_V4DI_V4DI_INT_CONVERT): New. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MPSADBW256, IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256, IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256, IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256, IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256, IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256, IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256, IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256, IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256, IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I, IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256, IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256, IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256, IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256, IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256, IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256, IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256, IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256, IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256, IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256, IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256, IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256, IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256, IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256, IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256, IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256, IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256, IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256, IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256, IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256, IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256, IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256, IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256, IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256, IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256, IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256, IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256, IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256, IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256, IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256, IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256, IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256, IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256, IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256, IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256, IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256, IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256, IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256, IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256, IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256, IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256, IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256, IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256, IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256, IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256, IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256, IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256, IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256, IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256, IX86_BUILTIN_VBROADCASTSD_PD256, IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256, IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256, IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256, IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128, IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128, IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256, IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256, IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256, IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256, IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256, IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ, IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256, IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI, IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI, IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI, IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI, IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI, IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI. (bdesc_special_args): Add IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256, IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ, IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256. (bdesc_args): Add IX86_BUILTIN_MPSADBW256, IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256, IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256, IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256, IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256, IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256, IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256, IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256, IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256, IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I, IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256, IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256, IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256, IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256, IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256, IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256, IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256, IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256, IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256, IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256, IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256, IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256, IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256, IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256, IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256, IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256, IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256, IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256, IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256, IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256, IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256, IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256, IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256, IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256, IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256, IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256, IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256, IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256, IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256, IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256, IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256, IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256, IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256, IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256, IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256, IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256, IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256, IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256, IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256, IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256, IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256, IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256, IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256, IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256, IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256, IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256, IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256, IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256, IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256, IX86_BUILTIN_VBROADCASTSD_PD256, IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256, IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256, IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256, IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128, IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128, IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256, IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256, IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256, IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256, IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI, IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI, IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI, IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI, IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI. (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI. (ix86_preferred_simd_mode): Support AVX2 modes. (ix86_expand_args_builtin): Support AVX2 built-ins. (ix86_expand_special_args_builtin): Likewise. (ix86_expand_builtin): Likewise. * config/i386/i386.md (UNSPEC_VPERMSI): New. (UNSPEC_VPERMDF): Likewise. (UNSPEC_VPERMSF): Likewise. (UNSPEC_VPERMDI): Likewise. (UNSPEC_VPERMTI): Likewise. (UNSPEC_GATHER): Likewise. (ssemodesuffix): Extend. * config/i386/immintrin.h: Include avx2intrin.h when __AVX2__ is defined. * config/i386/predicates.md (const1248_operand): New. * config/i386/sse.md (VI_AVX2): (VI1_AVX2): Likewise. (VI2_AVX2): Likewise. (VI4_AVX2): Likewise. (VI8_AVX2): Likewise. (VIMAX_AVX2): Likewise. (SSESCALARMODE): Likewise. (VI12_AVX2): Likewise. (VI24_AVX2): Likewise. (VI124_AVX2): Likeuse_submit_for_speed = 1 wise. (VI248_AVX2): Likewise. (VI48_AVX2): Likewise. (VI4SD_AVX2): Likewise. (V48_AVX2): Likewise. (avx2modesuffix): Likewise. (sse_avx2): Likewise. (sse2_avx2): Likewise. (ssse3_avx2): Likewise. (sse4_1_avx2): Likewise. (avx_avx2): Likewise. (lshift)<code_oterator>: Likewise. (lshift_insn): Likewise. (lshift)<code_attr>: Likewise. (SSESHORTMODE): Likewise. (SSELONGMODE): Likewise. (SSEBYTEMODE): Likewise. (AVXTOSSEMODE): Likewise. (shortmode): Likewise. (ssescalarmodesuffix): Update. (sseunpackmode): Likewise. (ssepackmode): Likewise. (AVX256MODEI): New. (AVX256MODE124): Likewise. (AVX256MODE1248): Likewise. (AVX256MODE248): Likewise. (AVXMODE48P_SI): Likewise. (AVXMODE48P_SI): Likewise. (AVXMODE48P_DI): Likewise. (AVXMODE48P_DI): Likewise. (gthrfirstp): Likewise. (gthrlastp): Likewise. (avx2): Likwise. (ssevecsize): Likewise. (ssedoublesizemode): Likewise. (avxvecmode): Likewise. (avxvecsize): Likewise. (avxhalfvecmode): Likewise. (avxscalarmode): Likewise. (avxpermvecmode): Likewise. (avxmodesuffixp): Likewise. (avxmodesuffix): Likewise. (avx2_vec_dupv4sf): New. (avx2_vec_dupv8sf): Likewise. (avx2_interleave_highv4di): Likewise. (avx2_interleave_lowv4di): Likewise. (<plusminus_insn><mode>3): Update. (*<plusminus_insn><mode>3): Likewise. (sse2_<plusminus_insn><mode>3): Rename to ... ("<sse2_avx2>_<plusminus_insn><mode>3): ... this. updated. (*sse2_<plusminus_insn><mode>3): Likewise. (*<sse2_avx2>_<plusminus_insn><mode>3): Likewise. (mulv8hi3): Likewise. (mul<mode>3): Likewise. (*mulv8hi3): Likewise. (*mul<mode>3): Likewise. (<s>mulv8hi3_highpart): Likewise. (<s>mul<mode>3_highpart): Likewise. (*<s>mulv8hi3_highpart): Likewise. (*<s>mul<mode>3_highpart): Likewise. (avx2_umulv4siv4di3): Likewise. (*avx_umulv4siv4di3): Likewise. (sse4_1_mulv2siv2di3): Likewise. (<sse4_1_avx2>_mul<shortmode><mode>3): Likewise. (*sse4_1_mulv2siv2di3): Likewise. (*<sse4_1_avx2>_mulv2siv2di3): Likewise. (avx2_pmaddwd): New. (*avx2_pmaddwd): Likewise. (mulv4si3): Rename to ... (mul<mode>3): ... this. Update. (*sse4_1_mulv4si3): Likewise. (*<sse4_1_avx2>_mul<mode>3): Likewise. (ashr<mode>3): Update. (avx2_lshrqv4di3): New. (lshr<mode>3): Update. (avx2_lshlqv4di3): New. (avx2_lshl<mode>3): Likewise. (sse2_ashlv1ti3): Rename to ... (<sse2_avx2>_ashl<mode>3): ... this. Update. (avx2_<code><mode>3)<umaxmin>: New. (*avx2_<code><mode>3)<umaxmin>: Likewise. (avx2_<code><mode>3)<smaxmin>: New. (*avx2_<code><mode>3)<smaxmin>: Likewise. (avx2_eq<mode>3): Likewise. (*avx2_eq<mode>3): Likewise. (avx2_gt<mode>3): Likewise. (sse2_andnot<mode>3): Rename to ... (<sse2_avx2>_andnot<mode>3): ... this. Update. (*andnot<mode>3): Update. (<code><mode>3)<any_logic>: Update. (*<code><mode>3)<any_logic>: Likewise. (sse2_packsswb): Rename to ... (<sse2_avx2>_packsswb): ... this. Update. (sse2_packssdw): Likewise. (<sse2_avx2>_packssdw): Likewise. (sse2_packuswb): Likewise. (<sse2_avx2>_packuswb): Likewise. (avx2_interleave_highv32qi): New. (avx2_interleave_lowv32qi): Likewise. (avx2_interleave_highv16hi): Likewise. (avx2_interleave_lowv16hi): Likewise. (avx2_interleave_highv8si): Likewise. (avx2_interleave_lowv8si): Likewise. (avx2_pshufd): New (avx2_pshufd_1): Likewise. (avx2_pshuflwv3): Likewise. (avx2_pshuflw_1): Likewise. (avx2_pshufhwv3): Likewise. (avx2_pshufhw_1): Likewise. (avx2_uavgv32qi3): Likewise. (*avx2_uavgv32qi3): Likewise. (avx2_uavgv16hi3): Likewise. (*avx2_uavgv16hi3): Likewise. (sse2_psadbw): Rename to ... (<sse2_avx2>_psadbw): ... this. Update. (avx2_pmovmskb): New. (avx2_phaddwv16hi3): Likewise. (avx2_phadddv8si3): Likewise. (avx2_phaddswv16hi3): Likewise. (avx2_phsubwv16hi3): Likewise. (avx2_phsubdv8si3): Likewise. (avx2_phsubswv16hi3): Likewise. (avx2_pmaddubsw256): Likewise. (avx2_umulhrswv16hi3): Likewise. (*avx2_umulhrswv16hi3): Likewise. (ssse3_pshufbv16qi3): Rename to ... (<ssse3_avx2>_pshufb<mode>3): ... this. Update. (ssse3_psign<mode>3): Likewise. (<ssse3_avx2>_psign<mode>3): Likewise. (ssse3_palignrti): Likewise. (<ssse3_avx2>_palignr<mode>): Likewise. (abs<mode>2): Likewise. (sse4_1_movntdqa): Rename to ... (<sse4_1_avx2>_movntdqa): ... this. Update. (sse4_1_mpsadbw): Likewise. (<sse4_1_avx2>_mpsadbw): Likewise. (avx2_packusdw): New. (sse4_1_pblendvb): Rename to ... (<sse4_1_avx2>_pblendvb): ... this. Update. (sse4_1_pblendw): Likewise. (<sse4_1_avx2>_pblendw): Likewise. (avx2_pblendd<mode>): New. (avx2_<code>v16qiv16hi2): Likewise. (avx2_<code>v8qiv8si2): Likewise. (avx2_<code>v8hiv8si2): Likewise. (avx2_<code>v4qiv4di2): Likewise. (avx2_<code>v4hiv4di2): Likewise. (avx2_<code>v4siv4di2): Likewise. (avx2_pbroadcast<mode>): Likewise. (avx2_permvarv8si): Likewise. (avx2_permv4df): Likewise. (avx2_permvarv8sf): Likewise. (avx2_permv4di): Likewise. (avx2_permv2ti): Likewise. (avx2_vec_dupv4df): Likewise. (avx2_vbroadcasti128_<mode>): Likewise. (avx2_vec_set_lo_v4di): Likewise. (avx2_vec_set_hi_v4di): Likewise. (avx_maskload<ssemodesuffix><avxsizesuffix>): Rename to ... (<avx_avx2>_maskload<avx2modesuffix><avxmodesuffix>): ... this. Update. (avx_maskstore<ssemodesuffix><avxsizesuffix>): Likewise. (<avx_avx2>_maskstore<avx2modesuffix><avxmodesuffix>): Likewise. (*avx2_maskmov<avx2modesuffix><avxmodesuffix>): New. (avx2_extracti128): Likewise. (avx2_inserti128): Likewise. (avx2_ashrvv8si): Likewise. (avx2_ashrvv4si): Likewise. (avx2_<lshift>vv8si): Likewise. (avx2_<lshift>v<mode>): Likewise. (avx2_<lshift>vv2di): Likewise. (avx2_gathersi<mode>): Likewise. (*avx2_gathersi<mode>): Likewise. (avx2_gatherdi<mode>): Likewise. (*avx2_gatherdi<mode>): Likewise. (avx2_gatherdi<mode>256): Likewise. (*avx2_gatherdi<mode>256): Likewise. * doc/extend.texi: Document AVX2 built-in functions. * doc/invoke.texi: Document -mavx2. From-SVN: r177955
2011-08-22revert: t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if tm_defines ↵Matthias Klose1-1/+0
contains MIPS_ABI_DEFAULT ABI_32... 2011-08-22 Matthias Klose <doko@debian.org> Revert: 2011-07-11 Arthur Loiret <aloiret@debian.org> Matthias Klose <doko@debian.org> * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc convention. * config.gcc (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32. From-SVN: r177953
2011-08-20Use .init_arrary/.fini_array sections if possible.H.J. Lu1-0/+5
2011-08-20 H.J. Lu <hongjiu.lu@intel.com> PR other/46770 * config.gcc (tm_file): Add initfini-array.h if .init_arrary/.fini_array are supported. * crtstuff.c: Don't generate .ctors nor .dtors sections if USE_INITFINI_ARRAY is defined. * output.h (default_elf_init_array_asm_out_constructor): New. (default_elf_fini_array_asm_out_destructor): Likewise. * varasm.c (elf_init_array_section): Likewise. (elf_fini_array_section): Likewise. (get_elf_initfini_array_priority_section): Likewise. (default_elf_init_array_asm_out_constructor): Likewise. (default_elf_fini_array_asm_out_destructor): Likewise. * config/initfini-array.h: New. From-SVN: r177933
2011-08-18Keep tm, div_t, ldiv_t, lconv mangling on Solaris (PR libstdc++-v3/1773)Rainer Orth1-2/+2
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org> From-SVN: r177863
2011-08-08Fix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *)H.J. Lu1-0/+1
gcc/ 2011-08-08 H.J. Lu <hongjiu.lu@intel.com> PR other/48007 * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for Linux/x86. * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned. (ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise. * unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New. (_Unwind_Context_Reg_Val): Likewise. (_Unwind_Get_Unwind_Word): Likewise. (_Unwind_Get_Unwind_Context_Reg_Val): Likewise. (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field. (_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT for EXTENDED_CONTEXT_BIT. (__frame_state_for): Likewise. (uw_init_context_1): Likewise. (_Unwind_GetGR): Updated. (_Unwind_SetGR): Likewise. (_Unwind_GetGRPtr): Likewise. (_Unwind_SetGRPtr): Likewise. (_Unwind_SetGRValue): Likewise. (_Unwind_GRByValue): Likewise. (uw_install_context_1): Likewise. * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and ASSUME_EXTENDED_UNWIND_CONTEXT. * doc/tm.texi: Regenerated. libgcc/ 2011-08-08 H.J. Lu <hongjiu.lu@intel.com> PR other/48007 * config/i386/value-unwind.h: New. From-SVN: r177563
2011-08-05soft-fp: Move to ../libgcc.Rainer Orth1-24/+11
gcc: * config/soft-fp: Move to ../libgcc. * Makefile.in (SFP_MACHINE): Remove. (libgcc-support): Remove $(SFP_MACHINE) dependency. * config/arm/sfp-machine.h: Move to ../libgcc/config/arm. * config/arm/t-arm-softfp: Move to ../libgcc/config/arm/t-softfp. * config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x. * config/c6x/t-c6x-softfp: Remove. * config/i386/sfp-machine.h: Move to ../libgcc/config/i386. * config/i386/t-fprules-softfp: Move to ../libgcc/config/t-softfp-tf. * config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64. * config/ia64/t-fprules-softfp: Remove. * config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32. * config/lm32/t-fprules-softfp: Remove. * config/moxie/sfp-machine.h: Remove. * config/moxie/t-moxie-softfp: Remove. * config/rs6000/darwin-ldouble-format: Move to ../libgcc/config/rs6000/ibm-ldouble-format. * config/rs6000/darwin-ldouble.c: Move to ../libgcc/config/rs6000/ibm-ldouble.c * config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000. * config/rs6000/libgcc-ppc64.ver: Likewise. * config/rs6000/sfp-machine.h: Likewise. * config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove $(srcdir)/config/rs6000/libgcc-ppc64.ver. (LIB2FUNCS_EXTRA): Remove. (TARGET_LIBGCC2_CFLAGS): Remove. * config/rs6000/t-aix52: Likewise * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/darwin-ldouble.c. (SHLIB_MAPFILES): Remove. * config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/darwin-ldouble.c. * config/rs6000/t-fprules-softfp: Move to ../libgcc/config/t-softfp-sfdf. * config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000. * config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/darwin-ldouble.c. * config/score/sfp-machine.h: Move to ../libgcc/config/score. * config/score/t-score-softfp: Remove. * config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp, soft-fp/t-softfp from tmake_file. (arm*-*-uclinux*): Likewise. (arm*-*-ecos-elf): Likewise. (arm*-*-eabi*, arm*-*-symbianelf*): Likewise. (arm*-*-rtems*): Likewise. (arm*-*-elf): Likewise. (moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from tmake_file. (moxie-*-uclinux*): Likewise. (moxie-*-rtems*): Likewise. (lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from tmake_file. (lm32-*-rtems*): Likewise. (lm32-*-uclinux*): Likewise. (powerpc-*-freebsd*): Remove rs6000/t-freebsd, rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file. (powerpc-*-linux*, powerpc64-*-linux*): Remove rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file. (score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from tmake_file. (tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from tmake_file. (tic6x-*-uclinux): Likewise. (i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp, soft-fp/t-softfp from tmake_file. (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu) (x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise. (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise. (i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise. libgcc: * config/t-softfp: Remove. * soft-fp: Moved from ../gcc/config. * soft-fp/README: Remove t-softfp reference. * soft-fp/t-softfp: Move to config/t-softfp. (softfp_machine_header): Remove. (softfp_file_list): Remove config subdir. (soft-fp-objects): New variable. ($(soft-fp-objects)): Set INTERNAL_CFLAGS. (LIB2FUNCS_EXTRA): Add to LIB2ADD instead. (SFP_MACHINE, $(SFP_MACHINE)): Remove. * config/t-softfp-excl: New file. * config/t-softfp-sfdf: New file. * config/t-softfp-tf: New file. * config/no-sfp-machine.h: New file. * config/arm/sfp-machine.h: New file. * config/arm/t-softfp: New file. * config/c6x/sfp-machine.h: New file. * config/i386/32/t-fprules-softfp: Rename to ... * config/i386/32/t-softfp: ... this. (tifunctions, LIB2ADD): Remove. (softfp_int_modes): Override. * config/i386/64/t-softfp-compat (tf-functions): Remove config subdir. * config/i386/64/eqtf2.c: Likewise. * config/i386/64/getf2.c: Likewise. * config/i386/64/letf2.c: Likewise. * config/ia64/sft-machine.h: New file. * config/ia64/t-fprules-softfp: Rename to ... * config/ia64/t-softfp: ... this. * config/lm32/sfp-machine.h: New file. * config/moxie/t-moxie-softfp: Remove. * config/rs6000/ibm-ldouble-format: New file. * config/rs6000/ibm-ldouble.c: New file. * config/rs6000/libgcc-ppc-glibc.ver: New file * config/rs6000/libgcc-ppc64.ver: New file * config/rs6000/sfp-machine.h: New file. * config/rs6000/t-freebsd: New file. * config/rs6000/t-ibm-ldouble: New file. * config/rs6000/t-ldbl128: Use $(srcdir) to refer to libgcc-ppc-glibc.ver. * config/rs6000/t-linux64: New file. * config/rs6000/t-ppccomm (LIB2ADD): Add $(srcdir)/config/rs6000/ibm-ldouble.c. * config/rs6000/t-ppccomm-ldbl: New file. * config/score/sfp-machine.h: New file. * config.host (sfp_machine_header): Explain. (arm*-*-linux*): Add t-softfp-sfdf, t-softfp-excl, arm/t-softfp, t-softfp to tmake_file. (arm*-*-uclinux*): Likewise. (arm*-*-ecos-elf): Likewise. (arm*-*-eabi*, arm*-*-symbianelf*): Likewise. (arm*-*-rtems*): Likewise. (arm*-*-elf): Likewise. (ia64*-*-linux*): Replace ia64/t-fprules-softfp by ia64/t-softfp in tmake_file. Add t-softfp-tf, t-softfp-excl, t-softfp to tmake_file. (lm32-*-elf*, lm32-*-rtems*): Add t-softfp-sfdf, t-softfp to tmake_file. (lm32-*-uclinux*): Likewise. (moxie-*-*): Replace moxie/t-moxie-softfp by t-softfp-sfdf, t-softfp-excl, t-softfp. (powerpc-*-darwin*): Add rs6000/t-ibm-ldouble to tmake_file. (powerpc64-*-darwin*): Likewise. (powerpc-*-freebsd*): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file. (powerpc-*-eabisimaltivec*): Add rs6000/t-ppccomm-ldbl to tmake_file. (powerpc-*-eabisim*): Likewise. (powerpc-*-elf*): Likewise. (powerpc-*-eabialtivec*): Likewise. (powerpc-xilinx-eabi*): Likewise. (powerpc-*-rtems*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file. (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm-ldbl to tmake_file. (powerpcle-*-elf*): Likewise. (powerpcle-*-eabisim*): Likewise. (powerpcle-*-eabi*): Likewise. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add rs6000/t-ibm-ldouble to tmake_file. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. (score-*-elf): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file. (tic6x-*-*): Likewise. (i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu, i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-gnu*, i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*, i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*, i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add t-softfp-tf, t-softfp to tmake_file. * configure.ac (sfp_machine_header): Provide default if unset. Substitute. Link sfp-machine.h to config/$sfp_machine_header. * configure: Regenerate. From-SVN: r177452
2011-08-05Makefile.in (FPBIT_FUNCS, [...]): Remove.Rainer Orth1-14/+17
gcc: * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove. (libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT) dependencies. (libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS, TPBIT, TPBIT_FUNCS. * config/fp-bit.c, config/fp-bit.h: Move to ../libgcc. * config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/arm/t-vxworks: Likewise. * config/arm/t-wince-pe: Likewise. * config/avr/t-avr (fp-bit.c, FPBIT): Remove. * config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/bfin/t-bfin-elf: Likewise. * config/bfin/t-bfin-linux: Likewise. * config/bfin/t-bfin-uclinux: Likewise. * config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c): Remove. * config/fr30/t-fr30: Likewise. * config/frv/t-frv: Likewise. * config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove. * config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/m32c/t-m32c: Likewise. * config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove. * config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/mcore/t-mcore: Likewise. * config/mep/t-mep: Likewise. * config/microblaze/t-microblaze: Likewise. * config/mips/t-linux64 (TPBIT, tp-bit.c): Remove. * config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/mips/t-sdemtk (FPBIT, DPBIT): Remove. * config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/mn10300/t-linux: Remove. * config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/pdp11/t-pdp11: Likewise. * config/picochip/t-picochip (FPBIT, fp-bit.c): Remove. * config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000. * config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c. * config/rs6000/t-aix52: Likewise. * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c. * config/rs6000/t-fprules-fpbit: Remove. * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove. * config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/sh/t-netbsd (FPBIT, DPBIT): Remove. * config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/sparc/t-elf: Likewise. * config/sparc/t-leon: Likewise. * config/sparc/t-leon3: Likewise. * config/spu/t-spu-elf: Likewise. (DPBIT_FUNCS): Remove. * config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove. * config/v850/t-v850: Likewise. * config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file. (avr-*-*): Likewise. (h8300-*-rtems*): Set libgcc_tm_file. (h8300-*-elf*): Likewise. (powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from tmake_file. (powerpc-*-eabisim*): Likewise. (powerpc-*-elf*): Likewise. (powerpc-*-eabialtivec*): Likewise. (powerpc-xilinx-eabi*): Likewise. (powerpc-*-eabi*): Likewise. (powerpc-*-rtems*): Likewise. (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise. (powerpcle-*-elf*): Likewise. (powerpcle-*-eabisim*): Likewise. (powerpcle-*-eabi*): Likewise. (rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file. (am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file. * doc/fragments.texi (Target Fragment, Floating Point Emulation): Remove. gcc/po: * EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove. libgcc: * Makefile.in (double_type_size, long_double_type_size): Set. Remove $(fpbit-in-libgcc) support. (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables. (fpbit-src): New variable. ($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT). Compile with -DFLOAT $(FPBIT_CFLAGS). Use $<. ($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT). Compile with $(FPBIT_CFLAGS). Use $<. ($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT). Compile with -DFLOAT $(TPBIT_CFLAGS). Use $<. * configure.ac (double_type_size, long_double_type_size): Determine and substitute. * configure: Regenerate. * fp-bit.c, fp-bit.h: New files. * config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files. * config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove. * config/mips/t-mips: New file. * config/mips/t-sdemtk: New file. * config/rs6000/ppc64-fp.c: New file. * config/rs6000/t-darwin (LIB2ADD): Add $(srcdir)/config/rs6000/ppc64-fp.c. * config/rs6000/t-ppc64-fp: New file. * config/rx/rx-lib.h: New file. * config/rx/t-rx (FPBIT): Set to true. ($(gcc_objdir)/fp-bit.c): Remove. (DPBIT): Set to true only with -m64bit-doubles. ($(gcc_objdir)/dp-bit.c): Remove. * config/sparc/t-softfp: Remove. * config/spu/t-elf: New file. * config/t-fdpbit, config/t-fpbit: New files. * config.host (m32c*-*-*): Add t-fdpbit to tmake_file. (mips*-*-*): Likewise. (arm-wrs-vxworks): Likewise. (arm*-*-freebsd*): Likewise. (avr-*-rtems*): Add t-fpbit to tmake_file. (avr-*-*): Likewise. (bfin*-elf*): Add t-fdpbit to tmake_file. (bfin*-uclinux*): Likewise. (bfin*-linux-uclibc*): Likewise. (bfin*-rtems*): New case. Add t-fdpbit to tmake_file. (bfin*-*): Add t-fdpbit to tmake_file. (crisv32-*-elf): Likewise. (cris-*-linux*): Likewise. (fr30-*-elf): Likewise. (frv-*-elf, frv-*-*linux*): Likewise. (h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file. (iq2000*-*-elf*): Add t-fdpbit to tmake_file. (m32r-*-elf*): Likewise. (m32rle-*-elf*): Likewise. (m32r-*-linux*): Likewise. (m32rle-*-linux*): Likewise. (mcore-*-elf): Add t-fdpbit to tmake_file. (microblaze*-*-*): Likewise. (mips-sgi-irix6.5*): Add t-tpbit to tmake_file. (mips*-*-netbsd*): Add mips/t-mips to tmake_file. (mips64*-*-linux*): Also handle mipsisa64*-*-linux*. Fix typo. Add mips/t-tpbit to tmake-file. (mips*-*-linux*): Fix typo. (mips*-sde-elf*): New case Add mips/t-sdemtk unless using newlib. (mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file. (mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file. (mn10300-*-*): Likewise. (pdp11-*-*): Likewise. (picochip-*-*): Add t-fpbit to tmake_file. (powerpc-*-eabisimaltivec*): Likewise. (powerpc-*-eabisim*): Likewise. (powerpc-*-elf*): Likewise. (powerpc-*-eabialtivec*): Likewise. (powerpc-xilinx-eabi*): New case. Add t-fdpbit to tmake_file. (powerpc-*-eabi*): Add t-fdpbit to tmake_file. (powerpc-*-rtems*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to tmake_file. (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to tmake_file. (powerpc-*-lynxos*): Likewise. (powerpcle-*-elf*): Likewise. (powerpcle-*-eabisim*): Likewise. (powerpcle-*-eabi*): Likewise. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add t-fdpbit, rs6000/t-ppc64-fp to tmake_file. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. (rx-*-elf): Add t-fdpbit to tmake_file. (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*) (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*) (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*) (sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on sh*-*-netbsd*. (sh-*-rtems*): Add t-fdpbit to tmake_file. (sh-wrs-vxworks): Likewise. (sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file. (sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*. (sparc-*-rtems*, sparc64-*-rtems*): Split off ... (sparc64-*-rtems*): ... new case. (sparc-*-rtems*): Add t-fdpbit to tmake_file. (spu-*-elf*): Likewise. Add spu/t-elf to tmake_file. (v850*-*-*): Add t-fdpbit to tmake_file. (xstormy16-*-elf): Likewise. (am33_2.0-*-linux*): Add t-fdpbit to tmake_file. (mep*-*-*): Likewise. From-SVN: r177448
2011-08-05Makefile.in (UNWIND_H): Remove.Rainer Orth1-3/+0
gcc: * Makefile.in (UNWIND_H): Remove. (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to ../libgcc/Makefile.in. (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise. (LIBUNWINDDEP): Remove. (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies. (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL. (stmp-int-hdrs): Remove $(UNWIND_H) dependency. Don't copy $(UNWIND_H). * config.gcc (ia64*-*-linux*): Remove with_system_libunwind handling. * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove. * aclocal.m4: Regenerate. * configure: Regenerate. * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h, unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h, unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc. * unwind-dw2-fde-darwin.c: Move to ../libgcc/config. * config/arm/libunwind.S, config/arm/pr-support.c, config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to ../libgcc/config/arm. * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove. * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove. * config/frv/t-frv ($(T)frvbegin$(objext)): Use $(srcdir)/../libgcc to refer to unwind-dw2-fde.h. ($(T)frvend$(objext)): Likewise. * config/ia64/t-glibc (LIB2ADDEH): Remove. * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64. * config/ia64/fde-glibc.c, config/ia64/fde-vms.c, config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to ../libgcc/config/ia64. * config/ia64/t-hpux (LIB2ADDEH): Remove. * config/ia64/t-ia64 (LIB2ADDEH): Remove. * config/ia64/t-vms (LIB2ADDEH): Remove. * config/ia64/vms.h (UNW_IVMS_MODE, MD_UNW_COMPATIBLE_PERSONALITY_P): Remove. * config/picochip/t-picochip (LIB2ADDEH): Remove. * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove. * config/rs6000/t-darwin (LIB2ADDEH): Remove. * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000. * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use $(srcdir)/../libgcc to refer to unwinder sources. * config/spu/t-spu-elf (LIB2ADDEH): Remove. * config/t-darwin (LIB2ADDEH): Remove. * config/t-freebsd (LIB2ADDEH): Remove. * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove. * config/t-libunwind-elf: Move to ../libgcc/config. * config/t-linux (LIB2ADDEH): Remove. * config/t-sol2 (LIB2ADDEH): Remove. * config/xtensa/t-xtensa (LIB2ADDEH): Remove. * system.h (MD_FROB_UPDATE_CONTEXT): Poison. gcc/po: * EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c) (unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h) (unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove. libgcc: * Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New variables. (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables. (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c. (install-unwind_h): New target. (all): Depend on it. * config.host (unwind_header): New variable. (*-*-freebsd*): Set tmake_file to t-eh-dw2-dip. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu. (*-*-solaris2*): Add t-eh-dw2-dip to tmake_file. (arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi. Set unwind_header. (arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi. Set unwind_header. (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for arm*-*-eabi*. Add arm/t-symbian to tmake_file for arm*-*-symbianelf*. Set unwind_header. (ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to tmake_file. Add t-libunwind-elf, ia64/t-glibc-libunwind unless $with_system_libunwind. (ia64*-*-hpux*): Set tmake_file. (ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file. (picochip-*-*): Set tmake_file. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set md_unwind_header. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. (s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file. (xtensa*-*-elf*): Set tmake_file. (xtensa*-*-linux*): Likewise. * configure.ac: Include ../config/unwind_ipinfo.m4. Call GCC_CHECK_UNWIND_GETIPINFO. Link unwind.h to $unwind_header. * configure: Regenerate. * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h, unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h, unwind-pe.h, unwind-sjlj.c, unwind.inc: New files. * config/unwind-dw2-fde-darwin.c: New file. * config/arm/libunwind.S, config/arm/pr-support.c, config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c, config/arm/unwind-arm.h,: New files. * config/ia64/fde-glibc.c, config/ia64/fde-vms.c, config/ia64/t-eh-ia64, config/ia64/t-glibc, config/ia64/t-glibc-libunwind, config/ia64/t-hpux, config/ia64/t-vms, config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: New files. * config/picochip/t-picochip: New file. * config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New files. * config/rs6000/t-darwin (LIB2ADDEH): Set. * config/s390/t-tpf (LIB2ADDEH): Remove. * config/t-darwin (LIB2ADDEH): Set. * config/t-eh-dw2-dip: New file. * config/t-libunwind, config/t-libunwind-elf: New files. * config/t-sol2 (LIB2ADDEH): Remove. * config/xtensa/t-xtensa: New file. gcc/ada: * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc. libgo: * Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc. * Makefile.in: Regenerate. libjava: * configure.ac (GCC_UNWIND_INCLUDE): Rename to LIBGCC_UNWIND_INCLUDE. Point to $(multi_basedir)/./libjava/../libgcc. * configure: Regenerate. * Makefile.am (GCC_UNWIND_INCLUDE): Reflect this. * Makefile.in: Regenerate. libobjc: * Makefile.in (INCLUDES): Search $(srcdir)/$(MULTISRCTOP)../libgcc. libstdc++-v3: * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES to $(toplevel_srcdir)/libgcc. * configure: Regenerate. From-SVN: r177447
2011-08-01Add -mlzcnt.Kirill Yukhin1-2/+2
gcc/ 2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com> PR target/49547 * config.gcc (i[34567]86-*-*): Replace abmintrin.h with lzcntintrin.h. (x86_64-*-*): Likewise. * config/i386/i386.opt (mlzcnt): New. * config/i386/abmintrin.h: File removed. (__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ... * config/i386/lzcntintrin.h: ... here. New file. (__lzcnt): Rename to ... (__lzcnt32): ... this. * config/i386/bmiintrin.h (head): Update copyright year. (__lzcnt_u16): Removed. (__lzcnt_u32): Likewise. (__lzcnt_u64): Likewise. * config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__ is defined, remove abmintrin.h. * config/i386/cpuid.h (bit_LZCNT): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect LZCNT feature. * config/i386/i386-c.c (ix86_target_macros_internal): Define __LZCNT__ if needed. * config/i386/i386.c (ix86_target_string): New option -mlzcnt. (ix86_option_override_internal): Handle LZCNT option. (ix86_valid_target_attribute_inner_p): Likewise. (struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update. * config/i386/i386.h (TARGET_LZCNT): New. (CLZ_DEFINED_VALUE_AT_ZERO): Update. * config/i386/i386.md (clz<mode>2): Update insn constraint. (clz<mode>2_lzcnt): Likewise. * doc/invoke.texi: Mention -mlzcnt option. * doc/extend.texi: Likewise. gcc/testsuite/ 2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com> * gcc.target/i386/i386.exp (check_effective_target_lzcnt): New. * gcc.target/i386/lzcnt-1.c: New test. * gcc.target/i386/lzcnt-2.c: Likewise. * gcc.target/i386/lzcnt-2a.c: Likewise. * gcc.target/i386/lzcnt-3.c: Likewise. * gcc.target/i386/lzcnt-4.c: Likewise. * gcc.target/i386/lzcnt-4a.c: Likewise. * gcc.target/i386/lzcnt-5.c: Likewise. * gcc.target/i386/lzcnt-6.c: Likewise. * gcc.target/i386/lzcnt-6a.c: Likewise. * gcc.target/i386/lzcnt-check.h: Likewise. * gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * g++.dg/other/i386-2.C: Likewise. * g++.dg/other/i386-3.C: Likewise. From-SVN: r177034
2011-07-28Set need_64bit_hwint to yes for x86 targets.H.J. Lu1-4/+1
gcc/ 2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Set need_64bit_hwint to yes for x86 targets. libcpp/ 2011-07-28 H.J. Lu <hongjiu.lu@intel.com> * configure.ac: Set need_64bit_hwint to yes for x86 targets. * configure: Regenerated. From-SVN: r176871
2011-07-25re PR target/47124 (*solaris2 configurations configure, but don't build)Rainer Orth1-0/+1
PR target/47124 * config.gcc: Reject *-*-solaris2 configuration. From-SVN: r176751
2011-07-22config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes.Uros Bizjak1-8/+22
* config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes. From-SVN: r176628
2011-07-20config.gcc (mips*-*-linux*): Remove redundant tm_file entry.Robert Millan1-1/+1
gcc/ 2011-07-20 Robert Millan <rmh@gnu.org> * config.gcc (mips*-*-linux*): Remove redundant tm_file entry. From-SVN: r176535
2011-07-19gnu-user.h: Copy from linux.h.Robert Millan1-3/+3
gcc/ 2011-07-19 Robert Millan <rmh@gnu.org> * config/mips/gnu-user.h: Copy from linux.h. Update comments. (GLIBC_DYNAMIC_LINKER): Remove. * config/mips/gnu-user64.h: Copy from linux64.h. Update comments. (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64) (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) (BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove. (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32. * config/mips/linux.h: Remove everything except for ... (GLIBC_DYNAMIC_LINKER): ... this macro. * config/mips/linux64.h: Remove everything except for ... (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64) (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) (BIONIC_DYNAMIC_LINKERN32): ... these macros. (GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64) (GNU_USER_LINK_EMULATIONN32): New macros. * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* | mips-*-linux*): Use the new headers. From-SVN: r176479
2011-07-18re PR bootstrap/49769 (configuration mismatch -- extra parts)Rainer Orth1-7/+13
PR bootstrap/49769 * config.gcc (alpha*-*-linux*): Add crtfastmath.o to extra_parts. (alpha*-*-freebsd*): Likewise. (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Add crtprec32.o, crtprec64.o, crtprec80.o, crtfastmath.o to extra_parts for all targets. (ia64*-*-elf*): Remove extra_parts. (sparc-*-linux*): Add crtfastmath.o to extra_parts. (sparc64-*-linux*): Likewise. (sparc64-*-freebsd*): Likewise. Revert: * config.gcc (ia64*-*-freebsd*): Remove crtfastmath.o from extra_parts. (ia64*-*-linux*): Likewise. (mips64*-*-linux*): Likewise. (mips*-*-linux*): Likewise. From-SVN: r176406
2011-07-18re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global ↵Rainer Orth1-19/+0
const variables) toplevel: * configure: Regenerate. config: * elf.m4 (target_elf): Remove *-netware*. contrib: * config-list.mk (i586-netware): Remove. (.PHONY): Remove make-script-dir dependency. (make-script-dir): Remove. ($(LIST)): Remove make-script-dir dependency. gcc: * config.gcc (i[3456x]86-*-netware*): Remove. * gthr-nks.h: Remove. * configure.ac (enable_threads): Remove nks. * configure: Regenerate. * config/i386/i386.c (ix86_encode_section_info): Remove netware reference. * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove <netware.h> reference. * config/i386/netware-libgcc.c, gcc/config/i386/netware-libgcc.def, gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c, gcc/config/i386/netware.h, gcc/config/i386/netware.opt, gcc/config/i386/nwld.c, gcc/config/i386/nwld.h, gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove * doc/extend.texi (Function Attributes, callee_pop_aggregate_return): Remove i?86-netware reference. * doc/install.texi (Configuration, --enable-threads): Remove nks. gcc/testsuite: * g++.dg/ext/bitfield2.C: Remove i?86-*-netware support. * g++.dg/ext/bitfield3.C: Likewise. * g++.dg/ext/bitfield4.C: Likewise. * g++.dg/ext/bitfield5.C: Likewise. * g++.dg/other/PR23205.C: Remove *-*-netware* support. * g++.dg/other/pr23205-2.C: Likewise. * gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if. * gcc.c-torture/compile/20001109-2.c: Likewise. * gcc.dg/20040813-1.c: Remove *-*-netware* support. * gcc.dg/bitfld-15.c: Remove i?86-*-netware support. * gcc.dg/bitfld-16.c: Likewise. * gcc.dg/bitfld-17.c: Likewise. * gcc.dg/bitfld-18.c: Likewise. * gcc.dg/builtins-config.h: Remove Netware support. * gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number. * gcc.dg/cdce2.c: Likewise. * gcc.dg/cpp/assert4.c: Remove netware support. * gcc.dg/debug/pr35154.c: Remove *-*-netware* support. * gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support. * lib/target-supports.exp (check_visibility_available): Remove NetWare support. (check_profiling_available): Likewise. libgcc: * config.host (i[3456x]86-*-netware*): Remove. * config/i386/netware-crt0.c, config/i386/t-nwld, config/i386/t-slibgcc-nwld: Remove. libstdc++-v3: * crossconfig.m4 (*-netware): Remove. * configure: Regenerate. From-SVN: r176391
2011-07-15invoke.texi (C6X Options): New section.Bernd Schmidt1-1/+37
gcc/ * doc/invoke.texi (C6X Options): New section. * doc/md.texi (TI C6X family): New section. * config.gcc: Handle tic6x, in particular tic6x-*-elf and tic6x-*-uclinux. * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm, count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME): Provide C6X definitions. * config/c6x/c6x.md: New file. * config/c6x/constraints.md: New file. * config/c6x/predicates.md: New file. * config/c6x/c6x-sched.md.in: New file. * config/c6x/c6x-sched.md: New file. * config/c6x/gensched.sh: New file. * config/c6x/c6x-mult.md.in: New file. * config/c6x/genmult.sh: New file. * config/c6x/c6x-mult.md: New file. * config/c6x/sync.md: New file. * config/c6x/c6x-protos.h: New file. * config/c6x/sfp-machine.h: New file. * config/c6x/c6x.c: New file. * config/c6x/c6x.h: New file. * config/c6x/crti.s: New file. * config/c6x/crtn.s: New file. * config/c6x/lib1funcs.asm: New file. * config/c6x/c6x-modes.def: New file. * config/c6x/genopt.sh: New file. * config/c6x/c6x.opt: New file. * config/c6x/c6x-tables.opt: New file. * config/c6x/c6x-opts.h: New file. * config/c6x/c6x-isas.def: New file. * config/c6x/elf.h: New file. * config/c6x/elf-common.h: New file. * config/c6x/uclinux-elf.h: New file. * config/c6x/t-c6x: New file. * config/c6x/t-c6x-elf: New file. * config/c6x/t-c6x-uclinux: New file. * config/c6x/t-c6x-softfp: New file. * config/c6x/gtd.c: New file. * config/c6x/gtf.c: New file. * config/c6x/ltd.c: New file. * config/c6x/ltf.c: New file. * config/c6x/ged.c: New file. * config/c6x/gef.c: New file. * config/c6x/led.c: New file. * config/c6x/lef.c: New file. * config/c6x/eqd.c: New file. * config/c6x/eqf.c: New file. * config/c6x/libgcc-c6xeabi.ver: New file. contrib/ * gcc_update: Add C6X generated files. * contrib/config-list.mk: Add c6x-elf and c6x-uclinux. libgcc/ * config.host: Handle tic6x-*-*. * config/c6x/c6x-abi.h: New file. From-SVN: r176308
2011-07-13Restore bootstrap on Linux/x86.Rainer Orth1-0/+3
2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR bootstrap/49739 * config.gcc (extra_parts): Add crtprec32.o crtprec64.o crtp rec80.o crtfastmath.o for Linux/x86. From-SVN: r176261
2011-07-13crtprec.c: Move to ../libgcc/config/i386.Rainer Orth1-4/+4
gcc: * config/i386/crtprec.c: Move to ../libgcc/config/i386. * config/i386/t-crtpc: Remove. * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove. * config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from tmake_file. (x86_64-*-darwin*): Likewise. (i[34567]86-*-linux*): Likewise. (x86_64-*-linux*): Likewise. * config/i386/sol2.h (ENDFILE_SPEC): Redefine. Handle -mpc32, -mpc64, -mpc80. libgcc: * config/i386/crtprec.c: New file. * config/i386/t-crtpc: Use $(srcdir) to refer to crtprec.c. * config.host (i[34567]86-*-darwin*): Add i386/t-crtpc to tmake_file. Add crtprec32.o, crtprec64.o, crtprec80.o to extra_parts. (x86_64-*-darwin*): Likewise. (i[34567]86-*-solaris2*: Likewise. gcc/testsuite: * gcc.c-torture/execute/990127-2.x: Use -mpc64 on i?86-*-darwin*, i?86-*-solaris2*, x86_64-*-darwin*, x86_64-*-solaris2*. From-SVN: r176242
2011-07-13crtfastmath.c: Move to ../libgcc/config/alpha.Rainer Orth1-21/+10
gcc: * config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha. * config/alpha/t-crtfm: Remove. * config/i386/crtfastmath.c: Move to ../libgcc/config/i386. * config/i386/t-crtfm: Remove. * config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64. * config/mips/crtfastmath.c: Move to ../libgcc/config/mips. * config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc. * config/sparc/t-crtfm: Remove. * config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file. (alpha*-*-freebsd*): Likewise. (i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file. (x86_64-*-darwin*): Likewise. (i[34567]86-*-linux*): Likewise. (x86_64-*-linux*): Likewise. (x86_64-*-mingw*): Likewise. (ia64*-*-elf*): Remove crtfastmath.o from extra_parts. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Likewise. (mips64*-*-linux*): Likewise. (mips*-*-linux*): Likewise. (sparc-*-linux*): Remove sparc/t-crtfm from tmake_file. (sparc64-*-linux*): Likewise. (sparc64-*-freebsd*): Likewise. libgcc: * config/alpha/crtfastmath.c: New file. * config/i386/crtfastmath.c: New file. * config/ia64/crtfastmath.c: New file. * config/mips/crtfastmath.c: New file. * config/sparc/crtfastmath.c: New file. * config/t-crtfm (crtfastmath.o): Use $(srcdir) to refer to crtfastmath.c. Add -frandom-seed=gcc-crtfastmath. * config/alpha/t-crtfm: Remove. * config/i386/t-crtfm: Use $(srcdir) to refer to crtfastmath.c. * config/ia64/t-ia64 (crtfastmath.o): Remove. * config.host (alpha*-*-linux*): Replace alpha/t-crtfm by t-crtfm. (alpha*-dec-osf5.1*): Likewise. (alpha*-*-freebsd*): Add t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. (i[34567]86-*-darwin*): Add i386/t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. (x86_64-*-darwin*): Likewise. (x86_64-*-mingw*): Likewise. (ia64*-*-elf*): Add t-crtfm to tmake_file. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Likewise. (sparc64-*-freebsd*): Add t-crtfm to tmake_file. Add crtfastmath.o to extra_parts. From-SVN: r176241
2011-07-13darwin-crt2.c: Move to ../libgcc/config/rs6000.Rainer Orth1-2/+0
gcc: * config/darwin-crt2.c: Move to ../libgcc/config/rs6000. * config/darwin-crt3.c: Move to ../libgcc/config. * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove. ($(T)crt3$(objext)): Remove. * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove. ($(T)crt2$(objext)): Remove. * config.gcc (powerpc-*-darwin*): Remove extra_parts. (powerpc64-*-darwin*): Likewise. gcc/po: * EXCLUDES (config/darwin-crt2.c): Remove. libgcc: * config/darwin-crt3.o: New file. * config/rs6000/darwin-crt2.c: New file. * config/t-darwin: New file. * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New variable. (crt2.o): New rule. * config.host (*-*-darwin*): Add crt3.o to extra_parts. (powerpc-*-darwin*): Add crt2.o to extra_parts. (powerpc64-*-darwin*): Likewise. From-SVN: r176239
2011-07-13Makefile.in (CRT0STUFF_T_CFLAGS): Remove.Rainer Orth1-1/+0
gcc: * Makefile.in (CRT0STUFF_T_CFLAGS): Remove. ($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove. * config/i386/netware-crt0.c: Move to ../libgcc/config/i386. * config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove. (CRT0_S, MCRT0_S): Remove. ($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def): Remove. (s-crt0): Remove. * config.gcc (i[3456x]86-*-netware*): Remove extra_parts. libgcc: * config/i386/netware-crt0.c: New file. * config/i386/t-nwld: Rename to ... * config/i386/t-slibgcc-nwld: ... this. * config/i386/t-nwld: New file. * config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to tmake_file. Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to extra_parts. From-SVN: r176225
2011-07-12AMD bdver2 EnablementHarsha Jagasia1-8/+17
2011-07-12 Harsha Jagasia <harsha.jagasia@amd.com> AMD bdver2 Enablement * config.gcc (i[34567]86-*-linux* | ...): Add bdver2. (case ${target}): Add bdver2. * config/i386/driver-i386.c (host_detect_local_cpu): Let -march=native recognize bdver2 processors. * config/i386/i386-c.c (ix86_target_macros_internal): Add bdver2 def_and_undef * config/i386/i386.c (struct processor_costs bdver2_cost): New bdver2 cost table. (m_BDVER2): New definition. (m_AMD_MULTIPLE): Includes m_BDVER2. (initial_ix86_tune_features): Add bdver2 tuning. (processor_target_table): Add bdver2 entry. (static const char *const cpu_names): Add bdver2 entry. (ix86_option_override_internal): Add bdver2 instruction sets. (ix86_issue_rate): Add bdver2. (ix86_adjust_cost): Add bdver2. (has_dispatch): Add bdver2. * config/i386/i386.h (TARGET_BDVER2): New definition. (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver2. (enum processor_type): Add PROCESSOR_BDVER2. * config/i386/i386.md (define_attr "cpu"): Add bdver2. * config/i386/i386.opt ( mdispatch-scheduler): Add bdver2 to description. From-SVN: r176209
2011-07-11dfp-bit.c, dfp-bit.h: Move to ../libgcc.Rainer Orth1-5/+5
gcc: * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc. * config/t-dfprules: Move to ../libgcc/config. * config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file. (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise. (i[34567]86-*-cygwin*): Likewise. (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove. (libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS. libgcc: * dfp-bit.c, dfp-bit.h: New files. * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): New variables. ($(d32pbit-o)): Use $(srcdir) to refer to dfp-bit.c ($(d64pbit-o)): Likewise. ($(d128pbit-o)): Likewise. * config/t-dfprules: New file. * config.host (i[34567]86-*-linux*): Add t-dfprules to tmake_file. (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise. (x86_64-*-linux*): Likewise. (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise. (i[34567]86-*-cygwin*): Likewise. (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. From-SVN: r176156
2011-07-11config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build a bi-arch ↵Arthur Loiret1-0/+3
compiler defaulting to 31-bit. 2011-07-11 Arthur Loiret <aloiret@debian.org> * config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build a bi-arch compiler defaulting to 31-bit. In this case: (tmake_file): Add s390/t-linux64. * doc/install.texi: Add s390-linux to the list of targets supporting --enable-targets=all. From-SVN: r176146
2011-07-11config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all'...Arthur Loiret1-0/+5
2011-07-11 Arthur Loiret <aloiret@debian.org> Matthias Klose <doko@debian.org> * config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build a tri-arch compiler defaulting to 32-bit (ABI o32). In this case: (tm_file): Add mips/linux64.h. (tmake_file): Add mips/t-linux64. (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32. * config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT instead of hardcoded mabi=n32. * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc convention. Co-Authored-By: Matthias Klose <doko@debian.org> From-SVN: r176145
2011-07-07config.gcc (*local*): Remove.Joseph Myers1-11/+0
gcc: * config.gcc (*local*): Remove. * doc/install-old.texi: Don't mention local configurations. libgcc: * config.host (*local*): Remove. From-SVN: r175988
2011-07-07Initial x32 support.H.J. Lu1-0/+32
2011-07-07 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Support --with-multilib-list for x86 Linux targets. * configure.ac: Mention x86-64 for --with-multilib-list. * configure: Regenerated. * config/i386/gnu-user64.h (SPEC_64): Support x32. (SPEC_32): Likewise. (ASM_SPEC): Likewise. (LINK_SPEC): Likewise. (TARGET_THREAD_SSP_OFFSET): Likewise. (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise. (SPEC_X32): New. * config/i386/i386.h (TARGET_X32): New. (TARGET_LP64): New. (LONG_TYPE_SIZE): Likewise. (POINTER_SIZE): Likewise. (POINTERS_EXTEND_UNSIGNED): Likewise. (OPT_ARCH64): Support x32. (OPT_ARCH32): Likewise. * config/i386/i386.opt (mx32): New. * config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New. (GLIBC_DYNAMIC_LINKERX32): Likewise. * config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise. (GLIBC_DYNAMIC_LINKERX32): Likewise. * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New. (BIONIC_DYNAMIC_LINKERX32): Likewise. (GNU_USER_DYNAMIC_LINKERX32): Likewise. * config/i386/t-linux64: Support TM_MULTILIB_CONFIG. * doc/install.texi: Document --with-multilib-list for Linux/x86-64. * doc/invoke.texi: Document -mx32. From-SVN: r175984
2011-07-07common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on ↵Joseph Myers1-0/+1
TARGET_ASM_NAMED_SECTION. * common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on TARGET_ASM_NAMED_SECTION. * common/common-target.def (have_named_sections): Default to true. * common/config/default-common.c: Don't include tm.h. * common/config/picochip/picochip-common.c (TARGET_HAVE_NAMED_SECTIONS): Don't define. * common/config/m32c/m32c-common.c: Remove. * config.gcc (m32c*-*-*): Set target_has_targetm_common=no. * config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. * config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. * config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. * config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. * config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. * config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false. From-SVN: r175969
2011-07-07re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined ↵Rainer Orth1-2/+2
(only i386-solaris*).) gcc: PR target/39150 * configure.ac (gcc_cv_as_hidden): Also accept x86_64-*-solaris2.1[0-9]*. (gcc_cv_as_cfi_directive): Likewise. (gcc_cv_as_comdat_group_group): Likewise. (set_have_as_tls): Likewise. * configure: Regenerate. * config.gcc (i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*. * config.host (i[34567]86-*-solaris2*): Likewise. * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove. * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine. [USE_GLD] (ARCH_DEFAULT_EMULATION): Define. (TARGET_LD_EMULATION): Use it. * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define. (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default. * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define. (ASM_CPU64_DEFAULT_SPEC): Define. (ASM_CPU_SPEC): Use %(asm_cpu_default). (ASM_SPEC): Redefine. (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT. * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce. * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): Document. (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]* configuration. (Specific, x86_64-*-solaris2.1[0-9]*): Document. gcc/ada: PR target/39150 * gcc-interface/Makefile.in: Handle x86_64-solaris2. libgcc: PR target/39150 * config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]* like i?86-*-solaris2.1[0-9]*. (i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*. * configure.ac (i?86-*-solaris2*): Likewise. * configure: Regenerate. gcc/testsuite: PR target/39150 * gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*. toplevel: PR target/39150 * configure.ac (i[3456789]86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. * configure: Regenerate. boehm-gc: PR target/39150 * configure.ac (i?86-*-solaris2.[89]): Also accept x86_64-*-solaris2.1?. * configure: Regenerate. gnattools: PR target/39150 * configure.ac (*86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. * configure: Regenerate. libcpp: PR target/39150 * configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9] like i[34567]86-*-solaris2.1[0-9]*. * configure: Regenerate. libgo: PR target/39150 * config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like i?86-*-solaris*. * configure: Regenerate. libjava: PR target/39150 * configure.host (x86_64-*): Add -Usun to libgcj_flags. (x86_64-*-solaris2.1[0-9]*): New case. (i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. From-SVN: r175958
2011-07-01config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.Rainer Orth1-1/+3
* config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5. * doc/install.texi (Specific, alpha*-dec-osf5.1): Document it. (Specific, mips-sgi-irix6): Likewise. From-SVN: r175751
2011-07-01config.gcc (score-*-elf): Remove score7.o.Chen Liqin1-1/+0
2011-07-01 Chen Liqin <liqin.gcc@gmail.com> * config.gcc (score-*-elf): Remove score7.o. * config/score/t-score-elf: Likewise. * config/score/score.c: Merge score7 to score.c and remove forwarding functions. * config/score/score7.c: Deleted. * config/score/score7.h: Deleted. From-SVN: r175747
2011-06-28sol2-64.h (TARGET_DEFAULT): Remove.Rainer Orth1-1/+1
* config/sparc/sol2-64.h (TARGET_DEFAULT): Remove. (TARGET_64BIT_DEFAULT): Define. * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front of tm_file. * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define. From-SVN: r175593
2011-06-28config.gcc (tm_file): Add elfos.h and avr/elf.h for avr-*-* and avr-*-rtems* ↵Georg-Johann Lay1-2/+2
targets. * config.gcc (tm_file): Add elfos.h and avr/elf.h for avr-*-* and avr-*-rtems* targets. * config/avr/elf.h: New file. (ASM_OUTPUT_BEFORE_CASE_LABEL): Define. (TARGET_ASM_SELECT_SECTION): Define. (INIT_SECTION_ASM_OP): Undefine. (FINI_SECTION_ASM_OP): Undefine. (READONLY_DATA_SECTION_ASM_OP): Undefine. (PCC_BITFIELD_TYPE_MATTERS): Undefine. (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Undefine. * config/avr/avr.h: (PREFERRED_DEBUGGING_TYPE): Move to elf.h. (TARGET_ASM_NAMED_SECTION): Move to elf.h. (MAX_OFILE_ALIGNMENT): Move to elf.h. (STRING_LIMIT): Move to elf.h. (ASM_DECLARE_FUNCTION_NAME): Move to elf.h. (ASM_DECLARE_OBJECT_NAME): Remove. (ESCAPES): Remove. (ASM_OUTPUT_SKIP): Remove. (DWARF2_DEBUGGING_INFO): Remove. (OBJECT_FORMAT_ELF): Remove. (USER_LABEL_PREFIX): Remove. (ASM_OUTPUT_EXTERNAL): Remove. (ASM_OUTPUT_ASCII): Remove. (TYPE_ASM_OP): Remove. (SIZE_ASM_OP): Remove. (WEAK_ASM_OP): Remove. (STRING_ASM_OP): Remove. (SET_ASM_OP): Remove. (ASM_WEAKEN_LABEL): Remove. (TYPE_OPERAND_FMT): Remove. (ASM_DECLARE_FUNCTION_SIZE): Remove. (ASM_FINISH_DECLARE_OBJECT): Remove. (NO_DOLLAR_IN_LABEL): Remove. (ASM_GENERATE_INTERNAL_LABEL): Remove. (ASM_OUTPUT_CASE_LABEL): Remove. * config/avr/avr.c (avr_asm_output_aligned_decl_common): Use ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON. (gas_output_ascii): Remove. (gas_output_limited_string): Remove. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove. * config/avr/avr-protos.h (gas_output_ascii): Remove prototye. (gas_output_limited_string): Remove prototype. From-SVN: r175575
2011-06-27re PR target/44241 (vms-crtl.h, vms-crtl-64.h need many more symbols)Tristan Gingold1-0/+3
2011-06-27 Tristan Gingold <gingold@adacore.com> PR target/44241 * config/vms/vms-protos.h: New file. * config/vms/vms-crtlmap.map: New file. * config/vms/vms.c: New file. * config/vms/make-crtlmap.awk: New file. * config/vms/vms-crtl.h: File removed. * config/vms/vms-crtl-64.h: File removed. * config/vms/t-vms (vms-crtlmap.h, vms.o): New targets. * config/alpha/vms64.h: Do not include vms-crtl-64.h * config/alpha/alpha.c (alpha_init_builtins): Remove code to clear some builtins on VMS. Calls vms_patch_builtins. (avms_asm_output_external): Remove. * config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Remove. (struct crtl_name_spec): Remove (DO_CTRL_NAMES): Remove. * config/ia64/vms.h (struct crtl_name_spec): Remove (DO_CTRL_NAMES): Remove. * config/ia64/ia64.c (alpha_init_builtins): Remove code to clear some builtins on VMS. Calls vms_patch_builtins. (ia64_asm_output_external): Remove DO_CRTL_NAME. * config/ia64/vms64.h: Do not include vms-crtl-64.h * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles, tm_p_file. From-SVN: r175523
2011-06-22arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.Nathan Sidwell1-2/+14
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo. * config.gcc (arm*-*-linux*): Default to gnu tls. (arm*-*-*): Add --with-tls option. (all_defaults): Add 'tls'. From-SVN: r175298
2011-06-21gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.Joseph Myers1-0/+1
contrib: * gcc_update (gcc/config/avr/avr-tables.opt): New dependencies. gcc: * config/avr/avr-mcus.def, config/avr/genopt.sh: New files. * config/avr/avr-tables.opt: New file (generated). * config.gcc (avr-*-*): Use avr/avr-tables.opt. * config/avr/avr-devices.c (avr_mcu_types): Move contents to avr-mcus.def. * config/avr/avr.c (avr_help, TARGET_HELP): Remove. (avr_option_override): Don't process -mmcu= argument here. Set avr_current_device using avr_mcu_index. (avr_file_start): Use avr_current_device->name instead of avr_mcu_name. * config/avr/avr.opt (mmcu=): Use Enum. * config/avr/t-avr (avr-devices.o): Update dependencies. ($(srcdir)/config/avr/avr-tables.opt): New. * target.def (help): Remove. * doc/tm.texi.in (TARGET_HELP): Remove. * doc/tm.texi: Regenerate. * opts.c: Don't include target.h. (common_handle_option): Don't call targetm.help. * system.h (TARGET_HELP): Poison. * Makefile.in (opts.o): Update dependencies. From-SVN: r175248
2011-06-21usegld.h: New file.Rainer Orth1-68/+33
* config/usegld.h: New file. * config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove. (CPP_SUBTARGET_SPEC): Remove -compat-bsd support. (LIB_SPEC): Likewise. Search /lib. (LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support. (RDYNAMIC_SPEC): Handle GNU ld. [HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define. (SUPPORTS_INIT_PRIORITY): Only disable for Sun ld. (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define. [!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine. (STACK_CHECK_STATIC_BUILTIN): Define. * config/sol2.opt (compat-bsd): Remove. * config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef. * config/sol2-bi.h: New file. * config/sol2-gld.h: Remove. * config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS. (NO_DBX_BNSYM_ENSYM): Remove. (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove. (STACK_CHECK_STATIC_BUILTIN): Remove. Test USE_GLD instead of TARGET_GNU_LD. * config/i386/sol2-10.h: Rename to ... * config/i386/sol2-bi.h .. this. (SUBTARGET_EXTRA_SPECS): Redefine. (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove. (MULTILIB_DEFAULTS): Remove. (DEFAULT_ARCH32_P): Define. (LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove. (ARCH64_SUBDIR): Define. Test USE_GLD instead of TARGET_GNU_LD. (I386_EMULATION): Rename to ... (ARCH32_EMULATION): ... this. (X86_64_EMULATION): Rename to ... (ARCH64_EMULATION): ... this. (TARGET_LD_EMULATION): Remove. (LINK_ARCH_SPEC): Remove. * config/i386/sol2-gas.h: Remove. * config/i386/t-sol2-10: Rename to ... * config/i386/t-sol2-64: ... this. * config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine. (AS_SPARC64_FLAG): Define. (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine. (CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine depending on TARGET_CPU_DEFAULT. (CPP_CPU_SPEC): Redefine. (ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P. (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine. (CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine. (ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC, ASM_ARCH_DEFAULT_SPEC): Redefine. (SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, LINK_ARCH_DEFAULT_SPEC. [USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define. [USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine. (ARCH64_SUBDIR): Define. (LINK_ARCH64_SPEC): Redefine. (CC1_SPEC): Redefine. (OPTION_DEFAULT_SPECS): Redefine. (MULTILIB_DEFAULTS): Define. (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine. [USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine. [USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef. (NO_DBX_BNSYM_ENSYM): Remove. (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove. (ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS. (TARGET_ASM_NAMED_SECTION): Likewise. (STACK_CHECK_STATIC_BUILTIN): Remove. * config/sparc/sol2-bi.h: Remove. * config/sparc/sol2-gas-bi.h: Remove. * config/sparc/sol2-gas.h: Remove. * config/sparc/sol2-gld-bi.h: Remove. * config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move common parts ... (*-*-solaris2*): ... here. From-SVN: r175245
2011-06-16re PR target/49427 (v850e-elf wants 850e/v850e-common.c)Nick Clifton1-6/+3
PR target/49427 * config.gcc: Set cpu_type to v850 for any V850 architecture. (v850*-*-*): Delete explicit setting of tm_p_file, tmake_file, md_file, extra_modes, out_file and extra_options are these are all deduced from cpu_type. From-SVN: r175100
2011-06-15target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to common/common-target-def.h.Joseph Myers1-2/+2
* target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to common/common-target-def.h. * target.def (default_target_flags, handle_option, supports_split_stack, optimization_table, init_struct, except_unwind_info, unwind_tables_default, have_named_sections): Move to common/common-target.def. * target.h (enum opt_levels, struct default_options): Move to common/common-target.h. * targhooks.c (default_except_unwind_info, dwarf2_except_unwind_info, sjlj_except_unwind_info, default_target_handle_option, empty_optimization_table): Move to common/common-targhooks.c. * targhooks.h (default_except_unwind_info, dwarf2_except_unwind_info, sjlj_except_unwind_info, default_target_handle_option, empty_optimization_table): Move to common/common-targhooks.h. * common/common-target-def.h: Include common/common-targhooks.h. (TARGET_HAVE_NAMED_SECTIONS): Define if TARGET_ASM_NAMED_SECTION defined. * common/common-target.def (handle_option, option_init_struct, option_optimization_table, default_target_flags, except_unwind_info, supports_split_stack, unwind_tables_default, have_named_sections): Move from target.def. (HOOK_PREFIX): Undefine at end of file. * common/common-target.h: Include input.h. (enum opt_levels, struct default_options): Move from target.h. * common/common-targhooks.c, common/common-targhooks.h: New. * config.gcc (target_has_targetm_common): Default to yes. (moxie*): Set target_has_targetm_common=no. (hppa*-*-*): Don't set target_has_targetm_common=yes. * doc/tm.texi: Regenerate. * Makefile.in (COMMON_TARGET_H): Add $(INPUT_H). (C_TARGET_DEF_H): Add common/common-targhooks.h. (GCC_OBJS): Remove vec.o. (OBJS): Remove hooks.o and vec.o. (OBJS-libcommon-target): Add vec.o, hooks.o and common/common-targhooks.o. (c-family/c-common.o, c-family/c-cppbuiltin.o, lto-opts.o, tree.o, tree-tailcall.o, opts.o, toplev.o, varasm.o, function.o, except.o, expr.o, explow.o, dbxout.o, dwarf2out.o, cfgrtl.o, haifa-sched.o, cfglayout.o, $(out_object_file), $(common_out_object_file)): Update dependencies. (common/common-targhooks.o): New. * common/config/default-common.c: Include tm.h. Add FIXME comment. * common/config/pa/pa-common.c: Include more headers. Take copyright dates from pa.c. (pa_option_optimization_table, pa_handle_option, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move from pa.c. * common/config/alpha/alpha-common.c, common/config/arm/arm-common.c, common/config/avr/avr-common.c, common/config/bfin/bfin-common.c, common/config/cris/cris-common.c, common/config/fr30/fr30-common.c, common/config/frv/frv-common.c, common/config/h8300/h8300-common.c, common/config/i386/i386-common.c, common/config/ia64/ia64-common.c, common/config/iq2000/iq2000-common.c, common/config/lm32/lm32-common.c, common/config/m32c/m32c-common.c, common/config/m32r/m32r-common.c, common/config/m68k/m68k-common.c, common/config/mcore/mcore-common.c, common/config/mep/mep-common.c, common/config/microblaze/microblaze-common.c, common/config/mips/mips-common.c, common/config/mmix/mmix-common.c, common/config/mn10300/mn10300-common.c, common/config/pdp11/pdp11-common.c, common/config/picochip/picochip-common.c, common/config/rs6000/rs6000-common.c, common/config/rx/rx-common.c, common/config/s390/s390-common.c, common/config/score/score-common.c, common/config/sh/sh-common.c, common/config/sparc/sparc-common.c, common/config/spu/spu-common.c, common/config/v850/v850-common.c, common/config/vax/vax-common.c, common/config/xstormy16/xstormy16-common.c, common/config/xtensa/xtensa-common.c: New. * config/alpha/alpha.c: Include common/common-target.h. (alpha_option_optimization_table, alpha_handle_option, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to alpha-common.c. * config/arm/arm-protos.h (arm_except_unwind_info): Declare. * config/arm/arm.c (arm_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO, arm_except_unwind_info): Move to arm-common.c. * config/avr/avr.c (avr_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to avr-common.c. * config/bfin/bfin.c (struct bfin_cpu): Move to bfin.h. (bfin_cpus, bfin_handle_option, TARGET_HANDLE_OPTION, TARGET_DEFAULT_TARGET_FLAGS): Move to bfin-common.c. * config/bfin/bfin.h struct bfin_cpu): Move from bfin.c. * config/cris/cris.c (cris_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, cris_handle_option): Move to cris-common.c. * config/fr30/fr30.c (fr30_option_optimization_table, TARGET_EXCEPT_UNWIND_INFO, TARGET_OPTION_OPTIMIZATION_TABLE): Move to fr30-common.c. * config/frv/frv.c (frv_option_optimization_table, MASK_DEFAULT_ALLOC_CC, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE): Move to frv-common.c. * config/h8300/h8300.c (h8300_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to h8300-common.c. * config/i386/i386-protos.h (ix86_handle_option): Declare. * config/i386/i386.c: Include common/common-target.h. (OPTION_MASK_ISA_MMX_SET, OPTION_MASK_ISA_3DNOW_SET, OPTION_MASK_ISA_SSE_SET, OPTION_MASK_ISA_SSE2_SET, OPTION_MASK_ISA_SSE3_SET, OPTION_MASK_ISA_SSSE3_SET, OPTION_MASK_ISA_SSE4_1_SET, OPTION_MASK_ISA_SSE4_2_SET, OPTION_MASK_ISA_AVX_SET, OPTION_MASK_ISA_FMA_SET, OPTION_MASK_ISA_SSE4_SET, OPTION_MASK_ISA_SSE4A_SET, OPTION_MASK_ISA_FMA4_SET, OPTION_MASK_ISA_XOP_SET, OPTION_MASK_ISA_LWP_SET, OPTION_MASK_ISA_AES_SET, OPTION_MASK_ISA_PCLMUL_SET, OPTION_MASK_ISA_ABM_SET, OPTION_MASK_ISA_BMI_SET, OPTION_MASK_ISA_TBM_SET, OPTION_MASK_ISA_POPCNT_SET, OPTION_MASK_ISA_CX16_SET, OPTION_MASK_ISA_SAHF_SET, OPTION_MASK_ISA_MOVBE_SET, OPTION_MASK_ISA_CRC32_SET, OPTION_MASK_ISA_FSGSBASE_SET, OPTION_MASK_ISA_RDRND_SET, OPTION_MASK_ISA_F16C_SET, OPTION_MASK_ISA_MMX_UNSET, OPTION_MASK_ISA_3DNOW_UNSET, OPTION_MASK_ISA_3DNOW_A_UNSET, OPTION_MASK_ISA_SSE_UNSET, OPTION_MASK_ISA_SSE2_UNSET, OPTION_MASK_ISA_SSE3_UNSET, OPTION_MASK_ISA_SSSE3_UNSET, OPTION_MASK_ISA_SSE4_1_UNSET, OPTION_MASK_ISA_SSE4_2_UNSET, OPTION_MASK_ISA_AVX_UNSET, OPTION_MASK_ISA_FMA_UNSET, OPTION_MASK_ISA_SSE4_UNSET, OPTION_MASK_ISA_SSE4A_UNSET, OPTION_MASK_ISA_FMA4_UNSET, OPTION_MASK_ISA_XOP_UNSET, OPTION_MASK_ISA_LWP_UNSET, OPTION_MASK_ISA_AES_UNSET, OPTION_MASK_ISA_PCLMUL_UNSET, OPTION_MASK_ISA_ABM_UNSET, OPTION_MASK_ISA_BMI_UNSET, OPTION_MASK_ISA_TBM_UNSET, OPTION_MASK_ISA_POPCNT_UNSET, OPTION_MASK_ISA_CX16_UNSET, OPTION_MASK_ISA_SAHF_UNSET, OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_CRC32_UNSET, OPTION_MASK_ISA_FSGSBASE_UNSET, OPTION_MASK_ISA_RDRND_UNSET, OPTION_MASK_ISA_F16C_UNSET, ix86_handle_option, ix86_option_optimization_table, ix86_option_init_struct, ix86_supports_split_stack, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT, TARGET_SUPPORTS_SPLIT_STACK): Move to i386-common.c. * config/i386/t-i386 (i386.o): Update dependencies. * config/ia64/ia64-protos.h (ia64_except_unwind_info): Declare. * config/ia64/ia64.c (ia64_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, ia64_handle_option): Move to ia64-common.c. * config/iq2000/iq2000.c (iq2000_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE): Move to iq2000-common.c. * config/lm32/lm32.c (lm32_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to lm32-common.c. * config/m32c/m32c.c (TARGET_HAVE_NAMED_SECTIONS): Move to m32c-common.c. * config/m32r/m32r.c (m32r_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO, m32r_handle_option): Move to m32r-common.c. (m32r_memory_move_cost): Remove comment referring to TARGET_HANDLE_OPTION. * config/m68k/m68k.c (TARGET_HANDLE_OPTION, m68k_handle_option): Move to m68k-common.c. * config/mcore/mcore.c (mcore_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to mcore-common.c. * config/mep/mep.c (mep_option_optimization_table, mep_handle_option, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS): Move to mep-common.c. * config/microblaze/microblaze.c (microblaze_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to microblaze-common.c. * config/mips/mips.c (mips_handle_option, mips_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move to mips-common.c. * config/mmix/mmix.c (mmix_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE): Move to mmix-common.c. * config/mn10300/mn10300.c (mn10300_option_optimization_table, mn10300_handle_option, TARGET_EXCEPT_UNWIND_INFO, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to mn10300-common.c. * config/pa/pa.c: Include common/common-target.h. (pa_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, pa_handle_option): Move to pa-common.c. (pa_option_override): Use targetm_common.except_unwind_info. (pa_asm_output_mi_thunk, pa_function_section): Use targetm_common.have_named_sections. * config/pdp11/pdp11.c (pdp11_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT, pdp11_handle_option, pdp11_option_init_struct): Move to pdp11-common.c. * config/picochip/picochip.c (picochip_option_optimization_table, TARGET_HAVE_NAMED_SECTIONS, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to picochip-common.c. * config/rs6000/rs6000.c: Include common/common-target.h. (rs6000_option_optimization_table, TARGET_HANDLE_OPTION, TARGET_OPTION_INIT_STRUCT, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS, rs6000_option_init_struct, rs6000_handle_option): Move to rs6000-common.c. * config/rs6000/t-rs6000 (rs6000.o): Update dependencies. * config/rx/rx.c (rx_handle_option, rx_option_optimization_table, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move to rx-common.c. * config/s390/s390.c (processor_flags_table, s390_option_optimization_table, s390_option_init_struct, s390_handle_option, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT): Move to s390-common.c. * config/s390/s390.h (processor_flags_table): Declare. * config/score/score.c (score_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE, MASK_ALL_CPU_BITS, score_handle_option): Move to score-common.c. * config/sh/sh.c (sh_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, sh_handle_option, sh_option_init_struct): Move to sh-common.c. * config/sparc/sparc.c: Include common/common-target.h. (sparc_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE): Move to sparc-common.c. * config/spu/spu.c (TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_INIT_STRUCT, TARGET_EXCEPT_UNWIND_INFO, spu_option_init_struct): Move to spu-common.c. * config/stormy16/stormy16.c (xstorym16_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE): Move to xstormy16-common.c. * config/v850/v850.c (small_memory_physical_max, v850_handle_memory_optionn v850_handle_option, v850_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to v850-common.c. * config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Move to vax-common.c. * config/xtensa/xtensa.c (xtensa_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE): Move to xtensa-common.c. * cfglayout.c: Include common/common-target.h. (fixup_reorder_chain): Use targetm_common.have_named_sections. * cfgrtl.c: Include common/common-target.h. (force_nonfallthru_and_redirect, commit_one_edge_insertion): Use targetm_common.have_named_sections. * dbxout.c: Include common/common-target.h. (dbxout_function_end): Use targetm_common.have_named_sections. * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Use targetm_common.except_unwind_info. * dwarf2out.c: Include common/common-target.h. (dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue, dwarf2out_frame_init, dwarf2out_frame_finish, dwarf2out_assembly_start): Use targetm_common.except_unwind_info. * except.c: Include common/common-target.h. (init_eh, finish_eh_generation, output_one_function_exception_table): Use targetm_common.except_unwind_info. (switch_to_exception_section): Use targetm_common.have_named_sections. * explow.c: Include common/common-target.h. * expr.c: Include common/common-target.h. (build_personality_function): Use targetm_common.except_unwind_info. * function.c: Include common/common-target.h. (expand_function_end): Use targetm_common.except_unwind_info. * haifa-sched.c: Include common/common-target.h. (sched_create_recovery_edges): Use targetm_common.have_named_sections. * lto-opts.c: Include common/common-target.h instead of target.h. (lto_reissue_options): Use targetm_common.handle_option. * opts.c: Include common/common-target.h. (target_handle_option): Use targetm_common.handle_option. (init_options_struct): Update comment referring to targetm.target_option.optimization. Use targetm_common.default_target_flags, targetm_common.unwind_tables_default and targetm_common.option_init_struct. (default_options_optimization): Use targetm_common.option_optimization_table. (finish_options): Use targetm_common.except_unwind_info, targetm_common.unwind_tables_default, targetm_common.have_named_sections and targetm_common.supports_split_stack. * toplev.c: Include common/common-target.h. (process_options): Use targetm_common.have_named_sections. * tree-tailcall.c: Include common/common-target.h. (suitable_for_tail_call_opt_p): Use targetm_common.except_unwind_info. * tree.c: Include common/common-target.h. (build_common_builtin_nodes): Use targetm_common.except_unwind_info. * varasm.c: Include common/common-target.h. (resolve_unique_section, hot_function_section, default_function_section): Use targetm_common.have_named_sections. ada: * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o. (ada/utils.o): Update dependencies. * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add ../../../libcpp/libcpp.a. * gcc-interface/utils.c: Include common/common-target.h. (process_attributes): Use targetm_common.have_named_sections. c-family: * c-common.c: Include common/common-target.h. (handle_section_attribute): Use targetm_common.have_named_sections. * c-cppbuiltin.c: Include common/common-target.h. (c_cpp_builtins): Use targetm_common.except_unwind_info. cp: * Make-lang.in (cp/method.o): Update dependencies. * method.c: Include common/common-target.h. (use_thunk): Use targetm_common.have_named_sections. go: * Make-lang.in (go/go-lang.o, go/go-backend.o): Update dependencies. * go-backend.c: Include common/common-target.h. (go_write_export_data): Use targetm_common.have_named_sections. * go-lang.c: Include common/common-target.h. (go_langhook_init_options_struct): Use targetm_common.supports_split_stack. po: * exgettext: Handle common/ directory and subdirectories. From-SVN: r175064
2011-06-14common-target-def.h, [...]: New files.Joseph Myers1-0/+17
* common/common-target-def.h, common/common-target.def, common/common-target.h, common/config/default-common.c, common/config/pa/pa-common.c: New files. * Makefile.in (common_out_file, common_out_object_file, COMMON_TARGET_H, COMMON_TARGET_DEF_H): New. (OBJS-libcommon-target): Include $(common_out_object_file). (prefix.o): Update dependencies. ($(common_out_object_file), common/common-target-hooks-def.h, s-common-target-hooks-def-h): New. (s-tm-texi): Also check timestamp on common-target.def. (build/genhooks.o): Update dependencies. * config.gcc (common_out_file, target_has_targetm_common): Define. * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with TARGET_ALWAYS_STRIP_DOTDOT. * configure.ac (common_out_object_file): Define. (common_out_file, common_out_object_file): Substitute. (common): Create directory. * configure: Regenerate. * doc/tm.texi.in (targetm_common): Document. (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry. * doc/tm.texi: Regenerate. * genhooks.c (hook_array): Also include common/common-target.def. * prefix.c (tm.h): Don't include. (common/common-target.h): Include. (ALWAYS_STRIP_DOTDOT): Don't define. (update_path): Use targetm_common.always_strip_dotdot instead of ALWAYS_STRIP_DOTDOT. * system.h (ALWAYS_STRIP_DOTDOT): Poison. From-SVN: r175052