summaryrefslogtreecommitdiffstats
path: root/gcc/config.gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* 2008-06-15 Mark Shinwell <shinwell@codesourcery.com>mkuvyrkov2008-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nathan Sidwell <nathan@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes. * config/mips/mips-protos.h (mips_expand_vector_init): New. * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F builtins. * config/mips/mips.c (mips_split_doubleword_move): Handle new modes. (mips_hard_regno_mode_ok_p): Allow 64-bit vector modes for Loongson. (mips_vector_mode_supported_p): Add V2SImode, V4HImode and V8QImode cases. (LOONGSON_BUILTIN, LOONGSON_BUILTIN_ALIAS): New. (CODE_FOR_loongson_packsswh, CODE_FOR_loongson_packsshb, (CODE_FOR_loongson_packushb, CODE_FOR_loongson_paddw, (CODE_FOR_loongson_paddh, CODE_FOR_loongson_paddb, (CODE_FOR_loongson_paddsh, CODE_FOR_loongson_paddsb) (CODE_FOR_loongson_paddush, CODE_FOR_loongson_paddusb) (CODE_FOR_loongson_pmaxsh, CODE_FOR_loongson_pmaxub) (CODE_FOR_loongson_pminsh, CODE_FOR_loongson_pminub) (CODE_FOR_loongson_pmulhuh, CODE_FOR_loongson_pmulhh) (CODE_FOR_loongson_biadd, CODE_FOR_loongson_psubw) (CODE_FOR_loongson_psubh, CODE_FOR_loongson_psubb) (CODE_FOR_loongson_psubsh, CODE_FOR_loongson_psubsb) (CODE_FOR_loongson_psubush, CODE_FOR_loongson_psubusb) (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw) (CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh) (CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): New. (mips_builtins): Add Loongson builtins. (mips_loongson_2ef_bdesc): New. (mips_bdesc_arrays): Add mips_loongson_2ef_bdesc. (mips_builtin_vector_type): Handle unsigned versions of vector modes. (MIPS_ATYPE_UQI, MIPS_ATYPE_UDI, MIPS_ATYPE_V2SI, MIPS_ATYPE_UV2SI) (MIPS_ATYPE_V4HI, MIPS_ATYPE_UV4HI, MIPS_ATYPE_V8QI, MIPS_ATYPE_UV8QI): New. (mips_expand_vector_init): New. * config/mips/mips.h (HAVE_LOONGSON_VECTOR_MODES): New. (TARGET_CPU_CPP_BUILTINS): Define __mips_loongson_vector_rev if appropriate. * config/mips/mips.md: Add unspec numbers for Loongson builtins. Include loongson.md. (MOVE64): Include Loongson vector modes. (SPLITF): Include Loongson vector modes. (HALFMODE): Handle Loongson vector modes. * config/mips/loongson.md: New. * config/mips/loongson.h: New. * config.gcc: Add loongson.h header for mips*-*-* targets. * doc/extend.texi (MIPS Loongson Built-in Functions): New. 2008-06-15 Mark Shinwell <shinwell@codesourcery.com> * lib/target-supports.exp (check_effective_target_mips_loongson): New. * gcc.target/mips/loongson-simd.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136800 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (arc-*-elf*, avr-*-*, fr30-*-elf, frv-*-elf,jsm282008-06-141-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | h8300-*-elf*, h8300-*-*, i[34567]86-*-elf*, x86_64-*-elf*, i[34567]86-*-aout*, i[34567]86-*-coff*, ia64*-*-elf*, iq2000*-*-elf*, m32r-*-elf*, m32rle-*-elf*, m32r-*-linux*, m32rle-*-linux*, m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*, m68k-*-coff*, mcore-*-elf, mcore-*-pe*, mipsisa64sr71k-*-elf*, mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*, mips-*-elf* | mipsel-*-elf*, mips64-*-elf* | mips64el-*-elf*, mips64vr-*-elf* | mips64vrel-*-elf*, mips64orion-*-elf* | mips64orionel-*-elf*, mipstx39-*-elf* | mipstx39el-*-elf*, mn10300-*-*, pdp11-*-, powerpc-*-elf*, powerpcle-*-elf*, sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* | sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-*, sparc-*-elf*, sparc64-*-elf*, v850e1-*-*, v850e-*-*, v850-*-*, xstormy16-*-elf, m32c-*-elf*): Remove use_fixproto=yes. (ia64*-*-hpux*): Remove comment about using fixproto. (m68k-*-uclinuxoldabi*, m68k-*-uclinux*): Remove use_fixproto=no. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136783 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64jsm282008-06-111-11/+34
| | | | | | | | | | | | | | | | | | | tune_32 tune_64. (i[34567]86-*-* | x86_64-*-*): Add arch_32 arch_64 cpu_32 cpu_64 tune_32 tune_64 to supported_defaults. Allow values not supporting 64-bit mode for arch_32, cpu_32 and tune_32 for x86_64. Do not override cpu_32 or cpu_64 values from target name. (i[34567]86-*-linux*, i[34567]86-*-solaris2.1[0-9]*): Only default with_cpu_64 to generic for 64-bit-supporting configurations, not with_cpu. Remove FIXMEs. * doc/install.texi (--with-cpu-32, --with-cpu-64, --with-arch-32, --with-arch-64, --with-tune-32, --with-tune-64): Document. * config/i386/i386.h (OPT_ARCH32, OPT_ARCH64): Define. (OPTION_DEFAULT_SPECS): Add tune_32, tune_64, cpu_32, cpu_64, arch_32 and arch_64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136674 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix config.gcc shell script lossagemeissner2008-06-091-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136596 138bc75d-0d04-0410-961f-82ee72b054a4
* * MAINTAINERS (mt port): Remove.jsm282008-06-071-375/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (sco5, unixware, sco udk): Remove. (Kean Johnston): Add to Write After Approval. fixincludes: * inclhack.def (AAB_svr4_replace_byteorder, AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory, libc1_G_va_list, libc1_ifdefd_memx, nested_motorola, ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime, solaris_mutex_init_1, solaris_socket, solaris_unistd, solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param, ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale, ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc, ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings, ultrix_strings2, ultrix_sys_time, ultrix_unistd, unicosmk_restrict, uw7_byteorder_fix, windiss_math1, windiss_math2, windiss_valist): Remove. * fixincl.x: Regenerate. * mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*, i370-*-openedition, i?86-*-moss*, i?86-*-uwin*, powerpc-*-eabiaix*): Remove. * tests/base/math.h: Update. * tests/base/pthread.h: Update. * tests/base/stdio.h: Update. * tests/base/stdlib.h: Update. * tests/base/string.h: Update. * tests/base/strings.h: Update. * tests/base/sys/file.h: Update. * tests/base/sys/limits.h: Update. * tests/base/sys/socket.h: Update. * tests/base/sys/stat.h: Update. * tests/base/sys/time.h: Update. * tests/base/testing.h: Update. * tests/base/unistd.h: Update. * tests/base/_G_config.h: Remove. * tests/base/arpa: Remove directory. * tests/base/fs: Remove directory. * tests/base/locale.h: Remove. * tests/base/machine: Remove directory. * tests/base/rpc/svc.h: Remove. * tests/base/sys/ioctl.h: Remove. * tests/base/sys/regset.h: Remove. * tests/base/sys/times.h: Remove. * tests/base/sys/utsname.h: Remove. * tests/base/widec.h: Remove. gcc: * config.gcc (Obsolete configurations): Remove list of configurations. (Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other targets matched by those patterns. (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*, alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf, arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*, hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*, i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*, mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*, powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*, powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*, strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*, xscale-*-elf, xscale-*-coff, i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove. Make code for Solaris 7 and greater unconditional for Solaris. (ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*): Remove --with-* handling. * config/rs6000/sysv4.h (-mwindiss): Remove from all specs. (LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC, ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC, LINK_OS_WINDISS_SPEC): Remove. * config/rs6000/sysv4.opt (mwindiss): Remove. * configure.ac (strongarm*-*-*, xscale*-*-*): Remove. * configure: Regenerate. * doc/cpp.texi: Don't mention BeOS. * doc/extend.texi (interrupt): Don't mention MS1. * doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv, m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv, alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout, i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4, powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix): Remove. * doc/invoke.texi (MT Options): Remove. (-mwindiss): Remove. (CRIS Options): Remove cris-axis-aout references. (HPPA Options): Don't mention hppa1.1-*-pro. * doc/md.texi: (MorphoTech family): Remove. * libgcc2.c: Don't handle UWIN. * config/alpha/t-unicosmk: Remove. * config/alpha/unicosmk.h: Remove. * config/arm/kaos-arm.h: Remove. * config/arm/kaos-strongarm.h: Remove. * config/arm/strongarm-coff.h: Remove. * config/arm/strongarm-elf.h: Remove. * config/arm/strongarm-pe.h: Remove. * config/arm/t-strongarm-pe: Remove. * config/arm/t-xscale-coff: Remove. * config/arm/t-xscale-elf: Remove. * config/arm/xscale-coff.h: Remove. * config/arm/xscale-elf.h: Remove. * config/chorus.h: Remove. * config/cris/aout.h: Remove. * config/cris/aout.opt: Remove. * config/cris/t-aout: Remove. * config/i386/beos-elf.h: Remove. * config/i386/kaos-i386.h: Remove. * config/i386/ptx4-i.h: Remove. * config/i386/sco5.h: Remove. * config/i386/sco5.opt: Remove. * config/i386/sysv4-cpp.h: Remove. * config/i386/sysv5.h: Remove. * config/i386/t-beos: Remove. * config/i386/t-sco5: Remove. * config/i386/t-uwin: Remove. * config/i386/uwin.asm: Remove. * config/i386/uwin.h: Remove. * config/kaos.h: Remove. * config/mips/windiss.h: Remove. * config/mt: Remove directory. * config/pa/pa-osf.h: Remove. * config/pa/pa-pro-end.h: Remove. * config/pa/t-pro: Remove. * config/ptx4.h: Remove. * config/rs6000/beos.h: Remove. * config/rs6000/kaos-ppc.h: Remove. * config/rs6000/t-beos: Remove. * config/rs6000/windiss.h: Remove. * config/sh/kaos-sh.h: Remove. * config/sol2-6.h: Remove. * config/sparc/sol26-sld.h: Remove. * config/sparc/sysv4-only.h: Remove. * config/vax/bsd.h: Remove. * config/vax/t-memfuncs: Remove. * config/vax/ultrix.h: Remove. * config/vax/vaxv.h: Remove. * config/windiss.h: Remove. gcc/testsuite: * g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*. * g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*. * g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris 7. * gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*, strongarm*-*-* and cris-*-aout*. * gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20030909-1.c: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20031108-1.c: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20040813-1.c: Don't handle *-*-sysv5*. * gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*. * gcc.dg/arm-scd42-1.c: Use target arm*-*-*. * gcc.dg/arm-scd42-3.c: Use target arm*-*-*. * gcc.dg/cpp/assert4.c: Don't handle BeOS. * gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*. * gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and xscale*-*-elf*. * gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*. * gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1. * gcc.misc-tests/arm-isr.exp: Use target arm*-*-*. * gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*. * gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*. * gcc.target/powerpc/ppc-stackalign-1.c: Don't handle powerpc-*-sysv*. * gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*. * lib/target-supports.exp: Don't handle strongarm*-*-elf, xscale*-*-elf and *-*-windiss. * obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*. * objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*. * objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*. * gcc.dg/mt-loopi1.c: Remove. gnattools: * configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove. * configure: Regenerate. libcpp: * configure.ac (parisc*64*-*-*): Remove. * configure: Regenerate. libffi: * configure.ac (parisc*-*-linux*, powerpc-*-sysv*, powerpc-*-beos*): Remove. * configure: Regenerate. libgcc: * config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*, alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf, arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*, hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*, i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*, mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*, powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*, powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*, strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove. libjava: * configure.host (strongarm*-elf, xscale*-elf): Remove. libstdc++-v3: * configure.host (xscale, ep9312, m680[246]0, solaris2.5, solaris2.5.[0-9], solaris2.6, windiss*): Remove. * crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove. * configure: Regenerate. * config/os/solaris/solaris2.5: Remove directory. * config/os/solaris/solaris2.6: Remove directory. * config/os/windiss: Remove directory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136534 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (powerpc-*-linux*spe*): Use t-dfprules.jsm282008-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): Do not enable for TARGET_E500_DOUBLE. (*movdd_softfloat32): Also enable for !TARGET_FPRS. * config/rs6000/rs6000.c (invalid_e500_subreg): Treat decimal floating-point modes like integer modes for E500 double. (rs6000_legitimate_offset_address_p): Likewise. (rs6000_legitimize_address): Likewise. Do not allow REG+REG addressing for DDmode for E500 double. (rs6000_hard_regno_nregs): Do not treat decimal floating-point modes as using 64-bits of registers for E500 double. (spe_build_register_parallel): Do not handle DDmode or TDmode. (rs6000_spe_function_arg): Do not handle DDmode or TDmode specially for E500 double. (function_arg): Do not call rs6000_spe_function_arg for DDmode or TDmode for E500 double. (rs6000_gimplify_va_arg): Only handle SDmode in registers specially if TARGET_HARD_FLOAT && TARGET_FPRS. (rs6000_split_multireg_move): Do not handle TDmode specially for E500 double. (spe_func_has_64bit_regs_p): Do not treat DDmode or TDmode as using 64-bit registers for E500 double. (emit_frame_save): Do not handle DDmode specially for E500 double. (gen_frame_mem_offset): Likewise. (rs6000_function_value): Do not call spe_build_register_parallel for DDmode or TDmode. (rs6000_libcall_value): Likewise. * config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK, DATA_ALIGNMENT, CLASS_MAX_NREGS): Do not handle DDmode specially for E500 double. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136416 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:dfranke2008-05-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | 2008-05-29 Daniel Franke <franke.daniel@gmail.com> PR target/36348 * config/darwin-f.c: New. * config/t-darwin: Added rule to build darwin-f.o. * config.gcc: Defined new variable, fortran_target_objs. (*-*-darwin*): Set fortran_target_objs. * Makefile.in: Defined new variable FORTRAN_TARGET_OBJS. * configure.ac: Substitute fortran_target_objs, set FORTRAN_TARGET_OBJS. * configure: Regenerated. gcc/fortran: 2008-05-29 Daniel Franke <franke.daniel@gmail.com> PR target/36348 * Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136178 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-28 Andreas Krebbel <krebbel1@de.ibm.com>krebbel2008-05-281-1/+1
| | | | | | | | | | | | | | | | * config/s390/s390.c (z10_cost): New cost function for z10. (s390_handle_arch_option, override_options): Support -march=z10 switch. (s390_issue_rate): Adjust issue rate for z10. * config/s390/s390.h (processor_type): Add PROCESSOR_2097_Z10. (processor_flags): Add PF_Z10. (TARGET_CPU_Z10, TARGET_Z10): New macro definitions. * config/s390/s390.md (cpu, cpu_facility attributes): Add z10. * gcc/config.gcc: Add z10. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136097 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (sh2[lbe]*-*-linux*): Allow target.kkojima2008-05-251-1/+1
| | | | | | | | * config.host (sh2[lbe]*-*-linux*): Allow target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135861 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/36079uros2008-05-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Handle --enable-cld. * configure: Regenerated. * config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets. * config/i386/i386.h (struct machine_function): Add needs_cld field. (ix86_current_function_needs_cld): New define. * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant. (cld): New isns pattern. (strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1, cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag. * config/i386/i386.opt (mcld): New option. * config/i386/i386.c (ix86_expand_prologue): Emit cld insn if TARGET_CLD and ix86_current_function_needs_cld. (override_options): Use -mcld by default for 32-bit code if USE_IX86_CLD. * doc/install.texi (Options specification): Document --enable-cld. * doc/invoke.texi (Machine Dependent Options) [i386 and x86-64 Options]: Add -mcld option. (Intel 386 and AMD x86-64 Options): Document -mcld option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135792 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Add cpu_type's 464 and 464fp.bergner2008-05-211-2/+2
| | | | | | | | | | | | | | (-mmulhw): Add 464 to description. (-mdlmzb): Likewise. * config.gcc: Handle --with-cpu=464 and --with-cpu=464fp. * config/rs6000/rs6000.c (processor_target_table): Add 464 and 464fp entries. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 464 and 464fp support. * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include -mcpu=464. * config/rs6000/rs6000.md: Update comments for 464. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135730 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (sparc-*-linux*): Always include sparc/t-linux indavem2008-05-211-2/+3
| | | | | | | tmake_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135713 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-20 Sandra Loosemore <sandra@codesourcery.com>sandra2008-05-201-0/+4
| | | | | | | | gcc/ * config.gcc (tm_file): Update comments about relative pathnames. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135656 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/davem2008-05-041-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes. (sparc*-*-linux*): Use linux.h in tm_file. (sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch compiler defaulting to 32-bit. (sparc*-*-*): Remove explicit target settings of need_64bit_hwint, no longer needed. * config/sparc/linux.h: Remove definitions now obtained properly from linux.h * config/sparc/linux64.h: Likewise. (ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we don't want this setting for 32-bit builds in a biarch compiler. * doc/install.texi: Add sparc-linux to list of targets supporting --enable-targets=all. libcpp/ * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134929 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-02 David S. Miller <davem@davemloft.net>davem2008-05-031-0/+2
| | | | | | | | * config.gcc (need_64bit_hwint): Document libcpp dependency. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134898 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-25 Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com>pompa2008-04-251-2/+1
| | | | | | | * config.gcc (crx-*-elf): Remove deprecation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134662 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (need_64bit_hwint): Need 64bit hwint for sh-*-*.kkojima2008-04-111-1/+1
| | | | | | | | | | | [libcpp] * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-* and shbe-*-*. * configure: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134190 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2008-04-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-04-04 H.J. Lu <hongjiu.lu@intel.com> * config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64. * config/i386/cpuid.h (bit_AES): New. (bit_PCLMUL): Likewise. * config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL. (override_options): Handle PTA_AES and PTA_PCLMUL. Enable SSE2 if AES or PCLMUL is enabled. (ix86_builtins): Add IX86_BUILTIN_AESENC128, IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128, IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128, IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128. (bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128. (bdesc_2arg): Add IX86_BUILTIN_AESENC128, IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128, IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128. (bdesc_1arg): Add IX86_BUILTIN_AESIMC128. (ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128, __builtin_ia32_aesenclast128, __builtin_ia32_aesdec128, __builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128, __builtin_ia32_aeskeygenassist128 and __builtin_ia32_pclmulqdq128. * config/i386/i386.c (ix86_expand_binop_imm_builtin): New. (ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and IX86_BUILTIN_PSRLDQI128. Handle IX86_BUILTIN_AESKEYGENASSIST128. * config/i386/i386.h (TARGET_AES): New. (TARGET_PCLMUL): Likewise. (TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL. * config/i386/i386.md (UNSPEC_AESENC): New. (UNSPEC_AESENCLAST): Likewise. (UNSPEC_AESDEC): Likewise. (UNSPEC_AESDECLAST): Likewise. (UNSPEC_AESIMC): Likewise. (UNSPEC_AESKEYGENASSIST): Likewise. (UNSPEC_PCLMULQDQ): Likewise. * config/i386/i386.opt (maes): New. (mpclmul): Likewise. * config/i386/sse.md (aesenc): New pattern. (aesenclast): Likewise. (aesdec): Likewise. (aesdeclast): Likewise. (aesimc): Likewise. (aeskeygenassist): Likewise. (pclmulqdq): Likewise. * config/i386/wmmintrin.h: New. * doc/extend.texi: Document AES and PCLMUL built-in function. * doc/invoke.texi: Document -maes and -mpclmul. gcc/testsuite/ 2008-04-04 H.J. Lu <hongjiu.lu@intel.com> * g++.dg/other/i386-2.C: Include <wmmintrin.h>. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/aes-check.h: New. * gcc.target/i386/aesdec.c: Likewise. * gcc.target/i386/aesdeclast.c: Likewise. * gcc.target/i386/aesenc.c: Likewise. * gcc.target/i386/aesenclast.c: Likewise. * gcc.target/i386/aesimc.c: Likewise. * gcc.target/i386/aeskeygenassist.c: Likewise. * gcc.target/i386/pclmulqdq.c: Likewise. * gcc.target/i386/pclmul-check.h: Likewise. * gcc.target/i386/i386.exp (check_effective_target_aes): New. (check_effective_target_pclmul): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133902 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-02 Kai Tietz <kai.tietz@onevision.com>ktietz2008-04-021-4/+11
| | | | | | | | * config.gcc: Add for x86_64-*-mingw* the t-crtfm to tbuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133824 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-27 Paolo Bonzini <bonzini@gnu.org>bonzini2008-03-271-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h, rename tmake_file to m68hc11/t-m68hc11. (mcore): Set inhibit_libc to true. * config.host (alpha*-dec-*vms*): Set extra_programs. (interix3*): Don't use host_xmake_file. * configure.ac: Let config.gcc override inhibit_libc. * configure: Regenerate. * config/alpha/x-vms (EXTRA_PROGRAMS): Remove. * config/x-interix: Remove. * config/t-openbsd-thread: Remove commented out lines. * config/m68hc11/t-m68hc11-gas: Rename to... * config/m68hc11/t-m68hc11: ... this. Remove T_CPPFLAGS. * config/mcore/t-mcore: Remove T_CFLAGS. * config/mcore/t-mcore-pe: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133636 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-20 Paul Brook <paul@codesourcery.com>pbrook2008-03-201-1/+1
| | | | | | | | | | | | | | | gcc/ * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h. * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra linker flags. * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default definition. (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC. * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133394 138bc75d-0d04-0410-961f-82ee72b054a4
* ms format support for mingw.ktietz2008-03-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for gcc: * c-format.c (replace_format_name_to_system_name): New. (cmp_attribs): New. (convert_format_name_to_system_name): New. (decode_format_attr): Add use of convert_format_name_to_system_name. (format_types_orig): Add gnu_ prefix to names. (check_format_info_main): Special treating of \0 escaped names for supporting multi-character format specifiers as I32, I64. (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes. (gnu_target_overrides_format_attributes): New. * c-format.h: Add structure target_ovr_attr to hold system specific formatter names. * config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the msformat-c.o file to c_target_objs and cxx_target_objs. * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New. (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New. (TARGET_N_FORMAT_TYPES): New. * config/i386/msformat-c.c: New. * config/i386/t-cygming: Add build rule for msformat-c.o. * doc/extend.texi: Add new format names gnu_* and ms_* and further details. * doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New. for gcc/testsuite/ * gcc.dg/format/ms_array-1.c: New. * gcc.dg/format/ms_c90-scanf-3.c: New. * gcc.dg/format/ms_c99-strftime-1.c: New. * gcc.dg/format/ms_no-y2k-1.c: New. * gcc.dg/format/ms_attr-1.c: New. * gcc.dg/format/ms_c90-scanf-4.c: New. * gcc.dg/format/ms_c99-strftime-2.c: New. * gcc.dg/format/ms_nonlit-1.c: New. * gcc.dg/format/ms_c90-scanf-5.c: New. * gcc.dg/format/ms_cast-1.c: New. * gcc.dg/format/ms_nonlit-2.c: New. * gcc.dg/format/ms_attr-2.c: New. * gcc.dg/format/ms_c90-strftime-1.c: New. * gcc.dg/format/ms_miss-1.c: New. * gcc.dg/format/ms_nonlit-3.c: New. * gcc.dg/format/ms_attr-3.c: New. * gcc.dg/format/ms_c90-strftime-2.c: New. * gcc.dg/format/ms_miss-2.c: New. * gcc.dg/format/ms_nul-1.c: New. * gcc.dg/format/ms_attr-4.c: New. * gcc.dg/format/ms_c94-printf-1.c: New. * gcc.dg/format/ms_miss-3.c: New. * gcc.dg/format/ms_nul-2.c: New. * gcc.dg/format/ms_attr-7.c: New. * gcc.dg/format/ms_c94-scanf-1.c: New. * gcc.dg/format/ms_miss-4.c: New. * gcc.dg/format/ms_null-1.c: New. * gcc.dg/format/ms_bitfld-1.c: New. * gcc.dg/format/ms_c99-printf-1.c: New. * gcc.dg/format/ms_miss-5.c: New. * gcc.dg/format/ms_plus-1.c: New. * gcc.dg/format/ms_branch-1.c: New. * gcc.dg/format/ms_c99-printf-2.c: New. * gcc.dg/format/ms_miss-6.c: New. * gcc.dg/format/ms_sec-1.c: New. * gcc.dg/format/ms_c90-printf-1.c: New. * gcc.dg/format/ms_c99-printf-3.c: New. * gcc.dg/format/ms_multattr-1.c: New. * gcc.dg/format/ms_unnamed-1.c: New. * gcc.dg/format/ms_c90-printf-2.c: New. * gcc.dg/format/ms_c99-scanf-1.c: New. * gcc.dg/format/ms_multattr-2.c: New. * gcc.dg/format/ms_va-1.c: New. * gcc.dg/format/ms_c90-printf-3.c: New. * gcc.dg/format/ms_c99-scanf-2.c: New. * gcc.dg/format/ms_multattr-3.c: New. * gcc.dg/format/ms_warnll-1.c: New. * gcc.dg/format/ms_c90-scanf-1.c: New. * gcc.dg/format/ms_c99-scanf-3.c: New. * gcc.dg/format/ms_no-exargs-1.c: New. * gcc.dg/format/ms_zero-length-1.c: New. * gcc.dg/format/ms_c90-scanf-2.c: New. * gcc.dg/format/ms_c99-scanf-4.c: New. * gcc.dg/format/ms_no-exargs-2.c: New. * gcc.dg/format/null-1.c: Add gnu style usage for mingw. * gcc.dg/format/miss-1.c: Likewise. * gcc.dg/format/miss-3.c: Likewise. * gcc.dg/format/multattr-2.c: Likewise. * gcc.dg/format/miss-5.c: Likewise. * gcc.dg/format/attr-2.c: Likewise. * gcc.dg/format/attr-4.c: Likewise. * gcc.dg/format/c90-scanf-4.c: Likewise. * gcc.dg/format/c99-printf-3.c: Likewise. * gcc.dg/format/multattr-1.c: Likewise. * gcc.dg/format/miss-4.c: Likewise. * gcc.dg/format/miss-6.c: Likewise. * gcc.dg/format/c90-printf-3.c: Likewise. * gcc.dg/format/attr-1.c: Likewise. * gcc.dg/format/attr-3.c: Likewise. * gcc.dg/format/attr-7.c: Likewise. * gcc.dg/format/format.h: Treat mingw and gnu style. * gcc.dg/format/sys_format.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133365 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-03 Paul Brook <paul@codesourcery.com>pbrook2008-03-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config.gcc: Add arm/t-arm-softfp and soft-fp/t-softfp to arm configs. Add new --with-arch options. * config/arm/t-arm-softfp: New file. * config/arm/elf.h: Disable soft-fp routines on everything except ARMv6-M. * config/arm/ieee754-df.S: Rename L_* to L_arm_*. * config/arm/ieee754-sf.S: Ditto. * config/arm/t-arm-elf: Ditto. * config/arm/arm.c (FL_FOR_ARCH6M): Define. (all_architectures): Add armv6-m. (arm_output_mi_thunk): Add TARGET_THUMB1_ONLY thunks. * config/arm/lib1funcs.asm: Add __ARM_ARCH_6M__ conditionals. Include bpabi-v6m.S. * config/arm/arm.h (TARGET_THUMB1_ONLY): Define. (ARM_DECLARE_FUNCTION_NAME): Handle Thumb-1 only thunks. * config/arm/sfp-machine.h: New file. * config/arm/bpabi-v6m.S: New file. * config/arm/arm-cores.def: Add cortex-m1. * config/arm/arm-tune.md: Regenerate. * config/arm/libunwind.S: Add ARMv6-M implementation. * config/arm/bpabi.h: Add renames for soft-float routines. * doc/invoke.texi: Document -mcpu=cortex-m1 and -march=armv6-m. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132837 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-02-21 Edmar Wienskoski <edmar@freescale.com>dje2008-02-241-1/+1
| | | | | | | | | | | | | | | | | | | * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3. * config/rs6000/e300c2c3.md: New file. * config/rs6000/rs6000.c (processor_costs): Add new costs for e300c2 and e300c3. (rs6000_override_options): Add e300c2 and e300c3 cases to processor_target_table. Do not allow usage of Altivec or Spe with e300 cores. Initialize rs6000_cost for e300c2 and e300c3. (rs6000_issue_rate): Set issue rate for e300c2 and e300c3. * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3. (ASM_CPU_SPEC): Add e300c2 and e300c3. * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2 and ppce300c3. Include e300c2c3.md. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132589 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.jsm282008-01-291-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131942 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,jsm282008-01-271-0/+25
| | | | | | | | | | | | | m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*, *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout, hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*, i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*, vax-*-bsd*, vax-*-ultrix*): Mark obsolete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131889 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/34794dje2008-01-261-1/+9
| | | | | | | | | | * config.gcc: Separate AIX 5.3 from AIX 6.1. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define __LONGDOUBLE128 too. * config/rs6000/aix61.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131865 138bc75d-0d04-0410-961f-82ee72b054a4
* * MAINTAINERS (c4x port): Remove.jsm282008-01-251-36/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contrib: * paranoia.cc (main): Remove handling of c4x_single and c4x_extended formats. gcc: * config/c4x: Remove directory. * config.gcc (crx-*, mt-*): Mark obsolete. (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*, h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*, sh-*-rtemscoff*): Remove cases. * defaults.h (C4X_FLOAT_FORMAT): Remove. * real.c (encode_c4x_single, decode_c4x_single, encode_c4x_extended, decode_c4x_extended, c4x_single_format, c4x_extended_format): Remove. * real.h (c4x_single_format, c4x_extended_format): Remove. * doc/extend.texi (interrupt, naked): Remove mention of attributes on C4x. (Pragmas): Remove comment about c4x pragmas. * doc/install.texi (c4x): Remove target-specific instructions. * doc/invoke.texi (TMS320C3x/C4x Options): Remove. * doc/md.texi (Machine Constraints): Remove C4x documentation. * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not refer to C4x source files as examples. (C4X_FLOAT_FORMAT): Remove documentation. gcc/testsuite: * gcc.dg/builtin-inf-1.c, gcc.dg/compare6.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/torture/builtin-attr-1.c: Don't handle c4x-*-* targets. libgcc: * config.host (tic4x-*-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*, h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*, sh-*-rtemscoff*): Remove cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131835 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Make crisv32-* have cpu_type cris. Handlehp2007-12-151-1/+19
| | | | | | | | crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none but without multilibs and with target_cpu_default=32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130965 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/16350nickc2007-11-081-0/+5
| | | | | | | | | | | | | | * config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT. * config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on TARGET_BIG_ENDIAN_DEFAULT. Use for MULTILIB_DEFAULTS. (TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT. (LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler. * config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according to TARGET_BIG_ENDIAN_DEFAULT. (SUBTARGET_EXTRA_LINK_SPEC): Likewise. * gcc/config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according to TARGET_BIG_ENDIAN_DEFAULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129999 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-05 Paul Brook <paul@codesourcery.com>pbrook2007-11-051-0/+2
| | | | | | | | | | | | | | | | | | gcc/ * config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs. * config/arm/arm.c (arm_lang_output_object_attributes_hook): New. (arm_file_start): Don't set Tag_ABI_PCS_wchar_t. Call arm_lang_output_object_attributes_hook. * config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare. (REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init. * config/arm/arm-protos.h (arm_lang_object_attributes_init): Add prototype. * config/arm/t-arm.c (arm.o): New rule. * config/arm/arm-c.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129904 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: For a FreeBSD target, parse the value of ${target}rodrigc2007-10-231-20/+2
| | | | | | | | to determine the value of FBSD_MAJOR, instead of adding an explicit check for every possible FreeBSD major version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129590 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-18 David S. Miller <davem@davemloft.net>davem2007-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Niagara-2 support. * doc/invoke.texi: Document -m{cpu,tune}=niagara2. * config.gcc: Add niagara2 to cpu and tune lists for sparc. * config/sparc/sparc.md (sparc_cpu_attr): Add niagara2. (include): Add inclusion of niagara2.md * config/sparc/sparc.c (niagara2_costs): New. (sparc_override_options): Add niagara2 entry to cpu_default[] and cpu_table[]. Set align_functions to 32 on Niagara2. Use niagara2_costs when PROCESSOR_NIAGARA2. Handle Niagara2 for PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE. (sparc_initialize_trampoline): Handle niagara2 like niagara. (sparc64_initialize_trampoline): Likewise. (sparc_use_sched_lookahead): Likewise. (sparc_issue_rate): Likewise. * config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and mcpu=niagara2 * config/sparc/sparc.h (TARGET_CPU_niagara2): Define. ({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for TARGET_CPU_niagara2. (PROCESSOR_NIAGARA2): New. (REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2. (BRANCH_COST): Likewise. * config/sparc/linux64.h: Handle TARGET_CPU_niagara2. * config/sparc/sol2.h: Likewise. * config/sparc/niagara2.md: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129472 138bc75d-0d04-0410-961f-82ee72b054a4
* Because we merge score3 and score7 into the same backend,liqin2007-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | so make a lot of changes in the code structure. Changelog: * config.gcc : update score-*-elf(extra_objs). * config/score/mac.md : Remove. * config/score/misc.md : Remove. * config/score/score7.md : Remove. * config/score/score-mdaux.h : Remove. * config/score/score-mdaux.c : Remove. * config/score/score-version.h : Remove. * config/score/score-generic.md : New. * config/score/score3.h : New. * config/score/score3.c : New. * config/score/score7.h : New. * config/score/score7.c : New. * config/score/mul-div.S : add flush_cache score3 support. * config/score/elf.h : Fix some typos. * config/score/score.md : merge score3 and score7 pattern. * config/score/score.c : use to seperate which target it used. * config/score/score.h : use to seperate the target macro. * config/score/score.opt : remove -mmac option , add -mscore3, -mscore3d and -march OPTION support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129431 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (powerpc-ibm-aix5*): Install altivec.hdje2007-10-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129348 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/aix53.h: New file.dje2007-10-131-1/+9
| | | | | | | | | | | | * config/rs6000/aix{41,43,51,52}.h (TARGET_ALTIVEC): Define to 0. (TARGET_ALTIVEC_ABI): Same. * config/rs6000/aix.h (TARGET_ALTIVEC): Delete. (TARGET_ALTIVEC_ABI): Delete. * config.gcc (powerpc-ibm-aix5*): Rename to aix5.2. Add new stanza defaulting to aix5.3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129285 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Remove USE_GAS for m68k targets.kazu2007-10-041-7/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129005 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (bfin*-linux-uclibc*): Set extra_partsjiez2007-09-281-14/+15
| | | | | | | | | | | | | to "crtbegin.o crtbeginS.o crtend.o crtendS.o". * config/bfin/t-bfin-linux (crti.o): Don't build. (crtn.o): Likewise. (EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o. * config/bfin/t-bfin-uclinux (crti.o): Don't build. (crtn.o): Likewise. (EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128860 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-24 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2007-09-241-2/+2
| | | | | | | | | | * config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU. Allow --with-tune=cell and --with-cpu=cell. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128721 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.hjiez2007-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to tm_file. * config/bfin/print-sysroot-suffix.sh: New. * config/bfin/t-bfin-elf (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. * config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. * config/bfin/t-bfin-linux (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. (linux-sysroot-suffix.h): New target. * config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask. (mspecld-anomaly): Likewise. * config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from (enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525, BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542, BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549. (bfin_si_revision): Declare. (bfin_workarounds): Declare. (WA_SPECULATIVE_LOADS): Define. (ENABLE_WA_SPECULATIVE_LOADS): Define. (WA_SPECULATIVE_SYNCS): Define. (ENABLE_WA_SPECULATIVE_SYNCS): Define. * config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o. (LIB_SPEC): Add %s to the linker scripts. Use proper linker script for bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. * config/bfin/bfin.c (bfin_si_revision): Define. (bfin_workarounds): Define. (struct bfin_cpu): New. (bfin_cpus): New. (bfin_handle_option): Handle silicon revision part of -mcpu option. (override_options): Set bfin_workarounds. (length_for_loop): Replace TARGET_CSYNC_ANOMALY with ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with ENABLE_WA_SPECULATIVE_LOADS. (bfin_reorg): Likewise. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define macros for bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed. Don't define __ID_SHARED_LIB__ when -msep-data. (TARGET_DEFAULT): Define as 0. (DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option. * doc/invoke.texi (Blackfin Options): Document silicon revision part of -mcpu option and it now accepts bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. Neither -mspecld-anomaly nor -mcsync-anomaly is enabled anymore. testsuite/ * gcc.target/bfin/bfin.exp: New. * gcc.target/bfin/{workarounds-any.c, workarounds-none.c, workarounds-1.c, workarounds-2.c, workarounds-3.c, workarounds-4.c, mcpu-bf522.c, mcpu-bf525.c, mcpu-bf527.c, mcpu-bf531.c, mcpu-bf532.c, mcpu-bf533.c, mcpu-bf534.c, mcpu-bf536.c, mcpu-bf537.c, mcpu-bf538.c, mcpu-bf539.c, mcpu-bf542.c, mcpu-bf544.c, mcpu-bf548.c, mcpu-bf549.c, mcpu-bf561.c, mcpu-default.c}: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128597 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-141-3/+4
| | | | | | | | | | | | 2007-09-14 Nigel Stephens <nigel@mips.com> * config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set MIPS_ISA_DEFAULT appropriately. Don't make soft-float the default for mipsisa32-*-linux*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128498 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac (mips*-sde-elf*): New stanza. Add target-libibertyrsandifo2007-09-141-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to $skipdirs and only disable gprof for newlib. Use the normal mips*-elf* handling in other respects. * configure: Regnerate. gcc/ 2007-xx-xx Nigel Stephens <nigel@mips.com> David Ung <davidu@mips.com> Thiemo Seufer <ths@mips.com> Richard Sandiford <richard@codesourcery.com> * config.gcc (mips*-sde-elf*): Add support for the SDE C libraries. * configure.ac: Add a mipssde threading type. * configure: Regenerate. * config/mips/sdemtk.h: New file. * config/mips/t-sdemtk: Likewise. * config/mips/sdemtk.opt: Likewise. * gthr-mipssde.h: Likewise. * config/mips/sde.h (FUNCTION_PROFILER): Move to config/mips/sdemtk.h. * config/mips/mips.h (MIPS_SAVE_REG_FOR_PROFILING_P): New macro. (MIPS_ICACHE_SYNC): New macro, split from ... * config/mips/mips.md (clear_cache): ...here. * config/mips/mips.c (mips_save_reg_p): Check MIPS_SAVE_REG_FOR_PROFILING_P on profiled functions. (build_mips16_function_stub): Use targetm.strip_name_encoding. (build_mips16_call_stub): Likewise. libstdc++-v3/ 2007-xx-xx Thiemo Seufer <ths@mips.com> * crossconfig.m4 (mips*-sde-elf*): New stanza. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128495 138bc75d-0d04-0410-961f-82ee72b054a4
* Add AMD SSE5 support; Add iterator over function arguments; Add stdarg_p, ↵meissner2007-09-131-2/+2
| | | | | | prototype_p, function_args_count functions git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128455 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Document new MIPS -mllsc and -mno-llsc options.daney2007-09-111-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/install.texi: Document new --with-llsc and --without-llsc options. * config.gcc: Handle --with-llsc and --without-llsc configure options. * config/mips/mips.md (sync, memory_barrier): Wrap sync instrunction in %| and %- operand codes. Depend on GENERATE_SYNC instead of ISA_HAS_SYNC. (sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>, sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>, sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>, sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>, sync_new_nand<mode>, sync_lock_test_and_set<mode>): Depend on GENERATE_LL_SC instead of ISA_HAS_LL_SC. * config/mips/mips.opt (mllsc): New option. * config/mips/mips.c (mips_llsc): Define variable. (mips_handle_option): Handle mllsc option. (override_options): Set mips_print_operand_punct for '|' and '-'. (print_operand): Add new %| and %- operand codes. * config/mips/mips.h (mips_llsc_setting): New enum type. (mips_llsc): Declare. (OPTION_DEFAULT_SPECS): Add llsc handling. (GENERATE_SYNC): New macro. (GENERATE_LL_SC): New macro. (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Wrap instructions in %| and %- operand codes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128392 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (tm_file): Add linux.h for bfin*-uclinux*.jiez2007-09-061-1/+3
| | | | | | | | | | | | | | | | | | | | (tm_defines): Define UCLIBC_DEFAULT to 1. (extra_options): Add linux.opt. * config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define. (CRT_CALL_STATIC_FUNCTION): Likewise. (NO_IMPLICIT_EXTERN_C): Likewise. (TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS. * config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define. * config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define. (ENDFILE_SPEC): Don't define. (LIB_SPEC): Likewise. (CRT_CALL_STATIC_FUNCTION): Likewise. (NO_IMPLICIT_EXTERN_C): Likewise. (LINUX_TARGET_OS_CPP_BUILTINS): Likewise. (TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128163 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc/config/i386/cpuid.h: New file.uros2007-09-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc/config/i386/driver-i386.c: Include cpuid.h. (describe_cache): Shrink size and line strings to 100 bytes. (detect_caches_amd): Return "" for unsupported max_ext_level. Use __cpuid function. (detect_caches_intel): Return "" for unsupported max_level. Use __cpuid function. (host_detect_local_cpu): Change feature flag variables to unsigned int. Initialize only extended feature flag variables. Use __get_cpuid_max to determine max supported cpuid level. Use __cpuid function to determine supported features. Fix calculation of family id. Remove is_amd and check signature directly. Check for Geode signature. Handle family 4 id. [PROCESSOR_GENERIC32]: New default for unknown family id. Move cpu discovery code to other part of the function. [PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune for sub-architecture. [PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code. [PROCESSOR_K8]: Add k8-sse3 architecture. [PROCESSOR_GENERIC64]: Remove. * gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h. * gcc/config/i386/crtfastmath.c: Include cpuid.h. Use __get_cpuid to check for SSE and FXSAVE support. * gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h. Add -minline-all-stringops. * gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers. (x86_64-*-*): Ditto. testsuite/ChangeLog: * gcc.dg/i386-cpuid.h: Remove. * gcc.target/i386/mmx-check.h: Include cpuid.h. Use __get_cpuid. * gcc.target/i386/sse-check.h: Ditto. * gcc.target/i386/sse2-check.h: Ditto. * gcc.target/i386/sse3-check.h: Ditto. * gcc.target/i386/ssse3-check.h: Ditto. * gcc.target/i386/sse4_1-check.h: Ditto. * gcc.target/i386/sse4_2-check.h: Ditto. * gcc.target/i386/sse4a-check.h: Ditto. * gcc.dg/torture/pr16104-1.c: Ditto. * gcc.target/i386/mmx-4.c: Do not use NOINLINE. * gcc.target/i386/sse-6.c: Ditto. * gcc.target/i386/sse-7.c: Ditto. * g++.dg/other/i386-1.C: Include cpuid.h. (main): New function. Use __get_cpuid to check target fetaures. libgomp/ChangeLog: * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets. (main): Use __get_cpuid to get i386 target fetaures. * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets. (main): Use __get_cpuid to get x86_64 target fetaures. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128141 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-04 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2007-09-051-1/+1
| | | | | | | | | | | | | | | * config.gcc (powerpc*-*-*): Install spu2vmx.h, vec_types.h, and si2vmx.h headers. * config/rs6000/spu2vmx.h: New header. * config/rs6000/si2vmx.h: New header. * config/rs6000/vec_types.h: New header. 2007-09-04 Andrew Pinski <andrew_pinski@playstation.sony.com> * g++.dg/other/spu2vmx-1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128118 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Delete stanza for arm-semi-aof andzack2007-09-031-4/+0
| | | | | | | | | | | | | | | armel-semi-aof targets. * config/arm/arm-protos.h * config/arm/arm.c * config/arm/arm.h: Delete all #ifdef AOF_ASSEMBLER blocks; make all #ifndef AOF_ASSEMBLER blocks unconditional. Also delete aof_pic_label and remove mention of AOF in comments. * config/arm/arm.md: Delete patterns used only for AOF assembly. * config/arm/aof.h * config/arm/semiaof.h * config/arm/t-semi: Delete file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128052 138bc75d-0d04-0410-961f-82ee72b054a4
* Support for PowerPC 750CL paired-single instructions revitale2007-08-311-1/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127954 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-30 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2007-08-301-1/+1
| | | | | | | | | | | | | | | * config/rs6000/ppu_intrinsics.h: New file. * config.gcc (powerpc*-*-* <extra_headers>): Install ppu_intrinsics.h. 2007-08-30 Andrew Pinski <andrew_pinski@playstation.sony.com> * gcc.target/powerpc/ppu-intrinsics.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127934 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud