1. 28 Aug, 2017 6 commits
  2. 27 Aug, 2017 3 commits
  3. 26 Aug, 2017 1 commit
  4. 25 Aug, 2017 10 commits
    • Part 3/3 for contributing PPC64LE support for X86 SSE instrisics. · 6e4c6a24
      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
      Steven Munroe committed
    • Part 2/3 for contributing PPC64LE support for X86 SSE instrisics. · 20253250
      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
      Steven Munroe committed
    • re PR target/81504 (gcc-7 regression: vec_st in loop misoptimized) · 55d14001
      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
      William Schmidt committed
    • rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. · 56b26dd4
      [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
      Michael Meissner committed
    • re PR target/81921 (Fails to always-inline intrinsics with -flto) · 9cf59597
      Retabify 2017-08-24  Richard Biener  <rguenther@suse.de>
      	PR target/81921
      
      From-SVN: r251351
      Nathan Sidwell committed
    • class.c (method_name_cmp, [...]): Method names can never be NULL. · bb5d50b5
      	* class.c (method_name_cmp, resort_method_name_cmp): Method names
      	can never be NULL.
      
      From-SVN: r251350
      Nathan Sidwell committed
    • PR81747, ICE in operator[] · e2da9ffe
      	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
      Alan Modra committed
    • Conversion operators have a special name · bff8b385
      	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
      Nathan Sidwell committed
    • PR middle-end/81908 - FAIL: gfortran.dg/alloc_comp_auto_array_2.f90 -O3 -g -m32 · 6512c0f1
      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
      Martin Sebor committed
    • Daily bump. · f9dd01fa
      From-SVN: r251346
      GCC Administrator committed
  5. 24 Aug, 2017 14 commits
    • stl_list.h [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. · 55500f5d
      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
      François Dumont committed
    • rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. · db1e5f32
      [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
      Michael Meissner committed
    • Conversion operators kept on single overload set · 2e12a855
      	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
      Nathan Sidwell committed
    • Adds the powerpc equivalent mm_malloc.h header which is needed by xmmintrin.h... · 281de9c2
      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
      Steven Munroe committed
    • target-supports.exp: Group together target-dependant checks. · 10bfe16f
      	* lib/target-supports.exp: Group together target-dependant checks.
      
      From-SVN: r251338
      Uros Bizjak committed
    • re PR tree-optimization/81913 (wrong code at -O1) · 142ff602
      	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
      Bin Cheng committed
    • C: fix logic within c_expr::get_location · 14e18d71
      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
      David Malcolm committed
    • dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40. · 845c76ce
      	* dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
      	* dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.
      
      From-SVN: r251334
      Uros Bizjak committed
    • re PR target/81921 (Fails to always-inline intrinsics with -flto) · 9b25e12d
      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
      Richard Biener committed
    • re PR debug/81936 (ICE in dwarf2out_die_ref_for_decl, at dwarf2out.c:5543) · 5d52d2c9
      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
      Richard Biener committed
    • i386.c: Include symbol-summary.h, ipa-prop.h and ipa-fnsummary.h. · 6eb19142
      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
      Richard Biener committed
    • re PR middle-end/81931 (r251260 breaks many tests on powerpc64) · e4f22d97
      	PR middle-end/81931
      	* tree-ssanames.c (get_nonzero_bits): Use element_precision
      	instead of TYPE_PRECISION.
      
      From-SVN: r251328
      Aldy Hernandez committed
    • Make more use of subreg_offset_from_lsb · dc0c1e44
      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
      Richard Sandiford committed
    • Daily bump. · 973c7875
      From-SVN: r251325
      GCC Administrator committed
  6. 23 Aug, 2017 6 commits
    • PR target/80969 - Fix ICE with -mabi=ms -mavx512f, reduce wasted space when realigning stack. · 122f9da1
      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
      Daniel Santos committed
    • cp-tree.h (lookup_field_1, [...]): Move declatations to ... · 9e931c2a
      	* 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
      Nathan Sidwell committed
    • semantics.c (finish_member_declaration): Move USING_DECL check earlier. · 3928bd5f
      	* 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
      Nathan Sidwell committed
    • cp-tree.h (maybe_version_functions): Declare. · 25d203fb
      	* 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
      Nathan Sidwell committed
    • cp-tree.h (print_search_statistics, [...]): Don't declare. · 84ac4dfc
      	* 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
      Nathan Sidwell committed
    • testsuite: add param-type-mismatch.c/C testcases as a baseline · 397ecd05
      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
      David Malcolm committed