Ian Lance Taylor [Mon, 6 Jan 2014 03:01:58 +0000 (03:01 +0000)]
runtime: Remove unused runtime_cpuid variables.
From-SVN: r206353
GCC Administrator [Mon, 6 Jan 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206351
Iain Sandoe [Sun, 5 Jan 2014 21:47:43 +0000 (21:47 +0000)]
re PR bootstrap/59541 (Revision 206070 breaks bootstrap on Darwin: config/darwin.c:3665:1: error: control reaches end of non-void function [-Werror=return-type])
gcc:
PR bootstrap/59541
* config/darwin.c (darwin_function_section): Adjust return values to
correspond to optimisation changes made in r206070.
From-SVN: r206348
John David Anglin [Sun, 5 Jan 2014 18:25:53 +0000 (18:25 +0000)]
reassoc-33.c: Don't run on hppa*-*-*.
* gcc.dg/tree-ssa/reassoc-33.c: Don't run on hppa*-*-*.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/forwprop-28.c: Skip compile on hppa*-*-*.
* gcc.dg/tree-ssa/vrp47.c: Likewise.
* gcc.dg/tree-ssa/vrp87.c: Likewise.
From-SVN: r206346
Uros Bizjak [Sun, 5 Jan 2014 15:42:07 +0000 (16:42 +0100)]
i386.c (ix86_data_alignment): Calculate max_align from prefetch_block tune setting.
* config/i386/i386.c (ix86_data_alignment): Calculate max_align
from prefetch_block tune setting.
(nocona_cost): Correct size of prefetch block to 64.
From-SVN: r206345
GCC Administrator [Sun, 5 Jan 2014 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206340
Eric Botcazou [Sat, 4 Jan 2014 21:51:51 +0000 (21:51 +0000)]
arm.c (arm_get_frame_offsets): Revamp long lines.
* config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
(arm_expand_epilogue_apcs_frame): Take into account the number of bytes
used to save the static chain register in the computation of the offset
from which the FP registers need to be restored.
From-SVN: r206337
Jakub Jelinek [Sat, 4 Jan 2014 11:23:16 +0000 (12:23 +0100)]
re PR tree-optimization/59519 (ICE on valid code at -O3 on x86_64-linux-gnu in slpeel_update_phi_nodes_for_guard1, at tree-vect-loop-manip.c:486)
PR tree-optimization/59519
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
ICE if get_current_def (current_new_name) is already non-NULL, as long
as it is a phi result of some other phi in *new_exit_bb that has
the same argument.
* gcc.dg/vect/pr59519-1.c: New test.
* gcc.dg/vect/pr59519-2.c: New test.
From-SVN: r206333
Jakub Jelinek [Sat, 4 Jan 2014 09:57:36 +0000 (10:57 +0100)]
sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d} or vmovdqu* for misaligned_operand.
* config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
or vmovdqu* for misaligned_operand.
(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
* config/i386/i386.c (ix86_expand_special_args_builtin): Set
aligned_mem for AVX512F masked aligned load and store builtins and for
non-temporal moves.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Allow vmovdqu64 instead of
vmovdqu32.
From-SVN: r206332
Janus Weil [Sat, 4 Jan 2014 09:25:04 +0000 (10:25 +0100)]
re PR fortran/59547 ([OOP] Problem with using tbp specification function in multiple class procedures)
2014-01-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/59547
* class.c (add_proc_comp): Copy pure attribute.
2014-01-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/59547
* gfortran.dg/typebound_proc_32.f90: New.
From-SVN: r206331
GCC Administrator [Sat, 4 Jan 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206330
Marc Glisse [Fri, 3 Jan 2014 21:12:48 +0000 (22:12 +0100)]
re PR c++/58950 (Missing "statement has no effect")
2014-01-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/58950
gcc/cp/
* cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
gcc/testsuite/
* g++.dg/pr58950.C: New file.
From-SVN: r206325
Tobias Burnus [Fri, 3 Jan 2014 20:24:50 +0000 (21:24 +0100)]
re PR c++/58567 (ICE with invalid loop variable in template using openmp)
2014-01-03 Tobias Burnus <burnus@net-b.de>
PR c++/58567
* pt.c (tsubst_omp_for_iterator): Early return for
* error_mark_node.
2014-01-03 Tobias Burnus <burnus@net-b.de>
PR c++/58567
* g++.dg/gomp/pr58567.C: New.
From-SVN: r206322
Bingfeng Mei [Fri, 3 Jan 2014 15:40:57 +0000 (15:40 +0000)]
re PR tree-optimization/59651 (Vectorizer failing to spot dependence causes incorrect code generation.)
2014-01-03 Bingfeng Mei <bmei@broadcom.com>
PR tree-optimization/59651
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
Address range for negative step should be added by TYPE_SIZE_UNIT.
PR tree-optimization/59651
* gcc.dg/torture/pr59651.c: New test.
* gcc.dg/vect/pr59651.c: Ditto.
From-SVN: r206319
Andreas Schwab [Fri, 3 Jan 2014 13:57:45 +0000 (13:57 +0000)]
m68k.c (handle_move_double): Handle pushes with overlapping registers also for registers other than the...
* config/m68k/m68k.c (handle_move_double): Handle pushes with
overlapping registers also for registers other than the stack
pointer.
From-SVN: r206317
Marek Polacek [Fri, 3 Jan 2014 12:28:31 +0000 (12:28 +0000)]
re PR other/59661 (documentation: __builtin_FUNCTION / _FILE listed as returning int)
PR other/59661
* doc/extend.texi: Fix the return value of __builtin_FUNCTION and
__builtin_FILE.
From-SVN: r206315
Jakub Jelinek [Fri, 3 Jan 2014 12:22:17 +0000 (13:22 +0100)]
re PR target/59625 (asm goto and TARGET_FOUR_JUMP_LIMIT)
PR target/59625
* config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
asm goto as jump.
* gcc.target/i386/pr59625.c: New test.
From-SVN: r206314
Paolo Carlini [Fri, 3 Jan 2014 11:11:31 +0000 (11:11 +0000)]
Core DR 1442 PR c++/59165
/cp
2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
Core DR 1442
PR c++/59165
* parser.c (cp_parser_perform_range_for_lookup): Don't pass true
as include_std to perform_koenig_lookup.
(cp_parser_postfix_expression): Adjust.
* pt.c (tsubst_copy_and_build): Likewise.
* semantics.c (perform_koenig_lookup): Remove bool parameter.
(omp_reduction_lookup): Adjust.
* name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
(lookup_arg_dependent): Likewise.
(lookup_function_nonclass): Adjust.
* name-lookup.h: Adjust declaration.
* cp-tree.h: Likewise.
/testsuite
2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
Core DR 1442
PR c++/59165
* g++.dg/cpp0x/range-for28.C: New.
* g++.dg/cpp0x/range-for3.C: Update.
From-SVN: r206313
Jakub Jelinek [Fri, 3 Jan 2014 10:51:42 +0000 (11:51 +0100)]
i386.md (MODE_SIZE): New mode attribute.
* config/i386/i386.md (MODE_SIZE): New mode attribute.
(push splitter): Use <P:MODE_SIZE> instead of
GET_MODE_SIZE (<P:MODE>mode).
(lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
(mov -1, reg peephole2): Likewise.
* config/i386/sse.md (*mov<mode>_internal,
<sse>_storeu<ssemodesuffix><avxsizesuffix>,
<sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
*<code><mode>3, *andnot<mode>3<mask_name>,
<mask_codefor><code><mode>3<mask_name>): Likewise.
* config/i386/subst.md (mask_mode512bit_condition,
sd_mask_mode512bit_condition): Likewise.
From-SVN: r206312
Eric Botcazou [Fri, 3 Jan 2014 08:42:16 +0000 (08:42 +0000)]
* gnatvsn.ads (Current_Year): Bump to 2014.
From-SVN: r206311
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