summaryrefslogtreecommitdiffstats
path: root/gcc/config.gcc
Commit message (Collapse)AuthorAgeFilesLines
* 2014-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>joel2014-09-171-1/+7
| | | | | | | | * config.gcc (*-*-rtems*): Default to 'rtems' thread model. Enable selection of 'posix' or no thread model. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215325 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-29 Yvan Roux <yvan.roux@linaro.org>yroux2014-08-291-14/+11
| | | | | | | | | | | | Backport from mainline 2014-08-27 Yvan Roux <yvan.roux@linaro.org> PR other/62248 * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214731 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>joel2014-07-231-1/+5
| | | | | | | | | | | | | Chris Johns <chrisj@rtems.org> Joel Sherrill <joel.sherrill@oarcorp.com> * config.gcc: Add nios2-*-rtems*. * config/nios2/rtems.h: New file. * gcc/config/nios2/t-rtems: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212934 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not overridehp2014-07-171-2/+1
| | | | | | | an existing tmake_file. Don't add t-slibgcc and t-linux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212711 138bc75d-0d04-0410-961f-82ee72b054a4
* PR plugins/45078jakub2014-06-161-1/+1
| | | | | | | * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211697 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/msp430/msp430.c (msp430_handle_option): Move functionnickc2014-04-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to msp430-common.c (msp430_option_override): Simplify mcu and mcpu option handling. (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add support for -mhwmult command line option. (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for -mhwmult command line option. (msp430_hwmult_enabled): Delete. (msp43o_output_labelref): Add support for -mhwmult command line option. * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3) (umulsidi3): Likewise. * config/msp430/msp430.opt (mmcu): Add Report attribute. (mcpu, mlarge, msmall): Likewise. (mhwmult): New option. * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove prototype. (msp430_is_f5_mcu): Remove prototype. (msp430_use_f5_series_hwmult): Add prototype. * config/msp430/msp430-opts.h: New file. * common/config/msp430: New directory. * common/config/msp430/msp430-common.c: New file. * config.gcc (msp430): Remove target_has_targetm_common. * doc/invoke.texi: Document -mhwmult command line option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209686 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Fix selection of default CPU options at configure-timektkachov2014-03-121-3/+6
| | | | | | | | | | | * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def. Do not define target_cpu_default2 to generic. * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu. * config/aarch64/aarch64.c (aarch64_override_options): Update comment. * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208508 138bc75d-0d04-0410-961f-82ee72b054a4
* TILE-Gx big endian support.walt2014-02-241-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /: * configure.ac (tilepro-*-*) Change to tilepro*-*-*. (tilegx-*-*): Change to tilegx*-*-*. * configure: Regenerate. contrib/: * config-list.mk (LIST): Add tilegxbe-linux-gnu. libcpp/: * configure.ac: Change "tilepro" triplet to "tilepro*". * configure: Regenerate. libgcc/: * config.host: Support "tilegx*" and "tilepro*" triplets. * config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian. * config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian. gcc/: * config.gcc (tilepro-*-*): Change to tilepro*-*-*. (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe triplet. * common/config/tilegx/tilegx-common.c (TARGET_DEFAULT_TARGET_FLAGS): Define. * config/tilegx/linux.h (ASM_SPEC): Add endian_spec. (LINK_SPEC): Ditto. * config/tilegx/sync.md (atomic_test_and_set): Handle big endian. * config/tilegx/tilegx.c (tilegx_return_in_msb): New. (tilegx_gimplify_va_arg_expr): Handle big endian. (tilegx_expand_unaligned_load): Ditto. (tilegx_expand_unaligned_store): Ditto. (TARGET_RETURN_IN_MSB): New. * config/tilegx/tilegx.h (TARGET_DEFAULT): New. (TARGET_ENDIAN_DEFAULT): New. (TARGET_BIG_ENDIAN): Handle big endian. (BYTES_BIG_ENDIAN): Ditto. (WORDS_BIG_ENDIAN): Ditto. (FLOAT_WORDS_BIG_ENDIAN): Ditto. (ENDIAN_SPEC): New. (EXTRA_SPECS): New. * config/tilegx/tilegx.md (extv): Handle big endian. (extzv): Ditto. (insn_st<n>): Ditto. (insn_st<n>_add<bitsuffix>): Ditto. (insn_stnt<n>): Ditto. (insn_stnt<n>_add<bitsuffix>):Ditto. (vec_interleave_highv8qi): Handle big endian. (vec_interleave_highv8qi_be): New. (vec_interleave_highv8qi_le): New. (insn_v1int_h): Handle big endian. (vec_interleave_lowv8qi): Handle big endian. (vec_interleave_lowv8qi_be): New. (vec_interleave_lowv8qi_le): New. (insn_v1int_l): Handle big endian. (vec_interleave_highv4hi): Handle big endian. (vec_interleave_highv4hi_be): New. (vec_interleave_highv4hi_le): New. (insn_v2int_h): Handle big endian. (vec_interleave_lowv4hi): Handle big endian. (vec_interleave_lowv4hi_be): New. (vec_interleave_lowv4hi_le): New. (insn_v2int_l): Handle big endian. (vec_interleave_highv2si): Handle big endian. (vec_interleave_highv2si_be): New. (vec_interleave_highv2si_le): New. (insn_v4int_h): Handle big endian. (vec_interleave_lowv2si): Handle big endian. (vec_interleave_lowv2si_be): New. (vec_interleave_lowv2si_le): New. (insn_v4int_l): Handle big endian. * config/tilegx/tilegx.opt (mbig-endian): New option. (mlittle-endian): New option. * doc/install.texi: Document tilegxbe-linux. * doc/invoke.texi: Document -mbig-endian and -mlittle-endian. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208069 138bc75d-0d04-0410-961f-82ee72b054a4
* Only assume 4-byte stack alignment on Solaris 9/x86 (PR libgomp/60107)ro2014-02-111-0/+3
| | | | | | | | | PR libgomp/60107 * config/i386/sol2-9.h: New file. * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*, *-*-solaris2.9*): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207688 138bc75d-0d04-0410-961f-82ee72b054a4
* Update x86 --with-arch/--with-cpu= configure handlinghjl2014-01-181-50/+83
| | | | | | | | | | | | | | | PR bootstrap/59580 PR bootstrap/59583 * config.gcc (x86_archs): New variable. (x86_64_archs): Likewise. (x86_cpus): Likewise. Use $x86_archs, $x86_64_archs and $x86_cpus to check valid --with-arch/--with-cpu= options. Support --with-arch=/--with-cpu={nehalem,westmere, sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206756 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>joel2014-01-151-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (*-*-rtems*): Add t-rtems to tmake_file. (arm*-*-uclinux*eabi*): Do not override an existing tmake_file. (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise. (arm*-*-rtems*): Use t-rtems from existing tmake_file. (avr-*-rtems*): Likewise. (bfin*-rtems*): Likewise. (moxie-*-rtems*): Likewise. (h8300-*-rtems*): Likewise. (i[34567]86-*-rtems*): Likewise. (lm32-*-rtems*): Likewise. (m32r-*-rtems*): Likewise. (m68k-*-rtems*): Likewise. (microblaze*-*-rtems*): Likewise. (mips*-*-rtems*): Likewise. (powerpc-*-rtems*): Likewise. (sh-*-rtems*): Likewise. (sparc-*-rtems*): Likewise. (sparc64-*-rtems*): Likewise. (v850-*-rtems*): Likewise. (m32c-*-rtems*): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206637 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-06 Terry Guo <terry.guo@arm.com>xguo2014-01-061-13/+11
| | | | | | | * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206354 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kyukhin2013-12-311-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/config/i386/i386-common.c (OPTION_MASK_ISA_SHA_SET): New. (OPTION_MASK_ISA_SHA_UNSET): Ditto. (ix86_handle_option): Handle OPT_msha. * config.gcc (extra_headers): Add shaintrin.h. * config/i386/cpuid.h (bit_SHA): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect SHA instructions. * config/i386/i386-c.c (ix86_target_macros_internal): Handle OPTION_MASK_ISA_SHA. * config/i386/i386.c (ix86_target_string): Add -msha. (ix86_option_override_internal): Add PTA_SHA. (ix86_valid_target_attribute_inner_p): Handle OPT_msha. (enum ix86_builtins): Add IX86_BUILTIN_SHA1MSG1, IX86_BUILTIN_SHA1MSG2, IX86_BUILTIN_SHA1NEXTE, IX86_BUILTIN_SHA1RNDS4, IX86_BUILTIN_SHA256MSG1, IX86_BUILTIN_SHA256MSG2, IX86_BUILTIN_SHA256RNDS2. (bdesc_args): Add BUILTINS defined above. (ix86_init_mmx_sse_builtins): Add __builtin_ia32_sha1msg1, __builtin_ia32_sha1msg2, __builtin_ia32_sha1nexte, __builtin_ia32_sha1rnds4, __builtin_ia32_sha256msg1, __builtin_ia32_sha256msg2, __builtin_ia32_sha256rnds2. (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SI_V4SI_V4SI, add warning for CODE_FOR_sha1rnds4. * config/i386/i386.h (TARGET_SHA): New. (TARGET_SHA_P): Ditto. * config/i386/i386.opt (-msha): Document it. * config/i386/immintrin.h: Add shaintrin.h. * config/i386/shaintrin.h: New. * config/i386/sse.md (unspec): Add UNSPEC_SHA1MSG1, UNSPEC_SHA1MSG2, UNSPEC_SHA1NEXTE, UNSPEC_SHA1RNDS4, UNSPEC_SHA256MSG1, UNSPEC_SHA256MSG2, UNSPEC_SHA256RNDS2. (sha1msg1): New. (sha1msg2): Ditto. (sha1nexte): Ditto. (sha1rnds4): Ditto. (sha256msg1): Ditto. (sha256msg2): Ditto. (sha256rnds2): Ditto. * doc/invoke.texi: Add -msha. testsuite/ * gcc.target/i386/avx-1.c: Add define for __builtin_ia32_sha1rnds4. * gcc.target/i386/i386.exp (check_effective_target_sha): New. * gcc.target/i386/sha-check.h: New file. * gcc.target/i386/sha1msg1-1.c: Ditto. * gcc.target/i386/sha1msg1-2.c: Ditto. * gcc.target/i386/sha1msg2-1.c: Ditto. * gcc.target/i386/sha1msg2-2.c: Ditto. * gcc.target/i386/sha1nexte-1: Ditto. * gcc.target/i386/sha1nexte-2: Ditto. * gcc.target/i386/sha1rnds4-1.c: Ditto. * gcc.target/i386/sha1rnds4-2.c: Ditto. * gcc.target/i386/sha256msg1-1.c: Ditto. * gcc.target/i386/sha256msg1-2.c: Ditto. * gcc.target/i386/sha256msg2-1.c: Ditto. * gcc.target/i386/sha256msg2-2.c: Ditto. * gcc.target/i386/sha256rnds2-1.c: Ditto. * gcc.target/i386/sha256rnds2-2.c: Ditto. * gcc.target/i386/sse-13.c: Add __builtin_ia32_sha1rnds4. * gcc.target/i386/sse-14.c: Add _mm_sha1rnds4_epu32. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Add __builtin_ia32_sha1rnds4. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206263 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kyukhin2013-12-311-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (extra_headers): Add avx512fintrin.h, avx512cdintrin.h, avx512erintrin.h, avx512pfintrin.h. * config/i386/avx512cdintrin.h: New file. * config/i386/avx512erintrin.h: New file. * config/i386/avx512fintrin.h: New file. * config/i386/avx512pfintrin.h: New file. * config/i386/i386-builtin-types.def: Add V16UHI, V32SF, V16SF, V8DF, V8DI, V16SI, V64QI, PV8DF, PV8DI, PV16SI, PV16SF, PCV8DF, PCV16SF, PCV8DI, PCV16SI, V16QI_FTYPE_V16SI, V8DF_FTYPE_V8SI, V8DF_FTYPE_V8DF, V8HI_FTYPE_V8DI, V16SF_FTYPE_V16SF, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF, V8SF_FTYPE_V8DF_V8SF_QI, V16HI_FTYPE_V16SI, V16SF_FTYPE_FLOAT, V16SI_FTYPE_INT, V8DF_FTYPE_DOUBLE, V8DI_FTYPE_INT64, V16SF_FTYPE_V4SF, V8DF_FTYPE_V4DF, V8DI_FTYPE_V4DI, V16QI_FTYPE_V8DI, UINT_FTYPE_V4SF, UINT64_FTYPE_V4SF, UINT_FTYPE_V2DF, UINT64_FTYPE_V2DF, V16SI_FTYPE_V16SI, V16SI_FTYPE_V16SI_V16SI_HI, V8DI_FTYPE_V8DI, V8DI_FTYPE_V8DI_V8DI_QI, V16SI_FTYPE_PV4SI, V16SF_FTYPE_PV4SF, V8DI_FTYPE_PV4DI, V8DF_FTYPE_PV4DF, V8UHI_FTYPE_V8UHI, V8USI_FTYPE_V8USI, V2DF_FTYPE_V2DF_UINT, V2DF_FTYPE_V2DF_UINT64, V4DF_FTYPE_V8DF_INT, V4DF_FTYPE_V8DF_INT_V4DF_QI, V8DF_FTYPE_V8DF_V8DI, V4SF_FTYPE_V4SF_UINT, V4SF_FTYPE_V4SF_UINT64, INT_FTYPE_V4SF_V4SF_INT_INT, INT_FTYPE_V2DF_V2DF_INT_INT, V16SF_FTYPE_V16SF_INT, V4SF_FTYPE_V16SF_INT, V4SF_FTYPE_V16SF_INT_V4SF_QI, V16SF_FTYPE_V16SF_V16SF, V16SF_FTYPE_V16SF_V16SI, V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI, V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI, V8DF_FTYPE_V8DF_INT_V8DF_QI, V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI_INT, V8DF_FTYPE_V8DF_V8DF, V16SF_FTYPE_V16SF_V16SF_INT, V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI, V16SF_FTYPE_V16SF_INT_V16SF_HI, V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI, V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI_INT, V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI, V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI_INT, V16SF_FTYPE_V16SF_V4SF_INT, V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI, V16HI_FTYPE_V16SF_INT, V16HI_FTYPE_V16SF_INT_V16HI_HI, V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI, V16SI_FTYPE_V16SI_V4SI, V16SI_FTYPE_V16SI_V4SI_INT, V4SI_FTYPE_V16SI_INT, V4SI_FTYPE_V16SI_INT_V4SI_QI, V16SI_FTYPE_V16SI_V16SI, V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI, V16SI_FTYPE_V16SI_SI, V16SI_FTYPE_V16SI_INT, V16SI_FTYPE_V16SI_V4SI_V16SI_HI, V16SI_FTYPE_V16SI_INT_V16SI_HI, V8DI_FTYPE_V8DI_V8DI, V16SI_FTYPE_V8DF_V8DF, V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI, V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI, V8DI_FTYPE_V8DI_V2DI, V4DI_FTYPE_V8DI_INT, V4DI_FTYPE_V8DI_INT_V4DI_QI, V8DI_FTYPE_V8DI_V2DI_V8DI_QI, V8DI_FTYPE_V8DI_INT_V8DI_QI, VOID_FTYPE_PDOUBLE_V8DF, VOID_FTYPE_PFLOAT_V16SF, VOID_FTYPE_PV8DI_V8DI, HI_FTYPE_HI, HI_FTYPE_HI_HI, HI_FTYPE_HI_INT, QI_FTYPE_V8DI_V8DI, QI_FTYPE_V8DI_V8DI_QI, HI_FTYPE_V16SI_V16SI, HI_FTYPE_V16SI_V16SI_HI, QI_FTYPE_V8DI_V8DI_INT, QI_FTYPE_V8DI_V8DI_INT_QI, HI_FTYPE_V16SI_V16SI_INT, HI_FTYPE_V16SI_V16SI_INT ,HI, QI_FTYPE_V8DF_V8DF_INT, QI_FTYPE_V8DF_V8DF_INT_QI, QI_FTYPE_V8DF_V8DF_INT_QI_INT, HI_FTYPE_V16SF_V16SF_INT, HI_FTYPE_V16SF_V16SF_INT_HI, HI_FTYPE_V16SF_V16SF_INT_HI_INT, QI_FTYPE_V2DF_V2DF_INT, QI_FTYPE_V2DF_V2DF_INT_QI, QI_FTYPE_V2DF_V2DF_INT_QI_INT, QI_FTYPE_V4SF_V4SF_INT, QI_FTYPE_V4SF_V4SF_INT_QI, QI_FTYPE_V4SF_V4SF_INT_QI_INT, V16SI_FTYPE_HI, V8DI_FTYPE_QI, V8DF_FTYPE_V8DF_V8DF_V8DF, V16SF_FTYPE_V16SF_V16SF_V16SF, V8DF_FTYPE_V8DF_V8DF_QI, V8DF_FTYPE_V8SF_V8DF_QI, V8DF_FTYPE_V8SI_V8DF_QI, V8DI_FTYPE_V8SI_V8DI_QI, V8DI_FTYPE_V8HI_V8DI_QI, V8DI_FTYPE_V16QI_V8DI_QI, V8DI_FTYPE_V8DI_V8DI_V8DI_QI, V8DF_FTYPE_V8DI_V8DF_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF_QI, V8DF_FTYPE_V8DF_V8DI_V8DF_QI, V8DF_FTYPE_V8DF_V8DF_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI_HI, V2DF_FTYPE_V2DF_V2DF_V2DF_QI, V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V16SF_FTYPE_V16SF_V16SF_HI, V16SF_FTYPE_V16SI_V16SF_HI, V16SF_FTYPE_V16SF_V16SF_V16SF_HI, V16SF_FTYPE_V16SI_V16SF_V16SF, V16SF_FTYPE_V16SI_V16SF_V16SF_HI, V16SF_FTYPE_V16SF_V16SI_V16SF_HI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI, V4SF_FTYPE_V4SF_V4SF_V4SF_QI, V16SF_FTYPE_V4SF_V16SF_HI, V8DF_FTYPE_V4DF_V8DF_QI, V8DF_FTYPE_V2DF_V8DF_QI, V16SI_FTYPE_V4SI_V16SI_HI, V16SI_FTYPE_SI_V16SI_HI, V16SI_FTYPE_V16HI_V16SI_HI, V16SI_FTYPE_V16QI_V16SI_HI, V8SI_FTYPE_V8DF_V8SI_QI, V8DI_FTYPE_V4DI_V8DI_QI, V8DI_FTYPE_V2DI_V8DI_QI, V8DI_FTYPE_DI_V8DI_QI, V16SF_FTYPE_PCV16SF_V16SF_HI, V8DF_FTYPE_PCV8DF_V8DF_QI, V16SI_FTYPE_PCV16SI_V16SI_HI, V8DI_FTYPE_PCV8DI_V8DI_QI, V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI, V16QI_FTYPE_V16SI_V16QI_HI, V16HI_FTYPE_V16SI_V16HI_HI, V8SI_FTYPE_V8DI_V8SI_QI, V8HI_FTYPE_V8DI_V8HI_QI, V16QI_FTYPE_V8DI_V16QI_QI, VOID_FTYPE_PV8DF_V8DF_QI, VOID_FTYPE_PV16SF_V16SF_HI, VOID_FTYPE_PV8DI_V8DI_QI, VOID_FTYPE_PV16SI_V16SI_HI, VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI, V16SI_FTYPE_V16SF_V16SI_HI, V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI, V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SI_FTYPE_V16SI_V16SI_V16SI, V8DF_FTYPE_V8DF_V8DI_V8DF, V16SF_FTYPE_V16SF_V16SI_V16SF, V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI, V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI, V8DI_FTYPE_V16SI_V16SI_V8DI_QI, UINT64_FTYPE_V2DF_INT, UINT64_FTYPE_V4SF_INT, UINT_FTYPE_V2DF_INT, UINT_FTYPE_V4SF_INT, INT64_FTYPE_V2DF_INT, INT64_FTYPE_V4SF_INT, INT_FTYPE_V2DF_INT, INT_FTYPE_V4SF_INT, V2DF_FTYPE_V2DF_UINT64_INT, V4SF_FTYPE_V4SF_UINT64_INT, V4SF_FTYPE_V4SF_UINT_INT, V2DF_FTYPE_V2DF_INT64_INT, V4SF_FTYPE_V4SF_INT64_INT, V4SF_FTYPE_V4SF_INT_INT, V16SI_FTYPE_V16SF_V16SI_HI_INT, V16SF_FTYPE_V16SI_V16SF_HI_INT, V16SF_FTYPE_V16SF_V16SF_HI_INT, V16SF_FTYPE_V16HI_V16SF_HI_INT, V8SI_FTYPE_V8DF_V8SI_QI_INT, V8SF_FTYPE_V8DF_V8SF_QI_INT, V8DF_FTYPE_V8DF_V8DF_QI_INT, V8DF_FTYPE_V8SF_V8DF_QI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF_HI_INT, V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT, V4SF_FTYPE_V4SF_V4SF_V4SF_QI_INT, V4SF_FTYPE_V4SF_V2DF_V4SF_QI_INT, V2DF_FTYPE_V2DF_V2DF_V2DF_QI_INT, V2DF_FTYPE_V2DF_V4SF_V2DF_QI_INT, V2DF_FTYPE_V2DF_V2DF_V2DF_INT, V16SF_FTYPE_V16SF_INT_V16SF_HI_INT, V8DF_FTYPE_V8DF_INT_V8DF_QI_INT, V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI_INT, V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI_INT, V8DI_FTYPE_V8DI_SI_V8DI_V8DI, V16SF_FTYPE_V16SF_PCFLOAT_V16SI_HI_INT, V16SF_FTYPE_V16SF_PCFLOAT_V8DI_HI_INT, V8DF_FTYPE_V8DF_PCDOUBLE_V8SI_QI_INT, V8DF_FTYPE_V8DF_PCDOUBLE_V16SI_QI_INT, V8SF_FTYPE_V8SF_PCFLOAT_V8DI_QI_INT, V8DF_FTYPE_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_FTYPE_V16SI_PCINT_V16SI_HI_INT, V16SI_FTYPE_V16SI_PCINT_V8DI_HI_INT, V8DI_FTYPE_V8DI_PCINT64_V8SI_QI_INT, V8DI_FTYPE_V8DI_PCINT64_V16SI_QI_INT, V8SI_FTYPE_V8SI_PCINT_V8DI_QI_INT, V8DI_FTYPE_V8DI_PCINT64_V8DI_QI_INT, VOID_FTYPE_PFLOAT_HI_V16SI_V16SF_INT, VOID_FTYPE_PDOUBLE_QI_V8SI_V8DF_INT, VOID_FTYPE_PFLOAT_QI_V8DI_V8SF_INT, VOID_FTYPE_PDOUBLE_QI_V8DI_V8DF_INT, VOID_FTYPE_PINT_HI_V16SI_V16SI_INT, VOID_FTYPE_PLONGLONG_QI_V8SI_V8DI_INT, VOID_FTYPE_PINT_QI_V8DI_V8SI_INT, VOID_FTYPE_PLONGLONG_QI_V8DI_V8DI_INT, VOID_FTYPE_HI_V16SI_PCINT_INT_INT, VOID_FTYPE_QI_V8DI_PCINT_INT_INT. (ALIAS): Add DEF_FUNCTION_TYPE_ALIAS (V16SI_FTYPE_V8DF_V8DF, ROUND). * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_ADDPD512, IX86_BUILTIN_ADDPS512, IX86_BUILTIN_ADDSD_MASK, IX86_BUILTIN_ADDSS_MASK, IX86_BUILTIN_ALIGND512, IX86_BUILTIN_ALIGNQ512, IX86_BUILTIN_BLENDMD512, IX86_BUILTIN_BLENDMPD512, IX86_BUILTIN_BLENDMPS512, IX86_BUILTIN_BLENDMQ512, IX86_BUILTIN_BROADCASTF32X4_512, IX86_BUILTIN_BROADCASTF64X4_512, IX86_BUILTIN_BROADCASTI32X4_512, IX86_BUILTIN_BROADCASTI64X4_512, IX86_BUILTIN_BROADCASTSD512, IX86_BUILTIN_BROADCASTSS512, IX86_BUILTIN_CMPD512, IX86_BUILTIN_CMPPD512, IX86_BUILTIN_CMPPS512, IX86_BUILTIN_CMPQ512, IX86_BUILTIN_CMPSD_MASK, IX86_BUILTIN_CMPSS_MASK, IX86_BUILTIN_COMIDF, IX86_BUILTIN_COMISF, IX86_BUILTIN_COMPRESSPD512, IX86_BUILTIN_COMPRESSPDSTORE512, IX86_BUILTIN_COMPRESSPS512, IX86_BUILTIN_COMPRESSPSSTORE512, IX86_BUILTIN_CVTDQ2PD512, IX86_BUILTIN_CVTDQ2PS512, IX86_BUILTIN_CVTPD2DQ512, IX86_BUILTIN_CVTPD2PS512, IX86_BUILTIN_CVTPD2UDQ512, IX86_BUILTIN_CVTPH2PS512, IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_CVTPS2PD512, IX86_BUILTIN_CVTPS2PH512, IX86_BUILTIN_CVTPS2UDQ512, IX86_BUILTIN_CVTSD2SS_MASK, IX86_BUILTIN_CVTSI2SD64, IX86_BUILTIN_CVTSI2SS32, IX86_BUILTIN_CVTSI2SS64, IX86_BUILTIN_CVTSS2SD_MASK, IX86_BUILTIN_CVTTPD2DQ512, IX86_BUILTIN_CVTTPD2UDQ512, IX86_BUILTIN_CVTTPS2DQ512, IX86_BUILTIN_CVTTPS2UDQ512, IX86_BUILTIN_CVTUDQ2PD512, IX86_BUILTIN_CVTUDQ2PS512, IX86_BUILTIN_CVTUSI2SD32, IX86_BUILTIN_CVTUSI2SD64, IX86_BUILTIN_CVTUSI2SS32, IX86_BUILTIN_CVTUSI2SS64, IX86_BUILTIN_DIVPD512, IX86_BUILTIN_DIVPS512, IX86_BUILTIN_DIVSD_MASK, IX86_BUILTIN_DIVSS_MASK, IX86_BUILTIN_EXPANDPD512, IX86_BUILTIN_EXPANDPD512Z, IX86_BUILTIN_EXPANDPDLOAD512, IX86_BUILTIN_EXPANDPDLOAD512Z, IX86_BUILTIN_EXPANDPS512, IX86_BUILTIN_EXPANDPS512Z, IX86_BUILTIN_EXPANDPSLOAD512, IX86_BUILTIN_EXPANDPSLOAD512Z, IX86_BUILTIN_EXTRACTF32X4, IX86_BUILTIN_EXTRACTF64X4, IX86_BUILTIN_EXTRACTI32X4, IX86_BUILTIN_EXTRACTI64X4, IX86_BUILTIN_FIXUPIMMPD512_MASK, IX86_BUILTIN_FIXUPIMMPD512_MASKZ, IX86_BUILTIN_FIXUPIMMPS512_MASK, IX86_BUILTIN_FIXUPIMMPS512_MASKZ, IX86_BUILTIN_FIXUPIMMSD128_MASK, IX86_BUILTIN_FIXUPIMMSD128_MASKZ, IX86_BUILTIN_FIXUPIMMSS128_MASK, IX86_BUILTIN_FIXUPIMMSS128_MASKZ, IX86_BUILTIN_GETEXPPD512, IX86_BUILTIN_GETEXPPS512, IX86_BUILTIN_GETEXPSD128, IX86_BUILTIN_GETEXPSS128, IX86_BUILTIN_GETMANTPD512, IX86_BUILTIN_GETMANTPS512, IX86_BUILTIN_GETMANTSD128, IX86_BUILTIN_GETMANTSS128, IX86_BUILTIN_INSERTF32X4, IX86_BUILTIN_INSERTF64X4, IX86_BUILTIN_INSERTI32X4, IX86_BUILTIN_INSERTI64X4, IX86_BUILTIN_LOADAPD512, IX86_BUILTIN_LOADAPS512, IX86_BUILTIN_LOADDQUDI512, IX86_BUILTIN_LOADDQUSI512, IX86_BUILTIN_LOADSD, IX86_BUILTIN_LOADSS, IX86_BUILTIN_LOADUPD512, IX86_BUILTIN_LOADUPS512, IX86_BUILTIN_MAXPD512, IX86_BUILTIN_MAXPS512, IX86_BUILTIN_MAXSD_MASK, IX86_BUILTIN_MAXSS_MASK, IX86_BUILTIN_MINPD512, IX86_BUILTIN_MINPS512, IX86_BUILTIN_MINSD_MASK, IX86_BUILTIN_MINSS_MASK, IX86_BUILTIN_MOVAPD512, IX86_BUILTIN_MOVAPS512, IX86_BUILTIN_MOVDDUP512, IX86_BUILTIN_MOVDQA32LOAD512, IX86_BUILTIN_MOVDQA32STORE512, IX86_BUILTIN_MOVDQA32_512, IX86_BUILTIN_MOVDQA64LOAD512, IX86_BUILTIN_MOVDQA64STORE512, IX86_BUILTIN_MOVDQA64_512, IX86_BUILTIN_MOVESD, IX86_BUILTIN_MOVESS, IX86_BUILTIN_MOVNTDQ512, IX86_BUILTIN_MOVNTPD512, IX86_BUILTIN_MOVNTPS512, IX86_BUILTIN_MOVSHDUP512, IX86_BUILTIN_MOVSLDUP512, IX86_BUILTIN_MULPD512, IX86_BUILTIN_MULPS512, IX86_BUILTIN_MULSD_MASK, IX86_BUILTIN_MULSS_MASK, IX86_BUILTIN_PABSD512, IX86_BUILTIN_PABSQ512, IX86_BUILTIN_PADDD512, IX86_BUILTIN_PADDQ512, IX86_BUILTIN_PANDD512, IX86_BUILTIN_PANDND512, IX86_BUILTIN_PANDNQ512, IX86_BUILTIN_PANDQ512, IX86_BUILTIN_PBROADCASTD512, IX86_BUILTIN_PBROADCASTD512_GPR, IX86_BUILTIN_PBROADCASTMB512, IX86_BUILTIN_PBROADCASTMW512, IX86_BUILTIN_PBROADCASTQ512, IX86_BUILTIN_PBROADCASTQ512_GPR, IX86_BUILTIN_PBROADCASTQ512_MEM, IX86_BUILTIN_PCMPEQD512_MASK, IX86_BUILTIN_PCMPEQQ512_MASK, IX86_BUILTIN_PCMPGTD512_MASK, IX86_BUILTIN_PCMPGTQ512_MASK, IX86_BUILTIN_PCOMPRESSD512, IX86_BUILTIN_PCOMPRESSDSTORE512, IX86_BUILTIN_PCOMPRESSQ512, IX86_BUILTIN_PCOMPRESSQSTORE512, IX86_BUILTIN_PEXPANDD512, IX86_BUILTIN_PEXPANDD512Z, IX86_BUILTIN_PEXPANDDLOAD512, IX86_BUILTIN_PEXPANDDLOAD512Z, IX86_BUILTIN_PEXPANDQ512, IX86_BUILTIN_PEXPANDQ512Z, IX86_BUILTIN_PEXPANDQLOAD512, IX86_BUILTIN_PEXPANDQLOAD512Z, IX86_BUILTIN_PMAXSD512, IX86_BUILTIN_PMAXSQ512, IX86_BUILTIN_PMAXUD512, IX86_BUILTIN_PMAXUQ512, IX86_BUILTIN_PMINSD512, IX86_BUILTIN_PMINSQ512, IX86_BUILTIN_PMINUD512, IX86_BUILTIN_PMINUQ512, IX86_BUILTIN_PMOVDB512, IX86_BUILTIN_PMOVDW512, IX86_BUILTIN_PMOVQB512, IX86_BUILTIN_PMOVQD512, IX86_BUILTIN_PMOVQW512, IX86_BUILTIN_PMOVSDB512, IX86_BUILTIN_PMOVSDW512, IX86_BUILTIN_PMOVSQB512, IX86_BUILTIN_PMOVSQD512, IX86_BUILTIN_PMOVSQW512, IX86_BUILTIN_PMOVSXBD512, IX86_BUILTIN_PMOVSXBQ512, IX86_BUILTIN_PMOVSXDQ512, IX86_BUILTIN_PMOVSXWD512, IX86_BUILTIN_PMOVSXWQ512, IX86_BUILTIN_PMOVUSDB512, IX86_BUILTIN_PMOVUSDW512, IX86_BUILTIN_PMOVUSQB512, IX86_BUILTIN_PMOVUSQD512, IX86_BUILTIN_PMOVUSQW512, IX86_BUILTIN_PMOVZXBD512, IX86_BUILTIN_PMOVZXBQ512, IX86_BUILTIN_PMOVZXDQ512, IX86_BUILTIN_PMOVZXWD512, IX86_BUILTIN_PMOVZXWQ512, IX86_BUILTIN_PMULDQ512, IX86_BUILTIN_PMULLD512, IX86_BUILTIN_PMULUDQ512, IX86_BUILTIN_PORD512, IX86_BUILTIN_PORQ512, IX86_BUILTIN_PROLD512, IX86_BUILTIN_PROLQ512, IX86_BUILTIN_PROLVD512, IX86_BUILTIN_PROLVQ512, IX86_BUILTIN_PRORD512, IX86_BUILTIN_PRORQ512, IX86_BUILTIN_PRORVD512, IX86_BUILTIN_PRORVQ512, IX86_BUILTIN_PSHUFD512, IX86_BUILTIN_PSLLD512, IX86_BUILTIN_PSLLDI512, IX86_BUILTIN_PSLLQ512, IX86_BUILTIN_PSLLQI512, IX86_BUILTIN_PSLLVV16SI, IX86_BUILTIN_PSLLVV8DI, IX86_BUILTIN_PSRAD512, IX86_BUILTIN_PSRADI512, IX86_BUILTIN_PSRAQ512, IX86_BUILTIN_PSRAQI512, IX86_BUILTIN_PSRAVV16SI, IX86_BUILTIN_PSRAVV8DI, IX86_BUILTIN_PSRLD512, IX86_BUILTIN_PSRLDI512, IX86_BUILTIN_PSRLQ512, IX86_BUILTIN_PSRLQI512, IX86_BUILTIN_PSRLVV16SI, IX86_BUILTIN_PSRLVV8DI, IX86_BUILTIN_PSUBD512, IX86_BUILTIN_PSUBQ512, IX86_BUILTIN_PTESTMD512, IX86_BUILTIN_PTESTMQ512, IX86_BUILTIN_PTESTNMD512, IX86_BUILTIN_PTESTNMQ512, IX86_BUILTIN_PUNPCKHDQ512, IX86_BUILTIN_PUNPCKHQDQ512, IX86_BUILTIN_PUNPCKLDQ512, IX86_BUILTIN_PUNPCKLQDQ512, IX86_BUILTIN_PXORD512, IX86_BUILTIN_PXORQ512, IX86_BUILTIN_RCP14PD512, IX86_BUILTIN_RCP14PS512, IX86_BUILTIN_RCP14SD, IX86_BUILTIN_RCP14SS, IX86_BUILTIN_RNDSCALEPD, IX86_BUILTIN_RNDSCALEPS, IX86_BUILTIN_RNDSCALESD, IX86_BUILTIN_RNDSCALESS, IX86_BUILTIN_RSQRT14PD512, IX86_BUILTIN_RSQRT14PS512, IX86_BUILTIN_RSQRT14SD, IX86_BUILTIN_RSQRT14SS, IX86_BUILTIN_SCALEFPD512, IX86_BUILTIN_SCALEFPS512, IX86_BUILTIN_SCALEFSD, IX86_BUILTIN_SCALEFSS, IX86_BUILTIN_SHUFPD512, IX86_BUILTIN_SHUFPS512, IX86_BUILTIN_SHUF_F32x4, IX86_BUILTIN_SHUF_F64x2, IX86_BUILTIN_SHUF_I32x4, IX86_BUILTIN_SHUF_I64x2, IX86_BUILTIN_SQRTPD512_MASK, IX86_BUILTIN_SQRTPS512_MASK, IX86_BUILTIN_SQRTSD_MASK, IX86_BUILTIN_SQRTSS_MASK, IX86_BUILTIN_STOREAPD512, IX86_BUILTIN_STOREAPS512, IX86_BUILTIN_STOREDQUDI512, IX86_BUILTIN_STOREDQUSI512, IX86_BUILTIN_STORESD, IX86_BUILTIN_STORESS, IX86_BUILTIN_STOREUPD512, IX86_BUILTIN_STOREUPS512, IX86_BUILTIN_SUBPD512, IX86_BUILTIN_SUBPS512, IX86_BUILTIN_SUBSD_MASK, IX86_BUILTIN_SUBSS_MASK, IX86_BUILTIN_UCMPD512, IX86_BUILTIN_UCMPQ512, IX86_BUILTIN_UNPCKHPD512, IX86_BUILTIN_UNPCKHPS512, IX86_BUILTIN_UNPCKLPD512, IX86_BUILTIN_UNPCKLPS512, IX86_BUILTIN_VCVTSD2SI32, IX86_BUILTIN_VCVTSD2SI64, IX86_BUILTIN_VCVTSD2USI32, IX86_BUILTIN_VCVTSD2USI64, IX86_BUILTIN_VCVTSS2SI32, IX86_BUILTIN_VCVTSS2SI64, IX86_BUILTIN_VCVTSS2USI32, IX86_BUILTIN_VCVTSS2USI64, IX86_BUILTIN_VCVTTSD2SI32, IX86_BUILTIN_VCVTTSD2SI64, IX86_BUILTIN_VCVTTSD2USI32, IX86_BUILTIN_VCVTTSD2USI64, IX86_BUILTIN_VCVTTSS2SI32, IX86_BUILTIN_VCVTTSS2SI64, IX86_BUILTIN_VCVTTSS2USI32, IX86_BUILTIN_VCVTTSS2USI64, IX86_BUILTIN_VFMADDPD512_MASK, IX86_BUILTIN_VFMADDPD512_MASK3, IX86_BUILTIN_VFMADDPD512_MASKZ, IX86_BUILTIN_VFMADDPS512_MASK, IX86_BUILTIN_VFMADDPS512_MASK3, IX86_BUILTIN_VFMADDPS512_MASKZ, IX86_BUILTIN_VFMADDSD3_MASK, IX86_BUILTIN_VFMADDSD3_MASK3, IX86_BUILTIN_VFMADDSD3_MASKZ, IX86_BUILTIN_VFMADDSS3_MASK, IX86_BUILTIN_VFMADDSS3_MASK3, IX86_BUILTIN_VFMADDSS3_MASKZ, IX86_BUILTIN_VFMADDSUBPD512_MASK, IX86_BUILTIN_VFMADDSUBPD512_MASK3, IX86_BUILTIN_VFMADDSUBPD512_MASKZ, IX86_BUILTIN_VFMADDSUBPS512_MASK, IX86_BUILTIN_VFMADDSUBPS512_MASK3, IX86_BUILTIN_VFMADDSUBPS512_MASKZ, IX86_BUILTIN_VFMSUBADDPD512_MASK3, IX86_BUILTIN_VFMSUBADDPS512_MASK3, IX86_BUILTIN_VFMSUBPD512_MASK3, IX86_BUILTIN_VFMSUBPS512_MASK3, IX86_BUILTIN_VFMSUBSD3_MASK3, IX86_BUILTIN_VFMSUBSS3_MASK3, IX86_BUILTIN_VFNMADDPD512_MASK, IX86_BUILTIN_VFNMADDPS512_MASK, IX86_BUILTIN_VFNMSUBPD512_MASK, IX86_BUILTIN_VFNMSUBPD512_MASK3, IX86_BUILTIN_VFNMSUBPS512_MASK, IX86_BUILTIN_VFNMSUBPS512_MASK3, IX86_BUILTIN_VPCLZCNTD512, IX86_BUILTIN_VPCLZCNTQ512, IX86_BUILTIN_VPCONFLICTD512, IX86_BUILTIN_VPCONFLICTQ512, IX86_BUILTIN_VPERMDF512, IX86_BUILTIN_VPERMDI512, IX86_BUILTIN_VPERMI2VARD512, IX86_BUILTIN_VPERMI2VARPD512, IX86_BUILTIN_VPERMI2VARPS512, IX86_BUILTIN_VPERMI2VARQ512, IX86_BUILTIN_VPERMILPD512, IX86_BUILTIN_VPERMILPS512, IX86_BUILTIN_VPERMILVARPD512, IX86_BUILTIN_VPERMILVARPS512, IX86_BUILTIN_VPERMT2VARD512, IX86_BUILTIN_VPERMT2VARD512_MASKZ, IX86_BUILTIN_VPERMT2VARPD512, IX86_BUILTIN_VPERMT2VARPD512_MASKZ, IX86_BUILTIN_VPERMT2VARPS512, IX86_BUILTIN_VPERMT2VARPS512_MASKZ, IX86_BUILTIN_VPERMT2VARQ512, IX86_BUILTIN_VPERMT2VARQ512_MASKZ, IX86_BUILTIN_VPERMVARDF512, IX86_BUILTIN_VPERMVARDI512, IX86_BUILTIN_VPERMVARSF512, IX86_BUILTIN_VPERMVARSI512, IX86_BUILTIN_VTERNLOGD512_MASK, IX86_BUILTIN_VTERNLOGD512_MASKZ, IX86_BUILTIN_VTERNLOGQ512_MASK, IX86_BUILTIN_VTERNLOGQ512_MASKZ, IX86_BUILTIN_KAND16, IX86_BUILTIN_KANDN16, IX86_BUILTIN_KNOT16, IX86_BUILTIN_KOR16, IX86_BUILTIN_KORTESTC16, IX86_BUILTIN_KORTESTZ16, IX86_BUILTIN_KUNPCKBW, IX86_BUILTIN_KXNOR16, IX86_BUILTIN_KXOR16, IX86_BUILTIN_GATHER3SIV8DI, IX86_BUILTIN_SCATTERDIV16SF, IX86_BUILTIN_SCATTERDIV16SI, IX86_BUILTIN_SCATTERDIV8DF, IX86_BUILTIN_SCATTERDIV8DI, IX86_BUILTIN_SCATTERSIV16SF, IX86_BUILTIN_SCATTERSIV16SI, IX86_BUILTIN_SCATTERSIV8DF, IX86_BUILTIN_SCATTERSIV8DI, IX86_BUILTIN_GATHERPFDPS, IX86_BUILTIN_GATHERPFQPS, IX86_BUILTIN_SCATTERPFDPS, IX86_BUILTIN_SCATTERPFQPS, IX86_BUILTIN_EXP2PD_MASK, IX86_BUILTIN_EXP2PS_MASK, IX86_BUILTIN_RCP28PD, IX86_BUILTIN_RCP28PS, IX86_BUILTIN_RSQRT28PD, IX86_BUILTIN_RSQRT28PS. (bdesc_special_args): Add __builtin_ia32_compressstoresf512_mask, __builtin_ia32_compressstoresi512_mask, __builtin_ia32_compressstoredf512_mask, __builtin_ia32_compressstoredi512_mask, __builtin_ia32_expandloadsf512_mask, __builtin_ia32_expandloadsf512_maskz, __builtin_ia32_expandloadsi512_mask, __builtin_ia32_expandloadsi512_maskz, __builtin_ia32_expandloaddf512_mask, __builtin_ia32_expandloaddf512_maskz, __builtin_ia32_expandloaddi512_mask, __builtin_ia32_expandloaddi512_maskz, __builtin_ia32_loaddqusi512_mask, __builtin_ia32_loaddqudi512_mask, __builtin_ia32_loadsd_mask, __builtin_ia32_loadss_mask, __builtin_ia32_loadupd512_mask, __builtin_ia32_loadups512_mask, __builtin_ia32_loadaps512_mask, __builtin_ia32_movdqa32load512_mask, __builtin_ia32_loadapd512_mask, __builtin_ia32_movdqa64load512_mask, __builtin_ia32_movntps512, __builtin_ia32_movntpd512, __builtin_ia32_movntdq512, __builtin_ia32_storedqusi512_mask, __builtin_ia32_storedqudi512_mask, __builtin_ia32_storesd_mask, __builtin_ia32_storess_mask, __builtin_ia32_storeupd512_mask, __builtin_ia32_storeups512_mask, __builtin_ia32_storeaps512_mask, __builtin_ia32_movdqa32store512_mask, __builtin_ia32_storeapd512_mask, __builtin_ia32_movdqa64store512_mask, __builtin_ia32_alignd512_mask, __builtin_ia32_alignq512_mask, __builtin_ia32_blendmd_512_mask, __builtin_ia32_blendmpd_512_mask, __builtin_ia32_blendmps_512_mask, __builtin_ia32_blendmq_512_mask, __builtin_ia32_broadcastf32x4_512, __builtin_ia32_broadcastf64x4_512, __builtin_ia32_broadcasti32x4_512, __builtin_ia32_broadcasti64x4_512, __builtin_ia32_broadcastsd512, __builtin_ia32_broadcastss512, __builtin_ia32_cmpd512_mask, __builtin_ia32_cmpq512_mask, __builtin_ia32_compressdf512_mask, __builtin_ia32_compresssf512_mask, __builtin_ia32_cvtdq2pd512_mask, __builtin_ia32_vcvtps2ph512_mask, __builtin_ia32_cvtudq2pd512_mask, __builtin_ia32_cvtusi2sd32, __builtin_ia32_expanddf512_mask, __builtin_ia32_expanddf512_maskz, __builtin_ia32_expandsf512_mask, __builtin_ia32_expandsf512_maskz, __builtin_ia32_extractf32x4_mask, __builtin_ia32_extractf64x4_mask, __builtin_ia32_extracti32x4_mask, __builtin_ia32_extracti64x4_mask, __builtin_ia32_insertf32x4_mask, __builtin_ia32_insertf64x4_mask, __builtin_ia32_inserti32x4_mask, __builtin_ia32_inserti64x4_mask, __builtin_ia32_movapd512_mask, __builtin_ia32_movaps512_mask, __builtin_ia32_movddup512_mask, __builtin_ia32_movdqa32_512_mask, __builtin_ia32_movdqa64_512_mask, __builtin_ia32_movesd_mask, __builtin_ia32_movess_mask, __builtin_ia32_movshdup512_mask, __builtin_ia32_movsldup512_mask, __builtin_ia32_pabsd512_mask, __builtin_ia32_pabsq512_mask, __builtin_ia32_paddd512_mask, __builtin_ia32_paddq512_mask, __builtin_ia32_pandd512_mask, __builtin_ia32_pandnd512_mask, __builtin_ia32_pandnq512_mask, __builtin_ia32_pandq512_mask, __builtin_ia32_pbroadcastd512, __builtin_ia32_pbroadcastd512_gpr_mask, __builtin_ia32_broadcastmb512, __builtin_ia32_broadcastmw512, __builtin_ia32_pbroadcastq512, __builtin_ia32_pbroadcastq512_gpr_mask, __builtin_ia32_pbroadcastq512_mem_mask, __builtin_ia32_pcmpeqd512_mask, __builtin_ia32_pcmpeqq512_mask, __builtin_ia32_pcmpgtd512_mask, __builtin_ia32_pcmpgtq512_mask, __builtin_ia32_compresssi512_mask, __builtin_ia32_compressdi512_mask, __builtin_ia32_expandsi512_mask, __builtin_ia32_expandsi512_maskz, __builtin_ia32_expanddi512_mask, __builtin_ia32_expanddi512_maskz, __builtin_ia32_pmaxsd512_mask, __builtin_ia32_pmaxsq512_mask, __builtin_ia32_pmaxud512_mask, __builtin_ia32_pmaxuq512_mask, __builtin_ia32_pminsd512_mask, __builtin_ia32_pminsq512_mask, __builtin_ia32_pminud512_mask, __builtin_ia32_pminuq512_mask, __builtin_ia32_pmovdb512_mask, __builtin_ia32_pmovdw512_mask, __builtin_ia32_pmovqb512_mask, __builtin_ia32_pmovqd512_mask, __builtin_ia32_pmovqw512_mask, __builtin_ia32_pmovsdb512_mask, __builtin_ia32_pmovsdw512_mask, __builtin_ia32_pmovsqb512_mask, __builtin_ia32_pmovsqd512_mask, __builtin_ia32_pmovsqw512_mask, __builtin_ia32_pmovsxbd512_mask, __builtin_ia32_pmovsxbq512_mask, __builtin_ia32_pmovsxdq512_mask, __builtin_ia32_pmovsxwd512_mask, __builtin_ia32_pmovsxwq512_mask, __builtin_ia32_pmovusdb512_mask, __builtin_ia32_pmovusdw512_mask, __builtin_ia32_pmovusqb512_mask, __builtin_ia32_pmovusqd512_mask, __builtin_ia32_pmovusqw512_mask, __builtin_ia32_pmovzxbd512_mask, __builtin_ia32_pmovzxbq512_mask, __builtin_ia32_pmovzxdq512_mask, __builtin_ia32_pmovzxwd512_mask, __builtin_ia32_pmovzxwq512_mask, __builtin_ia32_pmuldq512_mask, __builtin_ia32_pmulld512_mask, __builtin_ia32_pmuludq512_mask, __builtin_ia32_pord512_mask, __builtin_ia32_porq512_mask, __builtin_ia32_prold512_mask, __builtin_ia32_prolq512_mask, __builtin_ia32_prolvd512_mask, __builtin_ia32_prolvq512_mask, __builtin_ia32_prord512_mask, __builtin_ia32_prorq512_mask, __builtin_ia32_prorvd512_mask, __builtin_ia32_prorvq512_mask, __builtin_ia32_pshufd512_mask, __builtin_ia32_pslld512_mask, __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask, __builtin_ia32_psllqi512_mask, __builtin_ia32_psllv16si_mask, __builtin_ia32_psllv8di_mask, __builtin_ia32_psrad512_mask, __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask, __builtin_ia32_psraqi512_mask, __builtin_ia32_psrav16si_mask, __builtin_ia32_psrav8di_mask, __builtin_ia32_psrld512_mask, __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask, __builtin_ia32_psrlqi512_mask, __builtin_ia32_psrlv16si_mask, __builtin_ia32_psrlv8di_mask, __builtin_ia32_psubd512_mask, __builtin_ia32_psubq512_mask, __builtin_ia32_ptestmd512, __builtin_ia32_ptestmq512, __builtin_ia32_ptestnmd512, __builtin_ia32_ptestnmq512, __builtin_ia32_punpckhdq512_mask, __builtin_ia32_punpckhqdq512_mask, __builtin_ia32_punpckldq512_mask, __builtin_ia32_punpcklqdq512_mask, __builtin_ia32_pxord512_mask, __builtin_ia32_pxorq512_mask, __builtin_ia32_rcp14pd512_mask, __builtin_ia32_rcp14ps512_mask, __builtin_ia32_rcp14sd_mask, __builtin_ia32_rcp14ss_mask, __builtin_ia32_rsqrt14pd512_mask, __builtin_ia32_rsqrt14ps512_mask, __builtin_ia32_rsqrt14sd_mask, __builtin_ia32_rsqrt14ss_mask, __builtin_ia32_shufpd512_mask, __builtin_ia32_shufps512_mask, __builtin_ia32_shuf_f32x4_mask, __builtin_ia32_shuf_f64x2_mask, __builtin_ia32_shuf_i32x4_mask, __builtin_ia32_shuf_i64x2_mask, __builtin_ia32_ucmpd512_mask, __builtin_ia32_ucmpq512_mask, __builtin_ia32_unpckhpd512_mask, __builtin_ia32_unpckhps512_mask, __builtin_ia32_unpcklpd512_mask, __builtin_ia32_unpcklps512_mask, __builtin_ia32_vplzcntd_512_mask, __builtin_ia32_vplzcntq_512_mask, __builtin_ia32_vpconflictsi_512_mask, __builtin_ia32_vpconflictdi_512_mask, __builtin_ia32_permdf512_mask, __builtin_ia32_permdi512_mask, __builtin_ia32_vpermi2vard512_mask, __builtin_ia32_vpermi2varpd512_mask, __builtin_ia32_vpermi2varps512_mask, __builtin_ia32_vpermi2varq512_mask, __builtin_ia32_vpermilpd512_mask, __builtin_ia32_vpermilps512_mask, __builtin_ia32_vpermilvarpd512_mask, __builtin_ia32_vpermilvarps512_mask, __builtin_ia32_vpermt2vard512_mask, __builtin_ia32_vpermt2vard512_maskz, __builtin_ia32_vpermt2varpd512_mask, __builtin_ia32_vpermt2varpd512_maskz, __builtin_ia32_vpermt2varps512_mask, __builtin_ia32_vpermt2varps512_maskz, __builtin_ia32_vpermt2varq512_mask, __builtin_ia32_vpermt2varq512_maskz, __builtin_ia32_permvardf512_mask, __builtin_ia32_permvardi512_mask, __builtin_ia32_permvarsf512_mask, __builtin_ia32_permvarsi512_mask, __builtin_ia32_pternlogd512_mask, __builtin_ia32_pternlogd512_maskz, __builtin_ia32_pternlogq512_mask, __builtin_ia32_pternlogq512_maskz, __builtin_ia32_copysignps512, __builtin_ia32_copysignpd512, __builtin_ia32_sqrtpd512, __builtin_ia32_sqrtps512, __builtin_ia32_exp2ps, __builtin_ia32_roundpd_az_vec_pack_sfix512, __builtin_ia32_floorpd_vec_pack_sfix512, __builtin_ia32_ceilpd_vec_pack_sfix512, __builtin_ia32_kandhi, __builtin_ia32_kandnhi, __builtin_ia32_knothi, __builtin_ia32_korhi, __builtin_ia32_kortestchi, __builtin_ia32_kortestzhi, __builtin_ia32_kunpckhi, __builtin_ia32_kxnorhi, __builtin_ia32_kxorhi, __builtin_ia32_addpd512_mask, __builtin_ia32_addps512_mask, __builtin_ia32_addsd_mask, __builtin_ia32_addss_mask, __builtin_ia32_cmppd512_mask, __builtin_ia32_cmpps512_mask, __builtin_ia32_cmpsd_mask, __builtin_ia32_cmpss_mask, __builtin_ia32_vcomisd, __builtin_ia32_vcomiss, __builtin_ia32_cvtdq2ps512_mask, __builtin_ia32_cvtpd2dq512_mask, __builtin_ia32_cvtpd2ps512_mask, __builtin_ia32_cvtpd2udq512_mask, __builtin_ia32_vcvtph2ps512_mask, __builtin_ia32_cvtps2dq512_mask, __builtin_ia32_cvtps2pd512_mask, __builtin_ia32_cvtps2udq512_mask, __builtin_ia32_cvtsd2ss_mask, __builtin_ia32_cvtsi2sd64, __builtin_ia32_cvtsi2ss32, __builtin_ia32_cvtsi2ss64, __builtin_ia32_cvtss2sd_mask, __builtin_ia32_cvttpd2dq512_mask, __builtin_ia32_cvttpd2udq512_mask, __builtin_ia32_cvttps2dq512_mask, __builtin_ia32_cvttps2udq512_mask, __builtin_ia32_cvtudq2ps512_mask, __builtin_ia32_cvtusi2sd64, __builtin_ia32_cvtusi2ss32, __builtin_ia32_cvtusi2ss64, __builtin_ia32_divpd512_mask, __builtin_ia32_divps512_mask, __builtin_ia32_divsd_mask, __builtin_ia32_divss_mask, __builtin_ia32_fixupimmpd512_mask, __builtin_ia32_fixupimmpd512_maskz, __builtin_ia32_fixupimmps512_mask, __builtin_ia32_fixupimmps512_maskz, __builtin_ia32_fixupimmsd_mask, __builtin_ia32_fixupimmsd_maskz, __builtin_ia32_fixupimmss_mask, __builtin_ia32_fixupimmss_maskz, __builtin_ia32_getexppd512_mask, __builtin_ia32_getexpps512_mask, __builtin_ia32_getexpsd128_mask, __builtin_ia32_getexpss128_mask, __builtin_ia32_getmantpd512_mask, __builtin_ia32_getmantps512_mask, __builtin_ia32_getmantsd_mask, __builtin_ia32_getmantss_mask, __builtin_ia32_maxpd512_mask, __builtin_ia32_maxps512_mask, __builtin_ia32_maxsd_mask, __builtin_ia32_maxss_mask, __builtin_ia32_minpd512_mask, __builtin_ia32_minps512_mask, __builtin_ia32_minsd_mask, __builtin_ia32_minss_mask, __builtin_ia32_mulpd512_mask, __builtin_ia32_mulps512_mask, __builtin_ia32_mulsd_mask, __builtin_ia32_mulss_mask, __builtin_ia32_rndscalepd_mask, __builtin_ia32_rndscaleps_mask, __builtin_ia32_rndscalesd_mask, __builtin_ia32_rndscaless_mask, __builtin_ia32_scalefpd512_mask, __builtin_ia32_scalefps512_mask, __builtin_ia32_scalefsd_mask, __builtin_ia32_scalefss_mask, __builtin_ia32_sqrtpd512_mask, __builtin_ia32_sqrtps512_mask, __builtin_ia32_sqrtsd_mask, __builtin_ia32_sqrtss_mask, __builtin_ia32_subpd512_mask, __builtin_ia32_subps512_mask, __builtin_ia32_subsd_mask, __builtin_ia32_subss_mask, __builtin_ia32_vcvtsd2si32, __builtin_ia32_vcvtsd2si64, __builtin_ia32_vcvtsd2usi32, __builtin_ia32_vcvtsd2usi64, __builtin_ia32_vcvtss2si32, __builtin_ia32_vcvtss2si64, __builtin_ia32_vcvtss2usi32, __builtin_ia32_vcvtss2usi64, __builtin_ia32_vcvttsd2si32, __builtin_ia32_vcvttsd2si64, __builtin_ia32_vcvttsd2usi32, __builtin_ia32_vcvttsd2usi64, __builtin_ia32_vcvttss2si32, __builtin_ia32_vcvttss2si64, __builtin_ia32_vcvttss2usi32, __builtin_ia32_vcvttss2usi64, __builtin_ia32_vfmaddpd512_mask, __builtin_ia32_vfmaddpd512_mask3, __builtin_ia32_vfmaddpd512_maskz, __builtin_ia32_vfmaddps512_mask, __builtin_ia32_vfmaddps512_mask3, __builtin_ia32_vfmaddps512_maskz, __builtin_ia32_vfmaddsd3_mask, __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz, __builtin_ia32_vfmaddss3_mask, __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz, __builtin_ia32_vfmaddsubpd512_mask, __builtin_ia32_vfmaddsubpd512_mask3, __builtin_ia32_vfmaddsubpd512_maskz, __builtin_ia32_vfmaddsubps512_mask, __builtin_ia32_vfmaddsubps512_mask3, __builtin_ia32_vfmaddsubps512_maskz, __builtin_ia32_vfmsubaddpd512_mask3, __builtin_ia32_vfmsubaddps512_mask3, __builtin_ia32_vfmsubpd512_mask3, __builtin_ia32_vfmsubps512_mask3, __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmsubss3_mask3, __builtin_ia32_vfnmaddpd512_mask, __builtin_ia32_vfnmaddps512_mask, __builtin_ia32_vfnmsubpd512_mask, __builtin_ia32_vfnmsubpd512_mask3, __builtin_ia32_vfnmsubps512_mask, __builtin_ia32_vfnmsubps512_mask3, __builtin_ia32_exp2pd_mask, __builtin_ia32_exp2ps_mask, __builtin_ia32_rcp28pd_mask, __builtin_ia32_rcp28ps_mask, __builtin_ia32_rsqrt28pd_mask, __builtin_ia32_rsqrt28ps_mask, __builtin_ia32_gathersiv16sf, __builtin_ia32_gathersiv8df, __builtin_ia32_gatherdiv16sf, __builtin_ia32_gatherdiv8df, __builtin_ia32_gathersiv16si, __builtin_ia32_gathersiv8di, __builtin_ia32_gatherdiv16si, __builtin_ia32_gatherdiv8di, __builtin_ia32_gatheraltsiv8df , __builtin_ia32_gatheraltdiv8sf , __builtin_ia32_gatheraltsiv8di , __builtin_ia32_gatheraltdiv8si , __builtin_ia32_scattersiv16sf, __builtin_ia32_scattersiv8df, __builtin_ia32_scatterdiv16sf, __builtin_ia32_scatterdiv8df, __builtin_ia32_scattersiv16si, __builtin_ia32_scattersiv8di, __builtin_ia32_scatterdiv16si, __builtin_ia32_scatterdiv8di, __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqps. (ix86_init_mmx_sse_builtins): Handle builtins with AVX512 embeded rounding, builtins for AVX512 gathers/scatters. (ix86_expand_args_builtin): Handle new functions types, add warnings for masked builtins. (ix86_erase_embedded_rounding): Handle patterns with embedded rounding. (ix86_expand_sse_comi_round): Ditto. (ix86_expand_round_builtin): Ditto. (ix86_expand_builtin): Handle AVX512's gathers/scatters and kortest{z}. Call ix86_expand_round_builtin. * config/i386/immintrin.h: Add avx512fintrin.h, avx512erintrin.h, avx512pfintrin.h, avx512cdintrin.h. testsuite/ * gcc.target/i386/avx-1.c: Extend to AVX-512. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206261 138bc75d-0d04-0410-961f-82ee72b054a4
* Commit of nios2 port to trunk:cltang2013-12-311-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contrib/ 2013-12-31 Chung-Lin Tang <cltang@codesourcery.com> * config-list.mk: Add nios2-elf, nios2-linux-gnu. Corrected ordering of some configs. gcc/ 2013-12-31 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> Based on patches from Altera Corporation * config.gcc (nios2-*-*): Add nios2 config targets. * configure.ac (TLS_SECTION_ASM_FLAG): Add nios2 case. ("$cpu_type"): Add nios2 as new cpu type. * configure: Regenerate. * config/nios2/nios2.c: New file. * config/nios2/nios2.h: New file. * config/nios2/nios2-opts.h: New file. * config/nios2/nios2-protos.h: New file. * config/nios2/elf.h: New file. * config/nios2/elf.opt: New file. * config/nios2/linux.h: New file. * config/nios2/nios2.opt: New file. * config/nios2/nios2.md: New file. * config/nios2/predicates.md: New file. * config/nios2/constraints.md: New file. * config/nios2/t-nios2: New file. * common/config/nios2/nios2-common.c: New file. * doc/invoke.texi (Nios II options): Document Nios II specific options. * doc/md.texi (Nios II family): Document Nios II specific constraints. * doc/extend.texi (Function Specific Option Pragmas): Document Nios II supported target pragma functionality. gcc/testsuite/ 2013-12-31 Sandra Loosemore <sandra@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> Based on patches from Altera Corporation * gcc.dg/stack-usage-1.c (SIZE): Define case for __nios2__. * gcc.dg/20040813-1.c: Skip for nios2-*-*. * gcc.dg/20020312-2.c: Add __nios2__ case. * g++.dg/other/PR23205.C: Skip for nios2-*-*. * g++.dg/other/pr23205-2.C: Skip for nios2-*-*. * g++.dg/cpp0x/constexpr-rom.C: Skip for nios2-*-*. * g++.dg/cpp0x/alias-decl-debug-0.C: Skip for nios2-*-*. * g++.old-deja/g++.jason/thunk3.C: Skip for nios2-*-*. * lib/target-supports.exp (check_profiling_available): Check for nios2-*-elf. * gcc.c-torture/execute/pr47237.x:: Skip for nios2-*-*. * gcc.c-torture/execute/20101011-1.c: Skip for nios2-*-*. * gcc.c-torture/execute/builtins/lib/chk.c (memset): Place char-based memset loop before inline check, to prevent problems when called to initialize .bss. Update comments. * gcc.target/nios2/nios2.exp: New DejaGNU file. * gcc.target/nios2/nios2-custom-1.c: New test. * gcc.target/nios2/nios2-trap-insn.c: New test. * gcc.target/nios2/nios2-builtin-custom.c: New test. * gcc.target/nios2/nios2-builtin-io.c: New test. * gcc.target/nios2/nios2-stack-check-1.c: New test. * gcc.target/nios2/nios2-stack-check-2.c: New test. * gcc.target/nios2/nios2-rdctl.c: New test. * gcc.target/nios2/nios2-wrctl.c: New test. * gcc.target/nios2/nios2-wrctl-zero.c: New test. * gcc.target/nios2/nios2-wrctl-not-zero.c: New test. * gcc.target/nios2/nios2-rdwrctl-1.c: New test. * gcc.target/nios2/nios2-reg-constraints.c: New test. * gcc.target/nios2/nios2-ashlsi3-one_shift.c: New test. * gcc.target/nios2/nios2-mul-options-1.c: New test. * gcc.target/nios2/nios2-mul-options-2.c: New test. * gcc.target/nios2/nios2-mul-options-3.c: New test. * gcc.target/nios2/nios2-mul-options-4.c: New test. * gcc.target/nios2/nios2-nor.c: New test. * gcc.target/nios2/nios2-stxio.c: New test. * gcc.target/nios2/custom-fp-1.c: New test. * gcc.target/nios2/custom-fp-2.c: New test. * gcc.target/nios2/custom-fp-3.c: New test. * gcc.target/nios2/custom-fp-4.c: New test. * gcc.target/nios2/custom-fp-5.c: New test. * gcc.target/nios2/custom-fp-6.c: New test. * gcc.target/nios2/custom-fp-7.c: New test. * gcc.target/nios2/custom-fp-8.c: New test. * gcc.target/nios2/custom-fp-cmp-1.c: New test. * gcc.target/nios2/custom-fp-conversion.c: New test. * gcc.target/nios2/custom-fp-double.c: New test. * gcc.target/nios2/custom-fp-float.c: New test. * gcc.target/nios2/nios2-int-types.c: New test. * gcc.target/nios2/nios2-cache-1.c: New test. * gcc.target/nios2/nios2-cache-2.c: New test. libgcc/ 2013-12-31 Sandra Loosemore <sandra@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> Based on patches from Altera Corporation * config.host (nios2-*-*,nios2-*-linux*): Add nios2 host cases. * config/nios2/lib2-nios2.h: New file. * config/nios2/lib2-divmod-hi.c: New file. * config/nios2/linux-unwind.h: New file. * config/nios2/lib2-divmod.c: New file. * config/nios2/linux-atomic.c: New file. * config/nios2/t-nios2: New file. * config/nios2/crti.asm: New file. * config/nios2/t-linux: New file. * config/nios2/lib2-divtable.c: New file. * config/nios2/lib2-mul.c: New file. * config/nios2/tramp.c: New file. * config/nios2/crtn.asm: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206256 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Support march=broadwell.kyukhin2013-12-201-1/+1
| | | | | | | | | | * config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell. * config/i386/i386.c (ix86_option_override_internal): Add broadwell. * doc/invoke.texi: Document march=broadwell. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206144 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/]ktkachov2013-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi. * config.gcc (extra_headers): Add arm_acle.h. * config/arm/arm.c (FL_CRC32): Define. (arm_have_crc): Likewise. (arm_option_override): Set arm_have_crc. (arm_builtins): Add CRC32 builtins. (bdesc_2arg): Likewise. (arm_init_crc32_builtins): New function. (arm_init_builtins): Initialise CRC32 builtins. (arm_file_start): Handle architecture extensions. * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_FEATURE_CRC32. Define __ARM_32BIT_STATE. (TARGET_CRC32): Define. * config/arm/arm-arches.def: Add armv8-a+crc. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm.md (type): Add crc. (<crc_variant>): New insn. * config/arm/arm_acle.h: New file. * config/arm/iterators.md (CRC): New int iterator. (crc_variant, crc_mode): New int attributes. * confg/arm/unspecs.md (UNSPEC_CRC32B, UNSPEC_CRC32H, UNSPEC_CRC32W, UNSPEC_CRC32CB, UNSPEC_CRC32CH, UNSPEC_CRC32CW): New unspecs. * doc/invoke.texi: Document -march=armv8-a+crc option. * doc/extend.texi: Document ACLE intrinsics. [gcc/testsuite/] 2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (add_options_for_arm_crc): New procedure. (check_effective_target_arm_crc_ok_nocache): Likewise. (check_effective_target_arm_crc_ok): Likewise. * gcc.target/arm/acle/: New directory. * gcc.target/arm/acle/acle.exp: New. * gcc.target/arm/acle/crc32b.c: New test. * gcc.target/arm/acle/crc32h.c: Likewise. * gcc.target/arm/acle/crc32w.c: Likewise. * gcc.target/arm/acle/crc32d.c: Likewise. * gcc.target/arm/acle/crc32cb.c: Likewise. * gcc.target/arm/acle/crc32ch.c: Likewise. * gcc.target/arm/acle/crc32cw.c: Likewise. * gcc.target/arm/acle/crc32cd.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206128 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix mips64-linux and s390x-linux builds.mkuvyrkov2013-12-101-3/+5
| | | | | | | | * config.gcc (mips*-mti-linux*, mips64*-*-linux*): Add android definitions. (s390x-*-linux*): Use linux-protos.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205849 138bc75d-0d04-0410-961f-82ee72b054a4
* Cleanup libc selection and Android support.mkuvyrkov2013-12-071-16/+13
| | | | | | | | | | * config.gcc (*linux*): Split libc selection from Android support. Add libc selection to all *linux* targets. Add Android support to architectures that support it. (arm*-*-linux-*, i[34567]86-*-linux*, x86_64-*-linux*,) (mips*-*-linux*): Add Android support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205781 138bc75d-0d04-0410-961f-82ee72b054a4
* Rename files for libc selection on Linux targets.mkuvyrkov2013-12-071-5/+5
| | | | | | | | | * linux-android.c: Rename to linux.c. * t-linux-android: Rename to t-linux. Update references to linux-android.c * config.gcc: Update references to t-linux-android and linux-android.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205777 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-12-07 Ralf Corsépius <ralf.corsepius@rtems.org>corsepiu2013-12-071-0/+8
| | | | | | | | * config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205771 138bc75d-0d04-0410-961f-82ee72b054a4
* Change -mtune=ia to -mtune=intelhjl2013-12-061-7/+7
| | | | | | | | | | | | | | | * config.gcc: Change --with-cpu=ia to --with-cpu=intel. * config/i386/i386.c (cpu_names): Replace "ia" with "intel". (processor_alias_table): Likewise. (ix86_option_override_internal): Likewise. * config/i386/i386.h (target_cpu_default): Replace TARGET_CPU_DEFAULT_ia with TARGET_CPU_DEFAULT_intel. * doc/invoke.texi: Replace -mtune=ia with -mtune=intel. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205754 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -march=ia to x86 backendhjl2013-12-051-7/+7
| | | | | | | | | | | | | | | * config.gcc: Support --with-cpu=ia. * config/i386/i386.c (cpu_names): Add "ia". (processor_alias_table): Likewise. (ix86_option_override_internal): Disallow -march=ia. * config/i386/i386.h (target_cpu_default): Add TARGET_CPU_DEFAULT_ia. * doc/invoke.texi: Document -mtune=ia. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205719 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/53976olegendo2013-11-211-1/+1
| | | | | | | | | | | | | | | * config/sh/sh_optimize_sett_clrt.cc: New SH specific RTL pass. * config/sh/sh.c (register_sh_passes): Add sh_optimize_sett_clrt pass. * config/sh/sh/t-sh (sh_optimize_sett_clrt pass.o): New entry. * config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add sh_optimize_sett_clrt pass.o to extra_objs. PR target/53976 * gcc.target/sh/pr53976-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205191 138bc75d-0d04-0410-961f-82ee72b054a4
* AMD bdver4 enablementgganesh2013-11-181-9/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204939 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:uweigand2013-11-141-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2. (RS6000_SAVE_TOC): Remove. (RS6000_TOC_SAVE_SLOT): New macro. * config/rs6000/rs6000.c (rs6000_parm_offset): New function. (rs6000_parm_start): Use it. (rs6000_function_arg_advance_1): Likewise. (rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT. (rs6000_emit_epilogue): Likewise. (rs6000_call_aix): Likewise. (rs6000_output_function_prologue): Do not save/restore r11 around calling _mcount for ABI_ELFv2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space): Add prototype. * config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove. (REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space. * config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function. (rs6000_function_parms_need_stack): Likewise. (rs6000_reg_parm_stack_space): Likewise. (rs6000_function_arg): Do not replace BLKmode by Pmode when returning a register argument. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro. (ALTIVEC_ARG_MAX_RETURN): Likewise. (FUNCTION_VALUE_REGNO_P): Use them. * config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define. (rs6000_return_in_msb): New function. (rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates. Handle aggregates of up to 16 bytes for ELFv2. (rs6000_function_value): Handle ELFv2 homogeneous aggregates. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function. (rs6000_discover_homogeneous_aggregate): Likewise. (rs6000_function_arg_boundary): Handle homogeneous aggregates. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_psave_function_arg): Handle BLKmode arguments. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Michael Gschwind <mkg@us.ibm.com> * config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define. * config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function. (rs6000_discover_homogeneous_aggregate): Likewise. (rs6000_function_arg_boundary): Handle homogeneous aggregates. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_psave_function_arg): Handle BLKmode arguments. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/rs6000/rs6000.c (machine_function): New member r2_setup_needed. (rs6000_emit_prologue): Set r2_setup_needed if necessary. (rs6000_output_mi_thunk): Set r2_setup_needed. (rs6000_output_function_prologue): Output global entry point prologue and local entry point marker if needed for ABI_ELFv2. Output -mprofile-kernel code here. (output_function_profiler): Do not output -mprofile-kernel code here; moved to rs6000_output_function_prologue. (rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2. (rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2. (rs6000_output_function_entry): Likewise. (rs6000_assemble_integer): Likewise. (rs6000_elf_encode_section_info): Likewise. (rs6000_elf_declare_function_name): Do not create dot symbols or .opd section for ABI_ELFv2. (rs6000_trampoline_size): Update for ABI_ELFv2 trampolines. (rs6000_trampoline_init): Likewise. (rs6000_elf_file_end): Call file_end_indicate_exec_stack for ABI_ELFv2. (rs6000_call_aix): Handle ELFv2 indirect calls. Do not check for function descriptors in ABI_ELFv2. * config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support on ABI_AIX only, not ABI_ELFv2. ("*call_value_indirect_aix<mode>"): Likewise. ("*call_indirect_elfv2<mode>"): New pattern. ("*call_value_indirect_elfv2<mode>"): Likewise. * config/rs6000/predicates.md ("symbol_ref_operand"): Do not check for function descriptors in ABI_ELFv2. ("current_file_function_operand"): Likewise. * config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]: (toc): Undefine. (FUNC_NAME): Define ELFv2 variant. (JUMP_TARGET): Likewise. (FUNC_START): Likewise. (HIDDEN_FUNC): Likewise. (FUNC_END): Likeiwse. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1 and --with-abi=elfv2. * config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi". * config/rs6000/rs6000.opt (mabi=elfv1): New option. (mabi=elfv2): Likewise. * config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2. * config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI if !RS6000_BI_ARCH. (ELFv2_ABI_CHECK): New macro. (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set rs6000_current_abi to ABI_AIX or ABI_ELFv2. (GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine _CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2. (debug_stack_info): Likewise. (rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX. (rs6000_legitimize_tls_address): Likewise. (rs6000_conditional_register_usage): Likewise. (rs6000_emit_move): Likewise. (init_cumulative_args): Likewise. (rs6000_function_arg_advance_1): Likewise. (rs6000_function_arg): Likewise. (rs6000_arg_partial_bytes): Likewise. (rs6000_output_function_entry): Likewise. (rs6000_assemble_integer): Likewise. (rs6000_savres_strategy): Likewise. (rs6000_stack_info): Likewise. (rs6000_function_ok_for_sibcall): Likewise. (rs6000_emit_load_toc_table): Likewise. (rs6000_savres_routine_name): Likewise. (ptr_regno_for_savres): Likewise. (rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Likewise. (rs6000_output_function_epilogue): Likewise. (output_profile_hook): Likewise. (output_function_profiler): Likewise. (rs6000_trampoline_size): Likewise. (rs6000_trampoline_init): Likewise. (rs6000_elf_output_toc_section_asm_op): Likewise. (rs6000_elf_encode_section_info): Likewise. (rs6000_elf_reloc_rw_mask): Likewise. (rs6000_elf_declare_function_name): Likewise. (rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX, except that rs6000_compat_align_parm is always assumed false. (rs6000_gimplify_va_arg): Likewise. (rs6000_call_aix): Update comment. (rs6000_sibcall_aix): Likewise. * config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"): Treat ABI_ELFv2 the same as ABI_AIX. ("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise. ("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise. ("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise. ("load_toc_aix_si"): Likewise. ("load_toc_aix_di"): Likewise. ("call"): Likewise. ("call_value"): Likewise. ("*call_local_aix<mode>"): Likewise. ("*call_value_local_aix<mode>"): Likewise. ("*call_nonlocal_aix<mode>"): Likewise. ("*call_value_nonlocal_aix<mode>"): Likewise. ("*call_indirect_aix<mode>"): Likewise. ("*call_value_indirect_aix<mode>"): Likewise. ("sibcall"): Likewise. ("sibcall_value"): Likewise. ("*sibcall_aix<mode>"): Likewise. ("*sibcall_value_aix<mode>"): Likewise. * config/rs6000/predicates.md ("symbol_ref_operand"): Likewise. ("current_file_function_operand"): Likewise. gcc/testsuite/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove compiler and linker field if _CALL_ELF == 2. * gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise. * gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise. * gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro. (WRAPPER): Use it. * gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2. * gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2. * gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * lib/target-supports.exp (check_effective_target_powerpc_elfv2): New function. * gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2. * gcc.target/powerpc/pr57949-2.c: Likewise. libgcc/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define. (frob_update_context): Use it. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]: (trampoline_initial): Provide ELFv2 variant. (__trampoline_setup): Likewise. * config/rs6000/linux-unwind.h (frob_update_context): Do not check for AIX indirect function call sequence if _CALL_ELF == 2. 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/linux-unwind.h (get_regs): Do not support old kernel versions if _CALL_ELF == 2. (frob_update_context): Do not support PLT stub variants only generated by old linkers if _CALL_ELF == 2. libitm/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]: (FUNC): Define ELFv2 variant. (END): Likewise. (HIDDEN): Likewise. (CALL): Likewise. (BASE): Likewise. (LR_SAVE): Likewise. libstdc++/ChangeLog: 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * scripts/extract_symvers.in: Ignore <localentry: > fields in readelf --symbols output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204808 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Documentjsm282013-11-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macros. * target.def (float_exceptions_rounding_supported_p): New hook. * targhooks.c (default_float_exceptions_rounding_supported_p): New function. * targhooks.h (default_float_exceptions_rounding_supported_p): Declare. * doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New @hook. * doc/tm.texi: Regenerate. * config.gcc (powerpc*-*-linux*): Set extra_objs. * config/rs6000/rs6000-linux.c: New file. * config/rs6000/rs6000-protos.h (rs6000_linux_float_exceptions_rounding_supported_p): Declare. * config/rs6000/linux.h (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro. * config/rs6000/linux64.h (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise. * config/rs6000/t-linux (rs6000-linux.o): New rule. * config/rs6000/t-linux64 (rs6000-linux.o): Likewise. c-family: * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value): New functions. (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX. testsuite: * gcc.dg/iec-559-macros-1.c, gcc.dg/iec-559-macros-2.c, gcc.dg/iec-559-macros-3.c, gcc.dg/iec-559-macros-4.c, gcc.dg/iec-559-macros-5.c, gcc.dg/iec-559-macros-6.c, gcc.dg/iec-559-macros-7.c, gcc.dg/iec-559-macros-8.c, gcc.dg/iec-559-macros-9.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204351 138bc75d-0d04-0410-961f-82ee72b054a4
* Add new nds32 port, including machine description, libgcc, and documentation.jasonwucj2013-10-311-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [gcc/ChangeLog] * config.gcc (nds32*-*-*): Add nds32 target. * config/nds32/nds32.c: New file. * config/nds32/nds32.h: New file. * config/nds32/nds32.md: New file. * config/nds32/constants.md: New file. * config/nds32/constraints.md: New file. * config/nds32/iterators.md: New file. * config/nds32/nds32-doubleword.md: New file. * config/nds32/nds32-intrinsic.md: New file. * config/nds32/nds32_intrinsic.h: New file. * config/nds32/nds32-modes.def: New file. * config/nds32/nds32-multiple.md: New file. * config/nds32/nds32.opt: New file. * config/nds32/nds32-opts.h: New file. * config/nds32/nds32-protos.h: New file. * config/nds32/nds32-peephole2.md: New file. * config/nds32/pipelines.md: New file. * config/nds32/predicates.md: New file. * config/nds32/t-mlibs: New file. * common/config/nds32: New directory and files. * doc/invoke.texi (NDS32 options): Document nds32 specific options. * doc/md.texi (NDS32 family): Document nds32 specific constraints. * doc/install.texi (Cross-Compiler-Specific Options): Document --with-nds32-lib for nds32 target. * doc/extend.texi (Function Attributes, Target Builtins): Document nds32 specific attributes. [libgcc/ChangeLog] * config.host (nds32*-elf*): Add nds32 target. * config/nds32 : New directory and files. [contrib/ChangeLog] * config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204269 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-25 Christian Bruel <christian.bruel@st.com>chrbr2013-10-241-1/+1
| | | | | | | | | | | | | | | * config.gcc (sh-*): Add sh-mem.o to extra_obj. * gcc/config/sh/t-sh (sh-mem.o): New rule. * gcc/config/sh/sh-mem.cc (expand_block_move): Moved here. (sh4_expand_cmpstr): New function. * gcc/config/sh/sh.c (force_into, expand_block_move): Move to sh-mem.cc * gcc/config/sh/sh-protos.h (sh4_expand_cmpstr): Declare. * gcc/config/sh/sh.md (cmpstrsi, cmpstr_t): New patterns. (rotlhi3_8): Rename. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204013 138bc75d-0d04-0410-961f-82ee72b054a4
* Add A profile only multilib make file fragment.ramana2013-10-151-0/+37
| | | | | | | | | | | | 2013-10-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/t-aprofile: New file. * config.gcc: Handle --with-multilib-list option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203603 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/51244olegendo2013-10-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | * config/sh/sh_treg_combine.cc: New SH specific RTL pass. * config.gcc (SH extra_objs): Add sh_ifcvt.o. * config/sh/t-sh (sh_treg_combine.o): New entry. * config/sh/sh.c (sh_fixed_condition_code_regs): New function that implements the target hook TARGET_FIXED_CONDITION_CODE_REGS. (register_sh_passes): New function. Register sh_treg_combine pass. (sh_option_override): Invoke it. (sh_canonicalize_comparison): Handle op0_preserve_value. * sh.md (*cbranch_t"): Do not try to optimize missed test and branch opportunities. Canonicalize branch condition. (nott): Allow only if pseudos can be created for non-SH2A. PR target/51244 * gcc.dg/torture/p51244-21.c: New. * gcc.target/sh/pr51244-20.c: New. * gcc.target/sh/pr51244-20-sh2a.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203492 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.danglin2013-10-031-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203148 138bc75d-0d04-0410-961f-82ee72b054a4
* Configuration bits for ARC port:amylaar2013-10-011-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | toplevel: 2013-02-25 Simon Cook <simon.cook@embecosm.com> Changes to build configuration to allow big endian ARC ELF toolchain * configure.ac: Also add target-libgloss to noconfigdirs for arceb-*-*. * configure: Regenerate. gcc: 2013-04-03 Joern Rennecke <joern.rennecke@embecosm.com> Brendan Kehoe <brendan@zen.org> Simon Cook <simon.cook@embecosm.com> * config.gcc (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations. libstdc++-v3: 2012-08-16 Joern Rennecke <joern.rennecke@embecosm.com> * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions. * configure: Regenerate. contrib: 2013-09-05 Joern Rennecke <joern.rennecke@embecosm.com> * config-list.mk: Add arc configurations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-13 Jacek Caban <jacek@codeweavers.com>ktietz2013-09-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-target.def: New hook gcc/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * config.gcc: Use new winnt-c.c target hooks * config/t-winnt: New file * config/winnt-c.c: New file * doc/tm.texi.in: Document new hook * doc/tm.texi: Regenerated gcc/cp/Changelog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * decl.c: Use new cxx_implicit_extern_c hook gcc/testsuite/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * g++.dg/abi/main.C: Added implicit C linkage tests git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202573 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: Separate cases for mingw and cygwin targets,ktietz2013-09-131-1/+3
| | | | | | | | and add 64-bit cygwin target case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202556 138bc75d-0d04-0410-961f-82ee72b054a4
* * MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430dj2013-09-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | maintainers. [gcc] * config/msp430/: New port. * config.gcc (msp430): Added. * doc/invoke.texi: Document MSP430 options. * doc/install.texi: Document msp430-elf * doc/md.texi: Document msp430-elf * doc/contrib.texi: Document msp430-elf [libgcc] * config.host (msp*-*-elf): New. * config/msp430/: New port. [contrib] * config-list.mk: Add msp430-elf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202535 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (*-*-vxworks*): Do not override an existing extra_objs.ebotcazou2013-09-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202284 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.kyukhin2013-09-051-2/+2
| | | | | | | | | | | | | | | | | | * config/rs6000/linux.h: Ditto. * alpha/linux.h: Ditto. * config/bfin/uclinux.h: Define TARGET_LIBC_HAS_FUNCTION as no_c99_libc_has_function. * config/c6x/uclinux-elf.h: Ditto. * config/lm32/uclinux-elf.h: Ditto. * config/m68k/uclinux.h: Ditto. * config/moxie/uclinux.h: Ditto. * config.gcc (bfin*-linux-uclibc*): Add t-linux-android to tmake_file. (crisv32-*-linux*, cris-*-linux*): Ditto. * config/bfin/bfin.c: Include "tm_p.h". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202274 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (powerpc*-*-linux*): Add support for little-endianamodra2013-09-021-1/+14
| | | | | | | | | | | | | | multilibs to big-endian target and vice versa. * config/rs6000/t-linux64: Use := assignment on all vars. (MULTILIB_EXTRA_OPTS): Remove fPIC. (MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options. * config/rs6000/t-linux64le: New file. * config/rs6000/t-linux64bele: New file. * config/rs6000/t-linux64lebe: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202190 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc: (avr-linux): Allow for tmake_file not being empty.nickc2013-08-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201690 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (m32r-linux): Allow for tmake_file not being empty.nickc2013-08-121-4/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201664 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add GAS check for LEON instructions on SPARC.ebotcazou2013-08-091-4/+11
| | | | | | | | | | | | | | | | | | | | | * configure: Regenerate. * config.in: Likewise. * config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the sparc*-*-* block. * config/sparc/sparc.opt (LEON, LEON3): New masks. * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG for LEON or LEON3. (ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3. (AS_LEON_FLAG): New macro. * config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined. Deal with LEON and LEON3 for the memory model. * config/sparc/sync.m (atomic_compare_and_swap<mode>): Enable for LEON3 (atomic_compare_and_swap<mode>_1): Likewise. (*atomic_compare_and_swap<mode>_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201622 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: config.gccsofiane2013-08-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =================================================================== --- config.gcc (revision 201376) +++ config.gcc (working copy) @@ -313,7 +313,7 @@ aarch64*-*-*) cpu_type=aarch64 need_64bit_hwint=yes extra_headers="arm_neon.h" - extra_objs="aarch64-builtins.o" + extra_objs="aarch64-builtins.o aarch-common.o" target_has_targetm_common=yes ;; alpha*-*-*) @@ -501,6 +501,7 @@ fi case ${target} in aarch64*-*-*) + tm_p_file="${tm_p_file} arm/aarch-common-protos.h" case ${with_abi} in "") if test "x$with_multilib_list" = xilp32; then Index: config/aarch64/aarch64.md =================================================================== --- config/aarch64/aarch64.md (revision 201376) +++ config/aarch64/aarch64.md (working copy) @@ -349,6 +349,7 @@ (include "aarch64-generic.md") (include "large.md") (include "small.md") +(include "../arm/cortex-a53.md") ;; ------------------------------------------------------------------- ;; Jumps and other miscellaneous insns Index: config/aarch64/t-aarch64 =================================================================== --- config/aarch64/t-aarch64 (revision 201376) +++ config/aarch64/t-aarch64 (working copy) @@ -35,6 +35,11 @@ aarch64-builtins.o: $(srcdir)/config/aar $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/aarch64/aarch64-builtins.c +aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H) + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/arm/aarch-common.c + comma=, MULTILIB_OPTIONS = $(patsubst %, mabi=%, $(subst $(comma), ,$(TM_MULTILIB_CONFIG))) MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201400 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (arm*-*-*): Add aarch-common.o to extra_objs. Addsofiane2013-07-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | aarch-common-protos.h to extra_headers. (arm*-*-*): Add arm/aarch-common-protos.h to tm_p_file. * config/arm/arm.c (arm_early_load_addr_dep): Move from here to ... (arm_early_store_addr_dep): Likewise. (arm_no_early_alu_shift_dep: Likewise. (arm_no_early_alu_shift_value_dep: Likewise. (arm_no_early_mul_dep: Likewise. (arm_no_early_store_addr_dep: Likewise. (arm_mac_accumulator_is_mul_result: Likewise. (arm_mac_accumulator_is_result: Likewise. * config/arm/aarch-common.c: ... here. New file. * config/arm/arm-protos.h (arm_early_load_addr_dep): Move from here to ... (arm_early_store_addr_dep): Likewise. (arm_no_early_alu_shift_dep: Likewise. (arm_no_early_alu_shift_value_dep: Likewise. (arm_no_early_mul_dep: Likewise. (arm_no_early_store_addr_dep: Likewise. (arm_mac_accumulator_is_mul_result: Likewise. (arm_mac_accumulator_is_result: Likewise. * config/arm/aarch-common-protos.h: ... here. New file. * config/arm/t-arm (aarch-common.o): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201376 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Sebastian Huber <sebastian.huber@embedded-brains.de>joel2013-07-311-0/+1
| | | | | | | | | * config.gcc (*-*-rtems*): Use __cxa_atexit by default. * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201370 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (arm): Require 64-bit host-wide-int for all ARM targetrearnsha2013-07-301-12/+1
| | | | | | | configs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201342 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/macro2013-07-291-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER): New macro. * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle `-mnan=2008'. (GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise. (UCLIBC_DYNAMIC_LINKER32): Undefine macro first. Handle `-mnan=2008'. (UCLIBC_DYNAMIC_LINKER64): Redefine macro. (UCLIBC_DYNAMIC_LINKERN32): Likewise. * config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls for SF and DF modes. Use ieee_quad_format for TF mode. * config/mips/mips-opts.h (mips_ieee_754_setting): New enum. * config/mips/mips.c (mips_file_start): Output a `.nan' directive. (mips_option_override): Handle `-mnan=legacy'. * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle `-mabs=2008' and `-mnan=2008'. (OPTION_DEFAULT_SPECS): Add "nan" default. (ASM_SPEC): Handle `-mnan='. [!HAVE_AS_NAN] (HAVE_AS_NAN): New macro. * config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update comment accordingly. (neg<mode>2): Likewise. * config/mips/mips.opt (mabs, mnan): New options. * doc/install.texi (Configuration): Document `--with-nan=' option. * doc/invoke.texi (Option Summary): List MIPS `-mabs=' and `-mnan=' options. (MIPS Options): Document them. * config.gcc <mips*-*-*>: Handle `--with-nan='. * configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support. * configure: Regenerate. * config.in: Regenerate. gcc/testsuite/ * gcc.target/mips/fabs-2008.c: New test case. * gcc.target/mips/fabs-legacy.c: New test case. * gcc.target/mips/fabsf-2008.c: New test case. * gcc.target/mips/fabsf-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/fneg-2008.c: New test case. * gcc.target/mips/fneg-legacy.c: New test case. * gcc.target/mips/nan-2008.c: New test case. * gcc.target/mips/nan-legacy.c: New test case. * gcc.target/mips/nanf-2008.c: New test case. * gcc.target/mips/nanf-legacy.c: New test case. * gcc.target/mips/nans-2008.c: New test case. * gcc.target/mips/nans-legacy.c: New test case. * gcc.target/mips/nansf-2008.c: New test case. * gcc.target/mips/nansf-legacy.c: New test case. * gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201313 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (hppa-*-openbsd*): Don't set tmake_file.danglin2013-07-251-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201247 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64, ILP32] 1/6 Initial support - configury changesyufeng2013-07-231-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * config.gcc (aarch64*-*-*): Support --with-abi. (aarch64*-*-elf): Support --with-multilib-list. (aarch64*-*-linux*): Likewise. (supported_defaults): Add abi to aarch64*-*-*. * configure.ac: Mention AArch64 for --with-multilib-list. * configure: Re-generated. * config/aarch64/biarchilp32.h: New file. * config/aarch64/biarchlp64.h: New file. * config/aarch64/aarch64-elf.h (ENDIAN_SPEC): New define. (ABI_SPEC): Ditto. (MULTILIB_DEFAULTS): Ditto. (DRIVER_SELF_SPECS): Ditto. (ASM_SPEC): Update to also substitute -mabi. * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Add linker script file whose name depends on -mabi= and -mbig-endian. * config/aarch64/aarch64.h (LONG_TYPE_SIZE): Change to depend on TARGET_ILP32. (POINTER_SIZE): New define. (POINTERS_EXTEND_UNSIGNED): Ditto. (enum aarch64_abi_type): New enumeration tag. (AARCH64_ABI_LP64, AARCH64_ABI_ILP32): New enumerators. (AARCH64_ABI_DEFAULT): Define to AARCH64_ABI_LP64 if undefined. (TARGET_ILP32): New define. * config/aarch64/aarch64.opt (mabi): New. (aarch64_abi): New. (ilp32, lp64): New values for -mabi. * config/aarch64/t-aarch64 (comma): New define. (MULTILIB_OPTIONS): Ditto. (MULTILIB_DIRNAMES): Ditto. * config/aarch64/t-aarch64-linux (MULTIARCH_DIRNAME): New define. * doc/invoke.texi: Document -mabi for AArch64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201164 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud