Commit Graph

146585 Commits

Author SHA1 Message Date
David Malcolm 914bc2b9f9 PR bootstrap/71471: remove selftest for pp_format (%p)
gcc/ChangeLog:
	PR bootstrap/71471
	* pretty-print.c (pp_indent): Specify that %p is printed in a
	host-dependent manner.
	(test_pp_format): Remove the test for %p.

From-SVN: r237271
2016-06-09 17:27:12 +00:00
David Malcolm f8fdb10e69 config-list.mk: add OPT-enable-obsolete to 4 targets
r233165 marked three deprecated rtems targets as obsolete.
r233887 marked mep-elf as obsolete.

Update config-list.mk to add OPT-enable-obsolete to these 4
targets.

contrib/ChangeLog:
	* config-list.mk (LIST): Add OPT-enable-obsolete to avr-rtems,
	h8300-rtems, m32r-rtems, mep-elf.

From-SVN: r237270
2016-06-09 17:06:47 +00:00
David Malcolm 54951c63e9 config-list.mk: add GCC_SRC_DIR
contrib/ChangeLog:
	* config-list.mk (GCC_SRC_DIR): New variable.
	(make-log-dir): Use GCC_SRC_DIR.
	($(LIST)): Likewise.

From-SVN: r237269
2016-06-09 17:04:13 +00:00
Martin Sebor e01b4e1693 PR c/70883 - inconsistent error message for calls to __builtin_add_overflow
PR c/70883 - inconsistent error message for calls to __builtin_add_overflow
  with too few arguments

gcc/c-family/ChangeLog:
2016-06-09  Martin Sebor  <msebor@redhat.com>

	PR c/70883
	* c-common.c (builtin_function_validate_nargs): Make text of error
	message consistent with others like it.

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

	PR c/70883
	* c-c++-common/builtin-arith-overflow-1.c: Adjust diagnostic text.
	* gcc.dg/builtin-constant_p-1.c: Same.
	* gcc.dg/builtins-error.c: Same.
	* gcc.dg/pr70859.c: Same.

From-SVN: r237268
2016-06-09 10:32:25 -06:00
Maciej W. Rozycki 386a87e4f1 MIPS: Stay within 79 columns in `mips_output_jump'
gcc/
	* config/mips/mips.c (mips_output_jump): Fix formatting.

From-SVN: r237267
2016-06-09 14:46:25 +00:00
Senthil Kumar Selvaraj 9c35db0e0d bswap-2.c: Require int32plus.
2016-06-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.c-torture/execute/bswap-2.c: Require int32plus.
	* gcc.dg/torture/pr68067-1.c: Likewise.
	* gcc.dg/torture/pr68067-2.c: Likewise.

2016-06-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/stack-usage-1.c (SIZE): Consider return address
	  when setting SIZE.

From-SVN: r237266
2016-06-09 14:32:08 +00:00
Paolo Carlini 392a81b96e re PR c++/71465 (ICE on invalid C++ code (with duplicate base) on x86_64-linux-gnu: in dfs_build_secondary_vptr_vtt_inits, at cp/class.c:9075)
/cp
2016-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71465
	Revert:
	2016-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70202
	* parser.c (cp_parser_class_head): When xref_basetypes fails and
	emits an error do not zero the type.
	
/testsuite
2016-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71465
	* g++.dg/inherit/crash5.C: New.
	Revert:
	2016-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70202
	* g++.dg/inherit/crash5.C: New.
	* g++.dg/inherit/virtual1.C: Adjust.

From-SVN: r237258
2016-06-09 12:02:17 +00:00
Martin Liska fdf3a386e0 Add new analyze_brprob_spec.py script
* analyze_brprob_spec.py: New file.

From-SVN: r237257
2016-06-09 11:39:08 +00:00
Martin Liska 0d73e4800d Add sorting support to analyze_brprob script
* analyze_brprob.py: Add new argument --sorting.

From-SVN: r237256
2016-06-09 11:38:23 +00:00
Martin Liska e49efc14a1 Add edge predictions pruning
* analyze_brprob.py: Cover new dump output format.
	* predict.c (dump_prediction): Add new argument.
	(enum predictor_reason): New enum.
	(struct predictor_hash): New struct.
	(predictor_hash::hash): New function.
	(predictor_hash::equal): Likewise.
	(not_removed_prediction_p): New function.
	(prune_predictions_for_bb): Likewise.
	(combine_predictions_for_bb): Prune predictions.
	* g++.dg/predict-loop-exit-1.C: Scan for a new dump format.
	* g++.dg/predict-loop-exit-2.C: Likewise.
	* g++.dg/predict-loop-exit-3.C: Likewise.
	* gcc.dg/predict-1.c: Likewise.
	* gcc.dg/predict-2.c: Likewise.
	* gcc.dg/predict-3.c: Likewise.
	* gcc.dg/predict-4.c: Likewise.
	* gcc.dg/predict-5.c: Likewise.
	* gcc.dg/predict-6.c: Likewise.
	* gcc.dg/predict-7.c: Likewise.

From-SVN: r237255
2016-06-09 11:37:41 +00:00
Richard Biener 36d5798666 re PR tree-optimization/71462 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”)
2016-06-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71462
	* tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
	removed blocks.

	* gcc.dg/torture/pr71462.c: New testcase.

From-SVN: r237254
2016-06-09 11:36:22 +00:00
Martin Liska 28cd6814b5 Introduce filtering for edge_predictions.
* predict.c (filter_predictions): New function.
	(remove_predictions_associated_with_edge): Use the filter
	function.
	(equal_edge_p): New function.

From-SVN: r237253
2016-06-09 11:26:32 +00:00
Marek Polacek 7d82e8e465 re PR c/65471 (type interpretation in _Generic)
PR c/65471
	* gcc.dg/c11-generic-3.c: New test.

From-SVN: r237252
2016-06-09 10:16:19 +00:00
Stefan Bruens bd8099f9de Update documentation for ARM architecture
2016-06-09  Stefan Bruens  <stefan.bruens@rwth-aachen.de>

	* doc/invoke.texi (ARM Options): Use lexicographical ordering.
	Correct usage of @samp vs @option, add @samp where appropriate.
	Add -march={armv6k,armv6z,arm6zk}, remove -march=ep9312.
	Add armv6s-m and document it, as it is no official ARM name.

From-SVN: r237251
2016-06-09 08:59:23 +00:00
Kyrylo Tkachov f62c6a6204 [RTL ifcvt] Print name of noce trasform that succeeded in dump file
* ifcvt.c (struct noce_if_info): Add transform_name field.
	(noce_try_move): Set if_info->transform_name to the function name.
	(noce_try_ifelse_collapse): Likewise.
	(noce_try_store_flag): Likewise.
	(noce_try_inverse_constants): Likewise.
	(noce_try_store_flag_constants): Likewise.
	(noce_try_addcc): Likewise.
	(noce_try_store_flag_mask): Likewise.
	(noce_try_cmove): Likewise.
	(noce_try_cmove_arith): Likewise.
	(noce_try_minmax): Likewise.
	(noce_try_abs): Likewise.
	(noce_try_sign_mask): Likewise.
	(noce_try_bitop): Likewise.
	(noce_convert_multiple_sets): Likewise.
	(noce_process_if_block): Print if_info->transform_name to
	dump_file if transformation succeeded.

From-SVN: r237250
2016-06-09 08:48:10 +00:00
Kyrylo Tkachov b111f1f9f0 [AArch64] Model CSEL instruction in Cortex-A57 scheduling model
* config/arm/cortex-a57.md (cortex_a57_alu):
	Handle csel type.

From-SVN: r237249
2016-06-09 08:45:22 +00:00
GCC Administrator 387487fe3d Daily bump.
From-SVN: r237248
2016-06-09 00:17:08 +00:00
Paolo Carlini c8a715894d decl.c (maybe_deduce_size_from_array_init): Use DECL_SOURCE_LOCATION in error_at.
/cp
2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (maybe_deduce_size_from_array_init): Use
	DECL_SOURCE_LOCATION in error_at.
	(layout_var_decl): Likewise.
	(check_array_initializer): Likewise.
	(check_initializer): Likewise.
	(duplicate_decls, check_elaborated_type_specifier): Tidy.

/testsuite
2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/init/array42.C: New.
	* g++.dg/init/array43.C: Likewise.
	* g++.dg/init/array44.C: Likewise.
	* g++.dg/init/array45.C: Likewise.
	* g++.dg/cpp0x/constexpr-ice10.C: Test column number too.
	* g++.dg/cpp0x/constexpr-incomplete1.C: Likewise.
	* g++.dg/cpp1y/auto-fn27.C: Likewise.
	* g++.dg/gomp/pr35751.C: Likewise.
	* g++.dg/init/array23.C: Likewise.
	* g++.dg/init/brace2.C: Likewise.
	* g++.dg/init/brace6.C: Likewise.

From-SVN: r237240
2016-06-08 19:31:55 +00:00
Martin Sebor 44a845ca0e re PR c++/70507 (integer overflow builtins not constant expressions)
PR c++/70507
	PR c/68120
	* builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
	BUILT_IN_MUL_OVERFLOW_P): New builtins.
	* builtins.c: Include gimple-fold.h.
	(fold_builtin_arith_overflow): Handle
	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
	(fold_builtin_3): Likewise.
	* doc/extend.texi (Integer Overflow Builtins): Document
	__builtin_{add,sub,mul}_overflow_p.
gcc/c/
	* c-typeck.c (convert_arguments): Don't promote last argument
	of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/cp/
	* constexpr.c: Include gimple-fold.h.
	(cxx_eval_internal_function): New function.
	(cxx_eval_call_expression): Call it.
	(potential_constant_expression_1): Handle integer arithmetic
	overflow built-ins.
	* tree.c (builtin_valid_in_constant_expr_p): Handle
	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/c-family/
	* c-common.c (check_builtin_function_arguments): Handle
	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
gcc/testsuite/
	* c-c++-common/builtin-arith-overflow-1.c: Add test cases.
	* c-c++-common/builtin-arith-overflow-2.c: New test.
	* g++.dg/ext/builtin-arith-overflow-1.C: New test.
	* g++.dg/cpp0x/constexpr-arith-overflow.C: New test.
	* g++.dg/cpp1y/constexpr-arith-overflow.C: New test.

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

From-SVN: r237238
2016-06-08 21:03:17 +02:00
Jose E. Marchesi 379aea728e driver-sparc.c (cpu_names): Fix the entry for the SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
	SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).

From-SVN: r237237
2016-06-08 20:32:16 +02:00
Paolo Carlini f07063cc7a pt.c (tsubst, [...]): Don't delay checking the return value of tsubst_aggr_type for error_mark_node.
2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (tsubst, case TYPENAME_TYPE): Don't delay checking the
	return value of	tsubst_aggr_type for error_mark_node.

From-SVN: r237236
2016-06-08 18:29:42 +00:00
Jakub Jelinek 2ef16b6eb2 re PR c++/71442 (r232569 breaks -Wunused-*)
PR c++/71442
	* pt.c (tsubst_copy): Only set TREE_USED on DECLs.

	* g++.dg/cpp0x/Wunused-variable-1.C: New test.

From-SVN: r237232
2016-06-08 19:57:30 +02:00
Alan Lawrence 5e3ee346c1 [PATCH 2/2][AArch64] Tests of AAPCS64 updates for alignment attribute
gcc/testsuite/

	* gcc.target/aarch64/aapcs64/aapcs64.exp: Also execute rec_*.c
	* gcc.target/aarch64/aapcs64/rec_align-5.c: New.
	* gcc.target/aarch64/aapcs64/rec_align-6.c: New.
	* gcc.target/aarch64/aapcs64/rec_align-7.c: New.
	* gcc.target/aarch64/aapcs64/rec_align-8.c: New.
	* gcc.target/aarch64/aapcs64/rec_align-9.c: New.
	* gcc.target/aarch64/aapcs64/test_align-5.c: New.
	* gcc.target/aarch64/aapcs64/test_align-6.c: New.
	* gcc.target/aarch64/aapcs64/test_align-7.c: New.
	* gcc.target/aarch64/aapcs64/test_align-8.c: New.
	* gcc.target/aarch64/aapcs64/test_align-9.c: New.
	* gcc.target/aarch64/aapcs64/rec_vaarg-1.c: New.
	* gcc.target/aarch64/aapcs64/rec_vaarg-2.c: New.

From-SVN: r237225
2016-06-08 17:02:24 +00:00
Alan Lawrence 75d6cc8193 [PATCH 1/2][AArch64] Implement AAPCS64 updates for alignment attribute
gcc/ChangeLog:

	* config/aarch64/aarch64.c (aarch64_function_arg_alignment):
	Rewrite, looking one level down for records and arrays.

From-SVN: r237224
2016-06-08 17:00:23 +00:00
David Malcolm 4ccab56d73 Add selftest for pretty-print.c
gcc/ChangeLog:
	* pretty-print.c: Include "selftest.h".
	(pp_format): Fix comment.
	(identifier_to_locale): Likewise.
	(selftest::test_basic_printing): New function.
	(selftest::assert_pp_format): New function.
	(selftest::test_pp_format): New function.
	(selftest::pretty_print_c_tests): New function.
	* selftest-run-tests.c (selftest::run_tests): Call
	selftest::pretty_print_c_tests.
	* selftest.h (pretty_print_c_tests): New declaration.

From-SVN: r237221
2016-06-08 15:53:56 +00:00
Jan Hubicka 568876dc70 invoke.texi (max-loop-headers-insns): Document.
* invoke.texi (max-loop-headers-insns): Document.
	* params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
	(ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.

From-SVN: r237219
2016-06-08 14:11:51 +00:00
Richard Biener b2ae281460 re PR tree-optimization/68558 (Fails to SLP loop)
2016-06-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68558
	* gcc.dg/vect/slp-44.c: New testcase.

From-SVN: r237216
2016-06-08 13:28:21 +00:00
Richard Biener e09b4c37ac tree-vect-stmts.c (vectorizable_load): Remove restrictions on strided SLP loads and fall back to scalar loads in case...
2016-06-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (vectorizable_load): Remove restrictions
	on strided SLP loads and fall back to scalar loads in case
	we can't chunk them.

	* gcc.dg/vect/slp-43.c: New testcase.

From-SVN: r237215
2016-06-08 13:17:41 +00:00
Richard Biener 72d50660ad re PR tree-optimization/71452 (Wrong optimization of stores to _Bool via char*)
2016-06-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71452
	* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
	type used for the SSA rewrite has enough precision to cover
	the dynamic type of the location.

	* gcc.dg/torture/pr71452.c: New testcase.

From-SVN: r237214
2016-06-08 13:11:43 +00:00
Jakub Jelinek 988c115ca0 re PR c++/71448 (pointer relational comparison fails inside constant expression)
PR c++/71448
	* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
	the same as DECL_P (base0) for indirect_base0.  Use equality_code
	in one further place.

	* g++.dg/torture/pr71448.C: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r237212
2016-06-08 14:57:26 +02:00
Richard Sandiford 867a0126bc Remove word_mode hack for split bitfields
This patch is effectively reverting a change from 1994.  The reason
I think it's a hack is that store_bit_field_1 is creating a subreg
reference to one word of a field even though it has already proven that
the field spills into the following word.  We then rely on the special
SUBREG handling in store_split_bit_field to ignore the extent of op0 and
look inside the SUBREG_REG regardless.  I don't see any reason why we can't
pass the original op0 to store_split_bit_field instead.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

gcc/
	* expmed.c (store_bit_field_1): Do not restrict a multiword op0
	to one word if the field is known to overlap other words.
	(extract_bit_field_1): Likewise.
	(store_split_bit_field): Remove compensating code.
	(extract_split_bit_field): Likewise.

From-SVN: r237211
2016-06-08 12:18:27 +00:00
Chung-Lin Tang d821b79474 Add ChangeLog entry missed in last commit:
2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>

	libgomp/
	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.

From-SVN: r237209
2016-06-08 11:48:12 +00:00
Bernd Schmidt 73d73b4803 re PR debug/71432 (-fcompare-debug failure (length))
PR debug/71432
	PR ada/71413
	* tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.

	* g++.dg/debug/pr71432.C: New test.

From-SVN: r237208
2016-06-08 11:41:54 +00:00
Prathamesh Kulkarni bdd15d0c8e section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.
2016-06-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* gcc.dg/vect/section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.
	* gcc.dg/vect/section-anchors-vect-71.c: Rename to aligned-section-anchors-vect-72.c.
	* gcc.dg/vect/section-anchors-vect-72.c: Rename to aligned-section-anchors-vect-72.c.

From-SVN: r237207
2016-06-08 11:15:17 +00:00
Richard Biener a80a705181 c-common.c (parse_optimize_options): Improve diagnostic messages.
2016-06-08  Richard Biener  <rguenther@suse.de>

	* c-common.c (parse_optimize_options): Improve diagnostic messages.

From-SVN: r237206
2016-06-08 10:26:54 +00:00
Jiong Wang 3629030e36 [AArch64, 6/6] Reimplement vpadd intrinsics & extend rtl patterns to all modes
* config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
	VDQF.
	* config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
	(arch64_addpv4sf): Delete.
	(reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
	"gen_aarch64_addpv4sf".
	* config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly.  Use
	builtin.
	(vpadds_f32): Likewise.
	(vpaddq_f32): Likewise.
	(vpaddq_f64): Likewise.

From-SVN: r237205
2016-06-08 10:17:58 +00:00
Jiong Wang a672fa1247 [AArch64, 5/6] Reimplement fabd intrinsics & merge rtl patterns
* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
	VALLF.
	* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
	to VALLF.  Rename to "fabd<mode>3".
	"*fabd_scalar<mode>3): Delete.
	* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
	Use builtin.
	(vabdd_f64): Likewise.
	(vabd_f32): Likewise.
	(vabd_f64): Likewise.
	(vabdq_f32): Likewise.
	(vabdq_f64): Likewise.

From-SVN: r237204
2016-06-08 10:16:07 +00:00
Jiong Wang 00ea75d4e2 [AArch64, 4/6] Reimplement frsqrts intrinsics
* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
	VALLF.
	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
	"aarch64_rsqrts<mode>".
	* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
	* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
	builtin.
	(vrsqrtsd_f64): Likewise.
	(vrsqrts_f32): Likewise.
	(vrsqrts_f64): Likewise.
	(vrsqrtsq_f32): Likewise.
	(vrsqrtsq_f64): Likewise.

From-SVN: r237203
2016-06-08 10:14:30 +00:00
Jiong Wang 2a82343319 [AArch64, 3/6] Reimplement frsqrte intrinsics
* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
	VALLF.
	* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
	"aarch64_rsqrte<mode>".
	* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
	* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
	builtin.
	(vrsqrted_f64): Likewise.
	(vrsqrte_f32): Likewise.
	(vrsqrte_f64): Likewise.
	(vrsqrteq_f32): Likewise.
	(vrsqrteq_f64): Likewise.

From-SVN: r237202
2016-06-08 10:12:53 +00:00
Jiong Wang 2644d4d983 [AArch64, 2/6] Reimplement vector fixed-point intrinsics
* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
	(ucvtf): Likewise.
	(fcvtzs): Likewise.
	(fcvtzu): Likewise.
	* config/aarch64/aarch64-simd.md
	(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
	(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
	* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
	Use builtin.
	(vcvt_n_f32_u32): Likewise.
	(vcvt_n_s32_f32): Likewise.
	(vcvt_n_u32_f32): Likewise.
	(vcvtq_n_f32_s32): Likewise.
	(vcvtq_n_f32_u32): Likewise.
	(vcvtq_n_f64_s64): Likewise.
	(vcvtq_n_f64_u64): Likewise.
	(vcvtq_n_s32_f32): Likewise.
	(vcvtq_n_s64_f64): Likewise.
	(vcvtq_n_u32_f32): Likewise.
	(vcvtq_n_u64_f64): Likewise.
	* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
	(VSDQ_SDI): Likewise.
	(fcvt_target): Support V4DI, V4SI and V2SI.
	(FCVT_TARGET): Likewise.

From-SVN: r237201
2016-06-08 10:11:09 +00:00
Jiong Wang 3f598afe16 [AArch64, 1/6] Reimplement scalar fixed-point intrinsics
* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
        (TYPES_BINOP_SUS): Likewise.
        (aarch64_simd_builtin_data): Update include file name.
        (aarch64_builtins): Likewise.
        * config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
        for conversion between scalar float-point and fixed-point.
        (ucvtf): Likewise.
        (fcvtzs): Likewise.
        (fcvtzu): Likewise.
        * config/aarch64/aarch64.md
        (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
        pattern for conversion between scalar float to fixed-pointer.
        (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
        (UNSPEC_FCVTZS): New UNSPEC enumeration.
        (UNSPEC_FCVTZU): Likewise.
        (UNSPEC_SCVTF): Likewise.
        (UNSPEC_UCVTF): Likewise.
        * config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
	Use builtin.
        (vcvtd_n_f64_u64): Likewise.
        (vcvtd_n_s64_f64): Likewise.
        (vcvtd_n_u64_f64): Likewise.
        (vcvtd_n_f32_s32): Likewise.
        (vcvts_n_f32_u32): Likewise.
        (vcvtd_n_s32_f32): Likewise.
        (vcvts_n_u32_f32): Likewise.
        * config/aarch64/iterators.md (fcvt_target): Support integer to float
	mapping.
        (FCVT_TARGET): Likewise.
        (FCVT_FIXED2F): New iterator.
        (FCVT_F2FIXED): Likewise.
        (fcvt_fixed_insn): New define_int_attr.

From-SVN: r237200
2016-06-08 10:07:30 +00:00
Jan Hubicka cd1d802aed predict.c (pass_strip_predict_hints::execute): Cleanup CFG if some statements was removed.
* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
	some statements was removed.

From-SVN: r237199
2016-06-08 09:39:33 +00:00
Alan Hayward 15bdf5be1a tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
2016-06-08  Alan Hayward  <alan.hayward@arm.com>

gcc/
	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
	(vect_can_advance_ivs_p): likewise.
	(vect_update_ivs_after_vectorizer): likewise.
	* tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
	(vect_analyze_scalar_cycles_1): likewise.
	(vect_analyze_loop_operations): likewise.
	(report_vect_op): likewise.
	(vect_is_slp_reduction): likewise.
	(vect_is_simple_reduction): likewise.
	(get_initial_def_for_induction): likewise.
	(vect_transform_loop): likewise.
	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
	(vect_recog_sad_pattern): likewise.
	(vect_recog_widen_sum_pattern): likewise.
	(vect_recog_widening_pattern): likewise.
	(vect_recog_divmod_pattern): likewise.
	* tree-vect-slp.c (vect-build-slp_tree_1): likewise.
	(vect_analyze_slp_instance): likewise.
	(vect_transform_slp_perm_load): likewise.
	(vect_schedule_slp_instance): likewise.

From-SVN: r237198
2016-06-08 08:38:50 +00:00
Alan Hayward ce0607bbcd vect-live-2.c: Update effective target.
2016-06-08  Alan Hayward  <alan.hayward@arm.com>

gcc/testsuite/
	* gcc.dg/vect/vect-live-2.c: Update effective target.
	* gcc.dg/vect/vect-live-slp-3.c: Likewise.
	* lib/target-supports.exp: Add aarch64 to vect_long.

From-SVN: r237197
2016-06-08 08:26:38 +00:00
Marek Polacek 08203f73d1 re PR c/71426 (gcc ICE on x86_64-linux-gnu in get_parm_info, at c/c-decl.c:7059)
PR c/71426
	* c-decl.c (get_parm_info): Don't crash on an assert on invalid
	code.

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

From-SVN: r237196
2016-06-08 06:41:55 +00:00
Marek Polacek 92a5f2bae5 re PR c/71418 (gcc ICE on x86_64-linux-gnu in min_align_of_type, at stor-layout.c:2402)
PR c/71418
	* c-decl.c (grokdeclarator): Check TYPE_P.

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

From-SVN: r237195
2016-06-08 06:39:10 +00:00
GCC Administrator 6c40eb0091 Daily bump.
From-SVN: r237194
2016-06-08 00:16:22 +00:00
Jan Hubicka d1fcc2bdef predict.c (predict_iv_comparison): Mention that heuristics is broken.
* predict.c (predict_iv_comparison): Mention that heuristics is broken.
	(return_prediction): PRED_CONST_RETURN predict return as not taken.
	* predict.def (PRED_CONTINUE): Change hitrate 50->67
	(PRED_LOOP_BRANCH): Document predictor as broken.
	(PRED_LOOP_EXIT): Change hitrate 91->92.
	(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
	(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
	(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
	(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
	(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
	(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
	(PRED_CALL): Chane hitrate 71->67.
	(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
	(PRED_GOTO): Document as unused right now.
	(PRED_CONST_RETURN): Change hitrate 67->69
	(PRED_NEGATIVE_RETURN): Change hitrate 96->98
	(PRED_NULL_RETURN): Change hitrate 91->90.
	(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
	(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
	(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
	* gcc.dg/ipa/inlinehint-4.c: Disable partial inlining.
	* gcc.dg/predict-1.c: Update template for new predictor hitrates.
	* gcc.dg/predict-3.c: Update template.
	* gcc.dg/predict-5.c: Update template.
	* gcc.dg/predict-6.c: Update template.
	* gcc.dg/predict-9.c: Update template.
	* gcc.dg/predict-9.c: Update template.
	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.

From-SVN: r237185
2016-06-07 21:34:27 +00:00
François Dumont 373c00952c tuple (_Head_base<>): Default specialization condition at type declaration.
2016-06-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/tuple (_Head_base<>): Default specialization condition at
	type declaration.

From-SVN: r237184
2016-06-07 20:19:19 +00:00
Bill Seurer a23e6f1c59 This patch adds support for the missing versions of the vec_mul altivec...
This patch adds support for the missing versions of the vec_mul 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 the {un}signed char, {un}signed short, and
{un}signed int versions of vec_mul so the output code is built from other
built-ins and operations that do have instructions.

The new test case is an executable test which verifies that the generated
code produces expected values. C macros were used so that the same
test case could be used for all the various supported types.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk?

[gcc]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/altivec.h: Add __builtin_vec_mul.
	* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
	special case Altivec builtin.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
	VSX_BUILTIN_VEC_MUL (replaced with special case code).
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	code for ALTIVEC_BUILTIN_VEC_MUL.
	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
	for __builtin_vec_mul.

[gcc/testsuite]

2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>

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

From-SVN: r237183
2016-06-07 20:18:09 +00:00