gcc.git
9 years agomatch-and-simplify.texi: Update for recent changes.
Richard Biener [Thu, 4 Dec 2014 14:44:57 +0000 (14:44 +0000)]
match-and-simplify.texi: Update for recent changes.

2014-12-04  Richard Biener  <rguenther@suse.de>

* doc/match-and-simplify.texi: Update for recent changes.

From-SVN: r218372

9 years agoipa-prop.h (ipa_alignment): New type.
Martin Jambor [Thu, 4 Dec 2014 14:37:01 +0000 (15:37 +0100)]
ipa-prop.h (ipa_alignment): New type.

2014-12-04  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (ipa_alignment): New type.
(ipa_jump_func): New field alignment.
(ipcp_transformation_summary) New type.
(ipcp_grow_transformations_if_necessary): Declare.
(ipa_node_agg_replacements): Removed.
(ipcp_transformations): Declare.
(ipcp_get_transformation_summary): New function.
(ipa_get_agg_replacements_for_node): Use it.
* ipa-cp.c (ipcp_param_lattices): New field alignment.
(print_all_lattices): Also print alignment.
(alignment_bottom_p): New function.
(set_alignment_to_bottom): Likewise.
(set_all_contains_variable): Also set alignment to bottom.
(initialize_node_lattices): Likewise.
(propagate_alignment_accross_jump_function): New function.
(propagate_constants_accross_call): Call it.
(ipcp_store_alignment_results): New function.
(ipcp_driver): Call it.
* ipa-prop.c (ipa_node_agg_replacements): Removed.
(ipcp_transformations): New.
(ipa_print_node_jump_functions_for_edge): Also print alignment.
(ipa_set_jf_unknown): New function.
(detect_type_change_from_memory_writes): Use ipa_set_jf_unknown.
(ipa_compute_jump_functions_for_edge): Also calculate alignment.
(update_jump_functions_after_inlining): Use ipa_set_jf_unknown.
(ipcp_grow_transformations_if_necessary): New function.
(ipa_set_node_agg_value_chain): Use ipcp_transformations.
(ipa_node_removal_hook): Likewise.
(ipa_node_duplication_hook): Also duplicate alignment results.
(ipa_write_jump_function): Also stream alignments.
(ipa_read_jump_function): Use ipa_set_jf_unknown, also stream
alignments.
(write_agg_replacement_chain): Renamed to
write_ipcp_transformation_info, also stream alignments.
(read_agg_replacement_chain): Renamed to
read_ipcp_transformation_info, also stream alignments.
(ipa_prop_write_all_agg_replacement): Renamed to
ipcp_write_transformation_summaries. Stream always.
(ipa_prop_read_all_agg_replacement): Renamed to
ipcp_read_transformation_summaries.
(ipcp_update_alignments): New function.
(ipcp_transform_function): Call it, free also alignments.

testsuite/
* gcc.dg/ipa/propalign-1.c: New test.
* gcc.dg/ipa/propalign-2.c: Likewise.

From-SVN: r218369

9 years agogimple-fold.c (replace_stmt_with_simplification): Properly fail when maybe_push_res_t...
Richard Biener [Thu, 4 Dec 2014 12:35:42 +0000 (12:35 +0000)]
gimple-fold.c (replace_stmt_with_simplification): Properly fail when maybe_push_res_to_seq fails.

2014-12-04  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (replace_stmt_with_simplification): Properly
fail when maybe_push_res_to_seq fails.

From-SVN: r218353

9 years agoAdd prefetch support for aarch64
Ganesh Gopalasubramanian [Thu, 4 Dec 2014 10:51:54 +0000 (10:51 +0000)]
Add prefetch support for aarch64

From-SVN: r218349

9 years agoinstall.texi: Remove mentions of cloog and ppl.
Francois-Xavier Coudert [Thu, 4 Dec 2014 10:31:56 +0000 (10:31 +0000)]
install.texi: Remove mentions of cloog and ppl.

* doc/install.texi: Remove mentions of cloog and ppl.
* doc/invoke.texi: Likewise

From-SVN: r218348

9 years agore PR c++/56493 (Performance regression in google dense hashmap)
Jakub Jelinek [Thu, 4 Dec 2014 09:46:45 +0000 (10:46 +0100)]
re PR c++/56493 (Performance regression in google dense hashmap)

PR c++/56493
* convert.c (convert_to_real, convert_to_expr, convert_to_complex):
Handle COMPOUND_EXPR.

* c-c++-common/pr56493.c: New test.

From-SVN: r218345

9 years ago[testsuite] Cache return value of check_effective_target_tiny
Kyrylo Tkachov [Thu, 4 Dec 2014 09:31:00 +0000 (09:31 +0000)]
[testsuite] Cache return value of check_effective_target_tiny

* lib/target-supports.exp (check_effective_target_tiny): Cache
predicate value.

From-SVN: r218344

9 years agobuiltins.c (target_newline): Export.
Richard Biener [Thu, 4 Dec 2014 08:49:49 +0000 (08:49 +0000)]
builtins.c (target_newline): Export.

2014-12-04  Richard Biener  <rguenther@suse.de>

* builtins.c (target_newline): Export.
(target_percent_s_newline): Likewise.
(fold_builtin_1): Do not fold printf functions here.
(fold_builtin_2): Likewise.
(fold_builtin_3): Likewise, do not fold strncat.
(fold_builtin_strncat): Move to gimple-fold.c.
(fold_builtin_printf): Likewise.
* builtins.h (target_newline): Declare.
(target_percent_s_newline): Likewise.
* gimple-fold.c (gimple_fold_builtin_strncat): Move from
builtins.c and gimplify.
(gimple_fold_builtin_printf): Likewise.
(gimple_fold_builtin): Fold strncat, printf, printf_unlocked,
vprintf, printf_chk and vprintf_chk here.

From-SVN: r218343

9 years agore PR testsuite/64145 (gcc.dg/graphite/isl-codegen-loop-dumping.c UNRESOLVED after...
Jack Howarth [Thu, 4 Dec 2014 08:46:03 +0000 (08:46 +0000)]
re PR testsuite/64145 (gcc.dg/graphite/isl-codegen-loop-dumping.c UNRESOLVED after r217315.)

PR testsuite/64145
* gcc.dg/graphite/isl-codegen-loop-dumping.c: Restore
-fgraphite-identity.

From-SVN: r218342

9 years agoisl.m4: Don't pass -DCLOOG_INT_GMP on islinc.
Jack Howarth [Thu, 4 Dec 2014 08:45:33 +0000 (08:45 +0000)]
isl.m4: Don't pass -DCLOOG_INT_GMP on islinc.

* config/isl.m4: Don't pass -DCLOOG_INT_GMP on islinc.
* configure: Regenerated.

From-SVN: r218341

9 years agore PR libstdc++/64140 (match_results.prefix() returns an incorrect result if regex_it...
Tim Shen [Thu, 4 Dec 2014 04:25:12 +0000 (04:25 +0000)]
re PR libstdc++/64140 (match_results.prefix() returns an incorrect result if regex_iterator holds a zero-length match)

PR libstdc++/64140
* include/bits/regex.tcc (regex_iterator<>::operator++): Update
prefix.matched after modifying prefix.first.
* testsuite/28_regex/iterators/regex_iterator/char/64140.cc: New
testcase.

From-SVN: r218340

9 years agors6000.md (floatsidf2_internal): Use std::swap.
David Edelsohn [Thu, 4 Dec 2014 02:13:22 +0000 (02:13 +0000)]
rs6000.md (floatsidf2_internal): Use std::swap.

        * config/rs6000/rs6000.md (floatsidf2_internal): Use std::swap.
        (floatunssidf2_internal): Same.
        * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Same.
        (rs6000_emit_int_cmove): Same.
        (rs6000_sched_reorder): Same.
        (altivec_expand_vec_perm_const): Same.
        (rs6000_expand_vec_perm_const_1): Same.

From-SVN: r218339

9 years agoDaily bump.
GCC Administrator [Thu, 4 Dec 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218338

9 years agore PR rtl-optimization/64010 ([msp430-elf] struct function dereference clobbers param...
Ulrich Weigand [Wed, 3 Dec 2014 21:59:10 +0000 (21:59 +0000)]
re PR rtl-optimization/64010 ([msp430-elf] struct function dereference clobbers parameter passed to function)

PR rtl-optimization/64010
* reload.c (push_reload): Before reusing a register contained
in an operand as input reload register, ensure that it is not
used in CALL_INSN_FUNCTION_USAGE.

From-SVN: r218335

9 years agoMakefile.in: Use $(LN_S) instead of $(LN) -s and remove file first if it exists.
Ulrich Drepper [Wed, 3 Dec 2014 21:10:14 +0000 (21:10 +0000)]
Makefile.in: Use $(LN_S) instead of $(LN) -s and remove file first if it exists.

* Makefile.in: Use $(LN_S) instead of $(LN) -s and remove file first
if it exists.

From-SVN: r218334

9 years ago* expmed.c (expand_mult): Use std::swap.
Jakub Jelinek [Wed, 3 Dec 2014 20:35:45 +0000 (21:35 +0100)]
* expmed.c (expand_mult): Use std::swap.

From-SVN: r218332

9 years agore PR c/59708 (clang-compatible checked arithmetic builtins)
Jakub Jelinek [Wed, 3 Dec 2014 20:35:08 +0000 (21:35 +0100)]
re PR c/59708 (clang-compatible checked arithmetic builtins)

PR c/59708
* expmed.c (expand_widening_mult): Return const0_rtx if
coeff is 0.

From-SVN: r218331

9 years agogimple.texi (gimple_build_assign_with_ops): Remove.
Jakub Jelinek [Wed, 3 Dec 2014 19:59:10 +0000 (20:59 +0100)]
gimple.texi (gimple_build_assign_with_ops): Remove.

* doc/gimple.texi (gimple_build_assign_with_ops): Remove.
(gimple_build_assign): Document the new overloads.

From-SVN: r218330

9 years agore PR libstdc++/13631 (Problems in messages)
François Dumont [Wed, 3 Dec 2014 19:47:00 +0000 (19:47 +0000)]
re PR libstdc++/13631 (Problems in messages)

2014-12-03  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/13631
* include/bits/codecvt.h (codecvt<char, char, mbstate_t>): friend class
std::messages<char>.
(codecvt<wchar_t, char, mbstate_t>): friend class
std::messages<wchar_t>.
* config/locale/gnu/messages_member.h
(messages<char>::do_open): Specialized.
(messages<char>::do_close): Likewise.
(messages<wchar_t>::do_open): Likewise.
(messages<wchar_t>::do_close): Likewise.
* config/locale/gnu/messages_member.cc:
(messages<char>::do_open): Implement. Use bind_textdomain_codeset based
on codecvt<char, char, mbstate_t>._M_c_locale_codecvt code set. Use
internal cache to keep opened domain name with locale information.
(messages<wchar_t>::do_open): Likewise with
codecvt<wchar_t, char, mbstate_t>.
(messages<char>::do_close): Implement. Clean cache information.
(messages<wchar_t>::do_close): Likewise.
(get_glibc_msg): New. Use dgettext rather than gettext using cached
domain name associated to catalog id.
(messages<char>::do_get): Use latter.
(messages<wchar_t>::do_get): Likewise and use also cached locale
codecvt<wchar_t, char, mbstate_t> facet to convert wchar_t default
value to char and the result back to wchar_t.
* testsuite/22_locale/messages/13631.cc: New.
* testsuite/22_locale/messages/members/char/2.cc: Use also fr_FR locale
for charset conversion to get the expected accented character.

From-SVN: r218329

9 years agore PR c++/63558 (cannot silence "jump to case label" with fpermissive)
Paolo Carlini [Wed, 3 Dec 2014 18:41:42 +0000 (18:41 +0000)]
re PR c++/63558 (cannot silence "jump to case label" with fpermissive)

/cp
2014-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63558
* decl.c (identify_goto): Return a bool if diagnostic is emitted.
(check_previous_goto_1): Consistently emit permerror + inform.
(check_goto): Likewise.

/testsuite
2014-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63558
* g++.dg/init/goto3.C: New.
* g++.dg/eh/goto2.C: Adjust.
* g++.dg/ext/vla14.C: Likewise.
* g++.dg/gomp/block-1.C: Likewise.
* g++.dg/gomp/block-2.C: Likewise.
* g++.dg/gomp/block-3.C: Likewise.
* g++.dg/gomp/block-5.C: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/init/goto2.C: Likewise.
* g++.dg/warn/pedantic1.C: Likewise.
* g++.old-deja/g++.jason/jump.C: Likewise.
* g++.old-deja/g++.law/arm6.C: Likewise.
* g++.old-deja/g++.other/goto1.C: Likewise.
* g++.old-deja/g++.other/goto3.C: Likewise.
* g++.old-deja/g++.other/init9.C: Likewise.

From-SVN: r218328

9 years agore PR target/64019 (ICE in extract_constrain_insn)
Michael Meissner [Wed, 3 Dec 2014 18:39:22 +0000 (18:39 +0000)]
re PR target/64019 (ICE in extract_constrain_insn)

[gcc]
2014-12-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/64019
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
not create LO_SUM address for constant addresses if the type can
go in Altivec registers.

[gcc/testsuite]
2014-12-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/64019
* gcc.target/powerpc/pr64019.c: New file.

From-SVN: r218327

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Wed, 3 Dec 2014 17:50:06 +0000 (17:50 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

gcc/testsuite/ChangeLog:

2014-12-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* gfortran.dg/warnings_are_errors_1.f90: Update warnings to errors.
* gfortran.dg/warnings_are_errors_1.f: Likewise.

gcc/fortran/ChangeLog:

2014-12-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* gfortran.h (gfc_warning): Now returns bool. Add overload that
accepts opt.
(gfc_warning_1): Declare.
* error.c
(pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New.
(gfc_buffer_error): Set pp_warning_buffer.flush_p.
(gfc_clear_pp_buffer): New.
(gfc_warning_1): Renamed from gfc_warning.
(gfc_warning): Add three new overloads. One that takes just a
format string and ellipsis, another that takes also a warning
option, and another that takes also va_list instead of ellipsis.
(gfc_clear_warning): Clear pp_warning_buffer.
(gfc_warning_check): Flush pp_warning_buffer and update warning
and werror counters.
(gfc_diagnostics_init): Init pp_warning_buffer.

* Update all gfc_warning calls that do not multiple
locations to use %qs and OPT_W*, otherwise use gfc_warning_1.

gcc/ChangeLog:

2014-12-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* pretty-print.c (output_buffer::output_buffer): Init flush_p to true.
(pp_flush): Flush only if flush_p.
(pp_really_flush): New.
* pretty-print.h (struct output_buffer): Add flush_p.
(pp_really_flush): Declare.

From-SVN: r218326

9 years agoMakefile.in (ALL_HOST_BACKEND_OBJS): Add $(GENGTYPE_OBJS), gcc-ar.o, gcc-nm.o and...
Jakub Jelinek [Wed, 3 Dec 2014 16:44:27 +0000 (17:44 +0100)]
Makefile.in (ALL_HOST_BACKEND_OBJS): Add $(GENGTYPE_OBJS), gcc-ar.o, gcc-nm.o and gcc-ranlib.o.

* Makefile.in (ALL_HOST_BACKEND_OBJS): Add $(GENGTYPE_OBJS),
gcc-ar.o, gcc-nm.o and gcc-ranlib.o.
(GENGTYPE_OBJS): New.
(gengtype-lex.o, gengtype-parse.o, gengtype-state.o, gengtype.o):
Remove explicit dependencies.
(CFLAGS-gengtype-lex.o, CFLAGS-gengtype-parse.o,
CFLAGS-gengtype-state.o, CFLAGS-gengtype.o): Add -DHOST_GENERATOR_FILE
instead of -DGENERATOR_FILE.
(CFLAGS-errors.o): New.
* gengtype.c: Instead of testing GENERATOR_FILE define, test
HOST_GENERATOR_FILE.  If defined, include config.h and define
GENERATOR_FILE afterwards, otherwise include bconfig.h.
* gengtype-parse.c: Likewise.
* gengtype-state.c: Likewise.
* gengtype-lex.l: Likewise.
* errors.c: Likewise.

From-SVN: r218325

9 years ago* g++.dg/ext/visibility/anon[12].C: Require visibility support.
David Edelsohn [Wed, 3 Dec 2014 16:28:13 +0000 (16:28 +0000)]
* g++.dg/ext/visibility/anon[12].C: Require visibility support.

From-SVN: r218324

9 years agoepiphany.c (epiphany_override_options): If TARGET_SOFT_CMPSF is not enabled, set...
Joern Rennecke [Wed, 3 Dec 2014 16:25:25 +0000 (16:25 +0000)]
epiphany.c (epiphany_override_options): If TARGET_SOFT_CMPSF is not enabled, set flag_finite_math_only.

gcc:
        * config/epiphany/epiphany.c (epiphany_override_options):
        If TARGET_SOFT_CMPSF is not enabled, set flag_finite_math_only.
        * config/epiphany/epiphany.md (mov<mode>cc): Don't use
        reverse_condition_maybe_unordered if flag_finite_math_only is set.
gcc/testsuite:
        * gcc.target/epiphany/fcmp-1.c: New test.

From-SVN: r218323

9 years agoregex_compiler.h (_S_cache_size): Multiply the RHS of the shift-expression by _UseCac...
Marek Polacek [Wed, 3 Dec 2014 16:16:33 +0000 (16:16 +0000)]
regex_compiler.h (_S_cache_size): Multiply the RHS of the shift-expression by _UseCache::value.

* include/bits/regex_compiler.h (_S_cache_size): Multiply the
RHS of the shift-expression by _UseCache::value.

From-SVN: r218322

9 years agore PR libstdc++/64168 (FAIL: 30_threads/async/sync.cc execution test)
Jonathan Wakely [Wed, 3 Dec 2014 16:09:21 +0000 (16:09 +0000)]
re PR libstdc++/64168 (FAIL: 30_threads/async/sync.cc execution test)

PR libstdc++/64168
* include/std/future (_Deferred_state::_M_has_deferred): Fix return.

From-SVN: r218321

9 years agoRevert r215321.
Andrew Stubbs [Wed, 3 Dec 2014 14:59:06 +0000 (14:59 +0000)]
Revert r215321.

2014-12-03  Andrew Stubbs  <ams@codesourcery.com>

Revert:

2014-09-17  Andrew Stubbs  <ams@codesourcery.com>
       * config/arm/arm.c (arm_option_override): Reject -mfpu=neon
       when architecture is older than ARMv7.

From-SVN: r218319

9 years agobuiltins.c (target_percent_c): Export.
Richard Biener [Wed, 3 Dec 2014 14:08:07 +0000 (14:08 +0000)]
builtins.c (target_percent_c): Export.

2014-12-03  Richard Biener  <rguenther@suse.de>

* builtins.c (target_percent_c): Export.
(fold_builtin_fprintf): Move to gimple-fold.c.
(fold_builtin_2): Do not fold fprintf functions.
(fold_builtin_3): Likewise.
(fold_builtin_4): Remove.
(fold_builtin_n): Do not call fold_builtin_4.
* builtins.h (target_percent_c): Declare.
* gimple-fold.c (gimple_fold_builtin_fprintf): Move from
builtins.c and gimplify.
(gimple_fold_builtin): Fold fprintf, fprintf_unlocked, vfprintf,
fprintf_chk and vfprintf_chk here.

From-SVN: r218317

9 years agore PR ipa/64153 (r218205 miscompiles libgomp)
Martin Jambor [Wed, 3 Dec 2014 14:05:51 +0000 (15:05 +0100)]
re PR ipa/64153 (r218205 miscompiles libgomp)

2014-12-03  Martin Jambor  <mjambor@suse.cz>

PR ipa/64153
* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
type sizes before view_converting.

From-SVN: r218316

9 years agoconfigure.tgt (x86_64): Tune -m32 multilib to generic.
Uros Bizjak [Wed, 3 Dec 2014 13:58:07 +0000 (14:58 +0100)]
configure.tgt (x86_64): Tune -m32 multilib to generic.

libitm/ChangeLog:

* configure.tgt (x86_64): Tune -m32 multilib to generic.

libgomp/ChangeLog:

* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.

From-SVN: r218315

9 years agoavx512bw-kunpckdq-1.c: Fix regexps for assembler scanning.
Petr Murzin [Wed, 3 Dec 2014 13:39:51 +0000 (13:39 +0000)]
avx512bw-kunpckdq-1.c: Fix regexps for assembler scanning.

gcc/testsuite/

2014-12-03  Petr Murzin  <petr.murzin@intel.com>

* gcc.target/i386/avx512bw-kunpckdq-1.c: Fix regexps for assembler
scanning.
* gcc.target/i386/avx512bw-kunpckwd-1.c: Ditto.
* gcc.target/i386/avx512bw-vdbpsadbw-1.c: Ditto.
* gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto.
* gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
* gcc.target/i386/avx512bw-vpabsb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpabsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpackssdw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpacksswb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpackusdw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpackuswb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddsb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddusb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddusw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpaddw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpalignr-1.c: Ditto.
* gcc.target/i386/avx512bw-vpavgb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpavgw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpblendmb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpblendmw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpbroadcastb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpbroadcastw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpeqb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpequb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpequw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpeqw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgeb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgeub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgeuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgew-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgtb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgtub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgtuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpgtw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpleb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpleub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpleuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmplew-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpltb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpltub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpltuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpltw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpneqb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpnequb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpnequw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpneqw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpermi2w-1.c: Ditto.
* gcc.target/i386/avx512bw-vpermt2w-1.c: Ditto.
* gcc.target/i386/avx512bw-vpermw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaddubsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaddwd-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaxsb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaxsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaxub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmaxuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpminsb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpminsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpminub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpminuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovb2m-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovm2b-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovm2w-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovswb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovsxbw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovuswb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovw2m-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovwb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovzxbw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmulhrsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmulhuw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmulhw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmullw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpshufb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpshufhw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpshuflw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpslldq-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsllvw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsllw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsllwi-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsravw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsraw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsrawi-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsrldq-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsrlvw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsrlw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsrlwi-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubsb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubsw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubusb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubusw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpsubw-1.c: Ditto.
* gcc.target/i386/avx512bw-vptestmb-1.c: Ditto.
* gcc.target/i386/avx512bw-vptestmw-1.c: Ditto.
* gcc.target/i386/avx512bw-vptestnmb-1.c: Ditto.
* gcc.target/i386/avx512bw-vptestnmw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpunpckhbw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpunpckhwd-1.c: Ditto.
* gcc.target/i386/avx512bw-vpunpcklbw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpunpcklwd-1.c: Ditto.
* gcc.target/i386/avx512cd-vpbroadcastmb2q-1.c: Ditto.
* gcc.target/i386/avx512cd-vpbroadcastmw2d-1.c: Ditto.
* gcc.target/i386/avx512cd-vpconflictd-1.c: Ditto.
* gcc.target/i386/avx512cd-vpconflictq-1.c: Ditto.
* gcc.target/i386/avx512cd-vplzcntd-1.c: Ditto.
* gcc.target/i386/avx512cd-vplzcntq-1.c: Ditto.
* gcc.target/i386/avx512dq-vandnpd-1.c: Ditto.
* gcc.target/i386/avx512dq-vandnps-1.c: Ditto.
* gcc.target/i386/avx512dq-vandpd-1.c: Ditto.
* gcc.target/i386/avx512dq-vandps-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcastf32x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcastf32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcastf64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcasti32x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcasti32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vbroadcasti64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtpd2qq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtpd2uqq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtps2qq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtps2uqq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtqq2pd-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtqq2ps-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvttpd2qq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvttpd2uqq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvttps2qq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvttps2uqq-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtuqq2pd-1.c: Ditto.
* gcc.target/i386/avx512dq-vcvtuqq2ps-1.c: Ditto.
* gcc.target/i386/avx512dq-vextractf32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vextractf64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vextracti32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vextracti64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vfpclasspd-1.c: Ditto.
* gcc.target/i386/avx512dq-vfpclassps-1.c: Ditto.
* gcc.target/i386/avx512dq-vfpclasssd-1.c: Ditto.
* gcc.target/i386/avx512dq-vfpclassss-1.c: Ditto.
* gcc.target/i386/avx512dq-vinsertf32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vinsertf64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vinserti32x8-1.c: Ditto.
* gcc.target/i386/avx512dq-vinserti64x2-1.c: Ditto.
* gcc.target/i386/avx512dq-vorpd-1.c: Ditto.
* gcc.target/i386/avx512dq-vorps-1.c: Ditto.
* gcc.target/i386/avx512dq-vpmovd2m-1.c: Ditto.
* gcc.target/i386/avx512dq-vpmovm2d-1.c: Ditto.
* gcc.target/i386/avx512dq-vpmovm2q-1.c: Ditto.
* gcc.target/i386/avx512dq-vpmovq2m-1.c: Ditto.
* gcc.target/i386/avx512dq-vpmullq-1.c: Ditto.
* gcc.target/i386/avx512dq-vrangepd-1.c: Ditto.
* gcc.target/i386/avx512dq-vrangeps-1.c: Ditto.
* gcc.target/i386/avx512dq-vrangesd-1.c: Ditto.
* gcc.target/i386/avx512dq-vrangess-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducepd-1.c: Ditto.
* gcc.target/i386/avx512dq-vreduceps-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducesd-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducess-1.c: Ditto.
* gcc.target/i386/avx512dq-vxorpd-1.c: Ditto.
* gcc.target/i386/avx512dq-vxorps-1.c: Ditto.
* gcc.target/i386/avx512er-vexp2pd-1.c: Ditto.
* gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
* gcc.target/i386/avx512f-broadcast-gpr-1.c: Ditto.
* gcc.target/i386/avx512f-ceil-sfix-vec-2.c: Ditto.
* gcc.target/i386/avx512f-floor-sfix-vec-2.c: Ditto.
* gcc.target/i386/avx512f-gather-5.c: Ditto.
* gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto.
* gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto.
* gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto.
* gcc.target/i386/avx512f-i32gatherq512-1.c: Ditto.
* gcc.target/i386/avx512f-i32scatterd512-1.c: Ditto.
* gcc.target/i386/avx512f-i32scatterpd512-1.c: Ditto.
* gcc.target/i386/avx512f-i32scatterps512-1.c: Ditto.
* gcc.target/i386/avx512f-i32scatterq512-1.c: Ditto.
* gcc.target/i386/avx512f-i64gatherd512-1.c: Ditto.
* gcc.target/i386/avx512f-i64gatherpd512-1.c: Ditto.
* gcc.target/i386/avx512f-i64gatherps512-1.c: Ditto.
* gcc.target/i386/avx512f-i64gatherq512-1.c: Ditto.
* gcc.target/i386/avx512f-i64scatterd512-1.c: Ditto.
* gcc.target/i386/avx512f-i64scatterpd512-1.c: Ditto.
* gcc.target/i386/avx512f-i64scatterps512-1.c: Ditto.
* gcc.target/i386/avx512f-i64scatterq512-1.c: Ditto.
* gcc.target/i386/avx512f-kandnw-1.c: Ditto.
* gcc.target/i386/avx512f-kandw-1.c: Ditto.
* gcc.target/i386/avx512f-kmovw-1.c: Ditto.
* gcc.target/i386/avx512f-knotw-1.c: Ditto.
* gcc.target/i386/avx512f-kortestw-1.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-vaddpd-1.c: Ditto.
* gcc.target/i386/avx512f-vaddps-1.c: Ditto.
* gcc.target/i386/avx512f-vaddsd-1.c: Ditto.
* gcc.target/i386/avx512f-vaddss-1.c: Ditto.
* gcc.target/i386/avx512f-valignd-1.c: Ditto.
* gcc.target/i386/avx512f-valignq-1.c: Ditto.
* gcc.target/i386/avx512f-vblendmpd-1.c: Ditto.
* gcc.target/i386/avx512f-vblendmps-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcastf32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcastf64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcasti32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcasti64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcastsd-1.c: Ditto.
* gcc.target/i386/avx512f-vbroadcastss-1.c: Ditto.
* gcc.target/i386/avx512f-vcmppd-1.c: Ditto.
* gcc.target/i386/avx512f-vcmpps-1.c: Ditto.
* gcc.target/i386/avx512f-vcmpsd-1.c: Ditto.
* gcc.target/i386/avx512f-vcmpss-1.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-vcompressps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtdq2pd-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtdq2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2udq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtph2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2pd-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2ph-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2udq-1.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-vcvtsd2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2usi64-1.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-vcvtss2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2usi64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttpd2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttpd2udq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttps2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttps2udq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttsd2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttsd2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttsd2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttsd2usi64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttss2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttss2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttss2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvttss2usi64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtudq2pd-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtudq2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2sd-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
* gcc.target/i386/avx512f-vdivpd-1.c: Ditto.
* gcc.target/i386/avx512f-vdivps-1.c: Ditto.
* gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
* gcc.target/i386/avx512f-vdivss-1.c: Ditto.
* gcc.target/i386/avx512f-vec-init.c: Ditto.
* gcc.target/i386/avx512f-vexpandpd-1.c: Ditto.
* gcc.target/i386/avx512f-vexpandps-1.c: Ditto.
* gcc.target/i386/avx512f-vextractf32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vextractf64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vextracti32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vextracti64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmps-1.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vgetexppd-1.c: Ditto.
* gcc.target/i386/avx512f-vgetexpps-1.c: Ditto.
* gcc.target/i386/avx512f-vgetexpsd-1.c: Ditto.
* gcc.target/i386/avx512f-vgetexpss-1.c: Ditto.
* gcc.target/i386/avx512f-vgetmantpd-1.c: Ditto.
* gcc.target/i386/avx512f-vgetmantps-1.c: Ditto.
* gcc.target/i386/avx512f-vgetmantsd-1.c: Ditto.
* gcc.target/i386/avx512f-vgetmantss-1.c: Ditto.
* gcc.target/i386/avx512f-vinsertf32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vinsertf64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vinserti32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vinserti64x4-1.c: Ditto.
* gcc.target/i386/avx512f-vmaxpd-1.c: Ditto.
* gcc.target/i386/avx512f-vmaxps-1.c: Ditto.
* gcc.target/i386/avx512f-vmaxsd-1.c: Ditto.
* gcc.target/i386/avx512f-vmaxss-1.c: Ditto.
* gcc.target/i386/avx512f-vminpd-1.c: Ditto.
* gcc.target/i386/avx512f-vminps-1.c: Ditto.
* gcc.target/i386/avx512f-vminsd-1.c: Ditto.
* gcc.target/i386/avx512f-vminss-1.c: Ditto.
* gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
* gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
* gcc.target/i386/avx512f-vmovddup-1.c: Ditto.
* gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
* gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Ditto.
* gcc.target/i386/avx512f-vmovdqu64-1.c: Ditto.
* gcc.target/i386/avx512f-vmovntdq-1.c: Ditto.
* gcc.target/i386/avx512f-vmovntdqa-1.c: Ditto.
* gcc.target/i386/avx512f-vmovntpd-1.c: Ditto.
* gcc.target/i386/avx512f-vmovntps-1.c: Ditto.
* gcc.target/i386/avx512f-vmovshdup-1.c: Ditto.
* gcc.target/i386/avx512f-vmovsldup-1.c: Ditto.
* gcc.target/i386/avx512f-vmovupd-1.c: Ditto.
* gcc.target/i386/avx512f-vmovups-1.c: Ditto.
* gcc.target/i386/avx512f-vmulpd-1.c: Ditto.
* gcc.target/i386/avx512f-vmulps-1.c: Ditto.
* gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
* gcc.target/i386/avx512f-vmulss-1.c: Ditto.
* gcc.target/i386/avx512f-vpabsd512-1.c: Ditto.
* gcc.target/i386/avx512f-vpabsq512-1.c: Ditto.
* gcc.target/i386/avx512f-vpaddd-1.c: Ditto.
* gcc.target/i386/avx512f-vpaddq-1.c: Ditto.
* gcc.target/i386/avx512f-vpandd-1.c: Ditto.
* gcc.target/i386/avx512f-vpandnd-1.c: Ditto.
* gcc.target/i386/avx512f-vpandnq-1.c: Ditto.
* gcc.target/i386/avx512f-vpandq-1.c: Ditto.
* gcc.target/i386/avx512f-vpblendmd-1.c: Ditto.
* gcc.target/i386/avx512f-vpblendmq-1.c: Ditto.
* gcc.target/i386/avx512f-vpbroadcastd-1.c: Ditto.
* gcc.target/i386/avx512f-vpbroadcastq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcompressd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcompressq-1.c: Ditto.
* gcc.target/i386/avx512f-vpermd-1.c: Ditto.
* gcc.target/i386/avx512f-vpermi2d-1.c: Ditto.
* gcc.target/i386/avx512f-vpermi2pd-1.c: Ditto.
* gcc.target/i386/avx512f-vpermi2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vpermi2q-1.c: Ditto.
* gcc.target/i386/avx512f-vpermilpd-1.c: Ditto.
* gcc.target/i386/avx512f-vpermilpdi-1.c: Ditto.
* gcc.target/i386/avx512f-vpermilps-1.c: Ditto.
* gcc.target/i386/avx512f-vpermilpsi-1.c: Ditto.
* gcc.target/i386/avx512f-vpermpd-1.c: Ditto.
* gcc.target/i386/avx512f-vpermpdi-1.c: Ditto.
* gcc.target/i386/avx512f-vpermps-1.c: Ditto.
* gcc.target/i386/avx512f-vpermq-imm-1.c: Ditto.
* gcc.target/i386/avx512f-vpermq-var-1.c: Ditto.
* gcc.target/i386/avx512f-vpermt2d-1.c: Ditto.
* gcc.target/i386/avx512f-vpermt2pd-1.c: Ditto.
* gcc.target/i386/avx512f-vpermt2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vpermt2q-1.c: Ditto.
* gcc.target/i386/avx512f-vpexpandd-1.c: Ditto.
* gcc.target/i386/avx512f-vpexpandq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmaxsd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmaxsq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmaxud-1.c: Ditto.
* gcc.target/i386/avx512f-vpmaxuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpminsd-1.c: Ditto.
* gcc.target/i386/avx512f-vpminsq-1.c: Ditto.
* gcc.target/i386/avx512f-vpminud-1.c: Ditto.
* gcc.target/i386/avx512f-vpminuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovdb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovdw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovqb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovqw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsxbd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsxbq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsxdq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsxwd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovsxwq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqb-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqw-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovzxbd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovzxbq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovzxdq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovzxwd-1.c: Ditto.
* gcc.target/i386/avx512f-vpmovzxwq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmuldq-1.c: Ditto.
* gcc.target/i386/avx512f-vpmulld-1.c: Ditto.
* gcc.target/i386/avx512f-vpmuludq-1.c: Ditto.
* gcc.target/i386/avx512f-vpord-1.c: Ditto.
* gcc.target/i386/avx512f-vporq-1.c: Ditto.
* gcc.target/i386/avx512f-vprold-1.c: Ditto.
* gcc.target/i386/avx512f-vprolq-1.c: Ditto.
* gcc.target/i386/avx512f-vprolvd-1.c: Ditto.
* gcc.target/i386/avx512f-vprolvq-1.c: Ditto.
* gcc.target/i386/avx512f-vprord-1.c: Ditto.
* gcc.target/i386/avx512f-vprorq-1.c: Ditto.
* gcc.target/i386/avx512f-vprorvd-1.c: Ditto.
* gcc.target/i386/avx512f-vprorvq-1.c: Ditto.
* gcc.target/i386/avx512f-vpshufd-1.c: Ditto.
* gcc.target/i386/avx512f-vpslld-1.c: Ditto.
* gcc.target/i386/avx512f-vpslldi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsllq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsllqi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsllvd-1.c: Ditto.
* gcc.target/i386/avx512f-vpsllvq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsllvq512-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrad-1.c: Ditto.
* gcc.target/i386/avx512f-vpsradi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsraq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsraqi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsravd-1.c: Ditto.
* gcc.target/i386/avx512f-vpsravq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsravq512-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrld-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrldi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrlq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrlqi-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrlvd-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrlvq-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrlvq512-1.c: Ditto.
* gcc.target/i386/avx512f-vpsubd-1.c: Ditto.
* gcc.target/i386/avx512f-vpsubq-1.c: Ditto.
* gcc.target/i386/avx512f-vpternlogd-1.c: Ditto.
* gcc.target/i386/avx512f-vpternlogq-1.c: Ditto.
* gcc.target/i386/avx512f-vptestmd-1.c: Ditto.
* gcc.target/i386/avx512f-vptestmq-1.c: Ditto.
* gcc.target/i386/avx512f-vptestnmd-1.c: Ditto.
* gcc.target/i386/avx512f-vptestnmq-1.c: Ditto.
* gcc.target/i386/avx512f-vpunpckhdq-1.c: Ditto.
* gcc.target/i386/avx512f-vpunpckhqdq-1.c: Ditto.
* gcc.target/i386/avx512f-vpunpckldq-1.c: Ditto.
* gcc.target/i386/avx512f-vpunpcklqdq-1.c: Ditto.
* gcc.target/i386/avx512f-vpxord-1.c: Ditto.
* gcc.target/i386/avx512f-vpxorq-1.c: Ditto.
* gcc.target/i386/avx512f-vrcp14pd-1.c: Ditto.
* gcc.target/i386/avx512f-vrcp14ps-1.c: Ditto.
* gcc.target/i386/avx512f-vrcp14sd-1.c: Ditto.
* gcc.target/i386/avx512f-vrcp14ss-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscalepd-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscaleps-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscalesd-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscaless-1.c: Ditto.
* gcc.target/i386/avx512f-vrsqrt14pd-1.c: Ditto.
* gcc.target/i386/avx512f-vrsqrt14ps-1.c: Ditto.
* gcc.target/i386/avx512f-vrsqrt14sd-1.c: Ditto.
* gcc.target/i386/avx512f-vrsqrt14ss-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefpd-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefps-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
* gcc.target/i386/avx512f-vshuff32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vshuff64x2-1.c: Ditto.
* gcc.target/i386/avx512f-vshufi32x4-1.c: Ditto.
* gcc.target/i386/avx512f-vshufi64x2-1.c: Ditto.
* gcc.target/i386/avx512f-vshufpd-1.c: Ditto.
* gcc.target/i386/avx512f-vshufps-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtpd-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtps-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
* gcc.target/i386/avx512f-vsubpd-1.c: Ditto.
* gcc.target/i386/avx512f-vsubps-1.c: Ditto.
* gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
* gcc.target/i386/avx512f-vsubss-1.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-vunpckhps-1.c: Ditto.
* gcc.target/i386/avx512f-vunpcklpd-1.c: Ditto.
* gcc.target/i386/avx512f-vunpcklps-1.c: Ditto.
* gcc.target/i386/avx512f_cond_move.c: Ditto.
* gcc.target/i386/avx512f_evex_reg_asm-2.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermi2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-1.c: Ditto.
* gcc.target/i386/avx512vl-i32gatherd-1.c: Ditto.
* gcc.target/i386/avx512vl-i32gatherpd-1.c: Ditto.
* gcc.target/i386/avx512vl-i32gatherps-1.c: Ditto.
* gcc.target/i386/avx512vl-i32gatherq-1.c: Ditto.
* gcc.target/i386/avx512vl-i32scatterd-1.c: Ditto.
* gcc.target/i386/avx512vl-i32scatterpd-1.c: Ditto.
* gcc.target/i386/avx512vl-i32scatterps-1.c: Ditto.
* gcc.target/i386/avx512vl-i32scatterq-1.c: Ditto.
* gcc.target/i386/avx512vl-i64gatherd-1.c: Ditto.
* gcc.target/i386/avx512vl-i64gatherpd-1.c: Ditto.
* gcc.target/i386/avx512vl-i64gatherps-1.c: Ditto.
* gcc.target/i386/avx512vl-i64gatherq-1.c: Ditto.
* gcc.target/i386/avx512vl-i64scatterd-1.c: Ditto.
* gcc.target/i386/avx512vl-i64scatterpd-1.c: Ditto.
* gcc.target/i386/avx512vl-i64scatterps-1.c: Ditto.
* gcc.target/i386/avx512vl-i64scatterq-1.c: Ditto.
* gcc.target/i386/avx512vl-vaddpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vaddps-1.c: Ditto.
* gcc.target/i386/avx512vl-valignd-1.c: Ditto.
* gcc.target/i386/avx512vl-valignq-1.c: Ditto.
* gcc.target/i386/avx512vl-vblendmpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vblendmps-1.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastf32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcasti32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastsd-1.c: Ditto.
* gcc.target/i386/avx512vl-vbroadcastss-1.c: Ditto.
* gcc.target/i386/avx512vl-vcmppd-1.c: Ditto.
* gcc.target/i386/avx512vl-vcmpps-1.c: Ditto.
* gcc.target/i386/avx512vl-vcompresspd-1.c: Ditto.
* gcc.target/i386/avx512vl-vcompressps-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtdq2pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtdq2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtpd2dq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtpd2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtpd2udq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtph2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2dq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2ph-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtps2udq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvttpd2dq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvttpd2udq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvttps2dq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvttps2udq-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtudq2pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vcvtudq2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vdivpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vdivps-1.c: Ditto.
* gcc.target/i386/avx512vl-vexpandpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vexpandps-1.c: Ditto.
* gcc.target/i386/avx512vl-vextractf32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vextracti32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vfixupimmpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfixupimmps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmaddsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmaddsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmsubaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfmsubaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfnmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfnmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vfnmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vfnmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512vl-vgetexppd-1.c: Ditto.
* gcc.target/i386/avx512vl-vgetexpps-1.c: Ditto.
* gcc.target/i386/avx512vl-vgetmantpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vgetmantps-1.c: Ditto.
* gcc.target/i386/avx512vl-vinsertf32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vinserti32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vmaxpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vmaxps-1.c: Ditto.
* gcc.target/i386/avx512vl-vminpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vminps-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovddup-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqu32-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqu64-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovntdqa-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovshdup-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovsldup-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovupd-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovups-1.c: Ditto.
* gcc.target/i386/avx512vl-vmulpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vmulps-1.c: Ditto.
* gcc.target/i386/avx512vl-vpabsd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpabsq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpaddd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpaddq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpandd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpandnd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpandnq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpandq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpblendmd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpblendmq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastmb2q-1.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastmw2d-1.c: Ditto.
* gcc.target/i386/avx512vl-vpbroadcastq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpeqd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpeqq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpged-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpgtuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcompressd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcompressq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpconflictd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpconflictq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2d-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2q-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermilpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermilpdi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermilps-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermilpsi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermpdi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermps-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermq-imm-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermq-var-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2d-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2q-1.c: Ditto.
* gcc.target/i386/avx512vl-vpexpandd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpexpandq-1.c: Ditto.
* gcc.target/i386/avx512vl-vplzcntd-1.c: Ditto.
* gcc.target/i386/avx512vl-vplzcntq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxsd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxsq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmaxuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpminsd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpminsq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpminud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpminuq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovdb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovdw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovqb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovqd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovqw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsdb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsdw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsqb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsqd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsqw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxbd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxbq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxdq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxwd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovsxwq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovusdb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovusdw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovusqb-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovusqd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovusqw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxbd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxbq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxdq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxwd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmovzxwq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmuldq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmulld-1.c: Ditto.
* gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpord-1.c: Ditto.
* gcc.target/i386/avx512vl-vporq-1.c: Ditto.
* gcc.target/i386/avx512vl-vprold-1.c: Ditto.
* gcc.target/i386/avx512vl-vprolq-1.c: Ditto.
* gcc.target/i386/avx512vl-vprolvd-1.c: Ditto.
* gcc.target/i386/avx512vl-vprolvq-1.c: Ditto.
* gcc.target/i386/avx512vl-vprord-1.c: Ditto.
* gcc.target/i386/avx512vl-vprorq-1.c: Ditto.
* gcc.target/i386/avx512vl-vprorvd-1.c: Ditto.
* gcc.target/i386/avx512vl-vprorvq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsadbw-1.c: Ditto.
* gcc.target/i386/avx512vl-vpshufd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpslld-1.c: Ditto.
* gcc.target/i386/avx512vl-vpslldi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsllq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsllqi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsllvd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsllvq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrad-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsradi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsraq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsraqi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsravd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsravq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrld-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrldi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlqi-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlvd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsrlvq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsubd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpsubq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpternlogd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpternlogq-1.c: Ditto.
* gcc.target/i386/avx512vl-vptestmd-1.c: Ditto.
* gcc.target/i386/avx512vl-vptestmq-1.c: Ditto.
* gcc.target/i386/avx512vl-vptestnmd-1.c: Ditto.
* gcc.target/i386/avx512vl-vptestnmq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpunpckhdq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpunpckhqdq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpunpckldq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpunpcklqdq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpxord-1.c: Ditto.
* gcc.target/i386/avx512vl-vpxorq-1.c: Ditto.
* gcc.target/i386/avx512vl-vrcp14pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vrcp14ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vrndscalepd-1.c: Ditto.
* gcc.target/i386/avx512vl-vrndscaleps-1.c: Ditto.
* gcc.target/i386/avx512vl-vrsqrt14pd-1.c: Ditto.
* gcc.target/i386/avx512vl-vrsqrt14ps-1.c: Ditto.
* gcc.target/i386/avx512vl-vscalefpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vscalefps-1.c: Ditto.
* gcc.target/i386/avx512vl-vshuff32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vshuff64x2-1.c: Ditto.
* gcc.target/i386/avx512vl-vshufi32x4-1.c: Ditto.
* gcc.target/i386/avx512vl-vshufi64x2-1.c: Ditto.
* gcc.target/i386/avx512vl-vshufpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vshufps-1.c: Ditto.
* gcc.target/i386/avx512vl-vsqrtpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vsqrtps-1.c: Ditto.
* gcc.target/i386/avx512vl-vsubpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vsubps-1.c: Ditto.
* gcc.target/i386/avx512vl-vunpckhpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vunpckhps-1.c: Ditto.
* gcc.target/i386/avx512vl-vunpcklpd-1.c: Ditto.
* gcc.target/i386/avx512vl-vunpcklps-1.c: Ditto.

From-SVN: r218313

9 years agoRevert r218266
H.J. Lu [Wed, 3 Dec 2014 13:16:25 +0000 (13:16 +0000)]
Revert r218266

gcc/

PR rtl-optimization/64151
PR rtl-optimization/64156
* ira-costs.c (scan_one_insn): Revert r218266.

gcc/testsuite/

PR rtl-optimization/64151
PR rtl-optimization/64156
* gcc.target/aarch64/remat1.c: Removed.  Revert r218267.

From-SVN: r218312

9 years agobuiltins.c (fold_builtin_fpclassify): Change to take array of arguments instead of...
Richard Biener [Wed, 3 Dec 2014 13:10:39 +0000 (13:10 +0000)]
builtins.c (fold_builtin_fpclassify): Change to take array of arguments instead of CALL_EXPR tree.

2014-12-03  Richard Biener  <rguenther@suse.de>

* builtins.c (fold_builtin_fpclassify): Change to take
array of arguments instead of CALL_EXPR tree.
(MAX_ARGS_TO_FOLD_BUILTIN): Remove.
(fold_builtin_n): Dispatch to fold_builtin_varargs.
(fold_call_expr): Always use fold_builtin_n.
(fold_builtin_call_array): Change to not build the unfolded call,
always use fold_builtin_n.
(fold_builtin_varargs): Change to take array of arguments instead
of CALL_EXPR tree.
(fold_call_stmt): Always use fold_builtin_n.
* tree.c (build_call_expr_loc_array): Use fold_build_call_array_loc.
* fold-const.c (fold_build_call_array_loc): Build the call
if fold_builtin_call_array returned NULL_TREE.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Do not build
a CALL_EXPR and use fold_builtin_call_array instead of
fold_call_expr.

cp/
* constexpr.c (cxx_eval_builtin_function_call): Use
fold_build_call_array_loc.

From-SVN: r218311

9 years ago[AArch64] Remove/merge redundant iterators
Alan Lawrence [Wed, 3 Dec 2014 12:12:07 +0000 (12:12 +0000)]
[AArch64] Remove/merge redundant iterators

* config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>, orn<mode>3,
bic<mode>3, add<mode>3, sub<mode>3, neg<mode>2, abs<mode>2, and<mode>3,
ior<mode>3, xor<mode>3, one_cmpl<mode>2,
aarch64_simd_lshr<mode> ,arch64_simd_ashr<mode>,
aarch64_simd_imm_shl<mode>, aarch64_simd_reg_sshl<mode>,
aarch64_simd_reg_shl<mode>_unsigned, aarch64_simd_reg_shr<mode>_signed,
ashl<mode>3, lshr<mode>3, ashr<mode>3, vashl<mode>3,
reduc_plus_scal_<mode>, aarch64_vcond_internal<mode><mode>,
vcondu<mode><mode>, aarch64_cm<optab><mode>, aarch64_cmtst<mode>):
Change VDQ to VDQ_I.

(mul<mode>3): Change VDQM to VDQ_BHSI.
(aarch64_simd_vec_set<mode>,vashr<mode>3, vlshr<mode>3, vec_set<mode>,
aarch64_mla<mode>, aarch64_mls<mode>, <su><maxmin><mode>3,
aarch64_<sur>h<addsub><mode>): Change VQ_S to VDQ_BHSI.

(*aarch64_<su>mlal<mode>, *aarch64_<su>mlsl<mode>,
aarch64_<ANY_EXTEND:su><ADDSUB:optab>l<mode>,
aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>, aarch64_<sur>shll_n<mode>):
Change VDW to VD_BHSI.
(*aarch64_combinez<mode>, *aarch64_combinez_be<mode>):
Change VDIC to VD_BHSI.

* config/aarch64/aarch64-simd-builtins.def (saddl, uaddl, ssubl, usubl,
saddw, uaddw, ssubw, usubw, shadd, uhadd, srhadd, urhadd, sshll_n,
ushll_n): Change BUILTIN_VDW to BUILTIN_VD_BHSI.

* config/aarch64/iterators.md (SDQ_I, VDQ, VQ_S, VSDQ_I_BHSI, VDQM, VDW,
VDIC, VDQQHS): Remove.
(Vwtype): Update comment (changing VDW to VD_BHSI).

From-SVN: r218310

9 years agohashtable.h: Fix whitespace and simplify function definitions with trailing return...
Jonathan Wakely [Wed, 3 Dec 2014 12:00:02 +0000 (12:00 +0000)]
hashtable.h: Fix whitespace and simplify function definitions with trailing return types.

* include/bits/hashtable.h: Fix whitespace and simplify function
definitions with trailing return types.

From-SVN: r218309

9 years agore PR tree-optimization/14541 ([tree-ssa] built-in math functions are not fully optim...
Richard Biener [Wed, 3 Dec 2014 11:55:14 +0000 (11:55 +0000)]
re PR tree-optimization/14541 ([tree-ssa] built-in math functions are not fully optimized at tree level)

2014-12-03  Richard Biener  <rguenther@suse.de>

PR middle-end/14541
* builtins.c (fold_builtin_logarithm): Implement simplifications ...
* match.pd: ... here as patterns.

From-SVN: r218308

9 years agop5600.md (define_automaton, [...]): Replace p5600_agen_pipe and p5600_alu_pipe with...
Prachi Godbole [Wed, 3 Dec 2014 11:16:00 +0000 (11:16 +0000)]
p5600.md (define_automaton, [...]): Replace p5600_agen_pipe and p5600_alu_pipe with p5600_agen_alq_pipe.

2014-12-03  Prachi Godbole  <prachi.godbole@imgtec.com>

* config/mips/p5600.md (define_automaton, define_cpu_unit): Replace
p5600_agen_pipe and p5600_alu_pipe with p5600_agen_alq_pipe.
(p5600_int_arith_1, p5600_int_arith_2, p5600_int_arith_4): Change
reservation order.

From-SVN: r218307

9 years agoRename fuse-caller-save
Tom de Vries [Wed, 3 Dec 2014 10:28:25 +0000 (10:28 +0000)]
Rename fuse-caller-save

2014-12-03  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/63957
* doc/invoke.texi: Replace -fuse-caller-save with -fipa-ra.
* final.c (rest_of_handle_final): Replace flag_use_caller_save with
flag_ipa_ra.
(get_call_reg_set_usage): Same.
* lra-assigns.c (lra_assign): Same.
* lra-constraints.c (need_for_call_save_p): Same.
* lra-lives.c (process_bb_lives): Same.
* lra.c (lra): Same.
* calls.c (expand_call): Same.
(emit_library_call_value_1): Same.
* config/arm/arm.c (arm_option_override): Same.
* opts.c (default_options_table): Replace OPT_fuse_caller_save with
OPT_fipa_ra.
* target.def (call_fusage_contains_non_callee_clobbers): Replace
fuse-caller-save with fipa-ra.
* doc/tm.texi (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Same.
* common.opt: Same.

* gcc.dg/ira-shrinkwrap-prep-1.c: Replace -fno-use-caller-save with
-fno-ipa-ra.
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.
* gcc.target/aarch64/aapcs64/aapcs64.exp: Same.
* gcc.dg/fuse-caller-save.c: Replace -fuse-caller-save with -fipa-ra.
* gcc.target/aarch64/fuse-caller-save.c: Same.
* gcc.target/arm/fuse-caller-save.c: Same.
* gcc.target/i386/fuse-caller-save-rec.c: Same.
* gcc.target/i386/fuse-caller-save-xmm-run.c: Same.
* gcc.target/i386/fuse-caller-save-xmm.c: Same.
* gcc.target/i386/fuse-caller-save.c: Same.
* gcc.target/mips/fuse-caller-save-micromips.c: Same.
* gcc.target/mips/fuse-caller-save-mips16.c: Same.
* gcc.target/mips/fuse-caller-save.c: Same.
* gcc.target/mips/mips.exp: Replace use-caller-save with ipa-ra in
-ffoo/-fno-foo options.

From-SVN: r218305

9 years agoImprove optimization of ASan checks.
Yury Gribov [Wed, 3 Dec 2014 09:23:28 +0000 (09:23 +0000)]
Improve optimization of ASan checks.

2014-12-03  Yury Gribov  <y.gribov@samsung.com>

gcc/
* sanopt.c (maybe_get_single_definition): New function.
(maybe_get_dominating_check): Ditto.
(can_remove_asan_check): Ditto.
(struct tree_map_traits): New struct.
(struct sanopt_ctx): Use custom traits for asan_check_map.
(maybe_optimize_ubsan_null_ifn): Move code to
maybe_get_dominating_check.
(maybe_optimize_asan_check_ifn): Move code and take non-SSA expressions
into account when optimizing.
(sanopt_optimize_walker): Optimize ASan checks even when
recovering.

From-SVN: r218304

9 years agoconstraints.md (Yr): New.
Ilya Enkovich [Wed, 3 Dec 2014 08:45:45 +0000 (08:45 +0000)]
constraints.md (Yr): New.

gcc/

* config/i386/constraints.md (Yr): New.
* config/i386/i386.h (reg_class): Add NO_REX_SSE_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Add alternatives
which use only NO_REX_SSE_REGS.
(vec_set<mode>_0): Likewise.
(*vec_setv4sf_sse4_1): Likewise.
(sse4_1_insertps): Likewise.
(*sse4_1_extractps): Likewise.
(*sse4_1_mulv2siv2di3<mask_name>): Likewise.
(*<sse4_1_avx2>_mul<mode>3<mask_name>): Likewise.
(*sse4_1_<code><mode>3<mask_name>): Likewise.
(*sse4_1_<code><mode>3): Likewise.
(*sse4_1_eqv2di3): Likewise.
(sse4_2_gtv2di3): Likewise.
(*vec_extractv4si): Likewise.
(*vec_concatv2si_sse4_1): Likewise.
(vec_concatv2di): Likewise.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Likewise.
(<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Likewise.
(<sse4_1>_dp<ssemodesuffix><avxsizesuffix>): Likewise.
(<vi8_sse4_1_avx2_avx512>_movntdqa): Likewise.
(<sse4_1_avx2>_mpsadbw): Likewise.
(<sse4_1_avx2>packusdw<mask_name>): Likewise.
(<sse4_1_avx2>_pblendvb): Likewise.
(sse4_1_pblendw): Likewise.
(sse4_1_phminposuw): Likewise.
(sse4_1_<code>v8qiv8hi2<mask_name>): Likewise.
(sse4_1_<code>v4qiv4si2<mask_name>): Likewise.
(sse4_1_<code>v4hiv4si2<mask_name>): Likewise.
(sse4_1_<code>v2qiv2di2<mask_name>): Likewise.
(sse4_1_<code>v2hiv2di2<mask_name>): Likewise.
(sse4_1_<code>v2siv2di2<mask_name>): Likewise.
(sse4_1_ptest): Likewise.
(<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Likewise.
(sse4_1_round<ssescalarmodesuffix>): Likewise.
* config/i386/subst.md (mask_prefix4): New.
* config/i386/x86-tune.def (X86_TUNE_AVOID_4BYTE_PREFIXES): New.

gcc/testsuites/

* gcc.target/i386/sse2-init-v2di-2.c: Adjust to changed
vec_concatv2di template.

From-SVN: r218303

9 years agore PR rtl-optimization/52714 (ICE in fixup_reorder_chain, at cfglayout.c:880)
Segher Boessenkool [Wed, 3 Dec 2014 06:00:54 +0000 (07:00 +0100)]
re PR rtl-optimization/52714 (ICE in fixup_reorder_chain, at cfglayout.c:880)

PR rtl-optimization/52714
* combine.c (try_combine): Allow combining two insns into two
new insns if at least one of those is a noop.

gcc/testsuite/
* gcc.target/m68k/pr52714.c: New testcase.

From-SVN: r218302

9 years agotarget.def (fusion_priority): Wrap code with @smallexample.
Bin Cheng [Wed, 3 Dec 2014 05:25:40 +0000 (05:25 +0000)]
target.def (fusion_priority): Wrap code with @smallexample.

* target.def (fusion_priority): Wrap code with @smallexample.
* doc/tm.texi: Regenerated.

From-SVN: r218301

9 years agore PR libstdc++/64161 (bootstrap error: condition_variable.cc:134:7: error: 'atexit...
Jonathan Wakely [Wed, 3 Dec 2014 01:34:03 +0000 (01:34 +0000)]
re PR libstdc++/64161 (bootstrap error: condition_variable.cc:134:7: error: 'atexit' is not a member of 'std')

PR libstdc++/64161
* src/c++11/condition_variable.cc: Include <cstdlib>.

From-SVN: r218300

9 years agoDaily bump.
GCC Administrator [Wed, 3 Dec 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218299

9 years agoerror.c (warnings_not_errors): Use bool.
Tobias Burnus [Tue, 2 Dec 2014 23:39:49 +0000 (00:39 +0100)]
error.c (warnings_not_errors): Use bool.

2014-12-02  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * error.c (warnings_not_errors): Use bool.
        (gfc_clear_error): Update.
        (gfc_get_errors): Ditto. Use bool argument.
        * gfortran.h (gfc_get_errors): Update prototype.
        * resolve.c (resolve_global_procedure): Update call.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218296

9 years agolibcpp uses diagnostic->override_column to give a custom column number to diagnostics.
Manuel López-Ibáñez [Tue, 2 Dec 2014 23:16:21 +0000 (23:16 +0000)]
libcpp uses diagnostic->override_column to give a custom column number to diagnostics.

libcpp uses diagnostic->override_column to give a custom column number to
diagnostics. This is taken into account when building the prefix, but it was
missing when placing the caret.

2014-12-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* diagnostic.c (diagnostic_show_locus): Honor override_column when
placing the caret.

From-SVN: r218295

9 years agodownload_prerequisites: Download ISL 0.14 instead of 0.12.2.
Tobias Burnus [Tue, 2 Dec 2014 22:41:01 +0000 (23:41 +0100)]
download_prerequisites: Download ISL 0.14 instead of 0.12.2.

2014-12-02  Tobias Burnus  <burnus@net-b.de>

        * download_prerequisites: Download ISL 0.14 instead of 0.12.2.

From-SVN: r218294

9 years agoasan: support for globals in kernel
Dmitry Vyukov [Tue, 2 Dec 2014 18:58:59 +0000 (10:58 -0800)]
asan: support for globals in kernel

2014-12-02  Dmitry Vyukov  <dvyukov@google.com>
* asan.c: (asan_finish_file): Use default priority for constructors
in kernel mode.

From-SVN: r218281

9 years agoavx512ifma-vpmaddhuq-2.c: Define AVX512IFMA.
Uros Bizjak [Tue, 2 Dec 2014 17:32:27 +0000 (18:32 +0100)]
avx512ifma-vpmaddhuq-2.c: Define AVX512IFMA.

* gcc.target/i386/avx512ifma-vpmaddhuq-2.c: Define AVX512IFMA.
* gcc.target/i386/avx512ifma-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-2.c: Define AVX512VBMI.
* gcc.target/i386/avx512vbmi-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-2.c: Ditto.

From-SVN: r218280

9 years agoconstexpr.c (cxx_eval_check_shift_p): New function.
Marek Polacek [Tue, 2 Dec 2014 17:23:34 +0000 (17:23 +0000)]
constexpr.c (cxx_eval_check_shift_p): New function.

* constexpr.c (cxx_eval_check_shift_p): New function.
(cxx_eval_binary_expression): Call it.  Set NON_CONSTANT_P if it
returns true.

* g++.dg/cpp0x/constexpr-shift1.C: New test.
* g++.dg/cpp1y/constexpr-shift1.C: New test.
* g++.dg/ubsan/pr63956.C: Add dg-errors.

From-SVN: r218279

9 years agoline-map.h (linemap_assert_fails): Declare.
Manuel López-Ibáñez [Tue, 2 Dec 2014 16:03:31 +0000 (16:03 +0000)]
line-map.h (linemap_assert_fails): Declare.

libcpp/ChangeLog:

2014-12-02  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* include/line-map.h (linemap_assert_fails): Declare.
* line-map.c (linemap_position_for_loc_and_offset): Use it.

From-SVN: r218277

9 years agoline-map.c (linemap_add): Fix typo.
Manuel López-Ibáñez [Tue, 2 Dec 2014 16:00:33 +0000 (16:00 +0000)]
line-map.c (linemap_add): Fix typo.

2014-12-02  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * line-map.c (linemap_add): Fix typo.
        (linemap_line_start): Fix whitespace.

From-SVN: r218276

9 years agore PR target/64115 (ICE: : in rs6000_delegitimize_address, at config/rs6000/rs6000...
Ulrich Weigand [Tue, 2 Dec 2014 14:27:46 +0000 (14:27 +0000)]
re PR target/64115 (ICE: : in rs6000_delegitimize_address, at config/rs6000/rs6000.c:7051)

PR target/64115
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove
invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING.

From-SVN: r218273

9 years agoStop only if there aren't any usable algorithms
H.J. Lu [Tue, 2 Dec 2014 14:10:23 +0000 (14:10 +0000)]
Stop only if there aren't any usable algorithms

When searching for an usable algorithm with -minline-all-stringops,
decide_alg stops when it sees libcall even if there is a usable
algorithm.  It goes into an infinite loop.  This patch changes
decide_alg to stop searching only if there aren't any usable algorithms.
Testd on Linux/x86-64.

gcc/

PR target/64108
* config/i386/i386.c (decide_alg): Stop only if there aren't
any usable algorithms.

gcc/testsuite/

PR target/64108
* gcc.target/i386/memset-strategy-2.c: New test.

From-SVN: r218272

9 years agore PR rtl-optimization/63718 (ARM Thumb1 bootstrap fail after fuse-caller-save info...
Tom de Vries [Tue, 2 Dec 2014 13:35:10 +0000 (13:35 +0000)]
re PR rtl-optimization/63718 (ARM Thumb1 bootstrap fail after fuse-caller-save info in cprop-hardreg)

2014-12-02  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/63718
* config/arm/arm.c (arm_option_override): Disable fuse-caller-save for
Thumb1.

From-SVN: r218271

9 years agostatus_cxx2011.xml: Update.
Jonathan Wakely [Tue, 2 Dec 2014 13:26:18 +0000 (13:26 +0000)]
status_cxx2011.xml: Update.

* doc/xml/manual/status_cxx2011.xml: Update.
* doc/xml/manual/status_cxx2014.xml: Update.
* doc/html/manual/status.html: Regenerate.

From-SVN: r218270

9 years agomatch.pd: When combining divisions exclude the degenerate case involving INT_MIN...
Richard Biener [Tue, 2 Dec 2014 13:09:13 +0000 (13:09 +0000)]
match.pd: When combining divisions exclude the degenerate case involving INT_MIN from...

2014-12-02  Richard Biener  <rguenther@suse.de>

* match.pd: When combining divisions exclude the degenerate
case involving INT_MIN from overflow handling.

* gcc.dg/torture/20141202-1.c: New testcase.

From-SVN: r218269

9 years agoAdd a test for PR ipa/63814
H.J. Lu [Tue, 2 Dec 2014 12:47:29 +0000 (12:47 +0000)]
Add a test for PR ipa/63814

PR ipa/63814
* g++.dg/ipa/pr63814.C: New test.

From-SVN: r218268

9 years ago[AArch64/testsuite] Add missing testcase
Jiong Wang [Tue, 2 Dec 2014 11:57:08 +0000 (11:57 +0000)]
[AArch64/testsuite] Add missing testcase

  Add the missing testcase.
  (forget svn add in previous commit ...)

From-SVN: r218267

9 years ago[PATCH] Improve spillcost of literal pool loads
Wilco Dijkstra [Tue, 2 Dec 2014 11:55:08 +0000 (11:55 +0000)]
[PATCH] Improve spillcost of literal pool loads

2014-12-02  Wilco Dijkstra  <wdijkstr@arm.com>

  gcc/
    ira-costs.c (scan_one_insn): Improve spill cost adjustment.

  gcc/testsuite
    gcc.target/aarch64/remat1.c: New testcase.

From-SVN: r218266

9 years agore PR ipa/63814 (g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC)
Martin Jambor [Tue, 2 Dec 2014 10:12:27 +0000 (11:12 +0100)]
re PR ipa/63814 (g++.dg/ipa/pr61160-1.C fails with -m32 -fPIC)

2014-12-02  Martin Jambor  <mjambor@suse.cz>

PR ipa/63814
* ipa-cp.c (same_node_or_its_all_contexts_clone_p): New function.
(cgraph_edge_brings_value_p): New parameter dest, use
same_node_or_its_all_contexts_clone_p and check availability.
(cgraph_edge_brings_value_p): Likewise.
(get_info_about_necessary_edges): New parameter dest, pass it to
cgraph_edge_brings_value_p.  Update caller.
(gather_edges_for_value): Likewise.
(perhaps_add_new_callers): Use cgraph_edge_brings_value_p to check
both the destination and availability.

From-SVN: r218265

9 years agore PR target/64113 (Gcc on Alpha: Error: No lda !gpdisp!282 was found)
Uros Bizjak [Tue, 2 Dec 2014 10:04:14 +0000 (11:04 +0100)]
re PR target/64113 (Gcc on Alpha: Error: No lda !gpdisp!282 was found)

PR target/64113
* config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
using post-reload splitter.  Use peephole2 pass instead.
(call_value_osf_tlsldm): Ditto.
(TLS_CALL): New int iterator.
(tls): New int attribute.
(call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
and call_value_tlsldm using TLS_CALL int iterator.

From-SVN: r218264

9 years agogenmatch.c: Include hash-set.h.
Richard Biener [Tue, 2 Dec 2014 09:30:15 +0000 (09:30 +0000)]
genmatch.c: Include hash-set.h.

2014-12-02  Richard Biener  <rguenther@suse.de>
Prathamesh Kulkarni  <bilbotheelffriend@gmail.com>

* genmatch.c: Include hash-set.h.
(fatal_at): Add source_location overload.
(parser::record_operlist): New method.
(parser::push_simplify): Likewise.
(parser::oper_lists_set): New member.
(parser::oper_lists): Likewise.
(parser::parse_operation): Record seen operator list references.
(parser::parse_c_expr): Likewise.
(parser::parse_simplify): Init oper_lists_set and oper_lists
and use push_simplify.
(parser::parser): Init oper_lists_set and oper_lists.

Co-Authored-By: Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
From-SVN: r218261

9 years agomatch.pd: Restrict division combining to trunc_div and exact_div.
Richard Biener [Tue, 2 Dec 2014 09:03:44 +0000 (09:03 +0000)]
match.pd: Restrict division combining to trunc_div and exact_div.

2014-12-02  Richard Biener  <rguenther@suse.de>

* match.pd: Restrict division combining to trunc_div and
exact_div.

From-SVN: r218260

9 years agore PR fortran/64137 (Fortran FE builds invalid GENERIC)
Richard Biener [Tue, 2 Dec 2014 08:50:57 +0000 (08:50 +0000)]
re PR fortran/64137 (Fortran FE builds invalid GENERIC)

2014-12-02  Richard Biener  <rguenther@suse.de>

PR fortran/64137
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check
proper expressions type, use proper type for computing
-Huge - 1.

From-SVN: r218259

9 years agosparc.c (sparc_atomic_assign_expand_fenv): Remove NULL last argument from create_tmp_...
Jakub Jelinek [Tue, 2 Dec 2014 07:45:36 +0000 (08:45 +0100)]
sparc.c (sparc_atomic_assign_expand_fenv): Remove NULL last argument from create_tmp_var calls.

* config/sparc/sparc.c (sparc_atomic_assign_expand_fenv):
Remove NULL last argument from create_tmp_var calls.
* config/mips/mips.c (mips_atomic_assign_expand_fenv): Likewise.
* config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Likewise.
* config/i386/i386.c (add_condition_to_bb,
ix86_atomic_assign_expand_fenv): Likewise.
* config/mep/mep.c (mep_gimplify_va_arg_expr): Likewise.
* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
* config/aarch64/aarch64-builtins.c
(aarch64_atomic_assign_expand_fenv): Likewise.
* config/stormy16/stormy16.c (xstormy16_gimplify_va_arg_expr):
Likewise.
* config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Likewise.
* config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Likewise.
* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.

From-SVN: r218257

9 years agoalpha.c (alpha_gimple_fold_builtin): Use gimple_build_assign instead of gimple_build_...
Jakub Jelinek [Tue, 2 Dec 2014 07:32:54 +0000 (08:32 +0100)]
alpha.c (alpha_gimple_fold_builtin): Use gimple_build_assign instead of gimple_build_assign_with_ops and swap the...

* config/alpha/alpha.c (alpha_gimple_fold_builtin): Use
gimple_build_assign instead of gimple_build_assign_with_ops and swap
the order of first two arguments.
* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin):
Likewise.  Remove last NULL_TREE argument.

From-SVN: r218256

9 years agoDefine *_at_thread_exit() functions.
Jonathan Wakely [Tue, 2 Dec 2014 01:51:25 +0000 (01:51 +0000)]
Define *_at_thread_exit() functions.

* config/abi/pre/gnu.ver: Add new exports.
* include/std/condition_variable (notify_all_at_thread_exit): Declare.
(__at_thread_exit_elt): New base class.
* include/std/future: Add comments documenting the implementation.
(__future_base::_State_baseV2::_State_baseV2()): Use brace-or-equal
initializers and define constructor as defaulted.
(__future_base::_State_baseV2::_M_ready): Replace member function
with member variable.
(__future_base::_State_baseV2::_M_set_result): Set _M_ready.
(__future_base::_State_baseV2::_M_set_delayed_result): Define.
(__future_base::_State_baseV2::_M_break_promise): Set _M_ready.
(__future_base::_State_baseV2::_Make_ready): New helper class.
(__future_base::_Deferred_state::_M_has_deferred): Remove requirement
for caller to own mutex.
(__future_base::_Async_state_impl::~_Async_state_impl): Call join
directly.
(__future_base::_Task_state_base::_M_run): Take arguments by
reference.
(__future_base::_Task_state_base::_M_run_delayed): Declare new pure
virtual function.
(__future_base::_Task_state::_M_run_delayed): Define override.
(promise::set_value_at_thread_exit): Define.
(promise::set_exception_at_thread_exit): Define.
(packaged_task::make_ready_at_thread_exit): Define.
* src/c++11/condition_variable.cc (notify_all_at_thread_exit): Define.
* src/c++11/future.cc
(__future_base::_State_baseV2::_Make_ready::_M_set): Define.
* testsuite/30_threads/condition_variable/members/3.cc: New.
* testsuite/30_threads/packaged_task/members/at_thread_exit.cc: New.
* testsuite/30_threads/promise/members/at_thread_exit.cc: New.

From-SVN: r218255

9 years agoDaily bump.
GCC Administrator [Tue, 2 Dec 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218254

9 years agore PR rtl-optimization/59278 (combine does not replace matched insn)
Oleg Endo [Mon, 1 Dec 2014 23:53:12 +0000 (23:53 +0000)]
re PR rtl-optimization/59278 (combine does not replace matched insn)

testsuite/
PR rtl-optimization/59278
* gcc.target/sh/pr59278.c: New.

From-SVN: r218251

9 years agore PR rtl-optimization/59278 (combine does not replace matched insn)
Segher Boessenkool [Mon, 1 Dec 2014 23:48:26 +0000 (00:48 +0100)]
re PR rtl-optimization/59278 (combine does not replace matched insn)

PR rtl-optimization/59278
combine (reg_dead_at_p): Consider REG_UNUSED notes.

From-SVN: r218250

9 years ago* combine.c (try_combine): Use is_parallel_of_n_reg_sets some more.
Segher Boessenkool [Mon, 1 Dec 2014 22:37:34 +0000 (23:37 +0100)]
* combine.c (try_combine): Use is_parallel_of_n_reg_sets some more.

From-SVN: r218249

9 years agocombine.c (is_parallel_of_n_reg_sets): New function.
Segher Boessenkool [Mon, 1 Dec 2014 22:36:12 +0000 (23:36 +0100)]
combine.c (is_parallel_of_n_reg_sets): New function.

* combine.c (is_parallel_of_n_reg_sets): New function.
(can_split_parallel_of_n_reg_sets): New function.
(try_combine): If I2 is a PARALLEL of two SETs, split it into
two insns if possible.

From-SVN: r218248

9 years agore PR middle-end/64017 (Support ISL 0.14.0 (to fix ICE with gfortran.dg/graphite...
Tobias Burnus [Mon, 1 Dec 2014 19:07:37 +0000 (20:07 +0100)]
re PR middle-end/64017 (Support ISL 0.14.0 (to fix ICE with gfortran.dg/graphite/pr42393.f90))

2014-12-01  Tobias Burnus  <burnus@net-b.de>
            Jack Howarth  <howarth@bromo.med.uc.edu>

        PR middle-end/64017
        * configure.ac
        * (ac_has_isl_schedule_constraints_compute_schedule):
        New check.
        * doc/install.texi (ISL): Permit ISL 0.14.
        * graphite-optimize-isl.c (getScheduleForBandList,
        * optimize_isl):
        Conditionally use ISL 0.13+ functions.
        * graphite-interchange.c: Make 'extern "C"' conditional.
        * graphite-isl-ast-to-gimple.c: Ditto.
        * graphite-poly.c: Ditto.
        * graphite-sese-to-poly.c: Ditto.
        * config.in: Regenerate.
        * gcc/configure: Regenerate.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r218247

9 years agoImprovements to documentation of gcc_jit_context_release
David Malcolm [Mon, 1 Dec 2014 18:53:44 +0000 (18:53 +0000)]
Improvements to documentation of gcc_jit_context_release

gcc/jit/ChangeLog:
* docs/examples/tut02-square.c (main): Release the context
earlier, to show that this is possible.  Update error-handling
to avoid a double-release of the context, and to avoid
releasing a NULL result.
* docs/intro/tutorial02.rst: Discuss gcc_jit_context_release.
* docs/topics/functions.rst (GCC_JIT_FUNCTION_EXPORTED): Emphasize
* docs/topics/results.rst (gcc_jit_result): Mention that this
controls the lifetimes of machine code functions.
(gcc_jit_result_get_code): Spell out the requirements for this
to succeed, and the lifetime of the result.
(gcc_jit_result_release): Mention that this invalidates any code
that was obtained from the result.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r218245

9 years agore PR c++/60859 (Value-initialization of scalar in aggregate yields "braces around...
Paolo Carlini [Mon, 1 Dec 2014 18:52:05 +0000 (18:52 +0000)]
re PR c++/60859 (Value-initialization of scalar in aggregate yields "braces around scalar initializer")

/cp
2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60859
* decl.c (reshape_init_r): Do not reject value-initialization of
scalar array element.

/testsuite
2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60859
* g++.dg/cpp0x/initlist88.C: New.

From-SVN: r218244

9 years agoPR jit/64018: Add description of error-handling to the JIT tutorial
David Malcolm [Mon, 1 Dec 2014 18:47:31 +0000 (18:47 +0000)]
PR jit/64018: Add description of error-handling to the JIT tutorial

gcc/jit/ChangeLog:
PR jit/64018
* docs/intro/tutorial02.rst: Spell out lifetime of generated code.
Add description of error-handling, taken in part from...
* docs/topics/contexts.rst (Error-handling): Expand, and move some
content to tutorial02.rst.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r218243

9 years ago* combine.c (distribute_links): Handle multiple SETs.
Segher Boessenkool [Mon, 1 Dec 2014 18:28:07 +0000 (19:28 +0100)]
* combine.c (distribute_links): Handle multiple SETs.

From-SVN: r218242

9 years agocombine.c (struct insn_link): New field `regno'.
Segher Boessenkool [Mon, 1 Dec 2014 18:26:20 +0000 (19:26 +0100)]
combine.c (struct insn_link): New field `regno'.

* combine.c (struct insn_link): New field `regno'.
(alloc_insn_link): New parameter `regno'.  Use it.
(find_single_use): Check the new field.
(can_combine_def_p, can_combine_use_p): New functions.  Split
off from ...
(create_log_links): ... here.  Correct data type of `regno'.
Adjust call to alloc_insn_link.
(adjust_for_new_dest): Find regno, use it in call to
alloc_insn_link.
(try_combine): Check reg_used_between_p when combining a PARALLEL
as earlier insn.  Adjust call to alloc_insn_link.
(distribute_links): Check the new field.

From-SVN: r218241

9 years agoPR jit/64020: Fixes to handling of builtins
David Malcolm [Mon, 1 Dec 2014 18:23:37 +0000 (18:23 +0000)]
PR jit/64020: Fixes to handling of builtins

PR jit/64020
* docs/topics/types.rst (Standard types) Add new enum values to
the table of enum gcc_jit_types: GCC_JIT_TYPE_COMPLEX_FLOAT,
GCC_JIT_TYPE_COMPLEX_DOUBLE, GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.
Widen the left-hand column so that
GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE will fit.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

* jit-builtins.c: Include stringpool.h and jit-playback.h.
Move everything out of the gcc::jit::recording namespace into
just gcc::jit.
(struct builtin_data): Add fields "fnclass", "attr", and
"implicit_p".
(DEF_BUILTIN): Update macro so populate the new fields.
(builtins_manager::builtins_manager): Update for move out of
recording namespace.  Initialize the m_attributes array.
(builtins_manager::get_builtin_function): Likewise.
(builtins_manager::get_builtin_function_by_id): New function.
(builtins_manager::make_builtin_function): Update for move out of
recording namespace.  Add fix for PR jit/64020 by detecting
specific builtin ids and having them ensure that builtins for
other ids are created as necessary.
(builtins_manager::get_type): Update for move out of recording
namespace.
(builtins_manager::make_type): Likewise.  Add some missing
#undefs.
(builtins_manager::make_primitive_type): Update for move out of
recording namespace.  Implement the three BT_COMPLEX_ cases and
BT_DOUBLE_PTR.
(builtins_manager::make_fn_type): Update for move out of recording
namespace.
(builtins_manager::make_ptr_type): Likewise.
(builtins_manager::finish_playback): New function.
(builtins_manager::get_class): New function.
(builtins_manager::implicit_p): New function.
(builtins_manager::get_attrs_tree): Two new functions.
(builtins_manager::make_attrs_tree): New function.

* jit-builtins.h: Move everything out of the gcc::jit::recording
namespace into just gcc::jit.
(enum built_in_attribute): New.
(builtins_manager::builtins_manager): Update decl for namespace
change.
(builtins_manager::get_builtin_function): Likewise.
(builtins_manager::get_class): New.
(builtins_manager::implicit_p): New.
(builtins_manager::get_attrs_tree): Two new functions.
(builtins_manager::make_attrs_tree): New function.
(builtins_manager::finish_playback): New.
(builtins_manager::get_builtin_function_by_id): New.
(builtins_manager::make_builtin_function): Update decl for
namespace change.
(builtins_manager::get_type): Likewise.
(builtins_manager::make_type): Likewise.
(builtins_manager::make_primitive_type): Likewise.
(builtins_manager::make_fn_type): Likewise.
(builtins_manager::make_ptr_type): Likewise.
(builtins_manager): Likewise for fields.  Add new field
"m_attributes".

* jit-common.h (NUM_GCC_JIT_TYPES): Update.
(builtins_manager): Update forward decl to reflect namespace
change.

* jit-playback.c: Include attribs.h and jit-builtins.h.
(gcc::jit::playback::context::get_tree_node_for_type): Add cases
for the new COMPLEX_ types.
(gcc::jit::playback::context::new_function): If creating a
builtin, set the DECL_BUILT_IN_CLASS and attributes on the fndecl,
and call set_builtin_decl.
(gcc::jit::playback::context::replay): If we have a
builtins_manager, call its finish_playback method when we're done.

* jit-playback.h:
(gcc::jit::playback::context::get_builtins_manager): New function.

* jit-recording.c
(gcc::jit::recording::context::get_builtins_manager): New function.
(gcc::jit::recording::get_builtin_function): Use
get_builtins_manager, in case we're a child context.
(gcc::jit::recording::memento_of_get_type::dereference): Add the
COMPLEX_ types.
(gcc::jit::recording::memento_of_get_type::is_int): Likewise.
(gcc::jit::recording::memento_of_get_type::is_float): Likewise.
(gcc::jit::recording::memento_of_get_type::is_bool): Likewise.
(get_type_strings): Likewise.

* jit-recording.h
(gcc::jit::recording::context::get_builtins_manager): New.

* libgccjit.h (enum gcc_jit_types): Add
GCC_JIT_TYPE_COMPLEX_FLOAT, GCC_JIT_TYPE_COMPLEX_DOUBLE,
GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.

From-SVN: r218240

9 years agojit-builtins.c: Fix segfault on unsupported builtins
David Malcolm [Mon, 1 Dec 2014 18:16:37 +0000 (18:16 +0000)]
jit-builtins.c: Fix segfault on unsupported builtins

gcc/jit/ChangeLog:
* jit-builtins.c
(gcc::jit::recording::builtins_manager::get_builtin_function):
Check for NULL return from make_builtin_function.
(gcc::jit::recording::builtins_manager::make_builtin_function):
Check for NULL return from get_type.

From-SVN: r218239

9 years agojit-playback: Move dso-creation into its own function
David Malcolm [Mon, 1 Dec 2014 18:02:45 +0000 (18:02 +0000)]
jit-playback: Move dso-creation into its own function

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::compile): Move DSO
creation code into...
(gcc::jit::playback::context::convert_to_dso): New function.
* jit-playback.h (gcc::jit::playback::context::convert_to_dso):
New function.

From-SVN: r218238

9 years agojit-playback: Move argv-creation to its own function
David Malcolm [Mon, 1 Dec 2014 17:56:34 +0000 (17:56 +0000)]
jit-playback: Move argv-creation to its own function

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::compile): Use an
auto_vec<const char *> rather than a const char *[20] for the
top-level argv, and move the logic to build it to...
(gcc::jit::playback::context::make_fake_args): New function.
* jit-playback.h (gcc::jit::playback::context::make_fake_args):
New function.

From-SVN: r218237

9 years agoMove gcc_jit_result implementation to a new files jit-result.{h|c}
David Malcolm [Mon, 1 Dec 2014 17:52:03 +0000 (17:52 +0000)]
Move gcc_jit_result implementation to a new files jit-result.{h|c}

gcc/jit/ChangeLog:
* Make-lang.in (jit_OBJS): Add jit/jit-result.o.
* jit-playback.c: Include new header jit-result.h.
(gcc::jit::result::result): Move to new file jit-result.c.
(gcc::jit::result::~result): Likewise.
(gcc::jit::playback::result): Likewise.
* jit-recording.h (class gcc::jit::result): Move to new
header jit-result.h.
* jit-result.c: New file, to contain...
(gcc::jit::result::result): Move here from jit-playback.c,
removing erroneous "playback" namespace from comment.
(gcc::jit::result::~result): Likewise.
(gcc::jit::playback::result): Likewise.
* jit-result.h: New file, to contain...
(class gcc::jit::result): Move from jit-recording.h.
* libgccjit.c: Include jit-result.h.
(gcc_jit_result_get_code): Update comment to reflect move
of implementation.
(gcc_jit_result_release): Likewise.

From-SVN: r218236

9 years agoPR jit/63854: Fix leaks in toyvm.c
David Malcolm [Mon, 1 Dec 2014 17:40:03 +0000 (17:40 +0000)]
PR jit/63854: Fix leaks in toyvm.c

gcc/jit/ChangeLog:
PR jit/63854
* docs/examples/tut04-toyvm/toyvm.c
(toyvm_compiled_function): New typedef.
(toyvm_compiled_func) Rename to...
(toyvm_compiled_code) ...this.
(struct toyvm_compiled_function): New struct.
(toyvm_function_compile): Return a toyvm_compiled_function *
rather than a toyvm_compiled_func, so that the caller can fully
clean things up.  Free "funcname".
(test_script): Update for change to toyvm_function_compile.
Clean up the toyvm_compiled_function.
(main): Likewise.
(docs/intro/tutorial04.rst): Update to reflect the above changes,
and to better spell out the lifetime of the compiled code.

From-SVN: r218234

9 years agoPR jit/63854: Fix leak in real.c for i386:init_ext_80387_constants
David Malcolm [Mon, 1 Dec 2014 17:28:28 +0000 (17:28 +0000)]
PR jit/63854: Fix leak in real.c for i386:init_ext_80387_constants

gcc/ChangeLog:
PR jit/63854
* real.c (real_from_string): Add missing mpfr_clear.

From-SVN: r218233

9 years ago[AArch64][obvious] Gate fuse_adrp_add_1.c test on aarch64_small.
Kyrylo Tkachov [Mon, 1 Dec 2014 17:26:35 +0000 (17:26 +0000)]
[AArch64][obvious] Gate fuse_adrp_add_1.c test on aarch64_small.

* gcc.target/aarch64/fuse_adrp_add_1.c: Gate test on aarch64_small.

From-SVN: r218232

9 years agoPR jit/63854: Fix leak within jit-builtins.c
David Malcolm [Mon, 1 Dec 2014 17:22:19 +0000 (17:22 +0000)]
PR jit/63854: Fix leak within jit-builtins.c

gcc/jit/ChangeLog:
PR jit/63854
* jit-builtins.c
(gcc::jit::recording::builtins_manager::make_fn_type): Call the
context's new_function_type method, rather than directly creating
a function_type instance.
* jit-recording.c
(gcc::jit::recording::context::new_function_type): New method,
adapted from part of...
(gcc::jit::recording::context::new_function_ptr_type): ...this.
Update to call new_function_type.
* jit-recording.h
(gcc::jit::recording::context::new_function_type): New method.

From-SVN: r218231

9 years agoPR jit/63854: Fix leak in tree-ssa-math-opts.c
David Malcolm [Mon, 1 Dec 2014 17:16:04 +0000 (17:16 +0000)]
PR jit/63854: Fix leak in tree-ssa-math-opts.c

gcc/ChangeLog:
PR jit/63854
* tree-ssa-math-opts.c (execute_cse_sincos_1): Fix a missing
release of stmts by converting it to an auto_vec.

From-SVN: r218230

9 years agojit.exp: Verify the exit status of the spawnee
David Malcolm [Mon, 1 Dec 2014 16:25:59 +0000 (16:25 +0000)]
jit.exp: Verify the exit status of the spawnee

gcc/testsuite/ChangeLog:
* jit.dg/jit.exp (verify_exit_status): New function.
(fixed_host_execute): Verify the exit status of the spawnee.

From-SVN: r218229

9 years agojit.exp: fix timeout bug inherited from dejagnu.exp
David Malcolm [Mon, 1 Dec 2014 16:18:57 +0000 (16:18 +0000)]
jit.exp: fix timeout bug inherited from dejagnu.exp

gcc/testsuite/ChangeLog:
* jit.dg/jit.exp (fixed_host_execute): Fix timeout bug.

From-SVN: r218228

9 years agoPR jit/63854: Add support for running "make check-jit" under valgrind
David Malcolm [Mon, 1 Dec 2014 16:13:29 +0000 (16:13 +0000)]
PR jit/63854: Add support for running "make check-jit" under valgrind

gcc/testsuite/ChangeLog:
PR jit/63854
* jit.dg/jit.exp (report_leak): New.
(parse_valgrind_logfile): New.
(fixed_host_execute): Detect if RUN_UNDER_VALGRIND is present
in the environment, and if so, run the executable under
valgrind, capturing valgrind's output to a logfile.  Parse the
log file, generating PASSes and XFAILs for the summary of leaks.
Use "wait" before "close": valgrind might not have finished
writing the log out before we parse it, so we need to wait for
the spawnee to finish.

From-SVN: r218227

9 years agoPR jit/63969: Fix segfault in error-handling when driver isn't found
David Malcolm [Mon, 1 Dec 2014 15:58:11 +0000 (15:58 +0000)]
PR jit/63969: Fix segfault in error-handling when driver isn't found

gcc/jit/ChangeLog:
PR jit/63969
* jit-playback.c: Ensure that ctxt_progname is non-NULL.

gcc/testsuite/ChangeLog:
PR jit/63969
* jit.dg/harness.h (CHECK_STRING_STARTS_WITH): New.
(check_string_starts_with): New.
* jit.dg/test-error-pr63969-missing-driver.c: New.

From-SVN: r218226

9 years agojit.exp: Avoid embedding full paths into test results
David Malcolm [Mon, 1 Dec 2014 15:48:46 +0000 (15:48 +0000)]
jit.exp: Avoid embedding full paths into test results

gcc/testsuite/ChangeLog:
* jit.dg/jit.exp (jit-dg-test): Use $name rathen than $prog
when calling jit_check_compile to avoid embedding the full path of
the testcase into the test results.

From-SVN: r218225

9 years agoMakefile.in (gimple-match.o-warn): Use -Wno-unused instead of -Wno-unused-variable...
Richard Biener [Mon, 1 Dec 2014 15:46:46 +0000 (15:46 +0000)]
Makefile.in (gimple-match.o-warn): Use -Wno-unused instead of -Wno-unused-variable and...

2014-12-01  Richard Biener  <rguenther@suse.de>

* Makefile.in (gimple-match.o-warn): Use -Wno-unused instead of
-Wno-unused-variable and -Wno-unused-but-set-variable to restore
bootstrap with old GCC.
(generic-match.o-warn): Likewise.

From-SVN: r218224

9 years agofold-const.c (const_binop): Handle POINTER_PLUS_EXPR.
Richard Biener [Mon, 1 Dec 2014 15:43:58 +0000 (15:43 +0000)]
fold-const.c (const_binop): Handle POINTER_PLUS_EXPR.

2014-12-01  Richard Biener  <rguenther@suse.de>

* fold-const.c (const_binop): Handle POINTER_PLUS_EXPR.
Properly handle FIXED_CST shifts by INTEGER_CST.
(const_binop): Move COMPLEX_EXPR, VEC_PACK_TRUNC_EXPR,
VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR,
VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_EVEN_EXPR and
VEC_WIDEN_MULT_ODD_EXPR handling here from ...
(fold_binary_loc): ... here.  Call const_binop overload
with result type.

From-SVN: r218223

9 years agore PR tree-optimization/64121 (ICE: SSA corruption with -O -fsanitize=undefined)
Marek Polacek [Mon, 1 Dec 2014 15:37:55 +0000 (15:37 +0000)]
re PR tree-optimization/64121 (ICE: SSA corruption with -O -fsanitize=undefined)

PR sanitizer/64121
* ubsan.c (instrument_object_size): Stop searching if the base
occurs in abnormal phi.

* c-c++-common/ubsan/pr64121.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r218222

9 years agore PR sanitizer/63956 ([UBSAN] ICE segfault in cxx_eval_call_expression ../../gcc...
Marek Polacek [Mon, 1 Dec 2014 15:29:11 +0000 (15:29 +0000)]
re PR sanitizer/63956 ([UBSAN] ICE segfault in cxx_eval_call_expression ../../gcc/cp/constexpr.c)

PR sanitizer/63956
* ubsan.c (is_ubsan_builtin_p): Check also built-in class.
cp/
* constexpr.c: Include ubsan.h.
(cxx_eval_call_expression): Bail out for IFN_UBSAN_{NULL,BOUNDS}
internal functions and for ubsan builtins.
* error.c: Include internal-fn.h.
(dump_expr): Add printing of internal functions.
testsuite/
* c-c++-common/ubsan/shift-5.c: Add xfails.
* g++.dg/ubsan/div-by-zero-1.C: Don't use -w.  Add xfail.
* g++.dg/ubsan/pr63956.C: New test.

From-SVN: r218221

9 years agoconstexpr.c (literal_type_p): Return true for void type in C++14.
Marek Polacek [Mon, 1 Dec 2014 15:26:10 +0000 (15:26 +0000)]
constexpr.c (literal_type_p): Return true for void type in C++14.

* constexpr.c (literal_type_p): Return true for void type in C++14.

* g++.dg/cpp0x/constexpr-function2.C: Limit dg-error to C++11.
* g++.dg/cpp0x/constexpr-neg1.C: Likewise.
* g++.dg/cpp1y/constexpr-void1.C: New test.

From-SVN: r218220