Commit Graph

146292 Commits

Author SHA1 Message Date
Jakub Jelinek 1875b9a02d re PR tree-optimization/71280 (ICE on gcc trunk on knl, wsm, ivb and bdw targets)
PR tree-optimization/71280
	* gcc.dg/pr71280.c: New test.

From-SVN: r236767
2016-05-26 11:29:28 +02:00
Chung-Lin Tang 06fca33def gomp-constants.h (GOMP_VERSION): Increment to 1...
2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>

	include/
	* gomp-constants.h (GOMP_VERSION): Increment to 1, add comment to
	describe the need for incrementing this macro whenever the plugin
	interface is modified.

From-SVN: r236766
2016-05-26 09:12:59 +00:00
Jakub Jelinek 2116e19f83 sse.md (*vcvtps2ph_store<mask_name>): Use v constraint instead of x constraint.
* config/i386/sse.md (*vcvtps2ph_store<mask_name>): Use v constraint
	instead of x constraint.
	(vcvtps2ph256<mask_name>): Likewise.

	* gcc.target/i386/avx512vl-vcvtps2ph-3.c: New test.

From-SVN: r236765
2016-05-26 10:45:49 +02:00
Jakub Jelinek 305aef090c sse.md (*ssse3_palignr<mode>_perm): Add avx512bw alternative.
* config/i386/sse.md (*ssse3_palignr<mode>_perm): Add avx512bw
	alternative.  Formatting fix.

	* gcc.target/i386/avx512bw-vpalignr-4.c: New test.
	* gcc.target/i386/avx512vl-vpalignr-4.c: New test.

From-SVN: r236764
2016-05-26 10:44:16 +02:00
Jakub Jelinek c7501e00ef * config/i386/sse.md
(<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Rename
	to ...
	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>): ... this.
	(*avx_vperm_broadcast_v4sf): Use v constraint instead of x.  Use
	maybe_evex prefix instead of vex.
	(*avx_vperm_broadcast_<mode>): Use v constraint instead of x.  Handle
	EXT_REX_SSE_REG_P (op0) case in the splitter.

	* gcc.target/i386/avx512vl-vbroadcast-3.c: New test.

From-SVN: r236763
2016-05-26 10:43:17 +02:00
Jiong Wang ca449d267c [AArch64, testsuite] Fix vmul_elem_1.c on big-endian
gcc/testsuite/
        * gcc.target/aarch64/simd/vmul_elem_1.c: Force result variables to be
        kept in memory.

From-SVN: r236762
2016-05-26 08:37:29 +00:00
GCC Administrator 9de98f89fe Daily bump.
From-SVN: r236761
2016-05-26 00:16:20 +00:00
Jeff Law 8af01c66fb re PR tree-optimization/71272 (internal compiler error: in operator[], through tree-ssa-threadupdate.c:1981)
PR tree-optimization/71272
	* tree-ssa-threadbackward.c (convert_and_register_jump_thread_path):
	Update comments.  Add test for empty path.

	PR tree-optimization/71272
	* gcc.c-torture/compile/pr71272.c: new test.

From-SVN: r236755
2016-05-25 16:25:35 -06:00
Bill Seurer f9d6ce734d This patch adds support for the vec_cmpne altivec builtins from the Power...
This patch adds support for the vec_cmpne altivec builtins from the Power
Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July
2015 Version 1.1). There are many of the builtins that are missing and this
is part of a series of patches to add them.

There aren't instructions for vec_cmpne so the output code is built from other
built-ins that do have instructions which in this case is the following.

vec_cmpneq (va, vb) == vec_nor (vec_cmpeq (va, vb), vec_cmpeq (va, vb))

The new test cases are executable tests which verify that the generated
code produces expected values. C macros were used so that the same
test case could be used for both the signed and unsigned versions of various
basic types. A separate executable test case is used for the long long versions
of vec_cmpne because of some differences in loading and storing the vectors.

[gcc]

2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne.
	* config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a
	special case builtin.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	code for ALTIVEC_BUILTIN_VEC_CMPNE.
	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
	for __builtin_vec_cmpne.

[gcc/testsuite]

2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-cmpne.c: New test.
	* gcc.target/powerpc/vec-cmpne-long.c: New test.

From-SVN: r236753
2016-05-25 21:55:22 +00:00
Eric Botcazou a88a7b22c9 tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove redundant test and bail out if the type of the new operand is not a...
* tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
	redundant test and bail out if the type of the new operand is not
	a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.

From-SVN: r236748
2016-05-25 20:41:01 +00:00
Senthil Kumar Selvaraj 125f02edbd Wduplicated-cond-1.c: Use smaller const literal.
2016-05-25  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* c-c++-common/Wduplicated-cond-1.c: Use smaller const literal.
	* c-c++-common/pr60226.c: Require int32plus.
	* gcc.c-torture/execute/pr70602.c: Likewise.
	* gcc.dg/Warray-bounds-11.c: Use __SIZE_TYPE__ instead of
	unsigned long for malloc arg type.
	* gcc.dg/asr_div1.c: Require int32plus.
	* gcc.dg/enum-mode-1.c: XFAIL for int16.
	* gcc.dg/pie-1.c: Require pie.
	* gcc.dg/pie-2.c: Likewise.
	* gcc.dg/pr59471.c: Require int32plus.
	* gcc.dg/pr59963-2.c: XFAIL for int16.
	* gcc.dg/pr60114.c: Require int32plus.
	* gcc.dg/pr62090-2.c: Use __SIZE_TYPE__ instead of
	unsigned long for typedef of size_t.
	* gcc.dg/pr63914.c: Require int32plus.
	* gcc.dg/pr64536.c: Require pt32plus.
	* gcc.dg/pr65658.c: Likewise.
	* gcc.dg/pr67271.c: Require int32plus.
	* gcc.dg/pr68112.c: Likewise.
	* gcc.dg/pr69071.c: Skip for avr target.
	* gcc.dg/pr69973.c: Require int32plus.
	* gcc.dg/pr70169.c: Skip for avr target.
	* gcc.dg/sso-6.c: Require int32plus.
	* gcc.dg/sso-7.c: Likewise.
	* gcc.dg/sso-8.c: Likewise.
	* gcc.dg/vrp-min-max-2.c: Likewise.

From-SVN: r236741
2016-05-25 19:51:49 +00:00
Uros Bizjak c6e434f5b7 re PR target/70738 (Add -mgeneral-regs-only option)
PR target/70738
	* common/config/i386/i386-common.c
	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
	(ix86_handle_option) <case OPT_mgeneral_regs_only>: Disable
	MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only.
	* config/i386/i386.opt (ix86_target_flags): Add new Variable.
	(-mgeneral-regs-only): Add new option.
	* config/i386/i386.c (ix86_option_override_internal): Don't enable
	x87 instructions if only general registers are allowed.
	(ix86_target_string): Add ix86_flags argument. Handle additional
	flags options through ix86_flags argument.  Update all callers.
	* doc/invoke.texi: Document -mgeneral-regs-only.

testsuite/ChangeLog:

	PR target/70738
	* gcc.target/i386/pr70738-1.c: New test.
	* gcc.target/i386/pr70738-2.c: Likewise.
	* gcc.target/i386/pr70738-3.c: Likewise.
	* gcc.target/i386/pr70738-4.c: Likewise.
	* gcc.target/i386/pr70738-5.c: Likewise.
	* gcc.target/i386/pr70738-6.c: Likewise.
	* gcc.target/i386/pr70738-7.c: Likewise.
	* gcc.target/i386/pr70738-8.c: Likewise.
	* gcc.target/i386/pr70738-9.c: Likewise.

From-SVN: r236738
2016-05-25 20:58:49 +02:00
Jason Merrill 0ab22eb32c Fix comment.
From-SVN: r236737
2016-05-25 14:41:21 -04:00
Jason Merrill 1b22fc54fd PR c++/71173 - wrong qualified lookup
PR c++/70522
	* cp-tree.h (enum tag_types): Add scope_type.
	* parser.c (cp_parser_class_name): Use scope_type.
	(prefer_type_arg): Handle scope_type.
	(cp_parser_lookup_name): Use prefer_type_arg.
	* name-lookup.c (lookup_qualified_name): Change bool is_type_p to
	int prefer_type, use lookup_flags.
	* name-lookup.h: Adjust.

From-SVN: r236736
2016-05-25 14:29:14 -04:00
Joseph Myers 04080f22d6 * ru.po: Update.
From-SVN: r236732
2016-05-25 17:37:03 +01:00
Jonathan Wakely c42d228806 Fix configure test for sendfile()
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r236730
2016-05-25 17:13:52 +01:00
Kyrylo Tkachov 5c42d34143 [RTL ifcvt] PR rtl-optimization/66940: Avoid signed overflow in noce_get_alt_condition
PR rtl-optimization/66940
	* ifcvt.c (noce_get_alt_condition): Check that incrementing or
	decrementing desired_val will not overflow before performing these
	operations.

	* gcc.c-torture/execute/pr66940.c: New test.

From-SVN: r236728
2016-05-25 15:53:21 +00:00
Ilya Verbin bf9a1a07ad AVX-512F: Add vectorizer support builtins
gcc/
	* config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
	V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
	IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
	IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
	IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
	IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
	IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
	(builtin_description bdesc_args): Add __builtin_ia32_floorps512,
	__builtin_ia32_ceilps512, __builtin_ia32_truncps512,
	__builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
	__builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
	__builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
	__builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
	Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
	__builtin_ia32_cvtps2dq512_mask.
	(ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
	V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
	(ix86_builtin_vectorized_function): Handle builtins mentioned above.
	* config/i386/sse.md
	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
	Rename to ...
	(avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
	(<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
	to ...
	(avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
	(avx512f_vec_pack_sfix_v8df): New define_expand.
	(avx512f_roundpd512): Rename to ...
	(avx512f_round<castmode>512): ... this.  Change iterator.
	(avx512f_roundps512_sfix): New define_expand.
	(round<mode>2_sfix): Change iterator.
gcc/testsuite/
	* gcc.target/i386/avx512f-ceil-vec-1.c: New test.
	* gcc.target/i386/avx512f-ceil-vec-2.c: New test.
	* gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-ceilf-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-ceilf-vec-1.c: New test.
	* gcc.target/i386/avx512f-ceilf-vec-2.c: New test.
	* gcc.target/i386/avx512f-floor-vec-1.c: New test.
	* gcc.target/i386/avx512f-floor-vec-2.c: New test.
	* gcc.target/i386/avx512f-floorf-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-floorf-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-floorf-vec-1.c: New test.
	* gcc.target/i386/avx512f-floorf-vec-2.c: New test.
	* gcc.target/i386/avx512f-rint-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-rint-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-rintf-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-rintf-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-round-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-round-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-roundf-sfix-vec-1.c: New test.
	* gcc.target/i386/avx512f-roundf-sfix-vec-2.c: New test.
	* gcc.target/i386/avx512f-trunc-vec-1.c: New test.
	* gcc.target/i386/avx512f-trunc-vec-2.c: New test.
	* gcc.target/i386/avx512f-truncf-vec-1.c: New test.
	* gcc.target/i386/avx512f-truncf-vec-2.c: New test.

From-SVN: r236709
2016-05-25 15:08:14 +00:00
Marek Polacek a23faf7a4f re PR c/71266 (gcc ICE on x86_64-linux-gnu in "store_parm_decls_oldstyle")
PR c/71266
	* c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.

	* gcc.dg/noncompile/old-style-parm-3.c: New test.

From-SVN: r236708
2016-05-25 14:58:39 +00:00
Marek Polacek 95efe6b6f4 re PR c/71265 (gcc ICE on x86_64-linux-gnu with “seg fault”)
PR c/71265
	* c-decl.c (c_make_fname_decl): Don't check seen_error.

	* gcc.dg/noncompile/pr71265.c: New test.

From-SVN: r236707
2016-05-25 14:57:34 +00:00
Joseph Myers be650bb939 * ru.po: Update.
From-SVN: r236705
2016-05-25 15:48:34 +01:00
Nick Clifton e56989ffae msp430.c (msp430_attr): Produce an error if a static interrupt handler is detected.
* config/msp430/msp430.c (msp430_attr): Produce an error if a
	static interrupt handler is detected.
	* config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
	default linker script.
	* config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
	the low part of a symbolic pointer.

From-SVN: r236704
2016-05-25 14:31:46 +00:00
Nathan Sidwell 69a6d5ad31 crt0.s: Delete.
libgcc/
	* config/nvptx/crt0.s: Delete.
	* config/nvptx/crt0.c: New.
	* t-nvptx: Update.

	gcc/testsuite/
	* gcc.c-torture/execute/921110-1.c: Fix abort decl.
	add missing 2016-05-20  Nathan Sidwell  <nathan@acm.org> entry

From-SVN: r236702
2016-05-25 12:25:01 +00:00
Richard Biener 3072d4ea29 re PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)
2016-05-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71261
	* tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
	interesting stmt instead of immediate uses when looking
	for the use operand to replace.

	* c-c++-common/torture/pr71261.c: New testcase.

From-SVN: r236701
2016-05-25 11:49:03 +00:00
Martin Liska a86f2f6f94 Fix dump output typo
* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.

From-SVN: r236700
2016-05-25 11:17:23 +00:00
Richard Biener e412ece4ce re PR tree-optimization/71264 (ICE in convert_move)
2016-05-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71264
	* tree-vect-stmts.c (vect_init_vector): Properly deal with
	vector type val.

	* gcc.dg/vect/pr71264.c: New testcase.

From-SVN: r236699
2016-05-25 10:57:53 +00:00
Paolo Carlini b9e551ad26 re PR c++/55992 (constexpr static member function not recognised in templated using statement)
2016-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55992
	* g++.dg/cpp0x/alias-decl-53.C: New.
	* g++.dg/cpp0x/alias-decl-54.C: Likewise.

From-SVN: r236698
2016-05-25 09:50:46 +00:00
Jonathan Wakely 834f4c4355 Remove _GLIBCXX14_USE_CONSTEXPR
* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
	* include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
	Remove const qualification on function. Replace
	_GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
	(_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
	(_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.

From-SVN: r236697
2016-05-25 10:36:28 +01:00
Martin Liska 6aa1abe5f2 re PR tree-optimization/71239 (ICE in operand_equal_p (fold-const.c:2769))
Fix PR tree-optimization/71239.

	* g++.dg/pr71239.C: New test.
	PR tree-optimization/71239
	* tree.c (array_at_struct_end_p): Do not call operand_equal_p
	if DECL_SIZE is NULL.

From-SVN: r236696
2016-05-25 09:10:16 +00:00
Richard Biener 6ca8e33c66 timevar.def (TV_TREE_LOOP_IFCVT): Add.
2016-05-25  Richard Biener  <rguenther@suse.de>

	* timevar.def (TV_TREE_LOOP_IFCVT): Add.
	* tree-if-conv.c (pass_data_if_conversion): Use it.

From-SVN: r236695
2016-05-25 08:52:22 +00:00
Paolo Carlini 021fad8626 lambda-generic-static1.C: Use target c++14.
2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
	* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.

From-SVN: r236694
2016-05-25 08:49:22 +00:00
Richard Biener 842d162e57 pr58135.c: Rename to ...
2016-05-25  Richard Biener  <rguenther@suse.de>

	* gcc/testsuite/gcc.dg/vect/pr58135.c: Rename to ...
	* gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c: ... this.

From-SVN: r236693
2016-05-25 08:21:35 +00:00
Bernd Edlinger 65c74eb276 cgraph.c (cgraph_node::get_availability): Fix typo in comment.
* cgraph.c (cgraph_node::get_availability): Fix typo in comment.
* symtab.c (symtab_node::binds_to_current_def_p): Likewise.
* varpool.c (varpool_node::get_availability): Likewise.

From-SVN: r236690
2016-05-25 07:38:32 +00:00
GCC Administrator 568da5e6e1 Daily bump.
From-SVN: r236689
2016-05-25 00:16:19 +00:00
Marek Polacek f184a36cb5 * g++.dg/pr65295.C: Use target c++14.
From-SVN: r236683
2016-05-24 23:41:06 +00:00
Michael Meissner c3eaf15aae altivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions.
[gcc]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (VNEG iterator): New iterator for
	VNEGW/VNEGD instructions.
	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
	(neg<mode>2): Add expander for V2DImode added in ISA 2.06, and
	support for ISA 3.0 VNEGW/VNEGD instructions.

[gcc/testsuite]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD
	instructions.

From-SVN: r236679
2016-05-24 23:19:08 +00:00
Cesar Philippidis e46c777050 c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER.
gcc/c/
	* c-parser.c (c_parser_oacc_declare): Add support for
	GOMP_MAP_FIRSTPRIVATE_POINTER.
	* c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
	argument with enum c_omp_region_type ort.
	(handle_omp_array_sections): Likewise.  Update call to
	handle_omp_array_sections_1.
	(c_finish_omp_clauses): Add specific errors and warning messages for
	OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
	call to handle_omp_array_sections.

	gcc/cp/
	* parser.c (cp_parser_oacc_declare): Add support for
	GOMP_MAP_FIRSTPRIVATE_POINTER.
	* semantics.c (handle_omp_array_sections_1): Replace bool is_omp
	argument with enum c_omp_region_type ort.  Don't privatize OpenACC
	non-static members.
	(handle_omp_array_sections): Replace bool is_omp argument with enum
	c_omp_region_type ort.  Update call to handle_omp_array_sections_1.
	(finish_omp_clauses): Add specific errors and warning messages for
	OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
	call to handle_omp_array_sections.

	gcc/
	* gimplify.c (omp_notice_variable): Use zero-length arrays for data
	pointers inside OACC_DATA regions.
	(gimplify_scan_omp_clauses): Prune firstprivate clause associated
	with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions.
	(gimplify_adjust_omp_clauses): Fix typo in comment.

	gcc/testsuite/
	* c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test.
	* c-c++-common/goacc/deviceptr-1.c: Likewise.
	* c-c++-common/goacc/kernels-alias-3.c: Likewise.
	* c-c++-common/goacc/kernels-alias-4.c: Likewise.
	* c-c++-common/goacc/kernels-alias-5.c: Likewise.
	* c-c++-common/goacc/kernels-alias-8.c: Likewise.
	* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
	* c-c++-common/goacc/pcopy.c: Likewise.
	* c-c++-common/goacc/pcopyin.c: Likewise.
	* c-c++-common/goacc/pcopyout.c: Likewise.
	* c-c++-common/goacc/pcreate.c: Likewise.
	* c-c++-common/goacc/pr70688.c: New test.
	* c-c++-common/goacc/present-1.c: Adjust test.
	* c-c++-common/goacc/reduction-5.c: Likewise.
	* g++.dg/goacc/data-1.C: New test.

	libgomp/
	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
	(acc_free): Likewise.
	(acc_memcpy_to_device): Likewise.
	(acc_memcpy_from_device): Likewise.
	(acc_deviceptr): Likewise.
	(acc_hostptr): Likewise.
	(acc_is_present): Likewise.
	(acc_map_data): Likewise.
	(acc_unmap_data): Likewise.
	(present_create_copy): Likewise.
	(delete_copyout): Likewise.
	(update_dev_host): Likewise.
	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
	it only runs on nvptx targets.
	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.

From-SVN: r236678
2016-05-24 15:54:21 -07:00
Michael Meissner 4bfc9db7e6 altivec.md (VParity): New mode iterator for vector parity built-in functions.
[gcc]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (VParity): New mode iterator for vector
	parity built-in functions.
	(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
	zeros.
	(p9v_parity<mode>2): Likewise.
	* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
	parity.
	(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
	(parity<mode>2): ISA 3.0 expander for vector parity.
	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
	power9 built-ins.
	(BU_P9_64BIT_MISC_0): Likewise.
	(BU_P9_MISC_0): Likewise.
	(BU_P9V_AV_1): Likewise.
	(BU_P9V_AV_2): Likewise.
	(BU_P9V_AV_3): Likewise.
	(BU_P9V_AV_P): Likewise.
	(BU_P9V_VSX_1): Likewise.
	(BU_P9V_OVERLOAD_1): Likewise.
	(BU_P9V_OVERLOAD_2): Likewise.
	(BU_P9V_OVERLOAD_3): Likewise.
	(VCTZB): Add vector count trailing zeros support.
	(VCTZH): Likewise.
	(VCTZW): Likewise.
	(VCTZD): Likewise.
	(VPRTYBD): Add vector parity support.
	(VPRTYBQ): Likewise.
	(VPRTYBW): Likewise.
	(VCTZ): Add overloaded vector count trailing zeros support.
	(VPRTYB): Add overloaded vector parity support.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	overloaded vector count trailing zeros and parity instructions.
	* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
	vector parity support.
	* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
	trailing zeros support.
	(vec_cntlz): Likewise.
	(vec_vctzb): Likewise.
	(vec_vctzd): Likewise.
	(vec_vctzh): Likewise.
	(vec_vctzw): Likewise.
	(vec_vprtyb): Add ISA 3.0 vector parity support.
	(vec_vprtybd): Likewise.
	(vec_vprtybw): Likewise.
	(vec_vprtybq): Likewise.
	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
	the ISA 3.0 vector count trailing zeros and vector parity built-in
	functions.

[gcc/testsuite]
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0
	vector parity built-in functions.
	* gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector
	count trailing zeros automatic vectorization.
	* gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector
	count trailing zeros built-in functions.

From-SVN: r236677
2016-05-24 22:45:45 +00:00
Paolo Carlini fe3473a686 lambda-generic-static1.C: Use target c++14.
2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
	* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.

From-SVN: r236676
2016-05-24 22:38:00 +00:00
Kugan Vivekanandarajah 2bc145afaa tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is stmt_to_insert.
gcc/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
	when there is stmt_to_insert.


gcc/testsuite/ChangeLog:

2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* gcc.dg/tree-ssa/reassoc-44.c: New test.

From-SVN: r236673
2016-05-24 22:29:27 +00:00
Pat Haugen 26869fdb47 lhs-1.c: Fix testcase to avoid subreg changes.
* gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.

From-SVN: r236672
2016-05-24 22:24:16 +00:00
Paolo Carlini b2dc9c3b20 re PR c++/50436 (Crash or hang on invalid template code)
2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50436
	* g++.dg/template/crash123.C: New.
	* g++.dg/template/crash124.C: Likewise.

From-SVN: r236671
2016-05-24 21:32:29 +00:00
Jason Merrill 66f90a1761 PR c++/70584 - don't force indirection to an rvalue
* cp-gimplify.c (cp_fold_maybe_rvalue): Loop in case cp_fold
	returns a decl.
	(cp_fold) [INDIRECT_REF]: Don't fold to an rvalue.

From-SVN: r236670
2016-05-24 17:06:53 -04:00
François Dumont 732eb07625 c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2016-05-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
	* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
	having load factor management.
	(_Mask_range_hashing): New.
	(__clp2): New.
	(_Power2_rehash_policy): New.
	(_Inserts<>): Remove last template parameter, _Unique_keys, so that
	partial specializations only depend on whether iterators are constant
	or not.
	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
	test new hash policy.
	* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/insert/hash_policy.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
	New.
	* testsuite/performance/23_containers/insert/54075.cc: Add benchmark
	using the new hash policy.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

From-SVN: r236669
2016-05-24 20:55:57 +00:00
Martin Sebor f65e97fd3d PR c++/71147 - [6 Regression] Flexible array member wrongly rejected in template
gcc/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

	PR c++/71147
	* gcc/tree.h (complete_or_array_type_p): New inline function.

gcc/testsuite/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

	PR c++/71147
	* g++.dg/ext/flexary16.C: New test.

gcc/cp/ChangeLog:
2016-05-24  Martin Sebor  <msebor@redhat.com>

	PR c++/71147
	* decl.c (layout_var_decl, grokdeclarator): Use complete_or_array_type_p.
	* pt.c (instantiate_class_template_1): Try to complete the element
	type of a flexible array member.
	(can_complete_type_without_circularity): Handle arrays of unknown bound.
	* typeck.c (complete_type): Also complete the type of the elements of
	arrays with an unspecified bound.

From-SVN: r236664
2016-05-24 14:29:36 -06:00
Jakub Jelinek 8e0dc0549a i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
	* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
	rather than X86_TUNE_AVOID_4BYTE_PREFIXES.

From-SVN: r236662
2016-05-24 21:12:42 +02:00
Jakub Jelinek a0caac985d sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Limit 1st alternative to noavx isa...
* config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
	Limit 1st alternative to noavx isa, split 2nd alternative into one
	noavx and one avx alternative, use *x and Bm in the former and
	x and m in the latter.

From-SVN: r236661
2016-05-24 21:12:06 +02:00
Jakub Jelinek 7733939d25 sse.md (vec_set<mode>_0): Use sse4_noavx isa instead of sse4 for the first alternative...
* config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
	of sse4 for the first alternative, drop %v from the template
	and d operand modifier.  Split second alternative into one sse4_noavx
	and one avx alternative, use *x instead of *v in the former and v
	instead of *v in the latter.
	(*sse4_1_extractps): Use noavx isa instead of * for the first
	alternative, drop %v from the template.  Split second alternative into
	one noavx and one avx alternative, use *x instead of *v in the
	former and v instead of *v in the latter.
	(<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
	with noavx and the last one with avx.
	(sse4_1_phminposuw): Guard first alternative with noavx isa,
	split the second one into one noavx and one avx alternative,
	use *x and Bm in the former and x and m in the latter one.
	(<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
	alternatives.

From-SVN: r236660
2016-05-24 21:11:33 +02:00
Jakub Jelinek 520c86db4c sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit first two alternatives to noavx...
* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
	first two alternatives to noavx, use *x instead of *v in the second
	one, add avx alternative without *.
	(sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
	sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
	sse4_1_<code>v2siv2di2<mask_name>): Likewise.

From-SVN: r236659
2016-05-24 21:10:55 +02:00
Ilya Verbin a6f5ac7fd4 avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before math.h is included.
* gcc.target/i386/avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before
	math.h is included.
	* gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise.
	* gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise.
	* gcc.target/i386/avx-round-sfix-2-vec.c: Likewise.
	* gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise.
	* gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise.
	* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-ceil-vec.c: Likewise.
	* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-ceilf-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floor-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rint-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rintf-vec.c: Likewise.
	* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-round-vec.c: Likewise.
	* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-roundf-vec.c: Likewise.
	* gcc.target/i386/sse4_1-trunc-vec.c: Likewise.
	* gcc.target/i386/sse4_1-truncf-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.

From-SVN: r236656
2016-05-24 17:35:17 +00:00