156856 Commits

Author SHA1 Message Date
Eric Botcazou
aca308040b * gcc.dg/attr-alloc_size-11.c: UnXFAIL for visium-*-*.
From-SVN: r253831
2017-10-17 20:34:29 +00:00
Eric Botcazou
34311c5ee6 visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET.
* config/visium/visium.c (visium_select_cc_mode): Return CCmode
	for any RTX present on the RHS of a SET.
	* compare-elim.c (try_eliminate_compare): Restore comment.

From-SVN: r253830
2017-10-17 20:28:33 +00:00
Jakub Jelinek
8e7014b455 langhooks.h (struct lang_hooks): Document that tree_size langhook may be also called on tcc_type nodes.
* langhooks.h (struct lang_hooks): Document that tree_size langhook
	may be also called on tcc_type nodes.
	* langhooks.c (lhd_tree_size): Likewise.

	* gcc-interface/misc.c (gnat_tree_size): New function.
	(LANG_HOOKS_TREE_SIZE): Redefine.

From-SVN: r253829
2017-10-17 22:11:00 +02:00
Paolo Carlini
eaf95345d3 re PR c++/71821 (ICE on invalid C++11 code (incorrect argument for alignas): unexpected expression ‘f<int>’ of kind template_id_expr)
2017-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71821
	* g++.dg/cpp0x/alignas12.C: New.

From-SVN: r253828
2017-10-17 19:49:06 +00:00
David Malcolm
89b6abbb7e Simplify format_warning_at_substring API
The format_warning_at_substring API has a rather clunk way of indicating
the location of the pertinent param (if any): a source_range * is passed
in, which can be NULL.  Doing so requires extracting a range from the
location_t and passing around a pointer to it, or NULL, as needed.

This patch simplifies things by eliminating the source_range * in
favor of a location_t, with UNKNOWN_LOCATION used to signify that
no param location is available.

gcc/c-family/ChangeLog:
	* c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
	rather than NULL to format_warning_va.
	(check_format_types): Likewise when calling format_type_warning.
	Remove code to extract source_ranges and source_range * in favor
	of just a location_t.
	(format_type_warning): Convert source_range * param to a
	location_t.

gcc/ChangeLog:
	* gimple-ssa-sprintf.c (fmtwarn): Update for changed signature of
	format_warning_at_substring.
	(maybe_warn): Convert source_range * param to a location_t.  Pass
	UNKNOWN_LOCATION rather than NULL to fmtwarn.
	(format_directive): Remove code to extract source_ranges and
	source_range * in favor of just a location_t.
	(parse_directive): Pass UNKNOWN_LOCATION rather than NULL to
	fmtwarn.
	* substring-locations.c (format_warning_va): Convert
	source_range * param to a location_t.
	(format_warning_at_substring): Likewise.
	* substring-locations.h (format_warning_va): Likewise.
	(format_warning_at_substring): Likewise.

From-SVN: r253827
2017-10-17 19:41:01 +00:00
Paolo Carlini
9efb55ac05 re PR c++/71368 ([concepts] ICE on constrained compound requirement)
2017-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71368
	* g++.dg/concepts/pr71368.C: New.

From-SVN: r253826
2017-10-17 19:36:49 +00:00
Martin Liska
8240d00373 Add gcc_checking_assert for sbitmap.c.
From-SVN: r253825
2017-10-17 19:17:36 +00:00
Jan Hubicka
a584b03d5f * i386/i386.c (x86_builtin_vectorization_cost): Likewise.
From-SVN: r253824
2017-10-17 17:37:23 +00:00
Jan Hubicka
cc9fe6bbd7 target.h (enum vect_cost_for_stmt): Add vec_gather_load and vec_scatter_store
* target.h (enum vect_cost_for_stmt): Add vec_gather_load and
	vec_scatter_store
	* tree-vect-stmts.c (record_stmt_cost): Make difference between normal
	and scatter/gather ops.

	* aarch64/aarch64.c (aarch64_builtin_vectorization_cost): Add
	vec_gather_load and vec_scatter_store.
	* arm/arm.c (arm_builtin_vectorization_cost): Likewise.
	* powerpcspe/powerpcspe.c (rs6000_builtin_vectorization_cost): Likewise.
	* rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Likewise.
	* s390/s390.c (s390_builtin_vectorization_cost): Likewise.
	* spu/spu.c (spu_builtin_vectorization_cost): Likewise.

From-SVN: r253823
2017-10-17 17:35:54 +00:00
Uros Bizjak
7061821d4a reg-stack.c (compare_for_stack_reg): Add bool argument.
* reg-stack.c (compare_for_stack_reg): Add bool argument.
	Detect FTST instruction and handle its register pops.  Only pop
	second operand if can_pop_second_op is true.
	(subst_stack_regs_pat) <case COMPARE>: Detect FCOMI instruction to
	set can_pop_second_op to false in the compare_for_stack_reg call.

	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Only call
	output_fp_compare for stack register operands.
	* config/i386/i386.c (output_fp_compare): Do not output SSE compare
	instructions here.  Do not emit stack register pops here.  Assert
	that FCOMPP pops next to top stack register.  Rewrite function.

From-SVN: r253821
2017-10-17 18:35:11 +02:00
Nathan Sidwell
5a2018625a [C++ PATCH 82560] missing dtor call
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01068.html
	PR c++/82560
	* call.c (build_over_call): Don't pass tf_no_cleanup to nested
	calls.

	PR c++/82560
	* g++.dg/cpp0x/pr82560.C: New.

From-SVN: r253820
2017-10-17 15:52:21 +00:00
Nathan Sidwell
816c4ba228 [PATCH, middle-end/82577] Fix DECL_ASSEMBLER_NAME ICE
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01067.html
	gcc/
	PR middle-end/82577
	* alias.c (compare_base_decls): Check HAS_DECL_ASSEMBLER_NAME_P,
	use DECL_ASSEMBLER_NAME_RAW.

	gcc/testsuite/
	PR middle-end/82577
	* g++.dg/opt/pr82577.C: New.

From-SVN: r253819
2017-10-17 15:42:19 +00:00
Nathan Sidwell
f419fd1f8f [PATCH PR/82546] tree node size
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00899.html
	PR middle-end/82546
	gcc/
	* tree.c (tree_code_size): Reformat.  Punt to lang hook for unknown
	TYPE nodes.
	gcc/cp/
	* cp-objcp-common.c (cp_tree_size): Reformat.  Adjust returns size
	of TYPE nodes.
	gcc/objc/
	* objc-act.c (objc_common_tree_size): Return size of TYPE nodes.

From-SVN: r253817
2017-10-17 14:49:05 +00:00
Qing Zhao
07c0e0ad79 re PR middle-end/80295 (ICE in __builtin_update_setjmp_buf expander)
gcc/ChangeLog

2017-10-17  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        * builtins.c (expand_builtin_update_setjmp_buf): Add a
        converstion to Pmode from the buf_addr.

gcc/testsuite/ChangeLog

2017-10-17  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        PR middle-end/80295
        * gcc.target/aarch64/pr80295.c: New test.

From-SVN: r253815
2017-10-17 14:17:17 +00:00
Qing Zhao
4887028b50 re PR middle-end/80295 (ICE in __builtin_update_setjmp_buf expander)
gcc/ChangeLog

2017-10-17  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        * builtins.c (expand_builtin_update_setjmp_buf): Add a
        converstion to Pmode from the buf_addr.

gcc/testsuite/ChangeLog

2017-10-17  Qing Zhao <qing.zhao@oracle.com>
	    Wilco Dijkstra <wilco.dijkstra@arm.com>

        PR middle-end/80295
        * gcc.target/aarch64/pr80295.c: New test.

Co-Authored-By: Wilco Dijkstra <wdijkstr@arm.com>

From-SVN: r253814
2017-10-17 14:16:35 +00:00
Richard Biener
f371d337de graphite-dependences.c (scop_get_reads_and_writes): Change output parameters to references.
2017-10-17  Richard Biener  <rguenther@suse.de>

	* graphite-dependences.c (scop_get_reads_and_writes): Change
	output parameters to references.

From-SVN: r253813
2017-10-17 13:56:14 +00:00
Jackson Woodruff
2d0575364c Factor out division by squares and remove division around comparisons (0/2)
Commit gcc/fold-const.c missing from r252827:

    gcc/
	PR 71026/tree-optimization
	* fold-const.c (distribute_real_division): Removed.
	(fold_binary_loc): Remove calls to distribute_real_divison.

From-SVN: r253812
2017-10-17 13:22:48 +00:00
Richard Biener
92900aec89 2017-10-17 Richard Biener <rguenther@suse.de>
* graphite-scop-detection.c
	(scop_detection::stmt_has_simple_data_refs_p): Always use
	the full nest as region.
	(try_generate_gimple_bb): Likewise.
	* sese.c (scalar_evolution_in_region): Simplify now that
	SCEV can handle instantiation in regions.
	* tree-scalar-evolution.c (instantiate_scev_name): Also instantiate
	in the non-loop part of a function if requested.

From-SVN: r253811
2017-10-17 13:19:51 +00:00
Richard Biener
7ea3a3c759 re PR tree-optimization/82563 ([graphite] ICE in check_loop_closed_ssa_def, at tree-ssa-loop-manip.c:709)
2017-10-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82563
	* graphite-isl-ast-to-gimple.c (generate_entry_out_of_ssa_copies):
	New function.
	(graphite_regenerate_ast_isl): Call it.
	* graphite-scop-detection.c (build_scops): Remove entry edge split.

	* gcc.dg/graphite/pr82563.c: New testcase.

From-SVN: r253809
2017-10-17 13:17:30 +00:00
Thomas Schwinge
933ab0e61c Restore "dg-do run" directives for libgomp.oacc-fortran/declare-*.f90
libgomp/
	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
	run" directive.
	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.

From-SVN: r253808
2017-10-17 13:17:00 +02:00
Paolo Carlini
d6808f215e re PR c++/67831 (Internal error on complicated constexpr initialization.)
2017-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67831
	* g++.dg/cpp0x/constexpr-ice18.C: New.

From-SVN: r253807
2017-10-17 09:06:53 +00:00
Paolo Carlini
54a3b395e0 re PR c++/82570 (Lambda fails to compile because it doesn't meet constexpr requirements)
2017-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82570
	* g++.dg/cpp1z/constexpr-lambda18.C: New.

From-SVN: r253806
2017-10-17 08:38:07 +00:00
Jakub Jelinek
49dcd8a45a re PR tree-optimization/82549 (ICE at -O1 and above: verify_gimple failed)
PR tree-optimization/82549
	* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
	Formatting fixes.  Instead of calling make_bit_field_ref with negative
	bitpos return 0.

	* gcc.c-torture/compile/pr82549.c: New test.

From-SVN: r253805
2017-10-17 09:38:32 +02:00
Martin Liska
7a76132c80 Improve FAIL message for dump-*-times functions.
2017-10-17  Martin Liska  <mliska@suse.cz>

	* lib/scanasm.exp: Print how many times a regex pattern is
	found.
	* lib/scandump.exp: Likewise.

From-SVN: r253804
2017-10-17 07:31:30 +00:00
Olga Makhotina
af29724964 Add missing REDUCE[SD,SS] intrinsics
gcc/
	* config/i386/avx512dqintrin.h (_mm_mask_reduce_sd,
	_mm_maskz_reduce_sd, _mm_mask_reduce_ss,=20
	_mm_maskz_reduce_ss): New.
	* config/i386/i386-builtin.def (__builtin_ia32_reducesd_mask,
	__builtin_ia32_reducess_mask): Ditto..
	(__builtin_ia32_reducesd, __builtin_ia32_reducess): Remove.
	* config/i386/sse.md (reduces<mode>): Renamed to ...
	(reduces<mode><mask_scalar_name>): ... this.
	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}): Changed
	to ...
	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0<mask_scalar_operand4>|
	%0<mask_scalar_operand4>, %1, %2, %3}): ... this.

gcc/testsuite/
	* gcc.target/i386/avx512dq-vreducesd-1.c (_mm_mask_reduce_sd,
	_mm_maskz_reduce_sd): Test new intrinsics.
	* gcc.target/i386/avx512dq-vreducesd-2.c: New.
	* gcc.target/i386/avx512dq-vreducess-1.c (_mm_mask_reduce_ss,
	_mm_maskz_reduce_ss): Test new intrinsics.
	* gcc.target/i386/avx512dq-vreducess-2.c: New.
	* gcc.target/i386/avx-1.c (__builtin_ia32_reducesd,
	__builtin_ia32_reducess): Remove builtin.
	(__builtin_ia32_reducesd_mask,
	__builtin_ia32_reducess_mask): Test new builtin.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r253803
2017-10-17 07:12:45 +00:00
GCC Administrator
e7f168a7ff Daily bump.
From-SVN: r253801
2017-10-17 00:16:15 +00:00
Igor Tsimbalist
fb336a7be4 MAINTAINERS (write after approval): Add myself.
ChangeLog:

2017-10-16  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

        * MAINTAINERS (write after approval): Add myself.

Index: MAINTAINERS
===================================================================
--- MAINTAINERS (revision 253797)
+++ MAINTAINERS (working copy)
@@ -603,6 +603,7 @@
 Philipp Tomsich                                        <philipp.tomsich@theobroma-systems.com>
 Konrad Trifunovic                              <konrad.trifunovic@inria.fr>
 Markus Trippelsdorf                            <markus@trippelsdorf.de>
+Igor Tsimbalist                                        <igor.v.tsimbalist@intel.com>
 Martin Uecker                                  <uecker@eecs.berkeley.edu>
 David Ung                                      <davidu@mips.com>
 Neil Vachharajani                              <nvachhar@gmail.com>

From-SVN: r253798
2017-10-16 23:36:39 +02:00
David Malcolm
46d2b77d71 Add gnu::unique_ptr
This is a version of the patch posted by Trevor Saunders on 2017-07-31,
for which he wrote:
> For most of the history of this see
>   https://sourceware.org/ml/gdb-patches/2016-10/msg00223.html
> The changes are mostly s/gdb/gtl/g

This version was updated by me (dmalcolm) adding these changes:
- renaming of "gtl" to "gnu" (3 letters, and one of the ones Richi
  proposed, and not a match for "*tl")
- renaming of DEFINE_GDB_UNIQUE_PTR to DEFINE_GNU_UNIQUE_PTR
- renaming of xfree_deleter to xmalloc_deleter, and making it
  use "free" rather than "xfree" (which doesn't exist)
- added a gcc/unique-ptr-tests.cc
- implement unique_xmalloc_ptr<T[]> (taken from gdb, but changing
  "xfree" to "free", and adding support for pre-C++-11)

gcc/ChangeLog:

	David Malcolm <dmalcolm@redhat.com>

	* Makefile.in (OBJS): Add unique-ptr-tests.o.
	* selftest-run-tests.c (selftest::run_tests): Call
	selftest::unique_ptr_tests_cc_tests.
	* selftest.h (selftest::unique_ptr_tests_cc_tests): New decl.
	* unique-ptr-tests.cc: New file.

include/ChangeLog:

	Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
	David Malcolm <dmalcolm@redhat.com>

	* unique-ptr.h: New file.

From-SVN: r253797
2017-10-16 20:50:40 +00:00
Vladimir Makarov
2de3d3c6a6 re PR sanitizer/82353 (runtime ubsan crash)
2017-10-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR sanitizer/82353
	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
	locations.
	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
	(make_hard_regno_born, make_hard_regno_dead): Update
	bb_killed_pseudos and bb_gen_pseudos for fixed regs.

From-SVN: r253796
2017-10-16 20:34:53 +00:00
Martin Liska
55015c109a Fix attrib-5.c test-case.
2017-10-16  Martin Liska  <mliska@suse.cz>

	* c-c++-common/ubsan/attrib-5.c (float_cast2): Fix warning scan
	so that it will work for both C and C++ FEs.

From-SVN: r253795
2017-10-16 19:45:02 +00:00
Jeff Law
a279ae9354 * tree-ssa-dse.c (live_bytes_read): Fix thinko.
From-SVN: r253792
2017-10-16 11:56:06 -06:00
Fritz Reese
9b460e2e50 re PR fortran/82511 (ICE Bad IO basetype (12) on attempted read or write of entire DEC structure)
2017-10-16  Fritz Reese <fritzoreese@gmail.com>

    PR fortran/82511
    Treat UNION components as DT comp. in I/O lists.

    gcc/fortran/ChangeLog:

	PR fortran/82511
	* trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.

    gcc/testsuite/ChangeLog:

	PR fortran/82511
	* gfortran.dg/dec_structure_22.f90: New testcase.

From-SVN: r253791
2017-10-16 17:40:53 +00:00
Jan Hubicka
01118373fe * x86-tune-costs.h (znver1_cost): Fix move cost tables.
From-SVN: r253790
2017-10-16 17:39:01 +00:00
Olivier Hainque
3094082db0 config.gcc (powerpc*-*-*spe*): Pick 8548 as the default with_cpu if we were configured for an e500v2 target...
2017-10-16  Olivier Hainque  <hainque@adacore.com>

	* gcc/config.gcc (powerpc*-*-*spe*): Pick 8548 as the default
	with_cpu if we were configured for an e500v2 target cpu name.

From-SVN: r253789
2017-10-16 16:50:57 +00:00
Paolo Carlini
39920b043d re PR c++/64931 (ICE on function with deduced return type and input is instantiated template class)
2017-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64931
	* g++.dg/cpp1y/auto-fn43.C: New.

From-SVN: r253788
2017-10-16 14:21:17 +00:00
Thomas Preud'homme
525f700d24 [ARM] Allow +nodsp for -mcpu=cortex-m33
DSP instructions are optional for Arm Cortex-M33, yet its -mcpu option
does not allow +nodsp. Users are thus left with using
-march=armv8-m.main -mtune=cortex-m33. This patch allows +nodsp to
-mcpu=cortex-m33.

2017-10-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-cpus.in (cortex-m33): Add nodsp option.
    * doc/invoke.texi: Document +nodsp as a valid extension for
    -mcpu=cortex-m33.

From-SVN: r253787
2017-10-16 13:55:00 +00:00
Wilco Dijkstra
a310363e90 re PR target/82442 (vect/pr31699.c fails on arm)
Fix PR82442

Recently the gcc.dg/vect/pr31699.c was modified to check for
vect_float effective target instead for vect_double.  As a 
result it now fails on armhf.  Fix by avoiding double.
Tested on armhf, aarch64 and x64.

    gcc/testsuite/
	PR target/82442
	* gcc.dg/vect/pr31699.c: Fix testcase.

From-SVN: r253786
2017-10-16 13:26:20 +00:00
Martin Liska
a0df14998e Add selftests for bitmap_set_range.
2017-10-16  Martin Liska  <mliska@suse.cz>

	* sbitmap.c (bitmap_bit_in_range_p_checking): New function.
	(test_set_range): Likewise.
	(test_range_functions): Rename to ...
	(test_bit_in_range): ... this.
	(sbitmap_c_tests): Add new test.

From-SVN: r253785
2017-10-16 11:59:39 +00:00
Tamar Christina
1274f08639 arm_neon.h (vdot_u32, [...]): New.
2017-10-16  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32): New.
	(vdot_lane_u32, vdot_laneq_u32, vdotq_lane_u32, vdotq_laneq_u32): New.
	(vdot_lane_s32, vdot_laneq_s32, vdotq_lane_s32, vdotq_laneq_s32): New.

gcc/testsuite/
2017-10-16  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/aarch64/advsimd-intrinsics/vect-dot-qi.h: New.
	* gcc.target/aarch64/advsimd-intrinsics/vdot-compile.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vect-dot-s8.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vect-dot-u8.c: New.

From-SVN: r253784
2017-10-16 09:58:31 +00:00
Tamar Christina
7a08d81307 2017-10-16 Tamar Christina <tamar.christina@arm.com>
* config/aarch64/aarch64-builtins.c
	(aarch64_types_quadopu_lane_qualifiers): New.
	(TYPES_QUADOPU_LANE): New.
	* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): New.
	(<sur>dot_prod<vsi2qi>, aarch64_<sur>dot_lane<vsi2qi>): New.
	(aarch64_<sur>dot_laneq<vsi2qi>): New.
	* config/aarch64/aarch64-simd-builtins.def (sdot, udot): New.
	(sdot_lane, udot_lane, sdot_laneq, udot_laneq): New.
	* config/aarch64/iterators.md (sur): Add UNSPEC_SDOT, UNSPEC_UDOT.
	(Vdottype, DOTPROD): New.
	(sur): Add SDOT and UDOT.

From-SVN: r253783
2017-10-16 09:56:41 +00:00
Tamar Christina
1ddc47c05e aarch64.h (AARCH64_FL_DOTPROD): New.
2017-10-16  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64.h (AARCH64_FL_DOTPROD): New.
	(AARCH64_ISA_DOTPROD, TARGET_DOTPROD): New.
	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add TARGET_DOTPROD.
	* config/aarch64/aarch64-option-extensions.def (dotprod): New.
	* config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75): Enable TARGET_DOTPROD.
	(cortex-a75.cortex-a55): Likewise.
	* doc/invoke.texi (aarch64-feature-modifiers): Document dotprod.

From-SVN: r253782
2017-10-16 09:55:32 +00:00
Tamar Christina
f8e109ba7b arm-builtins.c (arm_unsigned_uternop_qualifiers): New.
2017-10-16  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New.
	(UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS): New.
	* config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, udot_lane): new.
	* config/arm/iterators.md (DOTPROD, VSI2QI, vsi2qi): New.
	(UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New.
	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
	(neon_<sup>dot_lane<vsi2qi>, <sup>dot_prod<vsi2qi>): New.
	* config/arm/types.md (neon_dot, neon_dot_q): New.
	* config/arm/unspecs.md (sup): Add UNSPEC_DOT_S, UNSPEC_DOT_U.

From-SVN: r253781
2017-10-16 09:54:26 +00:00
Tamar Christina
ba09dd21b3 arm.h (TARGET_DOTPROD): New.
2017-10-16  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm.h (TARGET_DOTPROD): New.
	* config/arm/arm.c (arm_arch_dotprod): New.
	(arm_option_reconfigure_globals): Add arm_arch_dotprod.
	* config/arm/arm-c.c (__ARM_FEATURE_DOTPROD): New.
	* config/arm/arm-cpus.in (armv8.2-a): Enabled +dotprod.
	(feature dotprod, group dotprod, ALL_SIMD_INTERNAL): New.
	(ALL_FPU_INTERNAL): Use ALL_SIMD_INTERNAL.
	* config/arm/t-multilib (v8_2_a_simd_variants): Add dotprod.
	* doc/invoke.texi (armv8.2-a): Document dotprod

From-SVN: r253780
2017-10-16 09:53:13 +00:00
Tom de Vries
92d5d01ac6 Enable libgomp.oacc-*/declare-*.{c,f90} for non-nvidia devices
2017-10-16  Tom de Vries  <tom@codesourcery.com>

	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
	openacc_nvidia_accel_selected.
	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
	openacc_nvidia_accel_selected. Skip for shared memory device.
	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.

From-SVN: r253779
2017-10-16 08:44:42 +00:00
Jakub Jelinek
126c1ea158 re PR c++/53574 (ICE with -fstack-usage)
PR c++/53574
	* g++.dg/other/pr53574.C: New test.

From-SVN: r253778
2017-10-16 10:36:06 +02:00
Paolo Carlini
6fba3d61ef re PR c++/61323 ('static' and 'const' attributes cause non-type template argument matching failure)
2017-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61323
	* g++.dg/cpp0x/constexpr-61323.C: New.

From-SVN: r253777
2017-10-16 08:25:31 +00:00
François Dumont
1be043a140 re PR libstdc++/82558 (V8 JavaScript engine segfaults since r249235)
2017-10-16  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/82558
	* include/bits/stl_bvector.h (fill): Add iterator offset check.
	* testsuite/23_containers/vector/bool/82558.cc: New.

From-SVN: r253776
2017-10-16 05:44:03 +00:00
GCC Administrator
181640f627 Daily bump.
From-SVN: r253775
2017-10-16 00:16:13 +00:00
Paolo Carlini
4dcfe21f16 re PR c++/54090 (internal compiler error: in unify, at cp/pt.c:15731)
2017-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54090
	* g++.dg/template/crash128.C: New.

From-SVN: r253772
2017-10-15 22:29:59 +00:00
Jan Hubicka
c53c148c91 i386.c (ix86_vec_cost): New function.
* i386.c (ix86_vec_cost): New function.
	(ix86_rtx_costs): Handle vector operations better.
	* i386.h (struct processor_costs): Add sse_op, fmasd, fmass.
	* x86-tune-costs.h: Add new costs to all tables.

From-SVN: r253771
2017-10-15 22:10:22 +00:00