Joseph Myers [Fri, 3 Jan 2014 02:05:44 +0000 (02:05 +0000)]
ibm-ldouble.c (__gcc_qdiv): Scale up arguments in case of small numerator and finite nonzero result.
libgcc:
* config/rs6000/ibm-ldouble.c (__gcc_qdiv): Scale up arguments in
case of small numerator and finite nonzero result.
gcc/testsuite:
* gcc.target/powerpc/rs6000-ldouble-3.c: New test.
From-SVN: r206310
Xinliang David Li [Fri, 3 Jan 2014 00:40:57 +0000 (00:40 +0000)]
Fix PR/59303 -- uninit analysis enhancement
From-SVN: r206309
GCC Administrator [Fri, 3 Jan 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206308
Jakub Jelinek [Thu, 2 Jan 2014 22:52:20 +0000 (23:52 +0100)]
Rotate cp/ChangeLog
From-SVN: r206305
Marc Glisse [Thu, 2 Jan 2014 22:45:56 +0000 (23:45 +0100)]
re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's complex.h)
2014-01-02 Marc Glisse <marc.glisse@inria.fr>
PR c++/59087
gcc/cp/
* parser.c (cp_parser_userdef_numeric_literal): Mention
-fext-numeric-literals in the message.
From-SVN: r206304
Marc Glisse [Thu, 2 Jan 2014 22:43:24 +0000 (23:43 +0100)]
re PR c++/59641 (ICE with invalid expression in vector arithmetic)
2014-01-02 Marc Glisse <marc.glisse@inria.fr>
PR c++/59641
gcc/cp/
* call.c (build_conditional_expr_1): Check the return value of
force_rvalue.
gcc/testsuite/
* g++.dg/cpp0x/pr59641.C: New file.
From-SVN: r206303
Marc Glisse [Thu, 2 Jan 2014 22:30:43 +0000 (23:30 +0100)]
call.c (convert_like_real): Check complain.
2014-01-02 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* call.c (convert_like_real): Check complain.
gcc/testsuite/
* g++.dg/cpp0x/initlist-explicit-sfinae.C: New file.
From-SVN: r206302
Richard Sandiford [Thu, 2 Jan 2014 22:30:10 +0000 (22:30 +0000)]
Update copyright years in libstdc++-v3/
From-SVN: r206301
Marc Glisse [Thu, 2 Jan 2014 22:26:24 +0000 (23:26 +0100)]
re PR c++/59378 (Internal compiler error when using __builtin_shuffle in a template function)
2014-01-02 Marc Glisse <marc.glisse@inria.fr>
PR c++/59378
gcc/cp/
* typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
in templates.
gcc/testsuite/
* g++.dg/ext/pr59378.C: New file.
From-SVN: r206300
Richard Sandiford [Thu, 2 Jan 2014 22:26:09 +0000 (22:26 +0000)]
Update copyright years in libobjc/
From-SVN: r206299
Richard Sandiford [Thu, 2 Jan 2014 22:26:00 +0000 (22:26 +0000)]
Update copyright years in libitm/
From-SVN: r206298
Richard Sandiford [Thu, 2 Jan 2014 22:25:54 +0000 (22:25 +0000)]
Update copyright years in libgomp/
From-SVN: r206297
Richard Sandiford [Thu, 2 Jan 2014 22:25:45 +0000 (22:25 +0000)]
Update copyright years in libgfortran/
From-SVN: r206296
Richard Sandiford [Thu, 2 Jan 2014 22:25:22 +0000 (22:25 +0000)]
Update copyright years in libgcc/
From-SVN: r206295
Richard Sandiford [Thu, 2 Jan 2014 22:24:52 +0000 (22:24 +0000)]
Update copyright years in libdecnumber/
From-SVN: r206294
Richard Sandiford [Thu, 2 Jan 2014 22:24:45 +0000 (22:24 +0000)]
Update copyright years in libcpp/
From-SVN: r206293
Richard Sandiford [Thu, 2 Jan 2014 22:24:37 +0000 (22:24 +0000)]
Update copyright years in libbacktrace/
From-SVN: r206292
Richard Sandiford [Thu, 2 Jan 2014 22:24:30 +0000 (22:24 +0000)]
Update copyright years in libatomic/
From-SVN: r206291
Richard Sandiford [Thu, 2 Jan 2014 22:24:25 +0000 (22:24 +0000)]
Update copyright years in libada/
From-SVN: r206290
Richard Sandiford [Thu, 2 Jan 2014 22:23:26 +0000 (22:23 +0000)]
Update copyright years in gcc/
From-SVN: r206289
Richard Sandiford [Thu, 2 Jan 2014 22:09:02 +0000 (22:09 +0000)]
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
Jakub Jelinek [Thu, 2 Jan 2014 21:56:58 +0000 (22:56 +0100)]
Small ChangeLog fixes.
From-SVN: r206287
Tobias Burnus [Thu, 2 Jan 2014 21:25:41 +0000 (22:25 +0100)]
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
Janus Weil [Thu, 2 Jan 2014 17:27:11 +0000 (18:27 +0100)]
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
Jan-Benedict Glaw [Thu, 2 Jan 2014 13:15:01 +0000 (13:15 +0000)]
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
GCC Administrator [Thu, 2 Jan 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206277
Jan-Benedict Glaw [Wed, 1 Jan 2014 12:19:58 +0000 (12:19 +0000)]
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
GCC Administrator [Wed, 1 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206273
Jakub Jelinek [Wed, 1 Jan 2014 00:02:57 +0000 (01:02 +0100)]
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
Jakub Jelinek [Tue, 31 Dec 2013 23:53:17 +0000 (00:53 +0100)]
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
Jakub Jelinek [Tue, 31 Dec 2013 23:48:36 +0000 (00:48 +0100)]
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
Alexander Ivchenko [Tue, 31 Dec 2013 12:13:49 +0000 (12:13 +0000)]
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
Jakub Jelinek [Tue, 31 Dec 2013 11:57:39 +0000 (12:57 +0100)]
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
Alexander Ivchenko [Tue, 31 Dec 2013 11:39:07 +0000 (11:39 +0000)]
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
Alexander Ivchenko [Tue, 31 Dec 2013 11:34:58 +0000 (11:34 +0000)]
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
Alexander Ivchenko [Tue, 31 Dec 2013 11:30:14 +0000 (11:30 +0000)]
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
Alexander Ivchenko [Tue, 31 Dec 2013 11:09:42 +0000 (11:09 +0000)]
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
Nick Clifton [Tue, 31 Dec 2013 08:48:09 +0000 (08:48 +0000)]
Fix typo in PR number (59613) of recent commit.
From-SVN: r206258
Chung-Lin Tang [Tue, 31 Dec 2013 07:16:53 +0000 (07:16 +0000)]
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
Chung-Lin Tang [Tue, 31 Dec 2013 07:05:35 +0000 (07:05 +0000)]
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
GCC Administrator [Tue, 31 Dec 2013 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206255
Mike Stump [Mon, 30 Dec 2013 19:34:53 +0000 (19:34 +0000)]
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
Mike Stump [Mon, 30 Dec 2013 19:06:25 +0000 (19:06 +0000)]
Fix spacing.
From-SVN: r206251
Nick Clifton [Mon, 30 Dec 2013 17:37:08 +0000 (17:37 +0000)]
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
Janus Weil [Mon, 30 Dec 2013 17:33:21 +0000 (18:33 +0100)]
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
Jakub Jelinek [Mon, 30 Dec 2013 17:05:10 +0000 (18:05 +0100)]
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
Nick Clifton [Mon, 30 Dec 2013 16:28:08 +0000 (16:28 +0000)]
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
Felix Yang [Mon, 30 Dec 2013 16:10:14 +0000 (16:10 +0000)]
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
Jakub Jelinek [Mon, 30 Dec 2013 08:53:10 +0000 (09:53 +0100)]
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
H.J. Lu [Mon, 30 Dec 2013 08:48:25 +0000 (08:48 +0000)]
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
GCC Administrator [Mon, 30 Dec 2013 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206241
Janus Weil [Sun, 29 Dec 2013 17:20:50 +0000 (18:20 +0100)]
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
GCC Administrator [Sun, 29 Dec 2013 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206236
Ian Lance Taylor [Sat, 28 Dec 2013 18:00:30 +0000 (18:00 +0000)]
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
Eric Botcazou [Sat, 28 Dec 2013 10:43:12 +0000 (10:43 +0000)]
* doc/invoke.texi (output file options): Document -fada-spec-parent.
From-SVN: r206229
Eric Botcazou [Sat, 28 Dec 2013 10:12:59 +0000 (10:12 +0000)]
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
GCC Administrator [Sat, 28 Dec 2013 00:17:20 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206227
Ian Lance Taylor [Fri, 27 Dec 2013 21:42:26 +0000 (21:42 +0000)]
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
Alexander Ivchenko [Fri, 27 Dec 2013 14:37:34 +0000 (14:37 +0000)]
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
Alexander Ivchenko [Fri, 27 Dec 2013 14:33:51 +0000 (14:33 +0000)]
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
Alexander Ivchenko [Fri, 27 Dec 2013 14:22:35 +0000 (14:22 +0000)]
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
Alexander Ivchenko [Fri, 27 Dec 2013 14:03:55 +0000 (14:03 +0000)]
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
Yury Gribov [Fri, 27 Dec 2013 13:56:18 +0000 (13:56 +0000)]
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
GCC Administrator [Fri, 27 Dec 2013 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206218
H.J. Lu [Thu, 26 Dec 2013 21:05:02 +0000 (21:05 +0000)]
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
H.J. Lu [Thu, 26 Dec 2013 19:13:41 +0000 (19:13 +0000)]
Replace -mtune=i686 with -mtune=generic
* gcc.target/i386/andor-2.c (dg-options): Replace -mtune=i686
with -mtune=generic.
From-SVN: r206214
H.J. Lu [Thu, 26 Dec 2013 16:10:55 +0000 (16:10 +0000)]
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
H.J. Lu [Thu, 26 Dec 2013 14:47:15 +0000 (06:47 -0800)]
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
Uros Bizjak [Thu, 26 Dec 2013 14:12:20 +0000 (15:12 +0100)]
cpuinfo.c (enum vendor_signatures): Remove.
* config/i386/cpuinfo.c (enum vendor_signatures): Remove.
(__cpu_indicator_init): Use signature_INTEL_ebx and signature_AMD_ebx
from cpuid.h to check vendor signatures.
From-SVN: r206211
Ganesh Gopalasubramanian [Thu, 26 Dec 2013 08:54:49 +0000 (08:54 +0000)]
Change AMD cpu names
From-SVN: r206210
H.J. Lu [Thu, 26 Dec 2013 01:49:07 +0000 (17:49 -0800)]
Convert leading spaces to tab
From-SVN: r206209
H.J. Lu [Thu, 26 Dec 2013 01:48:24 +0000 (01:48 +0000)]
Remove model 0x3f from Haswell
* config/i386/cpuinfo.c (get_intel_cpu): Remove model 0x3f from
Haswell.
From-SVN: r206208
GCC Administrator [Thu, 26 Dec 2013 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206207
Uros Bizjak [Thu, 26 Dec 2013 00:05:44 +0000 (01:05 +0100)]
driver-i386.c (decode_caches_intel): Add missing entries.
* config/i386/driver-i386.c (decode_caches_intel): Add missing entries.
From-SVN: r206203
H.J. Lu [Wed, 25 Dec 2013 22:44:04 +0000 (22:44 +0000)]
Remove target_cpu_default/cpu_names
Add processor names to processor_target_table and use it instead of
target_cpu_default and cpu_names.
PR target/59587
* config/i386/i386.c (struct ptt): Add a field for processor
name.
(processor_target_table): Sync with processor_type. Add
processor names.
(cpu_names): Removed.
(ix86_option_override_internal): Default x_ix86_tune_string
to processor_target_table[TARGET_CPU_DEFAULT].name.
(ix86_function_specific_print): Assert arch and tune <
PROCESSOR_max. Use processor_target_table to print arch and
tune names.
* config/i386/i386.h (TARGET_CPU_DEFAULT): Default to
PROCESSOR_GENERIC.
(target_cpu_default): Removed.
(processor_type): Reordered.
From-SVN: r206202
Uros Bizjak [Wed, 25 Dec 2013 22:24:26 +0000 (23:24 +0100)]
Revert unwanted commit.
From-SVN: r206201
Allan Sandfeld Jensen [Wed, 25 Dec 2013 22:22:24 +0000 (23:22 +0100)]
re PR target/59422 (Support more targets for function multi versioning)
gcc/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
H.J. Lu <hongjiu.lu@intel.com>
PR target/59422
* config/i386/i386.c (get_builtin_code_for_version): Handle
PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
"silvermont", "bobcat" and "jaguar" CPU names. Add "sse4a",
"fma4", "xop" and "fma" ISA names.
libgcc/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
H.J. Lu <hongjiu.lu@intel.com>
PR target/59422
* config/i386/cpuinfo.c (enum processor_types): Add AMD_BOBCAT
and AMD_JAGUAR.
(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
(enum processor_features): Add FEATURE_SSE4_A, FEATURE_FMA4,
FEATURE_XOP and FEATURE_FMA.
(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
AMDFAM15H_BDVER3.
(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
(get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
FEATURE_FMA4 and FEATURE_XOP.
testsuite/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
PR target/59422
* gcc.target/i386/funcspec-5.c (test_fma, test_xop, test_no_fma,
test_no_xop, test_arch_corei7, test_arch_corei7_avx,
test_arch_core_avx2, test_arch_bdver1, test_arch_bdver2,
test_arch_bdver3, test_tune_corei7, test_tune_corei7_avx,
test_tune_core_avx2, test_tune_bdver1, test_tune_bdver2 and
test_tune_bdver3): New function prototypes.
From-SVN: r206200
GCC Administrator [Wed, 25 Dec 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206199
H.J. Lu [Tue, 24 Dec 2013 20:12:47 +0000 (20:12 +0000)]
Check opts->x_ix86_arch_string
* config/i386/i386.c (ix86_option_override_internal): Check
opts->x_ix86_arch_string instead of ix86_arch_string.
From-SVN: r206196
Renlin Li [Tue, 24 Dec 2013 15:34:30 +0000 (15:34 +0000)]
arm-protos.h (vfp_const_double_for_bits): Declare.
gcc/
2013-12-24 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm-protos.h (vfp_const_double_for_bits): Declare.
* config/arm/constraints.md (Dp): Define new constraint.
* config/arm/predicates.md (const_double_vcvt_power_of_two): Define
new predicate.
* config/arm/arm.c (arm_print_operand): Add print for new fucntion.
(vfp3_const_double_for_bits): New function.
* config/arm/vfp.md (combine_vcvtf2i): Define new instruction.
gcc/testsuite/
2013-12-24 Renlin Li <Renlin.Li@arm.com>
* gcc.target/arm/fixed_float_conversion.c: New test case.
From-SVN: r206195
Jason Merrill [Tue, 24 Dec 2013 04:22:23 +0000 (23:22 -0500)]
re PR c++/59271 (a.C:16:21: internal compiler error: in strip_typedefs, at cp/tree.c:1315)
PR c++/59271
* lambda.c (build_capture_proxy): Use build_cplus_array_type.
From-SVN: r206193
Jason Merrill [Tue, 24 Dec 2013 04:22:15 +0000 (23:22 -0500)]
re PR c++/59349 (ICE on invalid: Segmentation fault toplev.c:336)
PR c++/59349
* parser.c (cp_parser_lambda_introducer): Handle empty init.
From-SVN: r206192
GCC Administrator [Tue, 24 Dec 2013 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206191
Hans-Peter Nilsson [Mon, 23 Dec 2013 23:12:09 +0000 (23:12 +0000)]
re PR target/59203 (config/cris/cris.c:2491: possible typo ?)
PR target/59203
* config/cris/cris.c (cris_pic_symbol_type_of): Fix typo,
checking t1 twice instead of t1 and t2 respectively.
From-SVN: r206188
Hans-Peter Nilsson [Mon, 23 Dec 2013 22:33:52 +0000 (22:33 +0000)]
re PR middle-end/59584 (regressions related to __builtin_stack_restore)
PR middle-end/59584
* config/cris/predicates.md (cris_nonsp_register_operand):
New define_predicate.
* config/cris/cris.md: Replace register_operand with
cris_nonsp_register_operand for destinations in all
define_splits where a register is set more than once.
From-SVN: r206187
Jason Merrill [Mon, 23 Dec 2013 17:51:03 +0000 (12:51 -0500)]
* gdbinit.in (input_line, input_filename): Define.
From-SVN: r206183
Jason Merrill [Mon, 23 Dec 2013 17:49:47 +0000 (12:49 -0500)]
re PR c++/41090 (Using static label reference in c++ class constructor produces wrong code)
PR c++/41090
Add -fdeclone-ctor-dtor.
gcc/cp/
* optimize.c (can_alias_cdtor, populate_clone_array): Split out
from maybe_clone_body.
(maybe_thunk_body): New function.
(maybe_clone_body): Call it.
* mangle.c (write_mangled_name): Remove code to suppress
writing of mangled name for cloned constructor or destructor.
(write_special_name_constructor): Handle decloned constructor.
(write_special_name_destructor): Handle decloned destructor.
* method.c (trivial_fn_p): Handle decloning.
* semantics.c (expand_or_defer_fn_1): Clone after setting linkage.
gcc/c-family/
* c.opt: Add -fdeclone-ctor-dtor.
* c-opts.c (c_common_post_options): Default to on iff -Os.
gcc/
* cgraph.h (struct cgraph_node): Add calls_comdat_local.
(symtab_comdat_local_p, symtab_in_same_comdat_p): New.
* cif-code.def: Add USES_COMDAT_LOCAL.
* symtab.c (verify_symtab_base): Make sure we don't refer to a
comdat-local symbol from outside its comdat.
* cgraph.c (verify_cgraph_node): Likewise.
* cgraphunit.c (mark_functions_to_output): Don't mark comdat-locals.
* ipa.c (symtab_remove_unreachable_nodes): Likewise.
(function_and_variable_visibility): Handle comdat-local fns.
* ipa-cp.c (determine_versionability): Don't clone comdat-locals.
* ipa-inline-analysis.c (compute_inline_parameters): Update
calls_comdat_local.
* ipa-inline-transform.c (inline_call): Likewise.
(save_inline_function_body): Don't clear DECL_COMDAT_GROUP.
* ipa-inline.c (can_inline_edge_p): Check calls_comdat_local.
* lto-cgraph.c (input_overwrite_node): Read calls_comdat_local.
(lto_output_node): Write it.
* symtab.c (symtab_dissolve_same_comdat_group_list): Clear
DECL_COMDAT_GROUP for comdat-locals.
include/
* demangle.h (enum gnu_v3_ctor_kinds):
Added literal gnu_v3_unified_ctor.
(enum gnu_v3_ctor_kinds):
Added literal gnu_v3_unified_dtor.
libiberty/
* cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor):
Handle unified ctor/dtor.
(d_ctor_dtor_name): Handle unified ctor/dtor.
From-SVN: r206182
Bingfeng Mei [Mon, 23 Dec 2013 17:22:30 +0000 (17:22 +0000)]
vect-neg-store-1.c: New test.
2013-12-23 Bingfeng Mei <bmei@broadcom.com>
* gcc.dg/vect/vect-neg-store-1.c: New test.
* gcc.dg/vect/vect-neg-store-2.c: Ditto.
From-SVN: r206181
H.J. Lu [Mon, 23 Dec 2013 17:11:00 +0000 (17:11 +0000)]
Move Bonnell and Silvermont entries before generic
* config/i386/i386.c (processor_target_table): Move Bonnell and
Silvermont entries before generic.
From-SVN: r206180
Bingfeng Mei [Mon, 23 Dec 2013 15:07:58 +0000 (15:07 +0000)]
re PR middle-end/59569 (r206148 causes internal compiler error: in vect_create_destination_var, at tree-vect-data-refs.c:4294)
2013-12-23 Bingfeng Mei <bmei@broadcom.com>
PR middle-end/59569
* tree-vect-stmts.c (vectorizable_store): Skip permutation for
consant operand, and add a few missing \n.
* gcc.c-torture/compile/pr59569-1.c: New test.
* gcc.c-torture/compile/pr59569-2.c: Ditto.
From-SVN: r206179
H.J. Lu [Mon, 23 Dec 2013 13:05:09 +0000 (13:05 +0000)]
Use proper Intel processor names for -march=/-mtune=
gcc/
* config/i386/core2.md: Replace corei7 with nehalem.
* config/i386/driver-i386.c (host_detect_local_cpu): Use nehalem,
westmere, sandybridge, ivybridge, haswell, bonnell, silvermont
for cpu names.
* config/i386/i386-c.c (ix86_target_macros_internal): Replace
PROCESSOR_COREI7, PROCESSOR_COREI7_AVX, PROCESSOR_ATOM,
PROCESSOR_SLM with PROCESSOR_NEHALEM, PROCESSOR_SANDYBRIDGE,
PROCESSOR_BONNELL, PROCESSOR_SILVERMONT. Define
__nehalem/__nehalem__, __sandybridge/__sandybridge__,
__haswell/__haswell__, __tune_nehalem__, __tune_sandybridge__,
__tune_haswell__, __bonnell/__bonnell__,
__silvermont/__silvermont__, __tune_bonnell__,
__tune_silvermont__.
* config/i386/i386.c (m_COREI7): Renamed to ...
(m_NEHALEM): This.
(m_COREI7_AVX): Renamed to ...
(m_SANDYBRIDGE): This.
(m_ATOM): Renamed to ...
(m_BONNELL): This.
(m_SLM): Renamed to ...
(m_SILVERMONT): This.
(m_CORE_ALL): Updated.
(cpu_names): Add "nehalem", "westmere", "sandybridge",
"ivybridge", "haswell", "broadwell", "bonnell", "silvermont".
(PTA_CORE2): New.
(PTA_NEHALEM): Likewise.
(PTA_WESTMERE): Likewise.
(PTA_SANDYBRIDGE): Likewise.
(PTA_IVYBRIDGE): Likewise.
(PTA_HASWELL): Likewise.
(PTA_BROADWELL): Likewise.
(PTA_BONNELL): Likewise.
(PTA_SILVERMONT): Likewise.
(ix86_option_override_internal): Use new PTA_XXX. Add nehalem,
westmere, sandybridge, ivybridge, haswell, bonnell, silvermont.
(ix86_lea_outperforms): Updated.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
(do_reorder_for_imul): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.
(ix86_sched_init_global): Likewise.
(get_builtin_code_for_version): Likewise.
(processor_model): Replace M_INTEL_ATOM, M_INTEL_SLM with
M_INTEL_BONNELL, M_INTEL_SILVERMONT.
(arch_names_table): Updated.
* config/i386/i386.h (TARGET_COREI7): Removed.
(TARGET_COREI7_AVX): Likewise.
(TARGET_ATOM): Likewise.
(TARGET_SLM): Likewise.
(TARGET_NEHALEM): New.
(TARGET_SANDYBRIDGE): Likewise.
(TARGET_BONNELL): Likewise.
(TARGET_SILVERMONT): Likewise.
(target_cpu_default): Add TARGET_CPU_DEFAULT_core_avx2,
TARGET_CPU_DEFAULT_nehalem, TARGET_CPU_DEFAULT_westmere,
TARGET_CPU_DEFAULT_sandybridge, TARGET_CPU_DEFAULT_ivybridge,
TARGET_CPU_DEFAULT_broadwell, TARGET_CPU_DEFAULT_bonnell,
TARGET_CPU_DEFAULT_silvermont. Move TARGET_CPU_DEFAULT_haswell
before TARGET_CPU_DEFAULT_broadwell.
(processor_type): Replace PROCESSOR_COREI7, PROCESSOR_COREI7_AVX,
PROCESSOR_ATOM, PROCESSOR_SLM with PROCESSOR_NEHALEM,
PROCESSOR_SANDYBRIDGE, PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.
* config/i386/i386.md (cpu): Replace corei7 with nehalem.
* config/i386/x86-tune.def: Updated.
* doc/invoke.texi: Replace corei7, corei7-avx, core-avx-i,
core-avx2, atom, slm with nehalem, sandybridge, ivybridge,
haswell, bonnel, silvermont. Add westmere.
libgcc/
* config/i386/cpuinfo.c (processor_subtypes): Replace INTEL_ATOM,
INTEL_SLM with INTEL_BONNELL, INTEL_SILVERMONT.
(get_intel_cpu): Updated.
Co-Authored-By: Tocar Ilya <ilya.tocar@intel.com>
From-SVN: r206178
Marek Polacek [Mon, 23 Dec 2013 12:14:56 +0000 (12:14 +0000)]
re PR c++/59111 ([c++11] ICE on invalid usage of auto in return type)
PR c++/59111
cp/
* search.c (lookup_conversions): Return NULL_TREE if !CLASS_TYPE_P.
testsuite/
* g++.dg/cpp0x/pr59111.C: New test.
* g++.dg/cpp1y/pr59110.C: New test.
From-SVN: r206177
Yury Gribov [Mon, 23 Dec 2013 07:17:52 +0000 (07:17 +0000)]
mklog: Automatically insert comments in trivial cases.
2013-12-23 Yury Gribov <y.gribov@samsung.com>
* mklog: Automatically insert comments in trivial cases.
From-SVN: r206175
Andrey Belevantsev [Mon, 23 Dec 2013 06:43:49 +0000 (10:43 +0400)]
re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags)
PR rtl-optimization/57422
* sel-sched.c (fill_vec_av_set): Assert that the fence insn
can always be scheduled in its current form.
From-SVN: r206174
Andrey Belevantsev [Mon, 23 Dec 2013 06:41:22 +0000 (10:41 +0400)]
re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags)
PR rtl-optimization/57422
* sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
add_to_hard_reg_set.
From-SVN: r206173
GCC Administrator [Mon, 23 Dec 2013 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206171
Hans-Peter Nilsson [Sun, 22 Dec 2013 14:57:53 +0000 (14:57 +0000)]
chi2_quality.h: Break out from chi2_quality.cc.
* testsuite/20_util/hash/chi2_quality.h: Break out from
chi2_quality.cc.
* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto. Increase
SAMPLES to 35000 for simulator targets.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
* testsuite/20_util/hash/chi2_quality.cc: Remove.
From-SVN: r206167
Uros Bizjak [Sun, 22 Dec 2013 12:28:24 +0000 (13:28 +0100)]
func-2a.c (dg-do): Remove target selector.
* gcc.target/x86_64/abi/callabi/func-2a.c (dg-do): Remove
target selector.
* gcc.target/x86_64/abi/callabi/func-indirect-2a.c (dg-do): Ditto.
* gcc.target/x86_64/abi/callabi/vaarg-4a.c (dg-do): Ditto.
* gcc.target/x86_64/abi/callabi/vaarg-5a.c (dg-do): Ditto.
From-SVN: r206166
GCC Administrator [Sun, 22 Dec 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206165
Andreas Tobler [Sat, 21 Dec 2013 20:42:39 +0000 (21:42 +0100)]
gcconfig.h: Add FreeBSD powerpc64 defines.
2013-12-21 Andreas Tobler <andreast@gcc.gnu.org>
* include/private/gcconfig.h: Add FreeBSD powerpc64 defines.
From-SVN: r206162