Commit Graph

159653 Commits

Author SHA1 Message Date
Ian Lance Taylor
86ff185365 re PR go/84215 (Random results in go/libgo tests)
PR go/84215
    runtime, sync/atomic: use write barrier for atomic pointer functions
    
    This copies atomic_pointer.go from 1.10rc2.  It was omitted during the
    transition of the runtime from C to Go, and I forgot about it.
    
    This may help with https://gcc.gnu.org/PR84215.
    
    Reviewed-on: https://go-review.googlesource.com/93197

From-SVN: r257599
2018-02-12 18:50:16 +00:00
Jeff Law
966a140df6 cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when successfully back substituting a reg.
* cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when
	successfully back substituting a reg.

	* gcc.c-torture/compile/reg-args-size.c: New test.

From-SVN: r257598
2018-02-12 11:32:18 -07:00
Carl Love
fa2faaa807 builtins-4-runnable.c (main): Move int128 and uint128 tests to new testfile.
gcc/testsuite/ChangeLog:

2018-02-12  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-4-runnable.c (main): Move int128 and
	uint128 tests to new testfile.
	* gcc.target/powerpc/builtins-4-int128-runnable.c: New testfile for
	int128 and uint128 tests.
	* gcc.target/powerpc/powerpc.exp: Add builtins-4-int128-runnable.c to
	list of torture tests.

From-SVN: r257591
2018-02-12 17:21:28 +00:00
Janus Weil
24abcc441a re PR fortran/84273 ([F03] Reject allocatable passed-object dummy argument (proc_ptr_47.f90))
2018-02-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84273
	* resolve.c (resolve_component): Fix checks of passed argument in
	procedure-pointer components.


2018-02-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84273
	* gfortran.dg/proc_ptr_47.f90: Fix invalid test case.
	* gfortran.dg/proc_ptr_comp_pass_4.f90: Fix and extend test case.

From-SVN: r257590
2018-02-12 18:11:58 +01:00
Richard Biener
78604de064 re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)
2018-02-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84037
	* tree-vect-slp.c (vect_analyze_slp_cost): Add visited
	parameter, move visited init to caller.
	(vect_slp_analyze_operations): Separate cost from validity
	check, initialize visited once for all instances.
	(vect_schedule_slp): Analyze map to CSE vectorized nodes once
	for all instances.
	* tree-vect-stmts.c (vect_model_simple_cost): Make early
	out an assert.
	(vect_model_promotion_demotion_cost): Likewise.
	(vectorizable_bswap): Guard cost modeling with !slp_node
	instead of !PURE_SLP_STMT to avoid double-counting on hybrid
	SLP stmts.
	(vectorizable_call): Likewise.
	(vectorizable_conversion): Likewise.
	(vectorizable_assignment): Likewise.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	(vectorizable_condition): Likewise.
	(vectorizable_comparison): Likewise.

From-SVN: r257588
2018-02-12 13:55:04 +00:00
Sebastian Perta
e1f3052673 Corrected mistakes in ChangeLog spotted by Jakub Jelinek.
From-SVN: r257587
2018-02-12 13:49:22 +00:00
Tamar Christina
c8cc0b650e re PR target/82641 (Unable to enable crc32 for a certain function with target attribute on ARM (aarch32))
2018-02-12  Tamar Christina  <tamar.christina@arm.com>

	PR target/82641
	* gcc.target/arm/pragma_arch_switch_2.c: Use armv5te.

From-SVN: r257586
2018-02-12 12:52:29 +00:00
Paolo Bonzini
74a5138a61 re PR sanitizer/84307 (asan blocks dead-store elimination)
gcc:
2018-02-12  Paolo Bonzini <bonzini@gnu.org>

	PR sanitizer/84307
	* internal-fn.def (ASAN_CHECK): Fix fnspec to account for return value.
	(ASAN_MARK): Fix fnspec to account for return value, change pointer
	argument from 'R' to 'W' so that the pointed-to datum is clobbered.

gcc/testsuite:
2018-02-12  Paolo Bonzini  <bonzini@gnu.org>

	PR sanitizer/84307
	* gcc.dg/asan/pr84307.c: New test.

From-SVN: r257585
2018-02-12 12:47:56 +00:00
Nathan Sidwell
4ec4afa8c1 [PR c++/84263] GC ICE with decltype
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00435.html
	PR c++/84263
	* parser.c (cp_parser_decltype): Push and pop
	deferring_access_checks.  Reorganize to avoid goto.

	* g++.dg/parse/pr84263.C: New.

From-SVN: r257584
2018-02-12 11:58:40 +00:00
Paolo Carlini
790cc674b6 re PR c++/79626 (ICE on invalid code in build_temp (call.c:6489))
2018-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79626
	* g++.dg/template/crash129.C: New.

From-SVN: r257583
2018-02-12 11:16:33 +00:00
Jan Hubicka
b9aba9fde5 re PR middle-end/83665 (Big code size regression and some code quality improvement at Jan 2 2018)
PR middle-end/83665
	* params.def (inline-min-speedup): Increase from 8 to 15.
	(max-inline-insns-auto): Decrease from 40 to 30.
	* ipa-split.c (consider_split): Add some buffer for function to
	be considered inlining candidate.
	* invoke.texi (max-inline-insns-auto, inline-min-speedup): UPdate
	default values.

From-SVN: r257582
2018-02-12 09:48:06 +00:00
Richard Biener
85c5e2f576 re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)
2018-02-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84037
	* tree-vect-slp.c (vect_build_slp_tree_2): Try swapping the
	matched stmts if we cannot swap the non-matched ones.

From-SVN: r257581
2018-02-12 08:54:28 +00:00
Richard Biener
1e027956d0 re PR c++/84281 (Heap grows indefinitely)
2018-02-12  Richard Biener  <rguenther@suse.de>

	PR c++/84281
	* constexpr.c (cxx_eval_vec_init_1): Use a RANGE_EXPR to compact
	uniform constructors and delay allocating them fully.

From-SVN: r257580
2018-02-12 07:31:56 +00:00
Olga Makhotina
c337f3612f Fix AVX-512 popcnt and bitalg tests.
gcc/testsuite/
	PR target/83828
	* gcc.target/i386/avx512bitalg-vpopcntb-1.c: Fix test.
	* gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto.
	* gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c: Ditto.
	* gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c: Ditto.
	* gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c: Ditto.

From-SVN: r257579
2018-02-12 06:14:15 +00:00
Olga Makhotina
158061a65b Add missing mask[z]_scalef_round_s[d,s] intrinsics
gcc/
	* config/i386/avx512fintrin.h (_mm_mask_scalef_round_sd,
	_mm_maskz_scalef_round_sd, _mm_mask_scalef_round_ss,
	_mm_maskz_scalef_round_ss): New intrinsics.
	(__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round): Fix.
	* config/i386/i386-builtin.def (__builtin_ia32_scalefsd_round,
	__builtin_ia32_scalefss_round): Remove.
	(__builtin_ia32_scalefsd_mask_round,
	__builtin_ia32_scalefss_mask_round): New intrinsics.
	* config/i386/sse.md (vmscalef<mode><round_name>): Renamed to ...
	(vmscalef<mode><mask_scalar_name><round_scalar_name>): ... this.
	((match_operand:VF_128 2 "<round_nimm_predicate>"
	"<round_constraint>")): Changed to ...
	((match_operand:VF_128 2 "<round_scalar_nimm_predicate>"
	"<round_scalar_constraint>")): ... this.
	("vscalef<ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|
	%0, %1, %2<round_op3>}"): Changed to ...
	("vscalef<ssescalarmodesuffix>\t{<round_scalar_mask_op3>%2, %1,
	%0<mask_scalar_operand3>|%0<mask_scalar_operand3>, %1,
	%2<round_scalar_mask_op3>}"): ... this.
	* config/i386/subst.md (round_scalar_nimm_predicate): New.

gcc/testsuite/
	* gcc.target/i386/avx512f-vscalefsd-1.c (_mm_mask_scalef_round_sd,
	_mm_maskz_scalef_round_sd): Test new intrinsics.
	* gcc.target/i386/avx512f-vscalefsd-2.c (_mm_scalef_round_sd,
	_mm_mask_scalef_round_sd, _mm_maskz_scalef_round_sd): Test new
	intrinsics.
	* gcc.target/i386/avx512f-vscalefss-1.c (_mm_mask_scalef_round_ss,
	_mm_maskz_scalef_round_ss): Test new intrinsics.
	* gcc.target/i386/avx512f-vscalefss-2.c (_mm_scalef_round_ss,
	_mm_mask_scalef_round_ss, _mm_maskz_scalef_round_ss): Test new
	intrinsics.
	* gcc.target/i386/avx-1.c (__builtin_ia32_scalefsd_round,
	__builtin_ia32_scalefss_round): Remove builtin.
	(__builtin_ia32_scalefsd_mask_round,
	__builtin_ia32_scalefss_mask_round): Test new builtin.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r257578
2018-02-12 06:09:20 +00:00
Olga Makhotina
ba43b9fadd Add missing ChangeLog entry for previous patch.
From-SVN: r257577
2018-02-12 05:45:38 +00:00
Olga Makhotina
b10bc0d6f9 Add missing intrinsics for _mm_mask[z]_sqrt_round_[sd,ss]
gcc/
	* config/i386/avx512fintrin.h (_mm_mask_sqrt_round_sd)
	(_mm_maskz_sqrt_round_sd, _mm_mask_sqrt_round_ss)
	(_mm_maskz_sqrt_round_ss): New intrinsics.
	(__builtin_ia32_sqrtsd_round, __builtin_ia32_sqrtss_round): Remove.
	(__builtin_ia32_sqrtsd_mask_round)
	(__builtin_ia32_sqrtss_mask_round): New builtins.
	* config/i386/i386-builtin.def (__builtin_ia32_sqrtsd_round)
	(__builtin_ia32_sqrtss_round): Remove.
	(__builtin_ia32_sqrtsd_mask_round)
	(__builtin_ia32_sqrtss_mask_round): New builtins.
	* config/i386/sse.md (vmsqrt<mode>2<round_name>): Renamed to ...
	(vmsqrt<mode>2<mask_scalar_name><round_scalar_name>): ... this.
	((match_operand:VF_128 1 "vector_operand"
	"xBm,<round_constraint>")): Changed to ...
	((match_operand:VF_128 1 "vector_operand"
	"xBm,<round_scalar_constraint>")): ... this.
	(vsqrt<ssescalarmodesuffix>\t{<round_op3>%1, %2, %0|
	%0, %2, %<iptr>1<round_op3>}): Changed to ...
	(vsqrt<ssescalarmodesuffix>\t{<round_scalar_mask_op3>%1, %2,
	%0<mask_scalar_operand3>|%0<mask_scalar_operand3>, %2,
	%<iptr>1<round_scalar_mask_op3>}): ... this.
	((set_attr "prefix" "<round_prefix>")): Changed to ...
	((set_attr "prefix" "<round_scalar_prefix>")): ... this.

gcc/testsuite/
	* gcc.target/i386/avx512f-vsqrtsd-1.c (_mm_mask_sqrt_round_sd)
	(_mm_maskz_sqrt_round_sd): Test new intrinsics.
	* gcc.target/i386/avx512f-vsqrtsd-2.c (_mm_sqrt_round_sd)
	(_mm_mask_sqrt_round_sd, _mm_maskz_sqrt_round_sd): Test new intrinsics.
	* gcc.target/i386/avx512f-vsqrtss-1.c (_mm_mask_sqrt_round_ss)
	(_mm_maskz_sqrt_round_ss): Test new intrinsics.
	* gcc.target/i386/avx512f-vsqrtss-2.c (_mm_sqrt_round_ss)
	(_mm_mask_sqrt_round_ss,      _mm_maskz_sqrt_round_ss): Test new
	intrinsics.
	* gcc.target/i386/avx-1.c (__builtin_ia32_sqrtsd_round)
	(__builtin_ia32_sqrtss_round): Remove builtins.
	(__builtin_ia32_sqrtsd_mask_round)
	(__builtin_ia32_sqrtss_mask_round): Test new builtins.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r257576
2018-02-12 05:44:29 +00:00
Jason Merrill
dc58fa9f31 PR c++/84036 - ICE with variadic capture.
Handle variadic capture proxies more like non-variadic.
	* lambda.c (build_capture_proxy): Remove workaround.
	* pt.c (find_parameter_packs_r): The proxy is a pack.
	(instantiate_class_template_1): Remove dead lambda code.
	(extract_fnparm_pack): Don't make_pack_expansion.
	(extract_locals_r): Don't strip a pack expansion.
	(tsubst_pack_expansion): Handle proxy packs.  Use
	PACK_EXPANSION_EXTRA_ARGS less.
	(tsubst_decl) [FIELD_DECL]: Don't register_specialization.
	(tsubst_copy) [FIELD_DECL]: Don't retrieve*_specialization.
	[VAR_DECL]: Handle ARGUMENT_PACK_SELECT.
	(tsubst_expr) [DECL_EXPR]: Handle proxy packs.
	(tsubst_copy_and_build) [VAR_DECL]: Handle proxy packs normally.

From-SVN: r257575
2018-02-11 20:21:39 -05:00
GCC Administrator
f1ea257f3c Daily bump.
From-SVN: r257574
2018-02-12 00:16:14 +00:00
Steven Munroe
2cc7d4feed re PR target/84266 (mmintrin.h intrinsic headers for PowerPC code fails on power9)
Fix PR 84266

From-SVN: r257571
2018-02-11 21:45:39 +00:00
Francois-Xavier Coudert
6a793a8d1e Commit ChangeLog entries forgotten in r257566.
2018-02-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/35299
	ChangeLog for r257566
	* gfortran.dg/statement_function_3.f: New test.

2018-02-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/35299
	ChangeLog for r257566
	* resolve.c (resolve_formal_arglist): Update error message.

From-SVN: r257568
2018-02-11 19:07:55 +00:00
Andre Vehreschild
61fad608d4 gfortran.texi: Fix typos in documentation of caf_register ().
gcc/fortran/ChangeLog:

2018-02-11  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.texi: Fix typos in documentation of caf_register ().
	* trans-array.c (structure_alloc_comps): Only register a component of
	a derived typed corray, not of an ultimate component coarray.

From-SVN: r257567
2018-02-11 19:59:59 +01:00
Francois-Xavier Coudert
5f0367d00a re PR fortran/35299 (scope of variables in statement function do not acquire rank from host)
2018-02-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/35299
	* gfortran.dg/statement_function_3.f: New test.

2018-02-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/35299
	* resolve.c (resolve_formal_arglist): Update error message.

From-SVN: r257566
2018-02-11 18:55:31 +00:00
Steven G. Kargl
f3883269c3 re PR fortran/54223 (Statement function statement with dummy arguments that are also OPTIONAL may crash in wrong calls)
2018-02-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/54223
	PR fortran/84276
	* interface.c (compare_actual_formal): Add in_statement_function
	bool parameter.  Skip check of INTENT attribute for statement
	functions.  Arguments to a statement function cannot be optional,
	issue error for missing argument.
	(gfc_procedure_use, gfc_ppc_use, gfc_arglist_matches_symbol): Use
	in_statement_function.

2018-02-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/54223
	PR fortran/84276
	* gfortran.dg/statement_function_1.f90: New test.
	* gfortran.dg/statement_function_2.f90: New test.

From-SVN: r257565
2018-02-11 18:44:05 +00:00
Paul Thomas
e519d2e819 re PR fortran/84074 (Incorrect indexing of array when actual argument is an array expression and dummy is polymorphic)
2018-02-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84074
	* trans-expr.c (gfc_conv_derived_to_class): Set the use_offset
	flag. If the is a vector subscript or the expression is not a
	variable, make the descriptor one-based.

2018-02-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84074
	* gfortran.dg/type_to_class_5.f03: New test.

From-SVN: r257564
2018-02-11 18:22:24 +00:00
Alexandre Oliva
e094c0bfe9 [LVU] deal with md final_scan_insn
Ports call final_scan_insn with seen == NULL, and then
maybe_output_next_view crashes because it assumes it's
non-NULL.  Oops.  Fixed.

for  gcc/ChangeLog

	* final.c (final_scan_insn_1): Renamed from...
	(final_scan_insn): ... this.  New wrapper, to recover
	seen from the outermost call in recursive ones.
	* config/sparc/sparc.c (output_return): Drop seen from call.
	(output_sibcall): Likewise.
	* config/visium/visium.c (output_branch): Likewise.

From-SVN: r257562
2018-02-11 15:26:11 +00:00
GCC Administrator
e5a6b70e88 Daily bump.
From-SVN: r257559
2018-02-11 00:16:13 +00:00
John David Anglin
123eaa4671 pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as function label.
* config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as
	function label.

From-SVN: r257554
2018-02-10 23:15:53 +00:00
Paul Thomas
950ab3f141 re PR fortran/84141 (Internal error: type_name(): Bad type)
2018-02-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84141
	PR fortran/84155
	* trans-array.c (gfc_array_init_size): Revert the change made
	in revision 257356 setting the dtype.
	* trans-types.c (gfc_get_dtype): Do not use the cached dtype.
	Call gfc_get_dtype_rank_type every time.

	PR fortran/56691
	* trans-array.c (gfc_conv_expr_descriptor): If the source array
	is a descriptor type, use its offset, removing the condition
	that is be a class expression.

2018-02-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/56691
	* gfortran.dg/type_to_class_4.f03: New test.

From-SVN: r257550
2018-02-10 18:16:14 +00:00
Alan Modra
cb2e8560f9 PR84300, ICE in dwarf2cfi on ppc64le with -fsplit-stack -fno-omit-frame-pointer
PR target/84300
gcc/
	* config/rs6000/rs6000.md (split_stack_return): Remove (use ..).
	Specify LR as an input.
gcc/testsuite/
	* gcc.dg/pr84300.c: New.

From-SVN: r257549
2018-02-10 15:19:15 +10:30
GCC Administrator
f99507a70e Daily bump.
From-SVN: r257548
2018-02-10 00:16:12 +00:00
Jakub Jelinek
6724f8a61d re PR sanitizer/83987 (ICE with OpenMP, sanitizer and virtual bases)
PR sanitizer/83987
	* omp-low.c (maybe_remove_omp_member_access_dummy_vars,
	remove_member_access_dummy_vars): New functions.
	(lower_omp_for, lower_omp_taskreg, lower_omp_target,
	lower_omp_1, execute_lower_omp): Use them.

	* tree.c (cp_free_lang_data): Revert 2018-01-23 change.

	* g++.dg/ubsan/pr83987-2.C: New test.

From-SVN: r257545
2018-02-10 00:22:43 +01:00
Jakub Jelinek
5ca8e74464 re PR rtl-optimization/84308 (Memory leak in spread_components)
PR rtl-optimization/84308
	* shrink-wrap.c (spread_components): Release todo vector.

From-SVN: r257544
2018-02-10 00:21:35 +01:00
Peter Bergner
86a568a358 re PR target/83926 (ICE during RTL pass: ira, in elimination_costs_in_insn, at reload1.c:3633)
PR target/83926
	* gcc.target/powerpc/pr83926.c: Filter out gimple folding disabled
	message.

From-SVN: r257543
2018-02-09 16:03:43 -06:00
Jason Merrill
83fe399c27 PR c++/81917 - ICE with void_t and partial specialization.
* pt.c (instantiate_class_template_1): Set TYPE_BEING_DEFINED before
	calling most_specialized_partial_spec.

From-SVN: r257542
2018-02-09 16:01:49 -05:00
Will Schmidt
c028d589e9 vsx-vector-6-le.c: Update CPU target.
[testsuite]

2018-02-07  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/vsx-vector-6-le.c:  Update CPU target.
	* gcc.target/powerpc/vsx-vector-6-le.p9.c:  New.

From-SVN: r257541
2018-02-09 20:59:40 +00:00
Ian Lance Taylor
8221fb01d6 compiler: track //go:nointerface in export data
The magic //go:nointerface comment, used for field tracking, was only
    implemented for conversions to interface types in the same package.
    Record it in the export data, so that it works as expected for types
    imported from a different package.
    
    Reviewed-on: https://go-review.googlesource.com/93075

From-SVN: r257540
2018-02-09 19:39:14 +00:00
Nathan Sidwell
0444aa9c0a [PR c/84293] Unexpected strict-alias warning
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00510.html
	PR c/84293
	gcc/c/
	* c-typeck.c (build_indirect_ref, build_c_cast): Pass expr location
	to strict_aliasing_warning.

	gcc/c-family/
	* c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
	arg.
	* c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
	arg.  Adjust.

	gcc/cp/
	* typeck.c (cp_build_indirect_ref_1, build_reinterpret_cast_1):
	Pass expr location to strict_aliasing_warning.

	gcc/testsuite/
	* c-c++-common/pr84293.h: New.
	* c-c++-common/pr84293.c: New.

From-SVN: r257539
2018-02-09 19:31:10 +00:00
Jason Merrill
dd2799cc22 PR c++/84296 - ICE with qualified-id in template.
PR c++/83714
	* pt.c (unknown_base_ref_p): New.
	(instantiation_dependent_scope_ref_p): Use it instead of
	any_dependent_bases_p.

From-SVN: r257538
2018-02-09 14:10:42 -05:00
Vladimir Makarov
8c67920556 re PR rtl-optimization/57193 (suboptimal register allocation for SSE registers)
2018-02-09  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57193
	* ira-color.c (struct allocno_color_data): Add member
	conflict_allocno_hard_prefs.
	(update_conflict_allocno_hard_prefs): New.
	(bucket_allocno_compare_func): Add a preference based on
	conflict_allocno_hard_prefs.
	(push_allocno_to_stack): Update conflict_allocno_hard_prefs.
	(color_allocnos): Remove a dead code.  Initiate
	conflict_allocno_hard_prefs.  Call update_costs_from_prefs.

2018-02-09  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57193
	* gcc.target/i386/57193.c: New.

From-SVN: r257537
2018-02-09 18:23:58 +00:00
Jakub Jelinek
d6126f8b82 re PR target/84226 (ICE in simplify_const_unary_operation, at simplify-rtx.c:1974 on ppc64le)
PR target/84226
	* config/rs6000/vsx.md (p9_xxbrq_v16qi): Change input operand
	constraint from =wa to wa.  Avoid a subreg on the output operand,
	instead use a pseudo and subreg it in a move.
	(p9_xxbrd_<mode>): Changed to ...
	(p9_xxbrd_v2di): ... this insn, without VSX_D iterator.
	(p9_xxbrd_v2df): New expander.
	(p9_xxbrw_<mode>): Changed to ...
	(p9_xxbrw_v4si): ... this insn, without VSX_W iterator.
	(p9_xxbrw_v4sf): New expander.

	* gcc.target/powerpc/pr84226.c: New test.

From-SVN: r257536
2018-02-09 19:19:08 +01:00
Peter Bergner
e3056dd850 builtins-1-be.c: Rename duplicate test from this to...
* gcc.target/powerpc/builtins-1-be.c <vclzb>: Rename duplicate test
	from this to...
	<vclzd>: ...this.

From-SVN: r257535
2018-02-09 12:02:15 -06:00
Martin Sebor
cea71f0a97 PR lto/84212 - -Wno-* does not disable warnings from -flto link stage
gcc/c-family/ChangeLog:

	PR lto/84212
	* c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
	(-Walloc-size-larger-than, -Wformat-truncation=): Same.
	(-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
	(-Wstrict-overflow, -Wsuggest-attribute): Same.
	(-Wuninitialized): Same.

gcc/testsuite/ChangeLog:

	PR lto/84212
	* gcc.dg/lto/pr84212_0.c: New test file.
	* gcc.dg/lto/pr84212_1.c: Same.

From-SVN: r257534
2018-02-09 10:58:54 -07:00
Sebastian Perta
cad5b07905 rx.md: updated "movsicc" expand to be matched by GCC
2018-02-09  Sebastian Perta  <sebastian.perta@renesas.com>

	*config/rx.md: updated "movsicc" expand to be matched by GCC
	*testsuite/gcc.target/rx/movsicc.c: new test case

From-SVN: r257533
2018-02-09 17:43:11 +00:00
Peter Bergner
da86c81e65 re PR target/83926 (ICE during RTL pass: ira, in elimination_costs_in_insn, at reload1.c:3633)
gcc/
	PR target/83926
	* config/rs6000/vsx.md (vsx_mul_v2di): Handle generating a 64-bit
	multiply in 32-bit mode.
	(vsx_div_v2di): Handle generating a 64-bit signed divide in 32-bit mode.
	(vsx_udiv_v2di): Handle generating a 64-bit unsigned divide in 32-bit
	mode.

gcc/testsuite/
	PR target/83926
	* gcc.target/powerpc/pr83926.c: New test.
	* gcc.target/powerpc/builtins-1-be.c: Filter out gimple folding disabled
	message.  Fix test for running in 32-bit mode.

From-SVN: r257531
2018-02-09 10:32:37 -06:00
Sebastian Perta
cc60cad615 constraints.md: added new constraint CALL_OP_SYMBOL_REF to allow or block "symbol_ref"...
2018-02-09  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rx/constraints.md: added new constraint CALL_OP_SYMBOL_REF 
	to allow or block "symbol_ref" depending on value of TARGET_JSR
	* config/rx/rx.md: use CALL_OP_SYMBOL_REF in call_internal and 
	call_value_internal insns

From-SVN: r257529
2018-02-09 16:17:13 +00:00
Ian Lance Taylor
a51ca83b31 * Makefile.am (GOTOOLS_TEST_TIMEOUT): Double value.
From-SVN: r257527
2018-02-09 15:05:17 +00:00
Pierre-Marie de Rodat
7b5925a816 DWARF: no location for non-definition DECLs with non-trivial DECL_VALUE_EXPR
This patch restricts the set of cases in which we allow the generation of
location attributes for variables that are not defined in the current unit.
For such variables with complex DECL_VALUE_EXPR trees, generating a location
attribute can end up creating relocations to text symbols in the debug section
of LTO object files, which is not valid.

gcc/
	PR lto/84213
	* dwarf2out.c (is_trivial_indirect_ref): New function.
	(dwarf2out_late_global_decl): Do not generate a location
	attribute for variables that have a non-trivial DECL_VALUE_EXPR
	and that are not defined in the current unit.

From-SVN: r257526
2018-02-09 14:02:37 +00:00
Eric Botcazou
183187053d optabs.c (prepare_cmp_insn): Try harder to emit a direct comparison instead of a libcall for UNORDERED.
* optabs.c (prepare_cmp_insn): Try harder to emit a direct comparison
	instead of a libcall for UNORDERED.

From-SVN: r257525
2018-02-09 12:33:40 +00:00
Tamar Christina
0079ae8877 re PR target/82641 (Unable to enable crc32 for a certain function with target attribute on ARM (aarch32))
2018-02-09  Tamar Christina  <tamar.christina@arm.com>

	PR target/82641
	* config/arm/arm-c.c (arm_cpu_builtins): Un-define __ARM_FEATURE_LDREX,
	__ARM_ARCH_PROFILE, __ARM_ARCH_ISA_THUMB, __ARM_FP and __ARM_NEON_FP.

gcc/testsuite
2018-02-09  Tamar Christina  <tamar.christina@arm.com>

	PR target/82641
	* gcc.target/arm/pragma_arch_switch_2.c: Use armv6 and armv5t.

From-SVN: r257524
2018-02-09 12:23:46 +00:00