Commit Graph

127424 Commits

Author SHA1 Message Date
Richard Sandiford
926ed539a3 Update copyright years in libada/
From-SVN: r206290
2014-01-02 22:24:25 +00:00
Richard Sandiford
23a5b65a92 Update copyright years in gcc/
From-SVN: r206289
2014-01-02 22:23:26 +00:00
Richard Sandiford
f9030485a3 arc-common.c, [...]: Use the standard form for the copyright notice.
gcc/
	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
	config/arm/crypto.def, config/i386/avx512cdintrin.h,
	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
	config/i386/avx512pfintrin.h, config/i386/btver2.md,
	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
	config/linux.c, config/winnt-c.c, diagnostic-color.c,
	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
	vtable-verify.h: Use the standard form for the copyright notice.

gcc/c-family/
	* array-notation-common.c, c-cilkplus.c: Use the standard form for
	the copyright notice.

gcc/c/
	* c-array-notation.c: Use the standard form for the copyright notice.

gcc/cp/
	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

gcc/testsuite/
	* gcc.target/arc/arc.exp: Use the standard form for the copyright
	notice.

libgcc/
	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

libgomp/
	* hashtab.h: Use the standard form for the copyright notice.

libstdc++-v3/
	* testsuite/18_support/new_handler.cc,
	testsuite/18_support/terminate_handler.cc,
	testsuite/18_support/unexpected_handler.cc: Use the standard form for
	the copyright notice.

From-SVN: r206288
2014-01-02 22:09:02 +00:00
Jakub Jelinek
0ffc0b3be5 Small ChangeLog fixes.
From-SVN: r206287
2014-01-02 22:56:58 +01:00
Tobias Burnus
98db73df84 gnat_ugn.texi: Bump @copying's copyright year.
2014-01-02  Tobias Burnus  <burnus@net-b.de>

gcc/ada/
        * gnat_ugn.texi: Bump @copying's copyright year.

gcc/
        * gcc.c (process_command): Update copyright notice dates.
        * gcov-dump.c: Ditto.
        * gcov.c: Ditto.
        * doc/cpp.texi: Bump @copying's copyright year.
        * doc/cppinternals.texi: Ditto.
        * doc/gcc.texi: Ditto.
        * doc/gccint.texi: Ditto.
        * doc/gcov.texi: Ditto.
        * doc/install.texi: Ditto.
        * doc/invoke.texi: Ditto.

gcc/fortran/
        * gfortranspec.c (lang_specific_driver): Update copyright notice
        dates.
        * gfc-internals.texi: Bump @copying's copyright year.
        * gfortran.texi: Ditto.
        * intrinsic.texi: Ditto.
        * invoke.texi: Ditto.

gcc/go/
        * gcc/go/gccgo.texi: Ditto.

gcc/java/
        * jcf-dump.c (version): Update copyright notice dates.
        * gcj.texi: Bump @copying's copyright year.

libgomp/
        * libgomp.texi: Bump @copying's copyright year.

libitm/
        * libitm.texi: Bump @copying's copyright year.

libjava/
        * classpath/gnu/java/rmi/registry/RegistryImpl.java (version):
        * Update
        copyright notice dates.
        * classpath/tools/gnu/classpath/tools/orbd/Main.java (run):
        * Ditto.
        * gnu/gcj/convert/Convert.java (version): Update copyright
        * notice
        dates.
        * gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.

libquadmath/
        * libquadmath.texi: Bump @copying's copyright year.

From-SVN: r206286
2014-01-02 22:25:41 +01:00
Janus Weil
d0f33855c9 re PR fortran/59654 ([OOP] Broken function table with complex OO use case)
2014-01-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59654
	* resolve.c (resolve_typebound_procedures): No need to create the vtab
	here.

2014-01-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59654
	* gfortran.dg/dynamic_dispatch_12.f90: New.

From-SVN: r206281
2014-01-02 18:27:11 +01:00
Jan-Benedict Glaw
2898d20494 Changelog: Fix year of my last commit.
2014-01-02  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* Changelog: Fix year of my last commit.

From-SVN: r206280
2014-01-02 13:15:01 +00:00
GCC Administrator
3155380f98 Daily bump.
From-SVN: r206277
2014-01-02 00:16:58 +00:00
Jan-Benedict Glaw
8ca77de0e9 nios2.h (BITS_PER_UNIT): Don't define it.
2013-12-31  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-12/msg01990.html

From-SVN: r206274
2014-01-01 12:19:58 +00:00
GCC Administrator
a1be096cd2 Daily bump.
From-SVN: r206273
2014-01-01 00:16:30 +00:00
Jakub Jelinek
970c3b3398 target-supports.exp (check_effective_target_avx512f): Make sure the builtin isn't optimized away as unused.
* lib/target-supports.exp (check_effective_target_avx512f): Make sure
	the builtin isn't optimized away as unused.

From-SVN: r206270
2014-01-01 01:02:57 +01:00
Jakub Jelinek
726c3546ef sse.md (*mov<mode>_internal): Guard EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
* config/i386/sse.md (*mov<mode>_internal): Guard
	EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.

From-SVN: r206269
2014-01-01 00:53:17 +01:00
Jakub Jelinek
dfebbdc61f re PR rtl-optimization/59647 (ICE in simplify_const_unary_operation, at simplify-rtx.c:1597)
PR rtl-optimization/59647
	* cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
	new_rtx into UNSIGNED_FLOAT rtxes.

	* g++.dg/opt/pr59647.C: New test.

From-SVN: r206267
2014-01-01 00:48:36 +01:00
Alexander Ivchenko
075691af6b avx512fintrin.h (_mm_add_round_sd): New.
gcc/
	* config/i386/avx512fintrin.h (_mm_add_round_sd): New.
	(_mm_add_round_sd): Ditto.
	(_mm_add_round_ss): Ditto.
	(_mm_sub_round_sd): Ditto.
	(_mm_sub_round_ss): Ditto.
	(_mm_rcp14_sd): Ditto.
	(_mm_rcp14_ss): Ditto.
	(_mm_sqrt_round_sd): Ditto.
	(_mm_sqrt_round_ss): Ditto.
	(_mm_mul_round_sd): Ditto.
	(_mm_mul_round_ss): Ditto.
	(_mm_div_round_sd): Ditto.
	(_mm_div_round_ss): Ditto.
	(_mm_scalef_round_sd): Ditto.
	(_mm_scalef_round_ss): Ditto.
	(_mm_scalef_round_sd): Ditto.
	(_mm_scalef_round_ss): Ditto.
	(_mm_cvt_roundsd_ss): Ditto.
	(_mm_cvt_roundsd_sd): Ditto.
	(_mm_getexp_round_ss): Ditto.
	(_mm_getexp_round_sd): Ditto.
	(_mm_getmant_round_sd): Ditto.
	(_mm_getmant_round_ss): Ditto.
	(_mm_roundscale_round_ss): Ditto.
	(_mm_roundscale_round_sd): Ditto.
	(_mm_max_round_sd): Ditto.
	(_mm_max_round_ss): Ditto.
	(_mm_min_round_sd): Ditto.
	(_mm_min_round_ss): Ditto.
	(_mm_fmadd_round_sd): Ditto.
	(_mm_fmadd_round_ss): Ditto.
	(_mm_fmsub_round_sd): Ditto.
	(_mm_fmsub_round_ss): Ditto.
	(_mm_fnmadd_round_sd): Ditto.
	(_mm_fnmadd_round_ss): Ditto.
	(_mm_fnmsub_round_sd): Ditto.
	(_mm_fnmsub_round_ss): Ditto.
	(_mm_scalef_sd): Ditto.
	(_mm_scalef_ss): Ditto.
	(_mm_getexp_ss): Ditto.
	(_mm_getexp_sd): Ditto.
	(_mm_getmant_sd): Ditto.
	(_mm_getmant_ss): Ditto.
	(_mm_roundscale_ss): Ditto.
	(_mm_roundscale_sd): Ditto.
	* config/i386/i386-builtin-types.def: New types to support
	new built-ins: <V2DF, V2DF, V2DF, INT, INT>, <V4SF, V4SF, V4SF, INT, INT>,
	<(V4SF, V4SF, V2DF, INT>, <V2DF, V2DF, V4SF, INT>,
	<V4SF, V4SF, V4SF, V4SF, IN>.
	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_ADDSD_ROUND,
	IX86_BUILTIN_ADDSS_ROUND, IX86_BUILTIN_CVTSD2SS_ROUND,
	IX86_BUILTIN_CVTSS2SD_ROUND, IX86_BUILTIN_DIVSD_ROUND,
	IX86_BUILTIN_GETEXPSD128, IX86_BUILTIN_DIVSS_ROUND,
	IX86_BUILTIN_GETEXPSS128, IX86_BUILTIN_GETMANTSD128,
	IX86_BUILTIN_GETMANTSS128, IX86_BUILTIN_MAXSD_ROUND,
	IX86_BUILTIN_MAXSS_ROUND, IX86_BUILTIN_MINSD_ROUND,
	IX86_BUILTIN_MINSS_ROUND, IX86_BUILTIN_MULSD_ROUND,
	IX86_BUILTIN_MULSS_ROUND, IX86_BUILTIN_RCP14SD,
	IX86_BUILTIN_RCP14SS, IX86_BUILTIN_RNDSCALESD,
	IX86_BUILTIN_RNDSCALESS, IX86_BUILTIN_RSQRT14SD,
	IX86_BUILTIN_RSQRT14SS, IX86_BUILTIN_SCALEFSD,
	IX86_BUILTIN_SCALEFSS, IX86_BUILTIN_SQRTSD_ROUND,
	IX86_BUILTIN_SQRTSS_ROUND, IX86_BUILTIN_SUBSD_ROUND,
	IX86_BUILTIN_SUBSS_ROUND, IX86_BUILTIN_VFMADDSD3_ROUND,
	IX86_BUILTIN_VFMADDSS3_ROUND, IX86_BUILTIN_VFMSUBSD3_MASK3,
	IX86_BUILTIN_VFMSUBSS3_MASK3.
	(builtin_description bdesc_args[]): Add
	__builtin_ia32_rcp14sd, __builtin_ia32_rcp14ss,
	__builtin_ia32_rsqrt14pd512_mask, __builtin_ia32_rsqrt14ps512_mask,
	__builtin_ia32_rsqrt14sd, __builtin_ia32_rsqrt14ss,
	__builtin_ia32_addsd_round, __builtin_ia32_addss_round,
	__builtin_ia32_cvtsd2ss_round, __builtin_ia32_cvtss2sd_round,
	__builtin_ia32_divsd_round, __builtin_ia32_divss_round,
	__builtin_ia32_getexpsd128_round, __builtin_ia32_getexpss128_round,
	__builtin_ia32_getmantsd_round, __builtin_ia32_getmantss_round,
	__builtin_ia32_maxsd_round, __builtin_ia32_maxss_round,
	__builtin_ia32_minsd_round, __builtin_ia32_minss_round,
	__builtin_ia32_mulsd_round, __builtin_ia32_mulss_round,
	__builtin_ia32_rndscalesd_round, __builtin_ia32_rndscaless_round,
	__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round,
	__builtin_ia32_sqrtsd_round, __builtin_ia32_sqrtss_round,
	__builtin_ia32_subsd_round, __builtin_ia32_subss_round,
	__builtin_ia32_vfmaddsd3_round, __builtin_ia32_vfmaddss3_round.
	(ix86_expand_round_builtin): Expand new FTYPEs.
	* config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3): Support
	EVEX's embedded rouding.
	(<sse>_vm<multdiv_mnemonic><mode>3): Ditto.
	(<sse>_vmsqrt<mode>2): Ditto.
	(<sse>_vm<code><mode>3): Ditto.
	(sse2_cvtsd2ss): Ditto.
	(sse2_cvtss2sd): Ditto.
	(*avx512f_vmscalef<mode>): Ditto.
	(avx512f_sgetexp<mode>): Ditto.
	(*avx512f_rndscale<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(*srcp14<mode>): Make visible.
	(*rsqrt14<mode>): Ditto.
	* config/i386/subst.md (mask_mode512bit_condition): Fix
	mode calculation.
	(sd_mask_mode512bit_condition): Ditto.
	(round_mode512bit_condition): Ditto.
	(round_modev4sf_condition): Ditto.
	(round_mask_scalar_operand3): Remove.
	(round_prefix): New.
	(round_saeonly_op3): Ditto.
	(round_saeonly_prefix): Ditto.

testsuite/
	* gcc.target/i386/avx-1.c: Update for AVX-512 scalar insns.
	* gcc.target/i386/avx512f-vaddsd-1.c: New.
	* gcc.target/i386/avx512f-vaddss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivss-1.c: Ditto.
	* gcc.target/i386/avx512f-vextractf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vextracti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpss-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpss-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantss-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantss-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmaxss-1.c: Ditto.
	* gcc.target/i386/avx512f-vminsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vminss-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulss-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalesd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalesd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaless-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaless-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefss-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubss-1.c: Ditto.
	* gcc.target/i386/sse-14.c: Update for AVX-512 scalar insns.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/testimm-10.c: Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206265
2013-12-31 12:13:49 +00:00
Jakub Jelinek
cf3e5a89ae re PR tree-optimization/59622 (internal compiler error: verify_gimple failed)
PR tree-optimization/59622
	* gimple-fold.c (gimple_fold_call): Don't replace OBJ_TYPE_REF
	call fndecl with 0 possible targets with BUILT_IN_UNREACHABLE,
	instead only for !inplace add a __builtin_unreachable () call
	before the call.

	* g++.dg/opt/pr59622.C: New test.

From-SVN: r206264
2013-12-31 12:57:39 +01:00
Alexander Ivchenko
c1618f8254 i386-common.c (OPTION_MASK_ISA_SHA_SET): New.
gcc/

	* 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.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206263
2013-12-31 11:39:07 +00:00
Alexander Ivchenko
b289d71242 avx512cd-check.h: New file.
testsuite/

	* gcc.target/i386/avx512cd-check.h: New file.
	* gcc.target/i386/avx512cd-vpbroadcastmb2q-1.c: Ditto.
	* gcc.target/i386/avx512cd-vpbroadcastmb2q-2.c: Ditto.
	* gcc.target/i386/avx512cd-vpbroadcastmw2d-1.c: Ditto.
	* gcc.target/i386/avx512cd-vpbroadcastmw2d-2.c: Ditto.
	* gcc.target/i386/avx512cd-vpconflictd-1.c: Ditto.
	* gcc.target/i386/avx512cd-vpconflictd-2.c: Ditto.
	* gcc.target/i386/avx512cd-vpconflictq-1.c: Ditto.
	* gcc.target/i386/avx512cd-vpconflictq-2.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntd-1.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntd-2.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntq-1.c: Ditto.
	* gcc.target/i386/avx512cd-vplzcntq-2.c: Ditto.
	* gcc.target/i386/avx512cd-vptestnmd-1.c: Ditto.
	* gcc.target/i386/avx512cd-vptestnmd-2.c: Ditto.
	* gcc.target/i386/avx512cd-vptestnmq-1.c: Ditto.
	* gcc.target/i386/avx512cd-vptestnmq-2.c: Ditto.
	* gcc.target/i386/avx512er-vexp2pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vexp2pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vexp2ps-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto.
	* gcc.target/i386/avx512f-broadcast-gpr-1.c: Ditto.
	* gcc.target/i386/avx512f-broadcast-gpr-2.c: Ditto.
	* gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Ditto.
	* gcc.target/i386/avx512f-ceil-sfix-vec-2.c: Ditto.
	* gcc.target/i386/avx512f-dummy.c: Ditto.
	* gcc.target/i386/avx512f-floor-sfix-vec-1.c: Ditto.
	* gcc.target/i386/avx512f-floor-sfix-vec-2.c: Ditto.
	* gcc.target/i386/avx512f-gather-1.c: Ditto.
	* gcc.target/i386/avx512f-gather-2.c: Ditto.
	* gcc.target/i386/avx512f-gather-3.c: Ditto.
	* gcc.target/i386/avx512f-gather-4.c: Ditto.
	* gcc.target/i386/avx512f-gather-5.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherpd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherps512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherq512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherq512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterpd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterpd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterps512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterps512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterq512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32scatterq512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherpd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherpd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherps512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherps512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherq512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64gatherq512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterpd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterpd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterps512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterps512-2.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterq512-1.c: Ditto.
	* gcc.target/i386/avx512f-i64scatterq512-2.c: Ditto.
	* gcc.target/i386/avx512f-inline-asm.c: Ditto.
	* gcc.target/i386/avx512f-kandnw-1.c: Ditto.
	* gcc.target/i386/avx512f-kandw-1.c: Ditto.
	* gcc.target/i386/avx512f-klogic-2.c: Ditto.
	* gcc.target/i386/avx512f-knotw-1.c: Ditto.
	* gcc.target/i386/avx512f-kortestw-1.c: Ditto.
	* gcc.target/i386/avx512f-kortestw-2.c: Ditto.
	* gcc.target/i386/avx512f-korw-1.c: Ditto.
	* gcc.target/i386/avx512f-kunpckbw-1.c: Ditto.
	* gcc.target/i386/avx512f-kxnorw-1.c: Ditto.
	* gcc.target/i386/avx512f-kxorw-1.c: Ditto.
	* gcc.target/i386/avx512f-rounding.c: Ditto.
	* gcc.target/i386/avx512f-set-v16sf-1.c: Ditto.
	* gcc.target/i386/avx512f-set-v16sf-2.c: Ditto.
	* gcc.target/i386/avx512f-set-v16sf-3.c: Ditto.
	* gcc.target/i386/avx512f-set-v16sf-4.c: Ditto.
	* gcc.target/i386/avx512f-set-v16sf-5.c: Ditto.
	* gcc.target/i386/avx512f-set-v16si-1.c: Ditto.
	* gcc.target/i386/avx512f-set-v16si-2.c: Ditto.
	* gcc.target/i386/avx512f-set-v16si-3.c: Ditto.
	* gcc.target/i386/avx512f-set-v16si-4.c: Ditto.
	* gcc.target/i386/avx512f-set-v16si-5.c: Ditto.
	* gcc.target/i386/avx512f-set-v8df-1.c: Ditto.
	* gcc.target/i386/avx512f-set-v8df-2.c: Ditto.
	* gcc.target/i386/avx512f-set-v8df-3.c: Ditto.
	* gcc.target/i386/avx512f-set-v8df-4.c: Ditto.
	* gcc.target/i386/avx512f-set-v8df-5.c: Ditto.
	* gcc.target/i386/avx512f-set-v8di-1.c: Ditto.
	* gcc.target/i386/avx512f-set-v8di-2.c: Ditto.
	* gcc.target/i386/avx512f-set-v8di-3.c: Ditto.
	* gcc.target/i386/avx512f-set-v8di-4.c: Ditto.
	* gcc.target/i386/avx512f-set-v8di-5.c: Ditto.
	* gcc.target/i386/avx512f-setzero-pd-1.c: Ditto.
	* gcc.target/i386/avx512f-setzero-ps-1.c: Ditto.
	* gcc.target/i386/avx512f-setzero-si512-1.c: Ditto.
	* gcc.target/i386/avx512f-vaddpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vaddpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vaddps-1.c: Ditto.
	* gcc.target/i386/avx512f-vaddps-2.c: Ditto.
	* gcc.target/i386/avx512f-vaddsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vaddsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vaddss-1.c: Ditto.
	* gcc.target/i386/avx512f-vaddss-2.c: Ditto.
	* gcc.target/i386/avx512f-valignd-1.c: Ditto.
	* gcc.target/i386/avx512f-valignd-2.c: Ditto.
	* gcc.target/i386/avx512f-valignq-1.c: Ditto.
	* gcc.target/i386/avx512f-valignq-2.c: Ditto.
	* gcc.target/i386/avx512f-vblendmpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vblendmpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vblendmps-1.c: Ditto.
	* gcc.target/i386/avx512f-vblendmps-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastf32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastf64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcasti32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcasti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcasti64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcasti64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastss-1.c: Ditto.
	* gcc.target/i386/avx512f-vbroadcastss-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmppd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcmppd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmpps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcmpps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmpsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcmpsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcmpss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcmpss-2.c: Ditto.
	* gcc.target/i386/avx512f-vcomisd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcomiss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcompresspd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcompresspd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcompressps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcompressps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtdq2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2dq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2udq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtpd2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtph2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtph2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2dq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2ph-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2ph-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2udq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtps2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2usi-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2usi-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2usi64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsd2usi64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2usi-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2usi-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2usi64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtss2usi64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttpd2dq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttpd2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttpd2udq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttpd2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttps2dq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttps2dq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttps2udq-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttps2udq-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2si-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2si-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2si64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2si64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2usi-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2usi-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2usi64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttsd2usi64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2si-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2si-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2si64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2si64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2usi-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2usi-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2usi64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvttss2usi64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtudq2pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtudq2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtudq2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtudq2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2sd64-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
	* gcc.target/i386/avx512f-vcvtusi2ss64-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivps-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivps-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vdivss-1.c: Ditto.
	* gcc.target/i386/avx512f-vdivss-2.c: Ditto.
	* gcc.target/i386/avx512f-vec-init.c: Ditto.
	* gcc.target/i386/avx512f-vec-unpack.c: Ditto.
	* gcc.target/i386/avx512f-vexpandpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vexpandps-1.c: Ditto.
	* gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
	* gcc.target/i386/avx512f-vextractf32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vextractf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vextractf64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vextractf64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vextracti32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vextracti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vextracti64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vextracti64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddXXXss-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmaddsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubXXXss-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfmsubaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmaddXXXss-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXps-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXps-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
	* gcc.target/i386/avx512f-vfnmsubXXXss-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexppd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexppd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpps-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpps-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpss-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetexpss-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantps-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantps-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantss-1.c: Ditto.
	* gcc.target/i386/avx512f-vgetmantss-2.c: Ditto.
	* gcc.target/i386/avx512f-vinsertf32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vinsertf32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vinsertf64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vinsertf64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vinserti32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vinserti32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vinserti64x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vinserti64x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmaxpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxps-1.c: Ditto.
	* gcc.target/i386/avx512f-vmaxps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmaxsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmaxss-1.c: Ditto.
	* gcc.target/i386/avx512f-vmaxss-2.c: Ditto.
	* gcc.target/i386/avx512f-vminpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vminpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vminps-1.c: Ditto.
	* gcc.target/i386/avx512f-vminps-2.c: Ditto.
	* gcc.target/i386/avx512f-vminsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vminsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vminss-1.c: Ditto.
	* gcc.target/i386/avx512f-vminss-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovapd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovaps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovddup-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovddup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa32-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqa64-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu32-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu32-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu64-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovntdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovntdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovntpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovntpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovntps-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovntps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovshdup-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovshdup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovsldup-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovsldup-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovss-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovss-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovupd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovupd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmovups-1.c: Ditto.
	* gcc.target/i386/avx512f-vmovups-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulps-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulps-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vmulss-1.c: Ditto.
	* gcc.target/i386/avx512f-vmulss-2.c: Ditto.
	* gcc.target/i386/avx512f-vpabsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpabsd512-1.c: Ditto.
	* gcc.target/i386/avx512f-vpabsq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpabsq512-1.c: Ditto.
	* gcc.target/i386/avx512f-vpaddd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpaddd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpaddq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpaddq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpandd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandnd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpandnd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandnq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpandnq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpandq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpandq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpblendmq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpbroadcastq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpeqq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcompressq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2d-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2d-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2q-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermi2q-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpdi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpdi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilps-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermilps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpsi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermilpsi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermpdi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermpdi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermps-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-imm-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-imm-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-var-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2d-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2d-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2q-1.c: Ditto.
	* gcc.target/i386/avx512f-vpermt2q-2.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpexpandq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxsq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxsq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmaxuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpminsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminsq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpminsq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpminud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpminuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpminuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxbq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovsxwq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqb-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqw-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxbq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmovzxwq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmuldq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmuldq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmulld-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmulld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpmuludq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpmuludq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpord-1.c: Ditto.
	* gcc.target/i386/avx512f-vpord-2.c: Ditto.
	* gcc.target/i386/avx512f-vporq-1.c: Ditto.
	* gcc.target/i386/avx512f-vporq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprold-1.c: Ditto.
	* gcc.target/i386/avx512f-vprold-2.c: Ditto.
	* gcc.target/i386/avx512f-vprolq-1.c: Ditto.
	* gcc.target/i386/avx512f-vprolq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprolvd-1.c: Ditto.
	* gcc.target/i386/avx512f-vprolvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vprolvq-1.c: Ditto.
	* gcc.target/i386/avx512f-vprolvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprord-1.c: Ditto.
	* gcc.target/i386/avx512f-vprord-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorq-1.c: Ditto.
	* gcc.target/i386/avx512f-vprorq-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorvd-1.c: Ditto.
	* gcc.target/i386/avx512f-vprorvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vprorvq-1.c: Ditto.
	* gcc.target/i386/avx512f-vprorvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpshufd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpshufd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpslld-1.c: Ditto.
	* gcc.target/i386/avx512f-vpslld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpslldi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpslldi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsllq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllqi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsllqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvq512-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsllvq512-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrad-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrad-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsradi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsradi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsraq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsraq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsraqi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsraqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsravd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsravd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsravq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsravq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsravq512-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsravq512-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrld-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrld-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrldi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrldi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlqi-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlqi-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvq512-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsrlvq512-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsubd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsubd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpsubq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpsubq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpternlogq-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestmd-1.c: Ditto.
	* gcc.target/i386/avx512f-vptestmd-2.c: Ditto.
	* gcc.target/i386/avx512f-vptestmq-1.c: Ditto.
	* gcc.target/i386/avx512f-vptestmq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhqdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckhqdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckldq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpunpckldq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpunpcklqdq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpunpcklqdq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpxord-1.c: Ditto.
	* gcc.target/i386/avx512f-vpxord-2.c: Ditto.
	* gcc.target/i386/avx512f-vpxorq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpxorq-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalepd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalepd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaleps-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaleps-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalesd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscalesd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaless-1.c: Ditto.
	* gcc.target/i386/avx512f-vrndscaless-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14pd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14pd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ps-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ps-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14sd-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14sd-2.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ss-1.c: Ditto.
	* gcc.target/i386/avx512f-vrsqrt14ss-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefps-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefps-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
	* gcc.target/i386/avx512f-vscalefss-2.c: Ditto.
	* gcc.target/i386/avx512f-vshuff32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vshuff32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vshuff64x2-1.c: Ditto.
	* gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi32x4-1.c: Ditto.
	* gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi64x2-1.c: Ditto.
	* gcc.target/i386/avx512f-vshufi64x2-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vshufpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufps-1.c: Ditto.
	* gcc.target/i386/avx512f-vshufps-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtps-1.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtps-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
	* gcc.target/i386/avx512f-vsqrtss-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubps-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubps-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubsd-2.c: Ditto.
	* gcc.target/i386/avx512f-vsubss-1.c: Ditto.
	* gcc.target/i386/avx512f-vsubss-2.c: Ditto.
	* gcc.target/i386/avx512f-vucomisd-1.c: Ditto.
	* gcc.target/i386/avx512f-vucomiss-1.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhps-1.c: Ditto.
	* gcc.target/i386/avx512f-vunpckhps-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklpd-1.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklps-1.c: Ditto.
	* gcc.target/i386/avx512f-vunpcklps-2.c: Ditto.
	* gcc.target/i386/avx512f_cond_move.c: Ditto.
	* gcc.target/i386/avx512f_evex_reg_asm-1.c: Ditto.
	* gcc.target/i386/avx512f_evex_reg_asm-2.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto.
	* gcc.target/i386/sse-12.c: Updated options.
	* gcc.target/i386/sse-13.c: Updated options, added defines for
	__builtin_ia32_addpd512_mask, __builtin_ia32_addps512_mask,
	__builtin_ia32_addsd_mask, __builtin_ia32_addss_mask,
	__builtin_ia32_alignd512_mask, __builtin_ia32_alignq512_mask,
	__builtin_ia32_cmpd512_mask, __builtin_ia32_cmppd512_mask,
	__builtin_ia32_cmpps512_mask, __builtin_ia32_cmpq512_mask,
	__builtin_ia32_cmpsd_mask, __builtin_ia32_cmpss_mask,
	__builtin_ia32_cvtdq2ps512_mask, __builtin_ia32_cvtpd2dq512_mask,
	__builtin_ia32_cvtpd2ps512_mask, __builtin_ia32_cvtpd2udq512_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_extractf32x4_mask, __builtin_ia32_extractf64x4_mask,
	__builtin_ia32_extracti32x4_mask, __builtin_ia32_extracti64x4_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_gatherdiv8df, __builtin_ia32_gatherdiv8di,
	__builtin_ia32_gatherdiv16sf, __builtin_ia32_gatherdiv16si,
	__builtin_ia32_gathersiv16sf, __builtin_ia32_gathersiv16si,
	__builtin_ia32_gathersiv8df, __builtin_ia32_gathersiv8di,
	__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_insertf32x4_mask, __builtin_ia32_insertf64x4_mask,
	__builtin_ia32_inserti32x4_mask, __builtin_ia32_inserti64x4_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_permdf512_mask, __builtin_ia32_permdi512_mask,
	__builtin_ia32_prold512_mask, __builtin_ia32_prolq512_mask,
	__builtin_ia32_prord512_mask, __builtin_ia32_prorq512_mask,
	__builtin_ia32_pshufd512_mask, __builtin_ia32_pslldi512_mask,
	__builtin_ia32_psllqi512_mask, __builtin_ia32_psradi512_mask,
	__builtin_ia32_psraqi512_mask, __builtin_ia32_psrldi512_mask,
	__builtin_ia32_psrlqi512_mask, __builtin_ia32_pternlogd512_mask,
	__builtin_ia32_pternlogd512_maskz, __builtin_ia32_pternlogq512_mask,
	__builtin_ia32_pternlogq512_maskz, __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_scatterdiv8df,
	__builtin_ia32_scatterdiv8di, __builtin_ia32_scatterdiv16sf,
	__builtin_ia32_scatterdiv16si, __builtin_ia32_scattersiv16sf,
	__builtin_ia32_scattersiv16si, __builtin_ia32_scattersiv8df,
	__builtin_ia32_scattersiv8di, __builtin_ia32_shuf_f32x4_mask,
	__builtin_ia32_shuf_f64x2_mask, __builtin_ia32_shuf_i32x4_mask,
	__builtin_ia32_shuf_i64x2_mask, __builtin_ia32_shufpd512_mask,
	__builtin_ia32_shufps512_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_ucmpd512_mask,
	__builtin_ia32_ucmpq512_mask, __builtin_ia32_vcomisd,
	__builtin_ia32_vcomiss, __builtin_ia32_vcvtph2ps512_mask,
	__builtin_ia32_vcvtps2ph512_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_vpermilpd512_mask,
	__builtin_ia32_vpermilps512_mask, __builtin_ia32_exp2ps_mask,
	__builtin_ia32_exp2pd_mask, __builtin_ia32_exp2ps_mask,
	__builtin_ia32_exp2pd_mask, __builtin_ia32_rsqrt28ps_mask,
	__builtin_ia32_rsqrt28pd_mask, __builtin_ia32_gatherpfdps,
	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdps,
	__builtin_ia32_scatterpfqps, __builtin_ia32_addpd512_mask,
	__builtin_ia32_addps512_mask, __builtin_ia32_addsd_mask,
	__builtin_ia32_addss_mask, __builtin_ia32_alignd512_mask,
	__builtin_ia32_alignq512_mask, __builtin_ia32_cmpd512_mask,
	__builtin_ia32_cmppd512_mask, __builtin_ia32_cmpps512_mask,
	__builtin_ia32_cmpq512_mask, __builtin_ia32_cmpsd_mask,
	__builtin_ia32_cmpss_mask, __builtin_ia32_cvtdq2ps512_mask,
	__builtin_ia32_cvtpd2dq512_mask, __builtin_ia32_cvtpd2ps512_mask,
	__builtin_ia32_cvtpd2udq512_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_extractf32x4_mask,
	__builtin_ia32_extractf64x4_mask, __builtin_ia32_extracti32x4_mask,
	__builtin_ia32_extracti64x4_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_gatherdiv8df,
	__builtin_ia32_gatherdiv8di, __builtin_ia32_gatherdiv16sf,
	__builtin_ia32_gatherdiv16si, __builtin_ia32_gathersiv16sf,
	__builtin_ia32_gathersiv16si, __builtin_ia32_gathersiv8df,
	__builtin_ia32_gathersiv8di, __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_insertf32x4_mask,
	__builtin_ia32_insertf64x4_mask, __builtin_ia32_inserti32x4_mask,
	__builtin_ia32_inserti64x4_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_permdf512_mask,
	__builtin_ia32_permdi512_mask, __builtin_ia32_prold512_mask,
	__builtin_ia32_prolq512_mask, __builtin_ia32_prord512_mask,
	__builtin_ia32_prorq512_mask, __builtin_ia32_pshufd512_mask,
	__builtin_ia32_pslldi512_mask, __builtin_ia32_psllqi512_mask,
	__builtin_ia32_psradi512_mask, __builtin_ia32_psraqi512_mask,
	__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlqi512_mask,
	__builtin_ia32_pternlogd512_mask, __builtin_ia32_pternlogd512_maskz,
	__builtin_ia32_pternlogq512_mask, __builtin_ia32_pternlogq512_maskz,
	__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_scatterdiv8df, __builtin_ia32_scatterdiv8di,
	__builtin_ia32_scatterdiv16sf, __builtin_ia32_scatterdiv16si,
	__builtin_ia32_scattersiv16sf, __builtin_ia32_scattersiv16si,
	__builtin_ia32_scattersiv8df, __builtin_ia32_scattersiv8di,
	__builtin_ia32_shuf_f32x4_mask, __builtin_ia32_shuf_f64x2_mask,
	__builtin_ia32_shuf_i32x4_mask, __builtin_ia32_shuf_i64x2_mask,
	__builtin_ia32_shufpd512_mask, __builtin_ia32_shufps512_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_ucmpd512_mask, __builtin_ia32_ucmpq512_mask,
	__builtin_ia32_vcomisd, __builtin_ia32_vcomiss,
	__builtin_ia32_vcvtph2ps512_mask, __builtin_ia32_vcvtps2ph512_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_vpermilpd512_mask,
	__builtin_ia32_vpermilps512_mask, __builtin_ia32_gatherpfdps,
	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdps,
	__builtin_ia32_scatterpfqps, __builtin_ia32_exp2pd_mask,
	__builtin_ia32_exp2ps_mask, __builtin_ia32_rcp28pd_mask,
	__builtin_ia32_rcp28ps_mask, __builtin_ia32_rsqrt28pd_mask,
	__builtin_ia32_rsqrt28ps_mask.
	* gcc.target/i386/sse-14.c (test_1y): New.
	(test_2y): Ditto.
	(test_2vx): Ditto.
	(test_3x): Ditto.
	(test_3v): Ditto.
	(test_3vx): Ditto.
	(test_4x): Ditto.
	(test_4y): Ditto.
	(test_4v): Ditto.
	(pragma GCC target): Add avx512f, avx512er, avx512cd, avx512pf.
	(tests): Add  _mm512_cvt_roundepi32_ps, _mm512_cvt_roundepu32_ps,
	_mm512_cvt_roundpd_epi32, _mm512_cvt_roundpd_epu32,
	_mm512_cvt_roundpd_ps, _mm512_cvt_roundph_ps,
	_mm512_cvt_roundps_epi32, _mm512_cvt_roundps_epu32,
	_mm512_cvt_roundps_pd, _mm512_cvtps_ph, _mm512_cvtt_roundpd_epi32,
	_mm512_cvtt_roundpd_epu32, _mm512_cvtt_roundps_epi32,
	_mm512_cvtt_roundps_epu32, _mm512_extractf32x4_ps,
	_mm512_extractf64x4_pd, _mm512_extracti32x4_epi32,
	_mm512_extracti64x4_epi64, _mm512_getexp_round_pd,
	_mm512_getexp_round_ps, _mm512_getmant_round_pd,
	_mm512_getmant_round_ps, _mm512_permute_pd, _mm512_permute_ps,
	_mm512_permutex_epi64, _mm512_permutex_pd, _mm512_rol_epi32,
	_mm512_rol_epi64, _mm512_ror_epi32, _mm512_ror_epi64,
	_mm512_shuffle_epi32, _mm512_slli_epi32, _mm512_slli_epi64,
	_mm512_sqrt_round_pd, _mm512_sqrt_round_ps, _mm512_srai_epi32,
	_mm512_srai_epi64, _mm512_srli_epi32, _mm512_srli_epi64,
	_mm_cvt_roundsd_i32, _mm_cvt_roundsd_u32, _mm_cvt_roundss_i32,
	_mm_cvt_roundss_u32, _mm_cvtt_roundsd_i32, _mm_cvtt_roundsd_u32,
	_mm_cvtt_roundss_i32, _mm_cvtt_roundss_u32, _mm512_getmant_pd,
	_mm512_getmant_ps, _mm_cvt_roundi32_ss, _mm512_add_round_pd,
	_mm512_add_round_ps, _mm512_alignr_epi32, _mm512_alignr_epi64,
	_mm512_cmp_epi32_mask, _mm512_cmp_epi64_mask, _mm512_cmp_epu32_mask,
	_mm512_cmp_epu64_mask, _mm512_cmp_pd_mask, _mm512_cmp_ps_mask,
	_mm512_div_round_pd, _mm512_div_round_ps, _mm512_i32gather_epi32,
	_mm512_i32gather_epi64, _mm512_i32gather_pd, _mm512_i32gather_ps,
	_mm512_i64gather_epi32, _mm512_i64gather_epi64, _mm512_i64gather_pd,
	_mm512_i64gather_ps, _mm512_insertf32x4, _mm512_insertf64x4,
	_mm512_inserti32x4, _mm512_inserti64x4,
	_mm512_maskz_cvt_roundepi32_ps, _mm512_maskz_cvt_roundepu32_ps,
	_mm512_maskz_cvt_roundpd_epi32, _mm512_maskz_cvt_roundpd_epu32,
	_mm512_maskz_cvt_roundpd_ps, _mm512_maskz_cvt_roundph_ps,
	_mm512_maskz_cvt_roundps_epi32, _mm512_maskz_cvt_roundps_epu32,
	_mm512_maskz_cvt_roundps_pd, _mm512_maskz_cvtps_ph,
	_mm512_maskz_cvtt_roundpd_epi32, _mm512_maskz_cvtt_roundpd_epu32,
	_mm512_maskz_cvtt_roundps_epi32, _mm512_maskz_cvtt_roundps_epu32,
	_mm512_maskz_extractf32x4_ps, _mm512_maskz_extractf64x4_pd,
	_mm512_maskz_extracti32x4_epi32, _mm512_maskz_extracti64x4_epi64,
	_mm512_maskz_getexp_round_pd, _mm512_maskz_getexp_round_ps,
	_mm512_maskz_getmant_round_pd, _mm512_maskz_getmant_round_ps,
	_mm512_maskz_permute_pd, _mm512_maskz_permute_ps,
	_mm512_maskz_permutex_epi64, _mm512_maskz_permutex_pd,
	_mm512_maskz_rol_epi32, _mm512_maskz_rol_epi64,
	_mm512_maskz_ror_epi32, _mm512_maskz_ror_epi64,
	_mm512_maskz_shuffle_epi32, _mm512_maskz_slli_epi32,
	_mm512_maskz_slli_epi64, _mm512_maskz_sqrt_round_pd,
	_mm512_maskz_sqrt_round_ps, _mm512_maskz_srai_epi32,
	_mm512_maskz_srai_epi64, _mm512_maskz_srli_epi32,
	_mm512_maskz_srli_epi64, _mm512_max_round_pd, _mm512_max_round_ps,
	_mm512_min_round_pd, _mm512_min_round_ps, _mm512_mul_round_pd,
	_mm512_mul_round_ps, _mm512_scalef_round_pd, _mm512_scalef_round_ps,
	_mm512_shuffle_f32x4, _mm512_shuffle_f64x2, _mm512_shuffle_i32x4,
	_mm512_shuffle_i64x2, _mm512_shuffle_pd, _mm512_shuffle_ps,
	_mm512_sub_round_pd, _mm512_sub_round_ps, _mm_add_round_sd,
	_mm_add_round_ss, _mm_cmp_sd_mask, _mm_cmp_ss_mask,
	_mm_cvt_roundi64_sd, _mm_cvt_roundi64_ss, _mm_cvt_roundsd_ss,
	_mm_cvt_roundss_sd, _mm_cvt_roundu32_ss, _mm_cvt_roundu64_sd,
	_mm_cvt_roundu64_ss, _mm_div_round_sd, _mm_div_round_ss,
	_mm_getexp_round_sd, _mm_getexp_round_ss, _mm_getmant_round_sd,
	_mm_getmant_round_ss, _mm_mul_round_sd, _mm_mul_round_ss,
	_mm_scalef_round_sd, _mm_scalef_round_ss, _mm_sqrt_round_sd,
	_mm_sqrt_round_ss, _mm_sub_round_sd, _mm_sub_round_ss,
	_mm512_cmp_round_pd_mask, _mm512_cmp_round_ps_mask,
	_mm512_maskz_roundscale_round_pd, _mm512_maskz_roundscale_round_ps,
	_mm_cmp_round_sd_mask, _mm_cmp_round_ss_mask, _mm_comi_round_sd,
	_mm_comi_round_ss, _mm_roundscale_round_sd, _mm_roundscale_round_ss,
	_mm512_fmadd_round_pd, _mm512_fmadd_round_ps,
	_mm512_fmaddsub_round_pd, _mm512_fmaddsub_round_ps,
	_mm512_fmsub_round_pd, _mm512_fmsub_round_ps,
	_mm512_fmsubadd_round_pd, _mm512_fmsubadd_round_ps,
	_mm512_fnmadd_round_pd, _mm512_fnmadd_round_ps,
	_mm512_fnmsub_round_pd, _mm512_fnmsub_round_ps,
	_mm512_mask_cmp_epi32_mask, _mm512_mask_cmp_epi64_mask,
	_mm512_mask_cmp_epu32_mask, _mm512_mask_cmp_epu64_mask,
	_mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask,
	_mm512_mask_cvt_roundepi32_ps, _mm512_mask_cvt_roundepu32_ps,
	_mm512_mask_cvt_roundpd_epi32, _mm512_mask_cvt_roundpd_epu32,
	_mm512_mask_cvt_roundpd_ps, _mm512_mask_cvt_roundph_ps,
	_mm512_mask_cvt_roundps_epi32, _mm512_mask_cvt_roundps_epu32,
	_mm512_mask_cvt_roundps_pd, _mm512_mask_cvtps_ph,
	_mm512_mask_cvtt_roundpd_epi32, _mm512_mask_cvtt_roundpd_epu32,
	_mm512_mask_cvtt_roundps_epi32, _mm512_mask_cvtt_roundps_epu32,
	_mm512_mask_extractf32x4_ps, _mm512_mask_extractf64x4_pd,
	_mm512_mask_extracti32x4_epi32, _mm512_mask_extracti64x4_epi64,
	_mm512_mask_getexp_round_pd, _mm512_mask_getexp_round_ps,
	_mm512_mask_getmant_round_pd, _mm512_mask_getmant_round_ps,
	_mm512_mask_permute_pd, _mm512_mask_permute_ps,
	_mm512_mask_permutex_epi64, _mm512_mask_permutex_pd,
	_mm512_mask_rol_epi32, _mm512_mask_rol_epi64, _mm512_mask_ror_epi32,
	_mm512_mask_ror_epi64, _mm512_mask_shuffle_epi32,
	_mm512_mask_slli_epi32, _mm512_mask_slli_epi64,
	_mm512_mask_sqrt_round_pd, _mm512_mask_sqrt_round_ps,
	_mm512_mask_srai_epi32, _mm512_mask_srai_epi64,
	_mm512_mask_srli_epi32, _mm512_mask_srli_epi64,
	_mm512_maskz_add_round_pd, _mm512_maskz_add_round_ps,
	_mm512_maskz_alignr_epi32, _mm512_maskz_alignr_epi64,
	_mm512_maskz_div_round_pd, _mm512_maskz_div_round_ps,
	_mm512_maskz_insertf32x4, _mm512_maskz_insertf64x4,
	_mm512_maskz_inserti32x4, _mm512_maskz_inserti64x4,
	_mm512_maskz_max_round_pd, _mm512_maskz_max_round_ps,
	_mm512_maskz_min_round_pd, _mm512_maskz_min_round_ps,
	_mm512_maskz_mul_round_pd, _mm512_maskz_mul_round_ps,
	_mm512_maskz_scalef_round_pd, _mm512_maskz_scalef_round_ps,
	_mm512_maskz_shuffle_f32x4, _mm512_maskz_shuffle_f64x2,
	_mm512_maskz_shuffle_i32x4, _mm512_maskz_shuffle_i64x2,
	_mm512_maskz_shuffle_pd, _mm512_maskz_shuffle_ps,
	_mm512_maskz_sub_round_pd, _mm512_maskz_sub_round_ps,
	_mm512_ternarylogic_epi32, _mm512_ternarylogic_epi64,
	_mm_fmadd_round_sd, _mm_fmadd_round_ss, _mm_fmsub_round_sd,
	_mm_fmsub_round_ss, _mm_fnmadd_round_sd, _mm_fnmadd_round_ss,
	_mm_fnmsub_round_sd, _mm_fnmsub_round_ss, _mm_mask_cmp_sd_mask,
	_mm_mask_cmp_ss_mask, _mm_maskz_add_round_sd, _mm_maskz_add_round_ss,
	_mm_maskz_cvt_roundsd_ss, _mm_maskz_cvt_roundss_sd,
	_mm_maskz_div_round_sd, _mm_maskz_div_round_ss,
	_mm_maskz_getexp_round_sd, _mm_maskz_getexp_round_ss,
	_mm_maskz_getmant_round_sd, _mm_maskz_getmant_round_ss,
	_mm_maskz_mul_round_sd, _mm_maskz_mul_round_ss,
	_mm_maskz_scalef_round_sd, _mm_maskz_scalef_round_ss,
	_mm_maskz_sqrt_round_sd, _mm_maskz_sqrt_round_ss,
	_mm_maskz_sub_round_sd, _mm_maskz_sub_round_ss,
	_mm512_i32scatter_epi32, _mm512_i32scatter_epi64,
	_mm512_i32scatter_pd, _mm512_i32scatter_ps, _mm512_i64scatter_epi32,
	_mm512_i64scatter_epi64, _mm512_i64scatter_pd, _mm512_i64scatter_ps,
	_mm512_mask_roundscale_round_pd, _mm512_mask_roundscale_round_ps,
	_mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask,
	_mm_fixupimm_round_sd, _mm_fixupimm_round_ss,
	_mm_mask_cmp_round_sd_mask, _mm_mask_cmp_round_ss_mask,
	_mm_maskz_roundscale_round_sd, _mm_maskz_roundscale_round_ss,
	_mm512_mask3_fmadd_round_pd, _mm512_mask3_fmadd_round_ps,
	_mm512_mask3_fmaddsub_round_pd, _mm512_mask3_fmaddsub_round_ps,
	_mm512_mask3_fmsub_round_pd, _mm512_mask3_fmsub_round_ps,
	_mm512_mask3_fmsubadd_round_pd, _mm512_mask3_fmsubadd_round_ps,
	_mm512_mask3_fnmadd_round_pd, _mm512_mask3_fnmadd_round_ps,
	_mm512_mask3_fnmsub_round_pd, _mm512_mask3_fnmsub_round_ps,
	_mm512_mask_add_round_pd, _mm512_mask_add_round_ps,
	_mm512_mask_alignr_epi32, _mm512_mask_alignr_epi64,
	_mm512_mask_div_round_pd, _mm512_mask_div_round_ps,
	_mm512_mask_fmadd_round_pd, _mm512_mask_fmadd_round_ps,
	_mm512_mask_fmaddsub_round_pd, _mm512_mask_fmaddsub_round_ps,
	_mm512_mask_fmsub_round_pd, _mm512_mask_fmsub_round_ps,
	_mm512_mask_fmsubadd_round_pd, _mm512_mask_fmsubadd_round_ps,
	_mm512_mask_fnmadd_round_pd, _mm512_mask_fnmadd_round_ps,
	_mm512_mask_fnmsub_round_pd, _mm512_mask_fnmsub_round_ps,
	_mm512_mask_i32gather_epi32, _mm512_mask_i32gather_epi64,
	_mm512_mask_i32gather_pd, _mm512_mask_i32gather_ps,
	_mm512_mask_i64gather_epi32, _mm512_mask_i64gather_epi64,
	_mm512_mask_i64gather_pd, _mm512_mask_i64gather_ps,
	_mm512_mask_insertf32x4, _mm512_mask_insertf64x4,
	_mm512_mask_inserti32x4, _mm512_mask_inserti64x4,
	_mm512_mask_max_round_pd, _mm512_mask_max_round_ps,
	_mm512_mask_min_round_pd, _mm512_mask_min_round_ps,
	_mm512_mask_mul_round_pd, _mm512_mask_mul_round_ps,
	_mm512_mask_scalef_round_pd, _mm512_mask_scalef_round_ps,
	_mm512_mask_shuffle_f32x4, _mm512_mask_shuffle_f64x2,
	_mm512_mask_shuffle_i32x4, _mm512_mask_shuffle_i64x2,
	_mm512_mask_shuffle_pd, _mm512_mask_shuffle_ps,
	_mm512_mask_sub_round_pd, _mm512_mask_sub_round_ps,
	_mm512_mask_ternarylogic_epi32, _mm512_mask_ternarylogic_epi64,
	_mm512_maskz_fmadd_round_pd, _mm512_maskz_fmadd_round_ps,
	_mm512_maskz_fmaddsub_round_pd, _mm512_maskz_fmaddsub_round_ps,
	_mm512_maskz_fmsub_round_pd, _mm512_maskz_fmsub_round_ps,
	_mm512_maskz_fmsubadd_round_pd, _mm512_maskz_fmsubadd_round_ps,
	_mm512_maskz_fnmadd_round_pd, _mm512_maskz_fnmadd_round_ps,
	_mm512_maskz_fnmsub_round_pd, _mm512_maskz_fnmsub_round_ps,
	_mm512_maskz_ternarylogic_epi32, _mm512_maskz_ternarylogic_epi64,
	_mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
	_mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
	_mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
	_mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
	_mm_mask_add_round_sd, _mm_mask_add_round_ss, _mm_mask_cvt_roundsd_ss,
	_mm_mask_cvt_roundss_sd, _mm_mask_div_round_sd, _mm_mask_div_round_ss,
	_mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
	_mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
	_mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
	_mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
	_mm_mask_getexp_round_sd, _mm_mask_getexp_round_ss,
	_mm_mask_getmant_round_sd, _mm_mask_getmant_round_ss,
	_mm_mask_mul_round_sd, _mm_mask_mul_round_ss,
	_mm_mask_scalef_round_sd, _mm_mask_scalef_round_ss,
	_mm_mask_sqrt_round_sd, _mm_mask_sqrt_round_ss, _mm_mask_sub_round_sd,
	_mm_mask_sub_round_ss, _mm_maskz_fmadd_round_sd,
	_mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
	_mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
	_mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
	_mm_maskz_fnmsub_round_ss, _mm512_mask_i32scatter_epi32,
	_mm512_mask_i32scatter_epi64, _mm512_mask_i32scatter_pd,
	_mm512_mask_i32scatter_ps, _mm512_mask_i64scatter_epi32,
	_mm512_mask_i64scatter_epi64, _mm512_mask_i64scatter_pd,
	_mm512_mask_i64scatter_ps, _mm_mask_getmant_sd, _mm_mask_getmant_ss,
	_mm_mask_roundscale_round_sd, _mm_mask_roundscale_round_ss,
	_mm512_mask_fixupimm_round_pd, _mm512_mask_fixupimm_round_ps,
	_mm512_maskz_fixupimm_round_pd, _mm512_maskz_fixupimm_round_ps,
	_mm_mask_fixupimm_round_sd, _mm_mask_fixupimm_round_ss,
	_mm_maskz_fixupimm_round_sd, _mm_maskz_fixupimm_round_ss,
	_mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i32scatter_ps,
	_mm512_mask_prefetch_i64gather_ps, _mm512_mask_prefetch_i64scatter_ps,
	_mm512_exp2a23_round_pd, _mm512_exp2a23_round_ps,
	_mm512_rcp28_round_pd, _mm512_rcp28_round_ps, _mm512_rsqrt28_round_pd,
	_mm512_rsqrt28_round_ps, _mm512_maskz_exp2a23_round_pd,
	_mm512_maskz_exp2a23_round_ps, _mm512_maskz_rcp28_round_pd,
	_mm512_maskz_rcp28_round_ps, _mm512_maskz_rsqrt28_round_pd,
	_mm512_maskz_rsqrt28_round_ps, _mm512_mask_exp2a23_round_pd,
	_mm512_mask_exp2a23_round_ps, _mm512_mask_rcp28_round_pd,
	_mm512_mask_rcp28_round_ps, _mm512_mask_rsqrt28_round_pd,
	_mm512_mask_rsqrt28_round_ps.
	* gcc.target/i386/testimm-10.c: New file.
	* gcc.target/i386/testround-1.c: Ditto.
	* gcc.target/i386/testround-2.c: Ditto.
	* gcc.target/x86_64/abi/avx512f/test_m512_returning.c: Ditto.
	* gcc.target/x86_64/abi/avx512f/test_passing_m512.c: Ditto.
	* gcc.target/x86_64/abi/avx512f/test_passing_structs.c: Ditto.
	* gcc.target/x86_64/abi/avx512f/test_passing_unions.c: Ditto.
	* gcc.target/i386/avx512cd-check.h: Ditto.
	* gcc.target/i386/avx512er-check.h: Ditto.
	* gcc.target/i386/avx512f-check.h: Ditto.
	* gcc.target/i386/avx512f-helper.h: Ditto.
	* gcc.target/i386/avx512f-mask-type.h: Ditto.
	* gcc.target/i386/avx512f-os-support.h: Ditto.
	* gcc.target/i386/i386.exp (check_effective_target_avx512f): New.
	(check_effective_target_avx512cd): Ditto.
	(check_effective_target_avx512er): Ditto.
	* gcc.target/i386/m128-check.h (CHECK_FP_EXP): Ditto.
	* gcc.target/i386/m512-check.h: Ditto.
	* gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: New file.
	* gcc.target/x86_64/abi/avx512f/args.h: Ditto.
	* gcc.target/x86_64/abi/avx512f/asm-support.S: Ditto.
	* gcc.target/x86_64/abi/avx512f/avx512f-check.h: Ditto.
	* lib/target-supports.exp (check_effective_target_avx512f): New.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206262
2013-12-31 11:34:58 +00:00
Alexander Ivchenko
756c585702 config.gcc (extra_headers): Add avx512fintrin.h, avx512cdintrin.h, avx512erintrin.h, avx512pfintrin.h.
gcc/

	* 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.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206261
2013-12-31 11:30:14 +00:00
Alexander Ivchenko
d3c2fee096 i386.c (MAX_CLASSES): Increase number of classes.
gcc/
	* config/i386/i386.c (MAX_CLASSES): Increase number of classes.
	(classify_argument): Extend for 512 bit vectors.
	(construct_container): Ditto.
	(function_arg_advance_32): Ditto.
	(function_arg_advance_64): Ditto.
	(function_arg_32): Ditto.
	(function_arg_64): Ditto.
	(function_value_32): Ditto.
	(return_in_memory_32): Ditto.
	(ix86_gimplify_va_arg): Ditto.
	(standard_sse_constant_p): Ditto.
	(standard_sse_constant_opcode): Ditto.
	(ix86_expand_vector_convert_uns_vsivsf): Ditto.
	(ix86_build_const_vector): Ditto.
	(ix86_build_signbit_mask): Ditto.
	(ix86_expand_sse_cmp): Extend for AVX512.
	(ix86_expand_sse_movcc): Ditto.
	(ix86_expand_int_vcond): Ditto.
	(ix86_expand_vec_perm): Ditto.
	(ix86_expand_sse_unpack): Ditto.
	(ix86_constant_alignment): Ditto.
	(ix86_builtin_vectorized_function): Ditto.
	(ix86_vectorize_builtin_gather): Ditto.
	(avx_vpermilp_parallel): Ditto.
	(ix86_rtx_costs): Ditto.
	(ix86_expand_vector_init_duplicate): Ditto.
	(ix86_expand_vector_init_concat): Ditto.
	(ix86_expand_vector_init_general): Ditto.
	(ix86_expand_vector_extract): Ditto.
	(emit_reduc_half): Ditto.
	(ix86_vector_mode_supported_p): Ditto.
	(ix86_emit_swdivsf): Ditto.
	(ix86_emit_swsqrtsf): Ditto.
	(expand_vec_perm_1): Ditto.
	(ix86_vectorize_vec_perm_const_ok): Ditto.
	(ix86_expand_mul_widen_evenodd): Ditto.
	(ix86_expand_sse2_mulvxdi3): Ditto.
	(ix86_preferred_simd_mode): Ditto.
	(ix86_autovectorize_vector_sizes): Ditto.
	(ix86_expand_vec_perm_vpermi2): New.
	(ix86_vector_duplicate_value): Ditto.
	(IX86_BUILTIN_SQRTPD512, IX86_BUILTIN_EXP2PS, IX86_BUILTIN_SQRTPS_NR512,
	IX86_BUILTIN_GATHER3ALTDIV16SF, IX86_BUILTIN_GATHER3ALTDIV16SI,
	IX86_BUILTIN_GATHER3ALTSIV8DF, IX86_BUILTIN_GATHER3ALTSIV8DI,
	IX86_BUILTIN_GATHER3DIV16SF, IX86_BUILTIN_GATHER3DIV16SI,
	IX86_BUILTIN_GATHER3DIV8DF, IX86_BUILTIN_GATHER3DIV8DI,
	IX86_BUILTIN_GATHER3SIV16SF, IX86_BUILTIN_GATHER3SIV16SI,
	IX86_BUILTIN_GATHER3SIV8DF, IX86_BUILTIN_CEILPD_VEC_PACK_SFIX512,
	IX86_BUILTIN_CPYSGNPS512, IX86_BUILTIN_CPYSGNPD512,
	IX86_BUILTIN_FLOORPD_VEC_PACK_SFIX512,
	IX86_BUILTIN_ROUNDPD_AZ_VEC_PACK_SFIX512): Ditto.
	* config/i386/sse.md (*mov<mode>_internal): Disable SSE typeless
	stores vectors > 128bit (AVX*).
	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse2_avx_avx512f>_storedqu<mode>): Extend for AVX-512, disable
	SSE typeless stores vectors > 128bit (AVX*).
	(fixuns_trunc<mode><sseintvecmodelower>2): Extend for AVX-512.
	(vec_pack_ufix_trunc_<mode>): Ditto.
	(vec_unpacku_float_hi_v16si): New.
	* tree-vect-stmts.c (vectorizable_load): Support AVX512's gathers.
	* tree-vectorizer.h (MAX_VECTORIZATION_FACTOR): Extend for 512 bit
	vectors.

testsuite/
	* gcc.target/i386/pr49002-2.c: allow vmovapd generation.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206260
2013-12-31 11:09:42 +00:00
Nick Clifton
41a828454e Fix typo in PR number (59613) of recent commit.
From-SVN: r206258
2013-12-31 08:48:09 +00:00
Chung-Lin Tang
f121b81d26 MAINTAINERS: Add Sandra Loosemore and Chung-Lin Tang as nios2 port maintainers.
2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	* MAINTAINERS: Add Sandra Loosemore and Chung-Lin Tang as
	nios2 port maintainers.


Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r206257
2013-12-31 07:16:53 +00:00
Chung-Lin Tang
e430824f28 Commit of nios2 port to trunk:
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.

From-SVN: r206256
2013-12-31 07:05:35 +00:00
GCC Administrator
fd5b8c6572 Daily bump.
From-SVN: r206255
2013-12-31 00:16:59 +00:00
Mike Stump
57664fed58 re PR c++/41090 (Using static label reference in c++ class constructor produces wrong code)
PR c++/41090
	* g++.dg/ext/label13.C: Update to not expect failures.

From-SVN: r206252
2013-12-30 19:34:53 +00:00
Mike Stump
2ef747bcac Fix spacing.
From-SVN: r206251
2013-12-30 19:06:25 +00:00
Nick Clifton
e1a558374d re PR c++/59631 (ICE using _Cilk_spawn without -fcilkplus)
PR target/59631
	* stor-layout.c (get_mode_bounds): Use GET_MODE_PRECISION instead
	of GET_MODE_BITSIZE.

Co-Authored-By: Peter Bigot <bigotp@acm.org>

From-SVN: r206250
2013-12-30 17:37:08 +00:00
Janus Weil
6bd5968441 re PR fortran/58998 (Generic interface problem with gfortran)
2013-12-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58998
	* resolve.c (resolve_symbol): Check that symbol is not only flavorless
	but also untyped.

2013-12-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58998
	* gfortran.dg/generic_28.f90: New.

From-SVN: r206249
2013-12-30 18:33:21 +01:00
Jakub Jelinek
acdcd61b09 re PR tree-optimization/59591 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:156 for -march=core-avx2)
PR tree-optimization/59591
	* tree-vect-stmts.c (vectorizable_mask_load_store): Fix up handling
	of modifier = NARROW masked gathers.
	(permute_vec_elements): Use gimple_get_lhs instead of
	gimple_assign_lhs.

	* gcc.dg/vect/pr59591-1.c: New test.
	* gcc.dg/vect/pr59591-2.c: New test.
	* gcc.target/i386/pr59591-1.c: New test.
	* gcc.target/i386/pr59591-2.c: New test.

From-SVN: r206248
2013-12-30 18:05:10 +01:00
Nick Clifton
51ac3042e7 msp430.c (msp430_print_operand): Rename %B to %b and %A to %Q.
* config/msp430/msp430.c (msp430_print_operand): Rename %B to %b
	and %A to %Q.  Add %A, %B, %C and %D as selectors for 16-bit parts
	of a 64-bit operand.
	* config/msp430/msp430.md: Replace uses of %B with %b and uses of
	%A with %q.

From-SVN: r206247
2013-12-30 16:28:08 +00:00
Felix Yang
c99ebd4dde ira-costs.c (cost_classes_hasher::equal): Check equality of memcmp and 0 if no difference exists for HV1 and HV2.
2013-12-30  Felix Yang  <felix.yang@huawei.com>

	* ira-costs.c (cost_classes_hasher::equal): Check equality of
	memcmp and 0 if no difference exists for HV1 and HV2.

From-SVN: r206246
2013-12-30 16:10:14 +00:00
Jakub Jelinek
8e72847528 re PR tree-optimization/59501 (Vector Gather with GCC 4.9 2013-12-08 Snapshot)
PR target/59501
	* config/i386/i386.c (ix86_save_reg): Don't return true for drap_reg
	if !crtl->stack_realign_needed.
	(ix86_finalize_stack_realign_flags): If drap_reg isn't live on entry
	and stack_realign_needed will be false, clear drap_reg and need_drap.
	Optimize leaf functions that don't need stack frame even if
	crtl->need_drap.

	* gcc.target/i386/pr59501-1.c: New test.
	* gcc.target/i386/pr59501-1a.c: New test.
	* gcc.target/i386/pr59501-2.c: New test.
	* gcc.target/i386/pr59501-2a.c: New test.
	* gcc.target/i386/pr59501-3.c: New test.
	* gcc.target/i386/pr59501-3a.c: New test.
	* gcc.target/i386/pr59501-4.c: New test.
	* gcc.target/i386/pr59501-4a.c: New test.
	* gcc.target/i386/pr59501-5.c: New test.
	* gcc.target/i386/pr59501-6.c: New test.

From-SVN: r206243
2013-12-30 09:53:10 +01:00
H.J. Lu
5cf5a0e59b re PR target/59605 (error: wrong number of branch edges after unconditional jump in bb 11)
PR target/59605
	* config/i386/i386.c (ix86_expand_set_or_movmem): Create
	jump_around_label only if it doesn't exist.

	* gcc.dg/pr59605.c: New test.

From-SVN: r206242
2013-12-30 09:48:25 +01:00
GCC Administrator
3836fdc0c9 Daily bump.
From-SVN: r206241
2013-12-30 00:16:41 +00:00
Janus Weil
85dabaedbb re PR fortran/59612 ([F03] iso_fortran_env segfaults with -fdump-fortran-original)
2013-12-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59612
	* dump-parse-tree.c (show_typespec): Check for charlen.
	* invoke.texi: Fix documentation of -fdump-fortran-optimized and
	-fdump-parse-tree.

From-SVN: r206237
2013-12-29 18:20:50 +01:00
GCC Administrator
f6cd57517a Daily bump.
From-SVN: r206236
2013-12-29 00:16:14 +00:00
Ian Lance Taylor
f89b66f5ad net: work around Solaris connect issue when server closes socket
On Solaris, if you do a in-progress connect, and then the
server accepts and closes the socket, the client's later
attempt to complete the connect will fail with EINVAL.  Handle
this case by assuming that the connect succeeded.  This code
is weird enough that it is implemented as Solaris-only so that
it doesn't hide a real error on a different OS.

See http://golang.org/issue/6828.

From-SVN: r206232
2013-12-28 18:00:30 +00:00
Eric Botcazou
24879fd092 * doc/invoke.texi (output file options): Document -fada-spec-parent.
From-SVN: r206229
2013-12-28 10:43:12 +00:00
Eric Botcazou
f2aa696b5b c-ada-spec.c (print_constructor): New function.
* c-ada-spec.c (print_constructor): New function.
	(print_destructor): Retrieve the origin of the destructor.
	(print_ada_declaration): Revamp handling of constructors/destructors.

From-SVN: r206228
2013-12-28 10:12:59 +00:00
GCC Administrator
2748936ad8 Daily bump.
From-SVN: r206227
2013-12-28 00:17:20 +00:00
Ian Lance Taylor
afc8adc88f re PR go/59506 (net FAILs (timeout) on alpha)
PR go/59506

net: use DialTimeout in TestSelfConnect

Backported from master repository.

This avoids problems with systems that take a long time to
find out nothing is listening, while still testing for the
self-connect misfeature since a self-connect should be fast.
With this we may be able to remove the test for non-Linux
systems.

Tested (on GNU/Linux) by editing selfConnect in
tcpsock_posix.go to always return false and verifying that
TestSelfConnect then fails with and without this change.

Idea from Uros Bizjak.

From-SVN: r206224
2013-12-27 21:42:26 +00:00
Alexander Ivchenko
4de67111df sse.md (avx512f_fixupimm<mode>_maskz): Extend to support EVEX's RC.
* config/i386/sse.md (avx512f_fixupimm<mode>_maskz): Extend to support
        EVEX's RC.
        (avx512f_sfixupimm<mode>_maskz): Ditto.
        * config/i386/subst.md (round_saeonly_expand_name): New.
        (round_saeonly_expand_nimm_predicate): Ditto.
        (round_saeonly_expand_operand6): Ditto.
        (round_saeonly_expand): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206223
2013-12-27 14:37:34 +00:00
Alexander Ivchenko
7cf78561f6 sse.md (avx512f_fmadd_<mode>_maskz): Extend to support EVEX's RC.
* config/i386/sse.md (avx512f_fmadd_<mode>_maskz): Extend to support
        EVEX's RC.
        (avx512f_fmaddsub_<mode>_maskz): Ditto.
        * config/i386/subst.md (round_expand_name): New.
        (round_expand_nimm_predicate): Ditto.
        (round_expand_operand): Ditto.
        (round_expand): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206222
2013-12-27 14:33:51 +00:00
Alexander Ivchenko
8a6ef76052 sse.md (<code><mode>3<mask_name>): Extend to support EVEX's SAE mode.
* config/i386/sse.md (<code><mode>3<mask_name>): Extend to support
        EVEX's SAE mode.
        (*<code><mode>3_finite<mask_name>): Ditto.
        (*<code><mode>3<mask_name>): Ditto.
        (avx512f_cmp<mode>3<mask_scalar_merge_name>): Ditto.
        (avx512f_vmcmp<mode>3): Ditto.
        (avx512f_vmcmp<mode>3_mask): Ditto.
        (<sse>_comi): Ditto.
        (<sse>_ucomi): Ditto.
        (sse_cvttss2si): Ditto.
        (sse_cvttss2siq): Ditto.
        (<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto.
        (avx512f_vcvttss2usi): Ditto.
        (avx512f_vcvttss2usiq): Ditto.
        (avx512f_vcvttsd2usi): Ditto.
        (avx512f_vcvttsd2usiq): Ditto.
        (sse2_cvttsd2si): Ditto.
        (sse2_cvttsd2siq): Ditto.
        (<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto.
        (<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto.
        (avx512f_getexp<mode><mask_name>): Ditto.
        (avx512f_fixupimm<mode><sd_maskz_name>): Ditto.
        (avx512f_fixupimm<mode>_mask): Ditto.
        (avx512f_sfixupimm<mode><sd_maskz_name>): Ditto.
        (avx512f_sfixupimm<mode>_mask): Ditto.
        (avx512f_rndscale<mode><mask_name>): Ditto.
        (<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto.
        (avx512f_getmant<mode><mask_name>): Ditto.
        * config/i386/subst.md (round_saeonly_name): New.
        (round_saeonly_mask_operand2): Ditto.
        (round_saeonly_mask_operand3): Ditto.
        (round_saeonly_mask_scalar_operand3): Ditto.
        (round_saeonly_mask_scalar_operand4): Ditto.
        (round_saeonly_mask_scalar_merge_operand4): Ditto.
        (round_saeonly_sd_mask_operand5): Ditto.
        (round_saeonly_op2): Ditto.
        (round_saeonly_op4): Ditto.
        (round_saeonly_op5): Ditto.
        (round_saeonly_op6): Ditto.
        (round_saeonly_mask_op2): Ditto.
        (round_saeonly_mask_op3): Ditto.
        (round_saeonly_mask_scalar_op3): Ditto.
        (round_saeonly_mask_scalar_op4): Ditto.
        (round_saeonly_mask_scalar_merge_op4): Ditto.
        (round_saeonly_sd_mask_op5): Ditto.
        (round_saeonly_constraint): Ditto.
        (round_saeonly_constraint2): Ditto.
        (round_saeonly_nimm_predicate): Ditto.
        (round_saeonly_mode512bit_condition): Ditto.
        (round_saeonly): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206221
2013-12-27 14:22:35 +00:00
Alexander Ivchenko
06bc9e41f4 i386.c (ix86_print_operand): Print EVEX's RC modifiers.
* config/i386/i386.c (ix86_print_operand): Print EVEX's RC modifiers.
        * config/i386/i386.md (define_constants): Define EVEx's RC constants.
        * gcc/config/i386/sse.md (<plusminus_insn><mode>3<mask_name>): Extend
        to support EVEX's rounding control.
        (*<plusminus_insn><mode>3<mask_name>): Ditto.
        (mul<mode>3<mask_name>): Ditto.
        (*mul<mode>3<mask_name>): Ditto.
        (<sse>_div<mode>3<mask_name>): Ditto.
        (<sse>_sqrt<mode>2<mask_name>): Ditto.
        (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>): Ditto.
        (avx512f_fmadd_<mode>_mask): Ditto.
        (avx512f_fmadd_<mode>_mask3): Ditto.
        (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>): Ditto.
        (avx512f_fmsub_<mode>_mask): Ditto.
        (avx512f_fmsub_<mode>_mask3): Ditto.
        (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>): Ditto.
        (avx512f_fnmadd_<mode>_mask): Ditto.
        (avx512f_fnmadd_<mode>_mask3): Ditto.
        (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>): Ditto.
        (avx512f_fnmsub_<mode>_mask): Ditto.
        (avx512f_fnmsub_<mode>_mask3): Ditto.
        (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name>): Ditto.
        (avx512f_fmaddsub_<mode>_mask): Ditto.
        (avx512f_fmaddsub_<mode>_mask3): Ditto.
        (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name>): Ditto.
        (avx512f_fmsubadd_<mode>_mask): Ditto.
        (avx512f_fmsubadd_<mode>_mask3): Ditto.
        (fmai_vmfmadd_<mode>): Ditto.
        (*fmai_fmadd_<mode>): Ditto.
        (*fmai_fmsub_<mode>): Ditto.
        (*fmai_fnmadd_<mode>): Ditto.
        (*fmai_fnmsub_<mode>): Ditto.
        (sse_cvtsi2ss): Ditto.
        (sse_cvtsi2ssq): Ditto.
        (sse_cvtss2si): Ditto.
        (sse_cvtss2siq): Ditto.
        (cvtusi2<ssescalarmodesuffix>32): Ditto.
        (cvtusi2<ssescalarmodesuffix>64): Ditto.
        (float<sseintvecmodelower><mode>2<mask_name>): Ditto.
        (ufloatv16siv16sf2<mask_name>): Ditto.
        (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto.
        (<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto.
        (sse2_cvtsi2sdq): Ditto.
        (avx512f_vcvtss2usi): Ditto.
        (avx512f_vcvtss2usiq): Ditto.
        (avx512f_vcvtsd2usi): Ditto.
        (avx512f_vcvtsd2usiq): Ditto.
        (sse2_cvtsd2si): Ditto.
        (sse2_cvtsd2siq): Ditto.
        (<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto.
        (avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto.
        (<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto.
        (avx512f_scalef<mode><mask_name>): Ditto.
        (<code><mode>3<mask_name>): Ditto.
        (*avx2_<code><mode>3<mask_name>): Ditto.
        (avx512er_exp2<mode><mask_name): Ditto.
        (<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto.
        (<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto.
        (avx512f_fmadd_<mode>_maskz): New.
        * config/i386/subst.md (SUBST_A): New.
        (round_name): Ditto.
        (round_mask_operand2): Ditto.
        (round_mask_operand3): Ditto.
        (round_mask_scalar_operand3): Ditto.
        (round_sd_mask_operand4): Ditto.
        (round_op2): Ditto.
        (round_op3): Ditto.
        (round_op4): Ditto.
        (round_op5): Ditto.
        (round_op6): Ditto.
        (round_mask_op2): Ditto.
        (round_mask_op3): Ditto.
        (round_mask_scalar_op3): Ditto.
        (round_sd_mask_op4): Ditto.
        (round_constraint): Ditto.
        (round_constraint2): Ditto.
        (round_constraint3): Ditto.
        (round_nimm_predicate): Ditto.
        (round_mode512bit_condition): Ditto.
        (round_modev4sf_condition): Ditto.
        (round_codefor): Ditto.
        (round_opnum): Ditto.
        (round): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r206220
2013-12-27 14:03:55 +00:00
Yury Gribov
4085fae0dc re PR sanitizer/59585 (Tests failing due to trailing newline)
2013-12-27  Yury Gribov  <y.gribov@samsung.com>

	PR target/59585
	* c-c++-common/ubsan/div-by-zero-1.c: Fixed pattern.
	* c-c++-common/ubsan/div-by-zero-2.c: Likewise.
	* c-c++-common/ubsan/div-by-zero-3.c: Likewise.
	* c-c++-common/ubsan/load-bool-enum.c: Likewise.
	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
	* c-c++-common/ubsan/pr59333.c: Likewise.
	* c-c++-common/ubsan/shift-1.c: Likewise.
	* c-c++-common/ubsan/shift-2.c: Likewise.
	* c-c++-common/ubsan/shift-4.c: Likewise.
	* c-c++-common/ubsan/vla-1.c: Likewise.

From-SVN: r206219
2013-12-27 13:56:18 +00:00
GCC Administrator
089a5d9939 Daily bump.
From-SVN: r206218
2013-12-27 00:17:09 +00:00
H.J. Lu
3a89fcdaf4 Replace -mtune=i686 with -mtune=generic
* g++.old-deja/g++.other/store-expr1.C (dg-options): Replace
	-mtune=i686 with -mtune=generic.
	* g++.old-deja/g++.other/store-expr2.C (dg-options): Likewise.

From-SVN: r206215
2013-12-26 13:05:02 -08:00
H.J. Lu
8b49aa88cc Replace -mtune=i686 with -mtune=generic
* gcc.target/i386/andor-2.c (dg-options): Replace -mtune=i686
	with -mtune=generic.

From-SVN: r206214
2013-12-26 11:13:41 -08:00
H.J. Lu
dd908cc5d8 Don't check/change generic/i686 tuning
gcc/

	PR target/59588
	* config/i386/i386.c (ix86_option_override_internal): Don't
	check generic tuning.  Don't change i686 tuning.

gcc/testsuite/

	PR target/59588
	* gcc.target/i386/pr59588-1.c: New file.
	* gcc.target/i386/pr59588-2.c: Likewise.

From-SVN: r206213
2013-12-26 08:10:55 -08:00
H.J. Lu
806ac50747 Map "arch=corei7"/"arch=nehalem" to M_INTEL_COREI7
After Intel processor name cleanup,

__attribute__ ((target("arch=corei7"))) is translated to PROCESSOR_NEHALEM
and mapped to M_INTEL_COREI7_NEHALEM.

__attribute__ ((target("arch=corei7")))

used to cover M_INTEL_COREI7_XXXX. Now it only covers M_INTEL_COREI7_NEHALEM.
We have PROCESSOR_SANDYBRIDGE and PROCESSOR_HASWELL.  But there is nothing
to mark Westmere and Ivy Bridge.  Since function versioning doesn't support
extra ISAs in Westmere and Ivy Bridge, we don't lose anything. The solution
is to map

__attribute__ ((target("arch=corei7")))

and

__attribute__ ((target("arch=nehalem")))

to M_INTEL_COREI7.

gcc/

	PR target/59601
	* config/i386/i386.c (get_builtin_code_for_version): Map
	PROCESSOR_NEHALEM to "corei7".

gcc/testsuite/

	PR target/59601
	* g++.dg/ext/mv14.C: New tests.
	* g++.dg/ext/mv15.C: Likewise.

From-SVN: r206212
2013-12-26 06:47:15 -08:00