aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-23pr63856 - test caseTrevor Saunders1-0/+15
From-SVN: r217991
2014-11-23invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that -Wtabs enables the warning.Tobias Burnus2-3/+8
2014-11-23 Tobias Burnus <burnus@net-b.de> * invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that -Wtabs enables the warning. From-SVN: r217990
2014-11-23Fix ChangeLog formatting.Oleg Endo1-4/+6
From-SVN: r217988
2014-11-23re PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)Oleg Endo2-9/+24
gcc/ PR target/53976 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead of void. Abort at complex edges. (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values returned false. From-SVN: r217987
2014-11-23error.c (gfc_diagnostic_build_prefix): Correct coloring of the colon of the ↵Tobias Burnus2-1/+6
prefix. 2014-11-23 Tobias Burnus <burnus@net-b.de> * error.c (gfc_diagnostic_build_prefix): Correct coloring of the colon of the prefix. From-SVN: r217986
2014-11-23gfortran.h (gfc_option_t): Remove warn_tabs.Tobias Burnus7-25/+45
2014-11-23 Tobias Burnus <burnus@net-b.de> Manuel López-Ibáñez <manu@gcc.gnu.org> gcc/fortran/ * gfortran.h (gfc_option_t): Remove warn_tabs. * lang.opt (Wpedantic): Add. (Wtabs): Use Var and LangEnabledBy. * options.c (gfc_init_options, gfc_post_options, set_Wall): Remove -Wtabs handling. (gfc_handle_option): Update -std=, remove OPT_Wtabs. * scanner.c (gfc_gobble_whitespace): Update for flag-variable renaming. (load_line): Ditto. Pass warn flag to diagnostic. gcc/testsuite/ * gfortran.dg/tab_continuation.f: Update dg-*. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r217985
2014-11-2320120927-1.c: New testcase.Andrew Pinski3-0/+62
2014-11-23 Andrew Pinski <apinski@cavium.com> * gcc.c-torture/compile/20120927-1.c: New testcase. * gcc.c-torture/compile/20120830-1.c: New testcase. From-SVN: r217982
2014-11-22initlist-lifetime1.C: Fix testcase where argc is always greater than 1 ↵Andrew Pinski3-2/+12
(octeon simulator). 2014-11-22 Andrew Pinski <apinski@cavium.com> * g++.dg/cpp0x/initlist-lifetime1.C: Fix testcase where argc is always greater than 1 (octeon simulator). * g++.dg/cpp0x/initlist-lifetime2.C: Likewise. From-SVN: r217979
2014-11-23Daily bump.GCC Administrator1-1/+1
From-SVN: r217978
2014-11-222014-11-22 Andrew Pinski <apinski@cavium.com>Andrew Pinski6-5/+16
PR target/63971 * gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in the epilogue). * gcc.target/aarch64/test_frame_6.c: Likewise. * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30 and x19 (in the epilogue). * gcc.target/aarch64/test_frame_4.c: Likewise. * gcc.target/aarch64/test_frame_7.c: Likewise. From-SVN: r217975
2014-11-22Commit missing change log entries.John David Anglin2-0/+15
From-SVN: r217974
2014-11-22ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as ↵Jan Hubicka4-5/+23
having abstract origin used. * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as having abstract origin used. * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check. (clone_inlined_nodes): Copy abstract originflag. * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node. From-SVN: r217973
2014-11-22re PR other/63694 (Build error compiling asan.c: strtoull undeclared)John David Anglin5-2/+74
PR other/63694 * libiberty/configure.ac: Check for strtol, strtoul, strtoll and strtoull declarations. * libiberty/configure: Regenerated. * gcc/configure.ac: Check for strtol, strtoul, strtoll and strtoull declarations. * gcc/configure: Regenerated. * gcc/config.in: Regenerated. From-SVN: r217972
2014-11-22params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.Uros Bizjak3-7/+7
* params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200. * config/i386/i386.c (ix86_option_override_internal): Do not increase PARAM_MAX_COMPLETELY_PEELED_INSNS. From-SVN: r217971
2014-11-22re PR target/63783 ([SH] Miscompilation of boolean negation on SH4 using -O2)Oleg Endo7-18/+122
gcc/ PR target/63783 PR target/51244 * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn): Do not emit bitwise not insn. Emit logical not insn sequence instead. Adjust related comments throughout the file. gcc/testsuite/ PR target/63783 PR target/51244 * gcc.target/sh/torture/pr63783-1.c: New. * gcc.target/sh/torture/pr63783-2.c: New. * gcc.target/sh/pr51244-20.c: Adjust. * gcc.target/sh/pr51244-20-sh2a.c: Adjust. From-SVN: r217969
2014-11-22re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)Oleg Endo4-86/+124
gcc/ PR target/63986 PR target/51244 * config/sh/sh.c (sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use rtx_insn* for insn argument. (sh_split_movrt_negc_to_movt_xor): New function. (sh_find_set_of_reg): Move to ... * config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert to template function. (set_of_reg): Use rtx_insn* for insn member. (sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use rtx_insn* for insn argument. * config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor sequence using new sh_split_movrt_negc_to_movt_xor function. (movrt_xor): Allow also for SH2A. (*movt_movrt): Delete insns and splits. From-SVN: r217968
2014-11-22re PR tree-optimization/60770 (disappearing clobbers)Marc Glisse2-8/+43
2014-11-22 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/60770 * tree-sra.c (clobber_subtree): New function. (sra_modify_constructor_assign): Call it. From-SVN: r217967
2014-11-22trans-expr.c (gfc_caf_get_image_index): Fix image calculation.Tobias Burnus4-7/+85
gcc/fortran/ 2014-11-22 Tobias Burnus <burnus@net-b.de> * trans-expr.c (gfc_caf_get_image_index): Fix image calculation. gcc/testsuite/ 2014-11-22 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/cosubscript_1.f90: New. From-SVN: r217966
2014-11-22trans.c (Call_to_gnu): Strip unchecked conversions on actuals of In ↵Eric Botcazou4-6/+41
parameters if... * gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on actuals of In parameters if the destination type is an unconstrained composite type. From-SVN: r217965
2014-11-22trans.c (gnat_gimplify_expr): Add 'type' variable.Eric Botcazou4-10/+37
* gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable. <case NULL_EXPR>: Deal with unconstrained array types and use 'type'. <case ADDR_EXPR>: Use 'type'. <case DECL_EXPR>: Likewise. From-SVN: r217964
2014-11-22store-motion-fgcse-sm.c (dg-final): Cleanup store_modtion rtl dump.Uros Bizjak4-3/+12
* gcc.dg/store-motion-fgcse-sm.c (dg-final): Cleanup store_modtion rtl dump. * gcc.dg/var-expand1.c (dg-final): Cleanup loop2_unroll rtl dump. * gcc.dg/var-expand3.c (dg-final): Ditto. From-SVN: r217961
2014-11-22avx512vl-vpermb-2.c: Require avx512vbmi.Uros Bizjak7-2/+15
* gcc.target/i386/avx512vl-vpermb-2.c: Require avx512vbmi. * gcc.target/i386/avx512vl-vpermi2b-2.c: Ditto. * gcc.target/i386/avx512vl-vpermt2b-2.c: Ditto. * gcc.target/i386/avx512vl-vpmaddhuq-2.c: Require avx512ifma. * gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto. * gcc.target/i386/avx512vl-vpmultishiftqb-2.c: Ditto. From-SVN: r217960
2014-11-21re PR c++/63657 (-Wunused-variable: warning supressed by virtual dtor)Jason Merrill4-2/+23
PR c++/63657 PR c++/38958 * call.c (set_up_extended_ref_temp): Set TREE_USED on the reference if the temporary has a non-trivial destructor. * decl.c (poplevel): Don't look through references. From-SVN: r217957
2014-11-22linux-atomic.c (__kernel_cmpxchg2): New.Guy Martin2-141/+176
* config/pa/linux-atomic.c (__kernel_cmpxchg2): New. (FETCH_AND_OP_2): New. Use for subword and double word operations. (OP_AND_FETCH_2): Likewise. (COMPARE_AND_SWAP_2): Likewise. (SYNC_LOCK_TEST_AND_SET_2): Likewise. (SYNC_LOCK_RELEASE_2): Likewise. (SUBWORD_SYNC_OP): Remove. (SUBWORD_VAL_CAS): Likewise. (SUBWORD_BOOL_CAS): Likewise. (FETCH_AND_OP_WORD): Update. Consistently use signed types. Co-Authored-By: John David Anglin <danglin@gcc.gnu.org> From-SVN: r217956
2014-11-22Daily bump.GCC Administrator1-1/+1
From-SVN: r217955
2014-11-21futex.h (SYS_futex): Define if not already done.Steve Ellcey2-0/+9
2014-11-21 Steve Ellcey <sellcey@imgtec.com> * config/linux/mips/futex.h (SYS_futex): Define if not already done. From-SVN: r217952
2014-11-21re PR c++/63942 (constexpr conflicts with previous declaration)Jason Merrill5-2/+59
PR c++/63942 * name-lookup.c (supplement_binding_1): Override a mangling alias. * mangle.c (implicit_alias_p, remove_implicit_alias): New. (mangle_decl): Avoid creating conflicting alias with -fabi-compat-version=0, too. * cp-tree.h: Adjust. From-SVN: r217950
2014-11-21re PR c++/63849 ([c++11] ICE on variadic alias template with wrappers)Jason Merrill3-2/+47
PR c++/63849 * mangle.c (decl_mangling_context): Use template_type_parameter_p. From-SVN: r217949
2014-11-21re PR c++/63588 (ICE (segfault) on arm-linux-gnueabihf)Jason Merrill3-0/+13
PR c++/63588 * pt.c (uses_template_parms): Handle null argument. From-SVN: r217948
2014-11-21re PR target/63897 (gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14)Vladimir Makarov2-55/+80
2014-11-21 Vladimir Makarov <vmakarov@redhat.com> PR target/63897 * lra-lives.c (mark_regno_live, mark_regno_dead): Remove last argument. (process_bb_lives): Rename dead_insn_p on remove_p and global_live_info_p on dead_insn_p. Calculate local live info unconditionally. Remove last argument in calls mark_regno_live and mark_regno_dead. Reorganize body of EXECUTE_IF_SET_IN_BITMAP. (lra_create_live_ranges): Rename to lra_create_live_ranges_1. Return bool. Rename global_live_info_p on dead_insn_p. Return flag of live info change. (lra_create_live_ranges): New. From-SVN: r217947
2014-11-21re PR target/63848 (FAIL: c-c++-common/torture/builtin-arith-overflow-17.c ↵Jakub Jelinek2-90/+108
-O0 execution test) PR target/63848 PR target/63975 * internal-fn.c (expand_arith_overflow_result_store, expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use do_compare_rtx_and_jump instead of emit_cmp_and_jump_insns everywhere, adjust arguments to those functions. Use unsignedp = true for EQ, NE, GEU, LEU, LTU and GTU comparisons. From-SVN: r217946
2014-11-21re PR tree-optimization/64006 (__builtin_mul_overflow fails to signal overflow)Jakub Jelinek4-0/+125
PR tree-optimization/64006 * tree-vrp.c (stmt_interesting_for_vrp): Return true for {ADD,SUB,MUL}_OVERFLOW internal calls. (vrp_visit_assignment_or_call): For {ADD,SUB,MUL}_OVERFLOW internal calls, check if any REALPART_EXPR/IMAGPART_EXPR immediate uses would change their value ranges and return SSA_PROP_INTERESTING if so, or SSA_PROP_NOT_INTERESTING if there are some REALPART_EXPR/IMAGPART_EXPR immediate uses interesting for vrp. * gcc.c-torture/execute/pr64006.c: New test. From-SVN: r217945
2014-11-21* Makefile.in: Regenerate.Ilya Verbin2-6/+5
From-SVN: r217944
2014-11-21go-test.exp (go-set-goarch): Add case for ppc64le goarch value for go testing.Lynn Boger2-1/+10
* go.test/go-test.exp (go-set-goarch): Add case for ppc64le goarch value for go testing. From-SVN: r217942
2014-11-21runtime: GOARCH values for ppc64 BE & LEIan Lance Taylor4-7/+45
ppc64 for BE ppc64le for LE issue 8654 From-SVN: r217941
2014-11-21re PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)Michael Meissner3-11/+18
2014-11-21 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/63965 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Do not set Altivec & -16 mask if the type is not valid for Altivec registers. (rs6000_secondary_reload_memory): Add support for ((reg + const) + reg) that occurs during push_reload processing. * config/rs6000/altivec.md (altivec_mov<mode>): Add instruction alternative for moving constant vectors which are easy altivec constants to GPRs. Set the length attribute each of the alternatives. From-SVN: r217940
2014-11-21Refine configure guard for MIPS .module availabilityMatthew Fortune3-4/+12
gcc/ * configure.ac: When checking for MIPS .module support ensure that o32 FPXX is supported to avoid a second configure check. * configure: Regenerate. From-SVN: r217939
2014-11-21[AArch64] Add vector pattern for __builtin_ctzJiong Wang7-0/+84
gcc/ * config/aarch64/iterators.md (VS): New mode iterator. (vsi2qi): New mode attribute. (VSI2QI): Likewise. * config/aarch64/aarch64-simd-builtins.def: New entry for ctz. * config/aarch64/aarch64-simd.md (ctz<mode>2): New pattern for ctz. * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Support BUILT_IN_CTZ. gcc/testsuite/ * gcc.target/aarch64/vect_ctz_1.c: New testcase. From-SVN: r217938
2014-11-21Always use PIC option with -shared in libtoolH.J. Lu41-46/+146
Libtool needs to pass PIC option -shared when creating shared object to link regular object files with slim-lto archive. PR bootstrap/63784 * libtool.m4: Add $pic_flag with -shared. boehm-gc/ PR bootstrap/63784 * configure: Regenerated. gcc/ PR bootstrap/63784 * configure: Regenerated. libatomic/ PR bootstrap/63784 * configure: Regenerated. libbacktrace/ PR bootstrap/63784 * configure: Regenerated. libcc1/ PR bootstrap/63784 * configure: Regenerated. libcilkrts/ PR bootstrap/63784 * configure: Regenerated. libffi/ PR bootstrap/63784 * configure: Regenerated. libgfortran/ PR bootstrap/63784 * configure: Regenerated. libgomp/ PR bootstrap/63784 * configure: Regenerated. libitm/ PR bootstrap/63784 * configure: Regenerated. libjava/ PR bootstrap/63784 * configure: Regenerated. libjava/classpath/ PR bootstrap/63784 * configure: Regenerated. libobjc/ PR bootstrap/63784 * configure: Regenerated. libquadmath/ PR bootstrap/63784 * configure: Regenerated. libsanitizer/ PR bootstrap/63784 * configure: Regenerated. libssp/ PR bootstrap/63784 * configure: Regenerated. libstdc++-v3/ PR bootstrap/63784 * configure: Regenerated. libvtv/ PR bootstrap/63784 * configure: Regenerated. lto-plugin/ PR bootstrap/63784 * configure: Regenerated. From-SVN: r217937
2014-11-21[AArch64] Implement vsqrt_f64 intrinsicKyrylo Tkachov4-0/+39
* config/aarch64/arm_neon.h (vsqrt_f64): New intrinsic. * gcc.target/aarch64/simd/vsqrt_f64_1.c From-SVN: r217936
2014-11-21Add x86 pcommit instruction.Ilya Tocar21-11/+156
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, OPTION_MASK_ISA_PCOMMIT_SET): New. (ix86_handle_option): Handle OPT_mpcommit. * config.gcc: Add pcommitintrin.h * config/i386/pcommitintrin.h: New file. * config/i386/cpuid.h (bit_PCOMMIT): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect pcommit. * config/i386/i386-c.c (ix86_target_macros_internal): Define __PCOMMIT__. * config/i386/i386.c (ix86_target_string): Add -mpcommit. (PTA_PCOMMIT): Define. (ix86_option_override_internal): Handle new option. (ix86_valid_target_attribute_inner_p): Add pcommit. (ix86_builtins): Add IX86_BUILTIN_PCOMMIT. (bdesc_special_args): Add __builtin_ia32_pcommit. * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Define. * config/i386/i386.md (unspecv): Add UNSPECV_PCOMMIT. (pcommit): New instruction. * config/i386/i386.opt: Add mpcommit. * config/i386/x86intrin.h: Include pcommitintrin.h. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mpcommit. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/pcommit-1.c: New test. * gcc.target/i386/sse-12.c: Add new options. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. From-SVN: r217935
2014-11-21PR debug/38757 gcc does not emit DW_LANG_C99.Mark Wielaard16-21/+148
For C and C++ add the language standard version in use to lang_hooks.name. Change users of lang_hook.name to check with new functions lang_GNU_C or lang_GNU_CXX. In dwarf2out.c output the DW_LANG_C version from the lang_hooks.name and merge any LTO TRANSLATION_UNIT_LANGUAGE found. Adds two testcases to dwarf2.exp to check the right DWARF DW_AT_language is set on the compile_unit depending on the -std=c89 or -std=c99 setting. gcc/c-family/ChangeLog PR debug/38757 * c-opts.c (set_std_c89): Set lang_hooks.name. (set_std_c99): Likewise. (set_std_c11): Likewise. (set_std_cxx98): Likewise. (set_std_cxx11): Likewise. (set_std_cxx14): Likewise. (set_std_cxx1z): Likewise. gcc/ChangeLog PR debug/38757 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use lang_GNU_C. * config/darwin.c (darwin_file_end): Use lang_GNU_CXX. (darwin_override_options): Likewise. * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p): Likewise. * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise. * dbxout.c (get_lang_number): Likewise. (dbxout_type): Likewise. (dbxout_symbol_location): Likewise. * dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype also for DW_LANG_{C,C99,ObjC}. (highest_c_language): New function. (gen_compile_unit_die): Call highest_c_language to merge LTO TRANSLATION_UNIT_LANGUAGE. Use strncmp language_string to determine if DW_LANG_C99 or DW_LANG_C89 should be returned. * fold-const.c (fold_cond_expr_with_comparison): Use lang_GNU_CXX. * langhooks.h (struct lang_hooks): Add version comment to name. (lang_GNU_C): New function declaration. (lang_GNU_CXX): Likewise. * langhooks.c (lang_GNU_C): New function. (lang_GNU_CXX): Likewise. * vmsdbgout.c (vmsdbgout_init): Use lang_GNU_C and lang_GNU_CXX. gcc/testsuite/ChangeLog PR debug/38757 * gcc.dg/debug/dwarf2/lang-c89.c: New test. * gcc.dg/debug/dwarf2/lang-c99.c: Likewise. From-SVN: r217934
2014-11-21Support clwb x86 instruction.Ilya Tocar21-11/+169
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_CLWB_UNSET, OPTION_MASK_ISA_CLWB_SET): New. (ix86_handle_option): Handle OPT_mclwb. * config.gcc: Add clwbintrin.h. * config/i386/clwbintrin.h: New file. * config/i386/cpuid.h (bit_CLWB): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect clwb. * config/i386/i386-c.c (ix86_target_macros_internal): Define __CLWB__. * config/i386/i386.c (ix86_target_string): Add -mclwb. (PTA_CLWB): Define. (ix86_option_override_internal): Handle new option. (ix86_valid_target_attribute_inner_p): Add clwb. (ix86_builtins): Add IX86_BUILTIN_CLWB. (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clwb. (ix86_expand_builtin): Handle IX86_BUILTIN_CLWB. * config/i386/i386.h (TARGET_CLWB, TARGET_CLWB_P): Define. * config/i386/i386.md (unspecv): Add UNSPECV_CLWB. (clwb): New instruction. * config/i386/i386.opt: Add mclwb. * config/i386/x86intrin.h: Include clwbintrin.h. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mclwb. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/clwb-1.c: New test. * gcc.target/i386/sse-12.c: Add new options. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. From-SVN: r217933
2014-11-21Add avx512vbmi instructions.Ilya Tocar36-13/+1210
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET OPTION_MASK_ISA_AVX512VBMI_UNSET): New. (ix86_handle_option): Handle OPT_mavx512vbmi. * config.gcc: Add avx512vbmiintrin.h, avx512vbmivlintrin.h. * config/i386/avx512vbmiintrin.h: New file. * config/i386/avx512vbmivlintrin.h: Ditto. * config/i386/cpuid.h (bit_AVX512VBMI): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vbmi. * config/i386/i386-c.c (ix86_target_macros_internal): Define __AVX512VBMI__. * config/i386/i386.c (ix86_target_string): Add -mavx512vbmi. (PTA_AVX512VBMI): Define. (ix86_option_override_internal): Handle new options. (ix86_valid_target_attribute_inner_p): Add avx512vbmi, (ix86_builtins): Add IX86_BUILTIN_VPMULTISHIFTQB512, IX86_BUILTIN_VPMULTISHIFTQB256, IX86_BUILTIN_VPMULTISHIFTQB128, IX86_BUILTIN_VPERMVARQI512_MASK, IX86_BUILTIN_VPERMT2VARQI512, IX86_BUILTIN_VPERMT2VARQI512_MASKZ, IX86_BUILTIN_VPERMI2VARQI512, IX86_BUILTIN_VPERMVARQI256_MASK, IX86_BUILTIN_VPERMVARQI128_MASK, IX86_BUILTIN_VPERMT2VARQI256, IX86_BUILTIN_VPERMT2VARQI256_MASKZ, IX86_BUILTIN_VPERMT2VARQI128, IX86_BUILTIN_VPERMI2VARQI256, IX86_BUILTIN_VPERMI2VARQI128. (bdesc_special_args): Add __builtin_ia32_vpmultishiftqb512_mask, __builtin_ia32_vpmultishiftqb256_mask, __builtin_ia32_vpmultishiftqb128_mask, __builtin_ia32_permvarqi512_mask, __builtin_ia32_vpermt2varqi512_mask, __builtin_ia32_vpermt2varqi512_maskz, __builtin_ia32_vpermi2varqi512_mask, __builtin_ia32_permvarqi256_mask, __builtin_ia32_permvarqi128_mask, __builtin_ia32_vpermt2varqi256_mask, __builtin_ia32_vpermt2varqi256_maskz, __builtin_ia32_vpermt2varqi128_mask, __builtin_ia32_vpermt2varqi128_maskz, __builtin_ia32_vpermi2varqi256_mask, __builtin_ia32_vpermi2varqi128_mask. (ix86_hard_regno_mode_ok): Allow big masks for AVX512VBMI. * config/i386/i386.h (TARGET_AVX512VBMI, TARGET_AVX512VBMI_P): Define. * config/i386/i386.opt: Add mavx512vbmi. * config/i386/immintrin.h: Include avx512vbmiintrin.h, avx512vbmivlintrin.h. * config/i386/sse.md (unspec): Add UNSPEC_VPMULTISHIFT. (VI1_AVX512VL): New iterator. (<avx512>_permvar<mode><mask_name>): Use it. (<avx512>_vpermi2var<mode>3_maskz): Ditto. (<avx512>_vpermi2var<mode>3<sd_maskz_name>): Ditto. (<avx512>_vpermi2var<mode>3_mask): Ditto. (<avx512>_vpermt2var<mode>3_maskz): Ditto. (<avx512>_vpermt2var<mode>3<sd_maskz_name>): Ditto. (<avx512>_vpermt2var<mode>3_mask): Ditto. (vpmultishiftqb<mode><mask_name>): Ditto. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mavx512vbmi. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/avx512f-helper.h: Add avx512vbmi-check.h. * gcc.target/i386/avx512vbmi-check.h: Ditto. * gcc.target/i386/avx512vbmi-vpermb-1.c: Ditto. * gcc.target/i386/avx512vbmi-vpermb-2.c: Ditto. * gcc.target/i386/avx512vbmi-vpermi2b-1.c: Ditto. * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Ditto. * gcc.target/i386/avx512vbmi-vpermt2b-1.c: Ditto. * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Ditto. * gcc.target/i386/avx512vbmi-vpmultishiftqb-1.c: Ditto. * gcc.target/i386/avx512vbmi-vpmultishiftqb-2.c: Ditto. * gcc.target/i386/avx512vl-vpermb-2.c: Ditto. * gcc.target/i386/avx512vl-vpermi2b-2.c: Ditto. * gcc.target/i386/avx512vl-vpermt2b-2.c: Ditto. * gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto. * gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto. * gcc.target/i386/avx512vl-vpmultishiftqb-2.c: Ditto. * gcc.target/i386/i386.exp (check_effective_target_avx512vbmi): New. * gcc.target/i386/sse-12.c: Add new options. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. From-SVN: r217932
2014-11-21re PR rtl-optimization/63952 (bootstrap failure (ICE in prepare_cmp_insn) on ↵Ulrich Weigand3-9/+16
s390x in libjava) PR rtl-optimization/63952 * optabs.c (prepare_cmp_insn): Do not call can_compare_p for CCmode. * config/s390/s390.md ("cbranchcc4"): Accept any s390_comparison. Remove incorrect TARGET_HARD_FLOAT check and no-op expander code. From-SVN: r217929
2014-11-21Add avx512ifma instructions.Ilya Tocar30-11/+756
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512IFMA_SET, OPTION_MASK_ISA_AVX512IFMA_UNSET): New. (ix86_handle_option): Handle OPT_mavx512ifma. * config.gcc: Add avx512ifmaintrin.h, avx512ifmavlintrin.h. * config/i386/avx512ifmaintrin.h: New file. * config/i386/avx512ifmaivlntrin.h: Ditto. * config/i386/cpuid.h (bit_AVX512IFMA): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512ifma. * config/i386/i386-c.c (ix86_target_macros_internal): Define __AVX512IFMA__. * config/i386/i386.c (ix86_target_string): Add -mavx512ifma. (PTA_AVX512IFMA): Define. (ix86_option_override_internal): Handle new options. (ix86_valid_target_attribute_inner_p): Add avx512ifma. (ix86_builtins): Add IX86_BUILTIN_VPMADD52LUQ512, IX86_BUILTIN_VPMADD52HUQ512, IX86_BUILTIN_VPMADD52LUQ256, IX86_BUILTIN_VPMADD52HUQ256, IX86_BUILTIN_VPMADD52LUQ128, IX86_BUILTIN_VPMADD52HUQ128, IX86_BUILTIN_VPMADD52LUQ512_MASKZ, IX86_BUILTIN_VPMADD52HUQ512_MASKZ, IX86_BUILTIN_VPMADD52LUQ256_MASKZ, IX86_BUILTIN_VPMADD52HUQ256_MASKZ, IX86_BUILTIN_VPMADD52LUQ128_MASKZ, IX86_BUILTIN_VPMADD52HUQ128_MASKZ. (bdesc_special_args): Add __builtin_ia32_vpmadd52luq512_mask, __builtin_ia32_vpmadd52luq512_maskz, __builtin_ia32_vpmadd52huq512_mask, __builtin_ia32_vpmadd52huq512_maskx, __builtin_ia32_vpmadd52luq256_mask, __builtin_ia32_vpmadd52luq256_maskz, __builtin_ia32_vpmadd52huq256_mask, __builtin_ia32_vpmadd52huq256_maskz, __builtin_ia32_vpmadd52luq128_mask, __builtin_ia32_vpmadd52luq128_maskz, __builtin_ia32_vpmadd52huq128_mask, __builtin_ia32_vpmadd52huq128_maskz, * config/i386/i386.h (TARGET_AVX512IFMA, TARGET_AVX512IFMA_P): Define. * config/i386/i386.opt: Add mavx512ifma. * config/i386/immintrin.h: Include avx512ifmaintrin.h, avx512ifmavlintrin.h. * config/i386/sse.md (unspec): Add UNSPEC_VPMADD52LUQ, UNSPEC_VPMADD52HUQ. (VPMADD52): New iterator. (vpmadd52type): New attribute. (vpamdd52huq<mode>_maskz): New. (vpamdd52luq<mode>_maskz): Ditto. (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Ditto. (vpamdd52<vpmadd52type><mode>_mask): Ditto. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mavx512ifma. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/avx512f-helper.h: Add avx512ifma-check.h. * gcc.target/i386/avx512ifma-check.h: New. * gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Ditto. * gcc.target/i386/avx512ifma-vpmaddhuq-2.c: Ditto. * gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto. * gcc.target/i386/avx512ifma-vpmaddluq-2.c: Ditto. * gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto. * gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto. * gcc.target/i386/i386.exp (check_effective_target_avx512ifma): New. * gcc.target/i386/sse-12.c: Add new options. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. 2014-11-21 Georg-Johann Lay <avr@gjlay.de> From-SVN: r217928
2014-11-21Revert: Workaround following [PATCH] Pul all constants last in ↵Alan Lawrence2-2/+8
tree_swap_operands_p https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html 2014-09-22 Alan Lawrence <alan.lawrence@arm.com> gcc/: * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs. From-SVN: r217927
2014-11-21[MIPS] If using branch likelies in MIPS sync code fill the delay slot Andrew Bennett2-4/+22
with a nop. gcc/ * config/mips/mips.c (mips_process_sync_loop): Place a nop in the delay slot of the branch likely instruction. (mips_output_sync_loop): Ensure mips_branch_likely is set before calling mips_output_sync_loop. (mips_sync_loop_insns): Likewise. From-SVN: r217926
2014-11-21missing ChangeLog entryWilliam Schmidt1-0/+7
From-SVN: r217925
2014-11-21PR/target 63673William Schmidt1-0/+4
2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR/target 63673 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to double. From-SVN: r217924