aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-01-18rs6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins.Michael Meissner9-0/+242
[gcc] 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins. * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add built-in functions to support generation of the ISA 3.0 XXBR<x> vector byte reverse instructions. (P9V_BUILTIN_XXBRQ_V1TI): Likewise. (P9V_BUILTIN_XXBRD_V2DI): Likewise. (P9V_BUILTIN_XXBRD_V2DF): Likewise. (P9V_BUILTIN_XXBGW_V4SI): Likewise. (P9V_BUILTIN_XXBGW_V4SF): Likewise. (P9V_BUILTIN_XXBGH_V8HI): Likewise. (P9V_BUILTIN_VEC_REVB): Likewise. * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to generate the ISA 3.0 XXBR<x> vector byte reverse instructions. (p9_xxbrq_v16qi): Likewise. (p9_xxbrd_<mode>, VSX_D iterator): Likewise. (p9_xxbrw_<mode>, VSX_W iterator): Likewise. (p9_xxbrh_v8hi): Likewise. * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0. * doc/extend.texi (RS/6000 Altivec Built-ins): Document the vec_revb built-in functions. [gcc/testsuite] 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-xxbr-1.c: New test. * gcc.target/powerpc/p9-xxbr-2.c: Likewise. From-SVN: r244593
2017-01-18re PR c++/78488 (P0136R1 ICE when building call to inherited default ↵Nathan Sidwell4-0/+25
constructor.) PR c++/78488 * call.c (build_over_call): When checking ellipsis conversions for an inherited ctor, make sure there is at least one conversion. * g++.dg/cpp1z/inh-ctor37.C: New. From-SVN: r244592
2017-01-18re PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to ↵Uros Bizjak5-15/+72
a zero-extract for QImode operations) PR rtl-optimization/78952 * config/i386/i386.md (any_extract): New code iterator. (*insvqi_2): Use any_extract for source operand. (*insvqi_3): Use any_shiftrt for source operand. testsuite/ChangeLog: PR rtl-optimization/78952 * gcc.target/i386/pr78952-1.c: New test. * gcc.target/i386/pr78952-2.c: Ditto. From-SVN: r244591
2017-01-18coarray_alloc_with_implicit_sync_2.f90: New test.Andre Vehreschild5-12/+67
gcc/testsuite/ChangeLog: 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_alloc_with_implicit_sync_2.f90: New test. Also fixed date in gcc/testsuite/ChangeLog on my previous commit. gcc/fortran/ChangeLog: 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org> * primary.c (caf_variable_attr): Improve figuring whether the current component is the last one refed. * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls when allocating pointer or allocatable components. From-SVN: r244590
2017-01-18gfortran.texi: Add missing parameters to caf-API functions.Andre Vehreschild2-323/+359
gcc/fortran/ChangeLog: 2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.texi: Add missing parameters to caf-API functions. Correct typos and clarify some descriptions. Adjusted date of my previous commit. From-SVN: r244589
2017-01-18re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated ↵Andre Vehreschild5-5/+35
EVENT_TYPE coarray) gcc/fortran/ChangeLog: 2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/70696 Missed some parts, here they are: * trans-decl.c (gfc_build_qualified_array): Add static tokens to the parent function's scope. * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove unnecessary assert. gcc/testsuite/ChangeLog: 2017-01-17 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/70696 * gfortran.dg/coarray_event_1.f08: New test. From-SVN: r244587
2017-01-18SHA1H instructions may be scheduled after a SHA1C instruction that uses the ↵Wilco Dijkstra2-0/+29
same input register. SHA1H instructions may be scheduled after a SHA1C instruction that uses the same input register. However SHA1C updates its input, so if SHA1H is scheduled after it, it requires an extra move. Increase the priority of SHA1H to ensure it gets scheduled earlier, avoiding the move. gcc/ * config/aarch64/aarch64.c (aarch64_sched_adjust_priority) New function. (TARGET_SCHED_ADJUST_PRIORITY): Define target hook. From-SVN: r244586
2017-01-18re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across ↵Jakub Jelinek8-10/+25
function call) PR target/77416 * gcc.target/powerpc/pr77416.c Guard the test only for ilp32 effective target. Use powerpc* instead of powerpc64* in targets. Remove -m32 from dg-options. * gcc.target/powerpc/pr64205.c: Remove -m32 from dg-options of ilp32 guarded test. * gcc.target/powerpc/fusion4.c: Likewise. * gcc.target/powerpc/pr63491.c: Remove -m64 from dg-options of lp64 guarded test. * gcc.target/powerpc/pr58673-1.c: Likewise. * gcc.target/powerpc/pr58673-2.c: Likewise. * gcc.target/powerpc/pr59054.c: Likewise. From-SVN: r244585
2017-01-18fix dateJason Merrill1-1/+1
From-SVN: r244583
2017-01-18PR c++/78894 - ICE with class deduction and default argJason Merrill3-0/+27
* pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE. From-SVN: r244582
2017-01-18re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: ↵Maxim Ostapenko8-5/+58
initialization-order-fiasco") PR lto/79061 gcc/ * asan.c (get_translation_unit_decl): New function. (asan_add_global): Extract modules file name from globals TRANSLATION_UNIT_DECL in lto mode. * tree.c (build_translation_unit_decl): Add source location for newly built TRANSLATION_UNIT_DECL. gcc/lto/ * lto.c (lto_read_decls): accept location cache for TRANSLATION_UNIT_DECL. gcc/testsuite/ * gcc.dg/cpp/mi1.c: Adjust testcase. * gcc.dg/pch/cpp-3.c: Likewise. From-SVN: r244581
2017-01-18PR c++/77489 -- Reorganize abi warning checkMarkus Trippelsdorf2-2/+8
PR c++/77489 * mangle.c (write_discriminator): Reorganize abi warning check. From-SVN: r244580
2017-01-18re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to ↵Matthias Klose2-2/+10
be per multilib) 2017-01-18 Matthias Klose <doko@ubuntu.com> PR libobjc/78697 * configure.ac: Allow default for --with-target-bdw-gc-include. * configure: Regenerate. PR libobjc/78698 * configure.ac: Use the libgc.la file when available. * configure: Regenerate. 2017-01-18 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Allow default for --with-target-bdw-gc-include. From-SVN: r244579
2017-01-18altivec.h (vec_bperm): Change #define.Bill Schmidt9-4/+80
[gcc] 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.h (vec_bperm): Change #define. * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant. (altivec_vbpermq2): New define_insn. (altivec_vbpermd): Likewise. * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic function interface. (VBPERMD): Likewise. (VBPERM): New polymorphic function interface. * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table): Add entries for P9V_BUILTIN_VEC_VBPERM. * doc/extend.texi: Add interfaces for vec_bperm. [gcc/testsuite] 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/p8vector-builtin-8.c: Add new form for vec_bperm. * gcc.target/powerpc/p9-vbpermd.c: New file. From-SVN: r244578
2017-01-18S/390: Downcase first letter of error messages.Andreas Krebbel8-16/+35
gcc/testsuite/ChangeLog: 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/htm-builtins-compile-2.c (must_not_compile1): (must_not_compile2): Downcase first letter of error messages. * gcc.target/s390/target-attribute/tattr-13.c (b): Likewise. * gcc.target/s390/vector/vec-abi-vararg-2.c: Likewise. gcc/ChangeLog: 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase first letter of error messages. (s390_resolve_overloaded_builtin): Likewise. * config/s390/s390.c (s390_expand_builtin): Likewise. (s390_invalid_arg_for_unprototyped_fn): Likewise. (s390_valid_target_attribute_inner_p): Likewise. * config/s390/s390.md ("tabort"): Likewise. From-SVN: r244577
2017-01-18cp-tree.h: Clarify exception spec node comment.Nathan Sidwell3-8/+14
* cp-tree.h: Clarify exception spec node comment. * except.c (nothrow_spec_p): Simplify by checking node-equality. From-SVN: r244576
2017-01-18re PR c++/79091 (ICE in write_unnamed_type)Nathan Sidwell4-8/+43
PR c++/79091 * mangle.c (write_exception_spec): Check nothrow explicitly. (write_encoding): Don't increment processing_template_decl around encoding. PR c++/79091 * g++.dg/pr79091.C: New. From-SVN: r244575
2017-01-18tattr-2.c: Add -fno-ipa-icf to dg-options.Jakub Jelinek2-2/+8
* gcc.target/s390/target-attribute/tattr-2.c: Add -fno-ipa-icf to dg-options. (p0): Add missing dg-error. From-SVN: r244571
2017-01-18MIPS: Fix generation of Loongson-specific division and modulo instructions.Toma Tabacu2-5/+18
gcc * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro. (ISA_AVOID_DIV_HILO): New macro. (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro. (ISA_HAS_DDIV): Likewise. From-SVN: r244570
2017-01-18Fix number of occurrences.Markus Trippelsdorf2-1/+5
From-SVN: r244569
2017-01-18Spelling fixMarkus Trippelsdorf2-1/+5
From-SVN: r244568
2017-01-18Fix PR70182 -- missing "on" in mangling of unresolved operatorsMarkus Trippelsdorf8-5/+52
The ABI says: <unresolved-name> ::= [gs] <base-unresolved-name> ::= sr <unresolved-type> <base-unresolved-name> ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name> ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name> <base-unresolved-name> ::= <simple-id> ::= on <operator-name> ::= on <operator-name> <template-args> ::= dn <destructor-name libiberty: PR c++/70182 * cp-demangle.c (d_unqualified_name): Handle "on" for operator names. * testsuite/demangle-expected: Add tests. gcc/cp: PR c++/70182 * mangle.c (write_template_args): Add "on" for operator names. gcc: PR c++/70182 * doc/invoke.texi (fabi-version): Mention mangling fix for operator names. From-SVN: r244567
2017-01-18Fix PR77489 -- mangling of discriminator >= 1Markus Trippelsdorf5-2/+86
libiberty: PR c++/77489 * cp-demangle.c (d_discriminator): Handle discriminator >= 10. * testsuite/demangle-expected: Add tests for discriminator. gcc: PR c++/77489 * doc/invoke.texi (fabi-version): Document discriminator mangling. gcc/cp: PR c++/77489 * mangle.c (write_discriminator): Handle discriminator >= 10. From-SVN: r244566
2017-01-17t-msp430 (LIB2ADD): Remove mpy.cJoe Seymour2-0/+19
libgcc/ * config/msp430/t-msp430 (LIB2ADD): Remove mpy.c (mpy.o): New rule. (libmul_none.a): Add mpy.o gcc/testsuite/ * gcc.target/msp430/mul_f5_muldef.c: New test. From-SVN: r244564
2017-01-18syscall, golang_org/x/net/lif: fixes for gccgo on SolarisIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/35390 From-SVN: r244563
2017-01-18Check in gcc/testsuite/gcc.target/powerpc/ssp-[12].c (I forgot "svn add"Segher Boessenkool2-0/+12
once again). From-SVN: r244562
2017-01-18re PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c ↵Michael Meissner2-16/+22
with -mcpu=power9) 2017-01-17 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/79004 * gcc.target/powerpc/pr79004.c: Add -mfloat128 to the test options. Fix up the syntax for using \m and \M. From-SVN: r244561
2017-01-18Daily bump.GCC Administrator1-1/+1
From-SVN: r244560
2017-01-17-mstack-protector-guard and friends (PR78875)Segher Boessenkool7-20/+153
Currently, on PowerPC, code compiled with -fstack-protector will load the canary from -0x7010(13) (for -m64) or from -0x7008(2) (for -m32) if GCC was compiled against GNU libc 2.4 or newer or some other libc that supports -fstack-protector, and from the global variable __stack_chk_guard otherwise. This does not work well for Linux and other OS kernels and similar. For such non-standard applications, this patch creates a few new command-line options. The relevant new use cases are: -mstack-protector-guard=global Use the __stack_chk_guard variable, no matter how this GCC was configured. -mstack-protector-guard=tls Use the canary from TLS. This will error out if this GCC was built with a C library that does not support it. -mstack-protector-guard=tls -mstack-protector-register=<reg> -mstack-protector-offset=<offset> Load the canary from offset <off> from base register <reg>. PR target/78875 * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum. * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle the new options. * config/rs6000/rs6000.md (stack_protect_set): Handle the new more flexible settings. (stack_protect_test): Ditto. * config/rs6000/rs6000.opt (mstack-protector-guard=, mstack-protector-guard-reg=, mstack-protector-guard-offset=): New options. * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]: Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and -mstack-protector-guard-offset=. (RS/6000 and PowerPC Options): Ditto. gcc/testsuite/ * gcc.target/powerpc/ssp-1.c: New testcase. * gcc.target/powerpc/ssp-2.c: New testcase. From-SVN: r244556
2017-01-17i386.h (MASK_CLASS_P): New define.Uros Bizjak4-23/+37
* config/i386/i386.h (MASK_CLASS_P): New define. * config/i386/i386.c (inline_secondary_memory_needed): Ensure that there are no registers from different register sets also when mask registers are used. Update function comment. * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative to (*k/*r) and (*k/*km) alternatives. From-SVN: r244548
2017-01-17This patch simplifies the handling of EH return.Wilco Dijkstra7-65/+139
This patch simplifies the handling of EH return. We force the use of the frame pointer so the return location is always at FP + 8. This means we can emit a simple volatile access in EH_RETURN_HANDLER_RTX without needing md patterns, splitters and frame offset calculations. The new implementation also fixes various bugs in aarch64_final_eh_return_addr, which does not work with -fomit-frame-pointer, alloca or outgoing arguments. gcc/ * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter. * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove. (EH_RETURN_HANDLER_RTX): New define. * config/aarch64/aarch64.c (aarch64_frame_pointer_required): Force frame pointer in EH return functions. (aarch64_expand_epilogue): Add barrier for eh_return. (aarch64_final_eh_return_addr): Remove. (aarch64_eh_return_handler_rtx): New function. * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr): Remove. (aarch64_eh_return_handler_rtx): New prototype. testsuite/ * gcc.target/aarch64/eh_return.c: New test. From-SVN: r244547
2017-01-17altivec.h (vec_rlmi): New #define.Bill Schmidt8-1/+181
[gcc] 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.h (vec_rlmi): New #define. (vec_vrlnm): Likewise. (vec_rlnm): Likewise. * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value. (UNSPEC_VRLNM): Likewise. (VIlong): New mode iterator. (altivec_vrl<VI_char>mi): New define_insn. (altivec_vrl<VI_char>nm): Likewise. * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic function entry. (VRLDNM): Likewise. (RLNM): New polymorphic function entry. (VRLWMI): New monomorphic function entry. (VRLDMI): Likewise. (RLMI): New polymorphic function entry. * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM. * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and vec_vrlnm. [gcc/testsuite] 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * vec-rlmi-rlnm.c: New file. From-SVN: r244546
2017-01-17re PR debug/78839 (DWARF output different between GCC 5 and 6)Jakub Jelinek2-20/+34
PR debug/78839 * dwarf2out.c (field_byte_offset): Restore the PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold. (analyze_variants_discr, gen_variant_part): Use fold_build2 instead of build2 + fold. From-SVN: r244545
2017-01-17re PR c++/61636 (generic lambda: segfault / "cannot call member function ↵Nathan Sidwell9-25/+231
without object") PR c++/61636 * cp-tree.h (maybe_generic_this_capture): Declare. * lambda.c (resolvable_dummy_lambda): New, broken out of ... (maybe_resolve_dummy): ... here. Call it. (maybe_generic_this_capture): New. * parser.c (cp_parser_postfix_expression): Speculatively capture this in generic lambda in unresolved member function call. * pt.c (tsubst_copy_and_build): Force hard error from failed member function lookup in generic lambda. PR c++/61636 * g++.dg/cpp1y/pr61636-1.C: New. * g++.dg/cpp1y/pr61636-2.C: New. * g++.dg/cpp1y/pr61636-3.C: New. From-SVN: r244544
2017-01-17re PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)Eric Botcazou2-0/+9
PR ada/67205 * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define From-SVN: r244543
2017-01-17re PR debug/71669 (DW_AT_data_bit_offset is not emitted for dwarf4 and above)Jakub Jelinek2-0/+25
PR debug/71669 * dwarf2out.c (add_data_member_location_attribute): For constant offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute instead of DW_AT_data_member_location, DW_AT_bit_offset and DW_AT_byte_size attributes. From-SVN: r244542
2017-01-17rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to ↵Eric Botcazou2-4/+6
constant memory when... * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memory when the code model is medium. From-SVN: r244541
2017-01-17re PR target/76731 ([AVX512] _mm512_i32gather_epi32 and other scatter/gather ↵Julia Koval6-308/+462
routines have incorrect signature) PR target/76731 * config/i386/avx512fintrin.h (_mm512_i32gather_ps): Change __addr type to void const*. (_mm512_mask_i32gather_ps): Ditto. (_mm512_i32gather_pd): Ditto. (_mm512_mask_i32gather_pd): Ditto. (_mm512_i64gather_ps): Ditto. (_mm512_mask_i64gather_ps): Ditto. (_mm512_i64gather_pd): Ditto. (_mm512_mask_i64gather_pd): Ditto. (_mm512_i32gather_epi32): Ditto. (_mm512_mask_i32gather_epi32): Ditto. (_mm512_i32gather_epi64): Ditto. (_mm512_mask_i32gather_epi64): Ditto. (_mm512_i64gather_epi32): Ditto. (_mm512_mask_i64gather_epi32): Ditto. (_mm512_i64gather_epi64): Ditto. (_mm512_mask_i64gather_epi64): Ditto. (_mm512_i32scatter_ps): Change __addr type to void*. (_mm512_mask_i32scatter_ps): Ditto. (_mm512_i32scatter_pd): Ditto. (_mm512_mask_i32scatter_pd): Ditto. (_mm512_i64scatter_ps): Ditto. (_mm512_mask_i64scatter_ps): Ditto. (_mm512_i64scatter_pd): Ditto. (_mm512_mask_i64scatter_pd): Ditto. (_mm512_i32scatter_epi32): Ditto. (_mm512_mask_i32scatter_epi32): Ditto. (_mm512_i32scatter_epi64): Ditto. (_mm512_mask_i32scatter_epi64): Ditto. (_mm512_i64scatter_epi32): Ditto. (_mm512_mask_i64scatter_epi32): Ditto. (_mm512_i64scatter_epi64): Ditto. (_mm512_mask_i64scatter_epi64): Ditto. * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*. (_mm512_mask_prefetch_i32gather_ps): Ditto. (_mm512_mask_prefetch_i64gather_pd): Ditto. (_mm512_mask_prefetch_i64gather_ps): Ditto. (_mm512_prefetch_i32scatter_pd): Change __addr type to void*. (_mm512_prefetch_i32scatter_ps): Ditto. (_mm512_mask_prefetch_i32scatter_pd): Ditto. (_mm512_mask_prefetch_i32scatter_ps): Ditto. (_mm512_prefetch_i64scatter_pd): Ditto. (_mm512_prefetch_i64scatter_ps): Ditto. (_mm512_mask_prefetch_i64scatter_pd): Ditto. (_mm512_mask_prefetch_i64scatter_ps): Ditto. * config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps): Change __addr type to void const*. (_mm_mmask_i32gather_ps): Ditto. (_mm256_mmask_i32gather_pd): Ditto. (_mm_mmask_i32gather_pd): Ditto. (_mm256_mmask_i64gather_ps): Ditto. (_mm_mmask_i64gather_ps): Ditto. (_mm256_mmask_i64gather_pd): Ditto. (_mm_mmask_i64gather_pd): Ditto. (_mm256_mmask_i32gather_epi32): Ditto. (_mm_mmask_i32gather_epi32): Ditto. (_mm256_mmask_i32gather_epi64): Ditto. (_mm_mmask_i32gather_epi64): Ditto. (_mm256_mmask_i64gather_epi32): Ditto. (_mm_mmask_i64gather_epi32): Ditto. (_mm256_mmask_i64gather_epi64): Ditto. (_mm_mmask_i64gather_epi64): Ditto. (_mm256_i32scatter_ps): Change __addr type to void*. (_mm256_mask_i32scatter_ps): Ditto. (_mm_i32scatter_ps): Ditto. (_mm_mask_i32scatter_ps): Ditto. (_mm256_i32scatter_pd): Ditto. (_mm256_mask_i32scatter_pd): Ditto. (_mm_i32scatter_pd): Ditto. (_mm_mask_i32scatter_pd): Ditto. (_mm256_i64scatter_ps): Ditto. (_mm256_mask_i64scatter_ps): Ditto. (_mm_i64scatter_ps): Ditto. (_mm_mask_i64scatter_ps): Ditto. (_mm256_i64scatter_pd): Ditto. (_mm256_mask_i64scatter_pd): Ditto. (_mm_i64scatter_pd): Ditto. (_mm_mask_i64scatter_pd): Ditto. (_mm256_i32scatter_epi32): Ditto. (_mm256_mask_i32scatter_epi32): Ditto. (_mm_i32scatter_epi32): Ditto. (_mm_mask_i32scatter_epi32): Ditto. (_mm256_i32scatter_epi64): Ditto. (_mm256_mask_i32scatter_epi64): Ditto. (_mm_i32scatter_epi64): Ditto. (_mm_mask_i32scatter_epi64): Ditto. (_mm256_i64scatter_epi32): Ditto. (_mm256_mask_i64scatter_epi32): Ditto. (_mm_i64scatter_epi32): Ditto. (_mm_mask_i64scatter_epi32): Ditto. (_mm256_i64scatter_epi64): Ditto. (_mm256_mask_i64scatter_epi64): Ditto. (_mm_i64scatter_epi64): Ditto. (_mm_mask_i64scatter_epi64): Ditto. * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) (VOID_QI_V8DI_PCINT_INT_INT): Remove. (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) (VOID_QI_V8DI_PCVOID_INT_INT): Add. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin definitions accordingly. From-SVN: r244540
2017-01-17re PR target/79079 ([6] Wrong code gen for __builtin_mul_overflow when ↵Kito Cheng2-9/+18
TRULY_NOOP_TRUNCATION (32, 64) == false) PR target/79079 * internal-fn.c (expand_mul_overflow): Use convert_modes instead of gen_lowpart. Co-Authored-By: Kuan-Lin Chen <kuanlinchentw@gmail.com> From-SVN: r244539
2017-01-17re PR c++/70565 (ICE at gimplify.c:8832 (cilkplus array extension))Aldy Hernandez3-0/+19
PR c++/70565 * cp-array-notation.c (expand_array_notation_exprs): Handle OMP_PARALLEL. From-SVN: r244538
2017-01-17PR testsuite/79115 - FAIL: gcc.dg/pr78768.c execution test on arm, aarch64Martin Sebor2-1/+6
gcc/testsuite/ChangeLog * gcc.dg/pr78768.c: Make it a link-only test. From-SVN: r244537
2017-01-17Fix wording of -Wmisleading-indentation (PR c++/71497)David Malcolm5-31/+44
gcc/c-family/ChangeLog: PR c++/71497 * c-indentation.c (warn_for_misleading_indentation): Use the past subjunctive in the note. gcc/testsuite/ChangeLog: PR c++/71497 * c-c++-common/Wmisleading-indentation-3.c: Update wording of expected messages. * c-c++-common/Wmisleading-indentation.c: Likewise. From-SVN: r244536
2017-01-17re PR target/79058 (ARM: internal compiler error: in extract_constrain_insn, ↵Vladimir Makarov4-2/+29
at recog.c:2213) 2017-01-17 Vladimir Makarov <vmakarov@redhat.com> PR target/79058 * ira-conflicts.c (ira_build_conflicts): Update total conflict hard regs for inner regno. 2017-01-17 Vladimir Makarov <vmakarov@redhat.com> PR target/79058 * gcc.target/arm/pr79058.c: New. From-SVN: r244535
2017-01-17re PR tree-optimization/71854 (ICE at -O3 in both 32-bit and 64-bit modes on ↵Jakub Jelinek2-0/+30
x86_64-linux-gnu (verify_gimple failed)) PR tree-optimization/71854 * gcc.dg/vect/pr71854.c: New test. From-SVN: r244534
2017-01-17re PR c/79116 (ICE on cilkplus array notation with a _Cilk_for)Aldy Hernandez3-1/+18
PR c/79116 * array-notation-common.c (cilkplus_extract_an_triplets): Convert start type to integer_type. From-SVN: r244533
2017-01-17Fix wrong assumption in contains_type_p (PR ipa/71207).Martin Liska4-6/+59
2017-01-17 Martin Liska <mliska@suse.cz> PR ipa/71207 * g++.dg/ipa/pr71207.C: New test. 2017-01-17 Martin Liska <mliska@suse.cz> PR ipa/71207 * ipa-polymorphic-call.c (contains_type_p): Fix wrong assumption and add comment. From-SVN: r244530
2017-01-17ipa-visibility.c (localize_node): New function, broken out of ...Nathan Sidwell2-82/+55
* ipa-visibility.c (localize_node): New function, broken out of ... (function_and_variable_visibility): ... here. Call it. From-SVN: r244529
2017-01-17re PR tree-optimization/77445 (Performance drop after r239219 on coremark test)Jan Hubicka5-43/+227
PR middle-end/77445 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): correctly set frequency of oudgoing edge. (duplicate_thread_path): Fix profile updating. * gcc.dg/tree-ssa/pr77445-2.c: New testcase. * gcc.dg/tree-ssa/pr77445.c: New testcase. From-SVN: r244528
2017-01-17ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int.Jakub Jelinek3-2/+8
* g++.dg/tree-ssa/ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int. * g++.dg/tree-ssa/ssa-dom.C: Likewise. From-SVN: r244527
2017-01-17re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)Jakub Jelinek8-7/+64
PR other/79046 * configure: Regenerated. config/ * acx.m4 (GCC_BASE_VER): New m4 function. (ACX_TOOL_DIRS): Require GCC_BASE_VER, for --with-gcc-major-version-only use just major number from BASE-VER. gcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s). (gcc.o): Depend on $(BASEVER). * common.opt (dumpfullversion): New option. * gcc.c (driver_handle_option): Handle OPT_dumpfullversion. * doc/invoke.texi: Document -dumpfullversion. * doc/install.texi: Document --with-gcc-major-version-only. * configure: Regenerated. libatomic/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgomp/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libssp/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. liboffloadmic/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libquadmath/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libmpx/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libada/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. lto-plugin/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libitm/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. fixincludes/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libcilkrts/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libcc1/ * configure.ac: Add GCC_BASE_VER. For --with-gcc-major-version-only use just major number from BASE-VER. * configure: Regenerated. * Makefile.in: Regenerated. libobjc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libstdc++-v3/ * configure.ac: Add GCC_BASE_VER. * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * po/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/filesystem/Makefile.in: Regenerated. libvtv/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libsanitizer/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * libbacktrace/Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * configure: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. libgfortran/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. From-SVN: r244521