Commit Graph

155615 Commits

Author SHA1 Message Date
GCC Administrator
77e3203944 Daily bump.
From-SVN: r251373
2017-08-28 00:16:28 +00:00
Uros Bizjak
a5df209084 re PR target/81995 (gcc/reg-stack.c:2073:1: error: unrecognizable insn:)
PR target/81995
	* config/i386/i386.md (*<btsc><mode>): Change operand 2
	predicate to register_operand.  Reorder operands.
	(*btr<mode>): Ditto.
	(*<btsc><mode>_mask): Change operand 3 predicate to register_operand.
	(*btr<mode>_mask): Ditto.

testsuite/ChangeLog:

	PR target/81995
	* gcc.target/i386/pr46091-4.c: Add -mregparm=2 for 32bit targets.
	* gcc.target/i386/pr46091-4a.c: Ditto.

From-SVN: r251369
2017-08-27 20:01:46 +02:00
Thomas Koenig
86e03ef911 re PR fortran/81974 (ICE verify_gimple failed type mismatch in binary expression)
2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/81974
	* frontend-passes (inline_matumul_assign):  Explicity
	set typespec for call to CONJG.

2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/81974
	* gfortran.dg/inline_matmul_19.f90:  New test.

From-SVN: r251368
2017-08-27 08:01:25 +00:00
GCC Administrator
3e7b89acd7 Daily bump.
From-SVN: r251367
2017-08-27 00:16:41 +00:00
GCC Administrator
f59f6d5b6d Daily bump.
From-SVN: r251362
2017-08-26 00:16:46 +00:00
Steven Munroe
6e4c6a248b Part 3/3 for contributing PPC64LE support for X86 SSE instrisics.
This patch includes testsuite/gcc.target tests for the intrinsics
in xmmintrin.h.  For these tests I added -Wno-psabi to dg-options
to suppress warnings associated with the vector ABI change in GCC5.

From-SVN: r251357
2017-08-25 15:23:27 +00:00
Steven Munroe
2025325025 Part 2/3 for contributing PPC64LE support for X86 SSE instrisics.
Part 2/3 for contributing PPC64LE support for X86 SSE
instrisics. This patch includes the new (for PPC) xmmintrin.h,
changes x86intrin.h to include xmmintrin.h and associated
config.gcc changes.

From-SVN: r251356
2017-08-25 15:11:50 +00:00
William Schmidt
55d14001d9 re PR target/81504 (gcc-7 regression: vec_st in loop misoptimized)
2017-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/81504
	* config/rs6000/rs6000-p8swap.c (find_alignment_op): Add reference
	parameter and_insn and return it.
	(recombine_lvx_pattern): Insert a copy to ensure availability of
	the base register of the copied masking operation at the point of
	the instruction replacement.
	(recombine_stvx_pattern): Likewise.

From-SVN: r251355
2017-08-25 15:08:30 +00:00
Michael Meissner
56b26dd409 rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches.
[gcc]
2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
	undocumented switches.
	(-mpower9-dform-vector): Likewise.
	(-mpower9-dform): Likewise.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
	comments to delete references to -mpower9-dform* switches.
	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
	Delete reference to -mpower9-dform* switches, test for
	-mpower9-vector instead.
	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
	(OTHER_P9_VECTOR_MASKS): Likewise.
	(POWERPC_MASKS): Likewise.
	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
	tests against -mpower9-dform* to -mpower9-vector.  Delete code
	that checked for -mpower9-dform* consistancy with other options.
	Add test for -mpower9-misc to enable other power9 switches.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_option_override_internal): Likewise.
	(rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
	-mpower9-vector.
	(emit_fusion_p9_store): Likewise.
	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
	resetting these macros if the assembler does not support ISA 3.0
	instructions.
	(TARGET_P9_DFORM_VECTOR): Likewise.
	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
	Change to use -mpower9-vector instead of -mpower9-dform-scalar.

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

	* gcc.target/powerpc/dform-1.c: Delete -mpower9-dform*
	options.
	* gcc.target/powerpc/dform-2.c: Likewise.
	* gcc.target/powerpc/dform-3.c: Likewise.
	* gcc.target/powerpc/pr71656-1.c: Likewise.
	* gcc.target/powerpc/pr71656-2.c: Likewise.
	* gcc.target/powerpc/pr80103-1.c: Likewise.
	* gcc.target/powerpc/pr80098-1.c: Likewise.

From-SVN: r251352
2017-08-25 13:07:10 +00:00
Nathan Sidwell
9cf59597eb re PR target/81921 (Fails to always-inline intrinsics with -flto)
Retabify 2017-08-24  Richard Biener  <rguenther@suse.de>
	PR target/81921

From-SVN: r251351
2017-08-25 12:32:54 +00:00
Nathan Sidwell
bb5d50b599 class.c (method_name_cmp, [...]): Method names can never be NULL.
* class.c (method_name_cmp, resort_method_name_cmp): Method names
	can never be NULL.

From-SVN: r251350
2017-08-25 12:27:48 +00:00
Alan Modra
e2da9ffe3c PR81747, ICE in operator[]
PR rtl-optimization/81747
	* cse.c (cse_extended_basic_block): Don't attempt to record
	equivalences for degenerate conditional branches that branch
	to their fall-through.

From-SVN: r251349
2017-08-25 21:51:00 +09:30
Nathan Sidwell
bff8b385e9 Conversion operators have a special name
Conversion operators have a special name
	* cp-tree.h (CPTI_CONV_OP_MARKER, CPTI_CONV_OP_IDENTIFIER): New.
	(conv_op_marker, conv_op_identifier): New.
	(CLASSTYPE_FIRST_CONVERSION_SLOT): Delete.
	* decl.c (initialize_predefined_identifiers): Add
	conv_op_identifier.
	(cxx_init_decl_processing): Create conv_op_marker.
	* decl2.c (check_classfn): Lookup conv-ops by name.
	* class.c (add_method): Use conv_op_identifier & conv_op_marker.
	(resort_type_method_vec): Don't skip conv-ops.
	(finish_struct_methods, warn_hidden): Likewise.
	* name-lookup.h (lookup_all_conversions): Delete.
	* name-lookup.c (lookup_conversion_operator): Replace with ...
	(extract_conversion_operator): ... this.
	(lookup_fnfields_slot_nolazy): Find conv-ops by name.
	(lookup_all_conversions): Delete.
	* pt.c (check_explicit_specialization): Find conv-ops by name.
	* search.c (lookup_conversions_r): Likewise.

From-SVN: r251348
2017-08-25 11:37:10 +00:00
Martin Sebor
6512c0f187 PR middle-end/81908 - FAIL: gfortran.dg/alloc_comp_auto_array_2.f90 -O3 -g -m32
gcc/ChangeLog:

	PR middle-end/81908
	* gimple-fold.c (size_must_be_zero_p): New function.
	(gimple_fold_builtin_memory_op): Call it.

gcc/testsuite/ChangeLog:

	PR middle-end/81908
	* gcc.dg/tree-ssa/builtins-folding-gimple-2.c: New test.
	* gcc.dg/tree-ssa/builtins-folding-gimple-3.c: New test.
	* gcc.dg/tree-ssa/pr81908.c: New test.

From-SVN: r251347
2017-08-24 18:25:57 -06:00
GCC Administrator
f9dd01fabf Daily bump.
From-SVN: r251346
2017-08-25 00:16:43 +00:00
François Dumont
55500f5d28 stl_list.h [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
2017-08-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_list.h
	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
	(_List_impl(_Node_alloc_type&&, _List_impl&&)): New.
	(_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter.
	[!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)):
	Remove.
	(_List_base(_Node_alloc_type&&)): New.
	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove.
	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove.
	(list<>::_M_node_count): New.
	(list<>::size()): Adapt to call latter.
	(list<>::_S_distance(const_iterator, const_iterator)): New.
	(list<>::splice(iterator, list&, const_iterator, const_iterator)):
	Adapt to call latter.
	(list(list&&, const allocator_type&, true_type)): New.
	(list(list&&, const allocator_type&, false_type)): New.
	(list(list&&, const allocator_type&)): Adapt to call latters.

From-SVN: r251342
2017-08-24 20:31:53 +00:00
Michael Meissner
db1e5f32c2 rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches.
[gcc]
2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
	undocumented switches.
	(-mpower9-dform-vector): Likewise.
	(-mpower9-dform): Likewise.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
	comments to delete references to -mpower9-dform* switches.
	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
	Delete reference to -mpower9-dform* switches, test for
	-mpower9-vector instead.
	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
	(OTHER_P9_VECTOR_MASKS): Likewise.
	(POWERPC_MASKS): Likewise.
	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
	tests against -mpower9-dform* to -mpower9-vector.  Delete code
	that checked for -mpower9-dform* consistancy with other options.
	Add test for -mpower9-misc to enable other power9 switches.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_option_override_internal): Likewise.
	(rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
	-mpower9-vector.
	(emit_fusion_p9_store): Likewise.
	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
	resetting these macros if the assembler does not support ISA 3.0
	instructions.
	(TARGET_P9_DFORM_VECTOR): Likewise.
	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
	Change to use -mpower9-vector instead of -mpower9-dform-scalar.

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

	* gcc.target/powerpc/dform-1.c: Delete -mpower9-dform*
	options.
	* gcc.target/powerpc/dform-2.c: Likewise.
	* gcc.target/powerpc/dform-3.c: Likewise.
	* gcc.target/powerpc/pr71656-1.c: Likewise.
	* gcc.target/powerpc/pr71656-2.c: Likewise.
	* gcc.target/powerpc/pr80103-1.c: Likewise.
	* gcc.target/powerpc/pr80098-1.c: Likewise.

From-SVN: r251341
2017-08-24 19:28:07 +00:00
Nathan Sidwell
2e12a8554c Conversion operators kept on single overload set
Conversion operators kept on single overload set
	* class.c (add_method): Keep all conv-ops on one slot.
	* name-lookup.c (lookup_conversion_operator): Pull the desired
	conv op out of overload set.
	* search.c (lookup_conversions_r): Lose template/non-template
	distinction.
	(lookup_conversions): Likewise.

From-SVN: r251340
2017-08-24 18:39:41 +00:00
Steven Munroe
281de9c2d5 Adds the powerpc equivalent mm_malloc.h header which is needed by xmmintrin.h...
Adds the powerpc equivalent mm_malloc.h header which is needed by
xmmintrin.h and cleans up some noisy warnings from the previous MMX
commit.

From-SVN: r251339
2017-08-24 17:46:01 +00:00
Uros Bizjak
10bfe16f97 target-supports.exp: Group together target-dependant checks.
* lib/target-supports.exp: Group together target-dependant checks.

From-SVN: r251338
2017-08-24 19:19:50 +02:00
Bin Cheng
142ff60219 re PR tree-optimization/81913 (wrong code at -O1)
PR tree-optimization/81913
	* tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter
	analysis when either IVs in condition can wrap.

	gcc/testsuite
	* gcc.c-torture/execute/pr81913.c: New test.
	* gcc.dg/tree-ssa/loop-niter-1.c: New test.
	* gcc.dg/tree-ssa/loop-niter-2.c: New test.

From-SVN: r251337
2017-08-24 15:38:39 +00:00
David Malcolm
14e18d7100 C: fix logic within c_expr::get_location
In r251239 I added a c_expr::get_location method for use by
c_parser_expr_list for building the vec<location_t> for
an expression list, rather than using the location of the first token.

When determining whether to use the location within the tree node,
or fall back to the range in the c_expr, I used EXPR_CAN_HAVE_LOCATION,
rather than EXPR_HAS_LOCATION.  This meant that any tree nodes of kinds
that *can* have a location but which erroneously had
   EXPR_LOCATION (value) == UNKNOWN_LOCATION
had that value added to the vec<location_t>, leading to missing
location information when reporting on the issue
(seen with gcc.dg/Wtraditional-conversion-2.c for m68k).

This patch addresses this in two ways:

(a) it fixes the specific issue in this failing test case, by
    setting up the location properly on the EXCESS_PRECISION_EXPR.

(b) updating c_expr::get_location by only using the EXPR_LOCATION
    if it's sane.  Arguably this is papering over bugs, but they are
    pre-existing ones exposed by r251239, and I'd rather have this
    fix in place than play whack-a-mole on any other such "missing
    location" bugs that are lurking in the codebase.

gcc/c/ChangeLog:
	* c-tree.h (c_expr::get_location) Use EXPR_HAS_LOCATION rather
	than CAN_HAVE_LOCATION_P when determining whether to use the
	location_t value within "value".

gcc/c-family/ChangeLog:
	* c-lex.c (interpret_float): Use token location
	when building an EXCESS_PRECISION_EXPR.

From-SVN: r251335
2017-08-24 14:28:16 +00:00
Uros Bizjak
845c76ce64 dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
* dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
	* dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.

From-SVN: r251334
2017-08-24 16:18:57 +02:00
Richard Biener
9b25e12d2d re PR target/81921 (Fails to always-inline intrinsics with -flto)
2017-08-23  Richard Biener  <rguenther@suse.de>

        PR target/81921
        * targhooks.c (default_target_can_inline_p): Properly
        use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET
        is present and always compare.
        * config/i386/i386.c (ix86_valid_target_attribute_tree): Do not
	imply -mfpmath=sse from TARGET_SSE_P.
        (ix86_can_inline_p): Properly use target_option_default_node when
        no DECL_FUNCTION_SPECIFIC_TARGET is present and always compare.

	* gcc.target/i386/pr81921.c: New testcase.

From-SVN: r251333
2017-08-24 13:44:35 +00:00
Richard Biener
5d52d2c949 re PR debug/81936 (ICE in dwarf2out_die_ref_for_decl, at dwarf2out.c:5543)
2017-08-24  Richard Biener  <rguenther@suse.de>

	PR debug/81936
	* dwarf2out.c (output_die): Handle flag_generate_offload like
	flag_generate_lto.
	(output_comp_unit): Likewise.
	(gen_array_type_die): Likewise.
	(dwarf2out_early_finish): Likewise.
	(note_variable_value_in_expr): Likewise.
	(dwarf2out_finish): Likewise.  Adjust assert.
	* cgraphunit.c (symbol_table::compile): Move setting of
	flag_generate_offload earlier ...
	(symbol_table::finalize_compilation_unit): ... here, before
	early debug finalization.

From-SVN: r251332
2017-08-24 13:41:51 +00:00
Richard Biener
6eb1914298 i386.c: Include symbol-summary.h, ipa-prop.h and ipa-fnsummary.h.
2017-08-24  Richard Biener  <rguenther@suse.de>

	* config/i386/i386.c: Include symbol-summary.h, ipa-prop.h
	and ipa-fnsummary.h.
	(ix86_can_inline_p): When ix86_fpmath flags do not match
	check whether the callee uses FP math at all.

From-SVN: r251330
2017-08-24 12:22:30 +00:00
Aldy Hernandez
e4f22d970e re PR middle-end/81931 (r251260 breaks many tests on powerpc64)
PR middle-end/81931
	* tree-ssanames.c (get_nonzero_bits): Use element_precision
	instead of TYPE_PRECISION.

From-SVN: r251328
2017-08-24 11:40:55 +00:00
Richard Sandiford
dc0c1e4476 Make more use of subreg_offset_from_lsb
This patch makes use of the subreg_offset_from_lsb function
added by an earlier patch in the SVE series.

2017-08-24  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* combine.c (make_extraction): Use subreg_offset_from_lsb.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r251326
2017-08-24 07:47:13 +00:00
GCC Administrator
973c787584 Daily bump.
From-SVN: r251325
2017-08-24 00:16:27 +00:00
Daniel Santos
122f9da15d PR target/80969 - Fix ICE with -mabi=ms -mavx512f, reduce wasted space when realigning stack.
2017-08-23  Daniel Santos  <daniel.santos@pobox.com>

	* config/i386/i386.h (ix86_frame::stack_realign_allocate_offset):
	Remove field.
	(ix86_frame::stack_realign_allocate): New field.
	(struct machine_frame_state): Modify comments.
	(machine_frame_state::sp_realigned_fp_end): New field.
	* config/i386/i386.c (ix86_compute_frame_layout): Rework stack frame
	layout calculation.
	(sp_valid_at): Add assertion to assure no attempt to access invalid
	offset of a realigned stack.
	(fp_valid_at): Likewise.
	(choose_baseaddr): Modify comments.
	(ix86_emit_outlined_ms2sysv_save): Adjust to changes in
	ix86_expand_prologue.
	(ix86_expand_prologue): Modify stack realignment and allocation.
	(ix86_expand_epilogue): Modify comments.
	* doc/sourcebuild.texi: Add documentation for target selectors avx2,
	avx2_runtime, avx512f, and avx512f_runtime.

2017-08-23  Daniel Santos  <daniel.santos@pobox.com>

	* gcc.target/i386/pr80969-1.c: New testcase.
	* gcc.target/i386/pr80969-2a.c: Likewise.
	* gcc.target/i386/pr80969-2.c: Likewise.
	* gcc.target/i386/pr80969-3.c: Likewise.
	* gcc.target/i386/pr80969-4a.c: Likewise.
	* gcc.target/i386/pr80969-4b.c: Likewise.
	* gcc.target/i386/pr80969-4.c: Likewise.
	* gcc.target/i386/pr80969-4.h: New header common to pr80969-4*.c
	* lib/target-supports.exp (check_avx512_os_support_available,
	check_avx512f_hw_available, check_effective_target_avx512f_runtime):
	New proceedures for target avx512f and avx512f_runtime selectors.
	(check_avx2_hw_available): Fix breakage due NULL being undefined.

From-SVN: r251321
2017-08-23 21:46:14 +00:00
Nathan Sidwell
9e931c2a28 cp-tree.h (lookup_field_1, [...]): Move declatations to ...
* cp-tree.h (lookup_field_1, lookup_fnfields_slot,
	lookup_fnfields_slot_nolazy, lookup_all_conversions): Move
	declatations to ...
	* name-lookup.h (lookup_field_1, lookup_fnfields_slot,
	lookup_fnfields_slot_nolazy, lookup_all_conversions): ... here.
	* search.c (lookup_conversion_operator,
	lookup_fnfields_slot_nolazy, lookup_field_1, lookup_fnfields_slot,
	lookup_all_conversions): Move to ...
	* name-lookup.c (lookup_conversion_operator,
	lookup_fnfields_slot_nolazy, lookup_field_1, lookup_fnfields_slot,
	lookup_all_conversions): ... here.

From-SVN: r251319
2017-08-23 21:09:03 +00:00
Nathan Sidwell
3928bd5fc1 semantics.c (finish_member_declaration): Move USING_DECL check earlier.
* semantics.c (finish_member_declaration): Move USING_DECL check
	earlier.  Always set C++ linkage.  Commonize TYPE_FIELD and
	template decl list insertion.

From-SVN: r251317
2017-08-23 19:43:38 +00:00
Nathan Sidwell
25d203fbad cp-tree.h (maybe_version_functions): Declare.
* cp-tree.h (maybe_version_functions): Declare.
	* decl.c (decls_match): Break function versioning check to
	separate function.  Call it.
	(maybe_version_functions): Broken out of decls_match.
	* class.c (add_method): Use maybe_version_functions.

From-SVN: r251316
2017-08-23 19:37:53 +00:00
Nathan Sidwell
84ac4dfc5d cp-tree.h (print_search_statistics, [...]): Don't declare.
* cp-tree.h (print_search_statistics,
	reinit_search_statistics): Don't declare.
	* search.c (n_fields_searched, n_calls_lookup_field,
	n_calls_lookup_field_1, n_calls_lookup_fnfields,
	n_calls_lookup_fnfields_1, n_calls_get_base_type,
	n_outer_fields_searched, n_contexts_saved): Delete.
	(lookup_field_1, lookup_member,
	lookup_fnfields_slot_nolazy): Remove stat gathering.
	(print_search_statistics, reinit_search_statistics): Delete.
	* tree.c (cxx_print_statistics): Don't print search stats.

From-SVN: r251315
2017-08-23 19:33:08 +00:00
David Malcolm
397ecd0556 testsuite: add param-type-mismatch.c/C testcases as a baseline
gcc/testsuite/ChangeLog:
	* g++.dg/diagnostic/param-type-mismatch.C: New test acse.
	* gcc.dg/param-type-mismatch.c: New test case.

From-SVN: r251312
2017-08-23 15:53:41 +00:00
Uros Bizjak
b7fbf56380 i386.opt: Remove unneeded Init(0) initializations.
* config/i386/i386.opt: Remove unneeded Init(0) initializations.
	(mstackrealign): Do not init to -1.
	* config/i386/i386.c (ix86_option_override_internal):
	Check opts_set, not opts when setting default value of
	opts->x_ix86_force_align_arg_pointer.

From-SVN: r251311
2017-08-23 16:45:30 +02:00
Will Schmidt
44b1b79808 fold-vec-perm-char.c: New.
[gcc/testsuite]

2017-08-23  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-perm-char.c: New.
	* gcc.target/powerpc/fold-vec-perm-double.c: New.
	* gcc.target/powerpc/fold-vec-perm-float.c: New.
	* gcc.target/powerpc/fold-vec-perm-int.c: New.
	* gcc.target/powerpc/fold-vec-perm-longlong.c: New.
	* gcc.target/powerpc/fold-vec-perm-pixel.c: New.
	* gcc.target/powerpc/fold-vec-perm-short.c: New.

From-SVN: r251310
2017-08-23 14:06:55 +00:00
Richard Biener
a1e5642531 ChangeLog: Fix last entry.
2017-08-23  Richard Biener  <rguenther@suse.de>

        * testsuite/ChangeLog: Fix last entry.

From-SVN: r251309
2017-08-23 13:50:02 +00:00
Richard Biener
60591d4e4b function.c (fndecl_name): Use verbosity 1 (no arguments) for lang_hooks.decl_printable_name.
2017-08-23  Richard Biener  <rguenther@suse.de>

	* function.c (fndecl_name): Use verbosity 1 (no arguments) for
	lang_hooks.decl_printable_name.
	* print-rtl-function.c (print_rtx_function): Likewise.
	* tree-pretty-print.c (dump_function_header): Likewise.

	* g++.dg/cpp1y/constexpr-instantiate.C: Adjust.
	* g++.dg/tree-ssa/pr45605.C: Likewise.
	* gnat.dg/noinline2.ad: Likewise.b
	* gnat.dg/renaming6.ad: Likewise.b
	* gnat.dg/renaming6.ad: Likewise.s
	* gnat.dg/specs/noinline3.ad: Likewise.s

From-SVN: r251308
2017-08-23 13:44:20 +00:00
Richard Biener
3767b2e4be re PR lto/81940 (internal compiler error: in dwarf2out_abstract_function, at dwarf2out.c:21613)
2017-08-23  Richard Biener  <rguenther@suse.de>

	PR lto/81940
	* dwarf2out.c (dwarf2out_abstract_function): Handle LTO with
	-g0 at compile-time.

	* g++.dg/lto/pr81940_0.C: New testcase.

From-SVN: r251306
2017-08-23 12:11:03 +00:00
Tamar Christina
c37691e5cd re PR middle-end/19706 (Recognize common Fortran usages of copysign.)
2017-08-23  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/19706
	* doc/sourcebuild.texi (Other hardware attributes):
	Document xorsign.


gcc/testsuite
2017-08-23  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/19706
	* gcc.dg/tree-ssa/pr19706.c: New.
	* lib/target-supports.exp (check_effective_target_xorsign): New.

From-SVN: r251304
2017-08-23 11:34:59 +00:00
Tamar Christina
9880acc19e re PR middle-end/19706 (Recognize common Fortran usages of copysign.)
2017-08-23  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/19706
	* tree-ssa-math-opts.c (convert_expand_mult_copysign):
	Fix single-use check.

From-SVN: r251303
2017-08-23 11:32:47 +00:00
Thomas Preud'homme
b00775e373 Fix broken MinGW build of gcc.c
2017-08-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * gcc.c (execute): Only test for SIGKILL and SIGQUIT if available.

From-SVN: r251302
2017-08-23 10:43:36 +00:00
GCC Administrator
8649d5eeee Daily bump.
From-SVN: r251300
2017-08-23 00:16:22 +00:00
Daniel Santos
21e9b07789 Move entry to correct ChangeLog.
From-SVN: r251294
2017-08-22 22:08:19 +00:00
Daniel Santos
a0cc292e3f Add missing ChangeLog entry for previous commit
From-SVN: r251290
2017-08-22 18:54:49 +00:00
Daniel Santos
d35bcdd42c docs: Explain how to use multiple file-name patterns in RUNTESTFLAGS
* doc/install.texi: Modify to add more details on running
	selected tests.

From-SVN: r251289
2017-08-22 18:52:10 +00:00
Daniel Santos
4d68ff06e1 PR target/71958: Error on -mx32 with -mabi=ms
gcc/ChangeLog:
2017-08-11  Daniel Santos  <daniel.santos@pobox.com>

	* config/i386/i386.c (ix86_option_override_internal): Error when
	-mx32 is combined with -mabi=ms.
	(ix86_function_type_abi): Limit errors for mixing -mx32 with
	attribute ms_abi.

gcc/testsuite/ChangeLog:
2017-08-11  Daniel Santos  <daniel.santos@pobox.com>

	* gcc.target/i386/pr71958.c: New test to verify error on -mx32
	and -mabi=ms
 	* gcc.target/i386/pr64409.c: Modify to only run on x32.
	* gcc.target/i386/pr46470.c: Modify to skip x32 target.
 	* gcc.target/i386/pr66275.c: Likewise.
 	* gcc.target/i386/pr68018.c: Likewise.

From-SVN: r251287
2017-08-22 17:59:24 +00:00
Bill Schmidt
65d3dce8e8 re PR tree-optimization/81488 (gcc goes off the limits allocating memory in gimple-ssa-strength-reduction.c)
2017-08-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81488
	* gimple-ssa-strength-reduction (struct slsr_cand_d): Add visited
	and cached_basis fields.
	(MAX_SPREAD): New constant.
	(alloc_cand_and_find_basis): Initialize new fields.
	(clear_visited): New function.
	(create_phi_basis_1): Rename from create_phi_basis, set visited
	and cached_basis fields.
	(create_phi_basis): New wrapper function.
	(phi_add_costs_1): Rename from phi_add_costs, add spread
	parameter, set visited field, short-circuit when limits reached.
	(phi_add_costs): New wrapper function.
	(record_phi_increments_1): Rename from record_phi_increments, set
	visited field.
	(record_phi_increments): New wrapper function.
	(phi_incr_cost_1): Rename from phi_incr_cost, set visited field.
	(phi_incr_cost): New wrapper function.
	(all_phi_incrs_profitable_1): Rename from
	all_phi_incrs_profitable, set visited field.
	(all_phi_incrs_profitable): New wrapper function.

From-SVN: r251286
2017-08-22 17:32:26 +00:00
Richard Sandiford
03a9562184 Make more use of paradoxical_subreg_p
This patch makes more use of the existing paradoxical_subreg_p
predicate and also adds a version that operates on outer and
inner modes.

Some of the affected tests were based on GET_MODE_SIZE rather than
GET_MODE_PRECISION and so the patch could change the result for modes
that have the same size but different precisions.  I think in each
case the change should be a no-op or more correct, since a mode with
precision N bits can't be expected to hold all of a mode with precision
M>N bits.

The patch changes the branch taken in simplify_subreg for modes with
equal precision, but the new form matches the commentary more closely.
Both branches should be equally good in that situation.

2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* rtl.h (paradoxical_subreg_p): Define inline, and add a version
	that takes the outer and inner modes.
	* doc/rtl.texi: Use paradoxical_subreg_p instead of a GET_MODE_SIZE
	comparison as the canonical test for a paradoxical subreg.
	* combine.c (simplify_set): Use paradoxical_subreg_p.
	(make_extraction): Likewise.
	(force_to_mode): Likewise.
	(rtx_equal_for_field_assignment_p): Likewise.
	(gen_lowpart_for_combine): Likewise.
	(simplify_comparison): Likewise.
	* cse.c (equiv_constant): Likewise.
	* expmed.c (store_bit_field_1): Likewise.
	* final.c (alter_subreg): Likewise.
	* fwprop.c (propagate_rtx): Likewise.
	(forward_propagate_subreg): Likewise.
	* ira-conflicts.c (ira_build_conflicts): Likewise.
	* lower-subreg.c (simplify_gen_subreg_concatn): Likewise.
	* lra-constraints.c (curr_insn_transform): Likewise.
	(split_reg): Likewise.
	* lra-eliminations.c (move_plus_up): Likewise.
	(lra_eliminate_regs_1): Likewise.
	* recog.c (general_operand): Likewise.
	* ree.c (combine_reaching_defs): Likewise.
	* reload.c (push_reload): Likewise.
	(find_reloads): Likewise.
	* reload1.c (elimination_effects): Likewise.
	(compute_reload_subreg_offset): Likewise.
	(choose_reload_regs): Likewise.
	* rtlanal.c (subreg_lsb_1): Likewise.
	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
	(simplify_subreg): Likewise.
	* var-tracking.c (track_loc_p): Likewise.
	* emit-rtl.c (byte_lowpart_offset): Likewise.
	(paradoxical_subreg_p): Delete out-of-line definition.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r251282
2017-08-22 16:14:48 +00:00