1. 05 Mar, 2018 13 commits
    • re PR target/84524 (-O3 causes behavior change) · 8c6b5eb8
      	PR target/84524
      	* config/i386/sse.md (*<code><mode>3): Replace <mask_prefix3> with
      	orig,vex.
      	(*<plusminus_insn><mode>3): Likewise.  Remove <mask_operand3> uses.
      
      	* gcc.c-torture/execute/pr84524.c: New test.
      	* gcc.target/i386/avx512bw-pr84524.c: New test.
      
      From-SVN: r258252
      Jakub Jelinek committed
    • re PR target/84264 (ICE in rs6000_emit_le_vsx_store, at… · 75a741e8
      re PR target/84264 (ICE in rs6000_emit_le_vsx_store, at config/rs6000/rs6000.c:10367 starting with r256656)
      
      gcc/
      	PR target/84264
      	* config/rs6000/vector.md (mov<mode>): Disallow altivec memory operands.
      
      gcc/testsuite/
      	PR target/84264
      	* g++.dg/pr84264.C: New test.
      
      From-SVN: r258251
      Peter Bergner committed
    • re PR c++/84618 (ICE in build_capture_proxy, at cp/lambda.c:460) · 5625e747
      /cp
      2018-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84618
      	* parser.c (cp_parser_lambda_introducer): Reject any capture not
      	involving a VAR_DECL or a PARM_DECL.
      
      /testsuite
      2018-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84618
      	* g++.dg/cpp0x/lambda/lambda-ice29.C: New.
      	* g++.dg/cpp0x/lambda/lambda-ice17.C: Adjust.
      	* g++.dg/cpp0x/lambda/lambda-ice23.C: Likewise.
      
      From-SVN: r258250
      Paolo Carlini committed
    • re PR tree-optimization/84486 (code hoisting removes alignment assumption) · 800916ab
      2018-03-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84486
      	* tree-ssa-pre.c (create_expression_by_pieces): Remove dead code.
      	When inserting a __builtin_assume_aligned call set the LHS
      	SSA name alignment info accordingly.
      
      From-SVN: r258249
      Richard Biener committed
    • [AArch64] PR84114: Avoid reassociating FMA · b5b33e11
      As discussed in the PR, the reassociation phase runs before FMAs are formed
      and so can significantly reduce FMA opportunities.  Although reassociation
      could be switched off, it helps in many cases, so a better alternative is to
      only avoid reassociation of floating point additions.  This fixes the testcase
      and gives 1% speedup on SPECFP2017, fixing the performance regression.
      
          gcc/
      	PR tree-optimization/84114
      	* config/aarch64/aarch64.c (aarch64_reassociation_width)
      	Avoid reassociation of FLOAT_MODE addition.
      
      From-SVN: r258248
      Wilco Dijkstra committed
    • Enable WBOINVD and PCONFIG instructions. · 13b93d4b
      2018-03-05  Olga Makhotina  <olga.makhotina@intel.com>
      
      Enable WBOINVD and PCONFIG instructions.
      
      gcc/
      	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCONFIG_SET,
      	OPTION_MASK_ISA_PCONFIG_UNSET, OPTION_MASK_ISA_WBNOINVD_SET,
      	OPTION_MASK_ISA_WBNOINVD_UNSET): New definitions.
      	(ix86_handle_option): Handle -mpconfig and -mwbnoinvd.
      	* config.gcc (pconfigintrin.h, wbnoinvdintrin.h) : Add headers.
      	* config/i386/cpuid.h (bit_PCONFIG, bit_WBNOINVD): New.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mpconfig
      	and -mwbnoinvd.
      	* config/i386/i386-builtin.def (__builtin_ia32_wbnoinvd,
      	__builtin_ia32_wbinvd): New builtins.
      	(SPECIAL_ARGS2): New.
      	* config/i386/i386-c.c (__WBNOINVD__, __PCONFIG__): New.
      	(SPECIAL_ARGS2): New.
      	* config/i386/i386.c (ix86_target_string): Add -mpconfig and -mwbnoinvd.
      	(ix86_valid_target_attribute_inner_p): Ditto.
      	(ix86_init_mmx_sse_builtins): Add special_args2.
      	* config/i386/i386.h (TARGET_PCONFIG, TARGET_PCONFIG_P, TARGET_WBNOINVD,
      	TARGET_WBNOINVD_P): New.
      	* config/i386/i386.md (UNSPECV_WBINVD, UNSPECV_WBNOINVD): New.
      	(define_insn "wbinvd", define_insn "wbnoinvd"): New.
      	* config/i386/i386.opt: Add -mpconfig and -mwbnoinvd.
      	* config/i386/immintrin.h (_wbinvd): New intrinsic.
      	* config/i386/pconfigintrin.h: New file.
      	* config/i386/wbnoinvdintrin.h: Ditto.
      	* config/i386/x86intrin.h: Add headers pconfigintrin.h and wbnoinvdintrin.h.
      	* doc/invoke.texi (-mpconfig, -mwbnoinvd): New.
      
      gcc/testsuite/
      	* g++.dg/other/i386-2.C: Add -mpconfig and -mwbnoinvd.
      	* g++.dg/other/i386-3.C: Ditto.
      	* gcc.target/i386/sse-12.c: Ditto.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-14.c: Ditto.
      	* gcc.target/i386/sse-23.c: Add pconfig and wbnoinvd.
      	* gcc.target/i386/wbinvd-1.c: New test.
      	* gcc.target/i386/wbnoinvd-1.c: Ditto.
      	* gcc.target/i386/pconfig-1.c: Ditto.
      
      From-SVN: r258247
      Olga Makhotina committed
    • [PR c++/84497] ref to undefined tls init · 35a313aa
      https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00209.html
      	PR c++/84497
      	* decl2.c (get_tls_init_fn): Check TYPE_HAS_TRIVIAL_DFLT too.
      
      	PR c++/84497
      	* g++.dg/cpp0x/pr84497.C: New.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      Co-Authored-By: Nathan Sidwell <nathan@acm.org>
      
      From-SVN: r258244
      Pádraig Brady committed
    • re PR tree-optimization/84670 (ICE: in compute_antic_aux, at tree-ssa-pre.c:2148… · 36a9f50c
      re PR tree-optimization/84670 (ICE: in compute_antic_aux, at tree-ssa-pre.c:2148 with -O2 -fno-tree-dominator-opts)
      
      2018-03-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84670
      	* tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs
      	member.
      	(BB_VISITED_WITH_VISITED_SUCCS): New define.
      	(compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS.
      	(compute_antic_aux): Only assert the number of values in ANTIC_IN
      	doesn't grow if all successors (recursively) were visited at least
      	once.
      
      	* gcc.dg/pr84670-1.c: New testcase.
      	* gcc.dg/pr84670-2.c: Likewise.
      	* gcc.dg/pr84670-3.c: Likewise.
      	* gcc.dg/pr84670-4.c: Likewise.
      
      From-SVN: r258243
      Richard Biener committed
    • re PR tree-optimization/84650 ([graphite] ICE: Segmentation fault (in create_new_iv)) · 144a822f
      2018-03-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84650
      	* tree-ssa-loop-im.c (pass_lim::execute): Reset the SCEV cache
      	if executed in the loop pipeline.
      
      	* gcc.dg/graphite/pr84650.c: New testcase.
      
      From-SVN: r258242
      Richard Biener committed
    • re PR c++/82022 (constexpr lambda in template context: expression ‘<lambda>’ is… · a0445a5f
      re PR c++/82022 (constexpr lambda in template context: expression ‘<lambda>’ is not a constant expression)
      
      2018-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/82022
      	* g++.dg/cpp1z/constexpr-lambda20.C: New.
      
      From-SVN: r258241
      Paolo Carlini committed
    • configfiles.texi (Configuration Files): Move info about conditionalizing $target-protos.h to... · e095eec1
      2018-03-05  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/configfiles.texi (Configuration Files): Move info about
      	conditionalizing $target-protos.h to...
      	* doc/sourcebuild.texi (Back End): Here.  Explain how $target.h
      	differs from $target-protos.h.
      
      From-SVN: r258240
      Sandra Loosemore committed
    • [NDS32] Implment setmem pattern. · 142439c5
      gcc/
      	* config/nds32/nds32-protos.h (nds32_expand_setmem): Declare.
      	* config/nds32/nds32-multiple.md (setmemsi): Define.
      	* config/nds32/nds32-memory-manipulation.c
      	(nds32_gen_dup_4_byte_to_word_value): New.
      	(emit_setmem_word_loop): New.
      	(emit_setmem_byte_loop): New.
      	(nds32_expand_setmem_loop): New.
      	(nds32_expand_setmem_loop_v3m): New.
      	(nds32_expand_setmem_unroll): New.
      	(nds32_expand_setmem): New.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r258239
      Kito Cheng committed
    • Daily bump. · 9322e1aa
      From-SVN: r258238
      GCC Administrator committed
  2. 04 Mar, 2018 6 commits
    • [NDS32] Rename nds32_expand_movmemqi to nds32_expand_movmemsi and rewrite its implementation. · eab7aaed
      gcc/
      	*config/nds32/nds32-memory-manipulation.c
      	(nds32_emit_load_store): New.
      	(nds32_emit_post_inc_load_store): New.
      	(nds32_emit_mem_move): New.
      	(nds32_emit_mem_move_block): New.
      	(nds32_expand_movmemsi_loop_unknown_size): New.
      	(nds32_expand_movmemsi_loop_known_size): New.
      	(nds32_expand_movmemsi_loop): New.
      	(nds32_expand_movmemsi_unroll): New.
      	(nds32_expand_movmemqi): Rename ...
      	(nds32_expand_movmemsi): ... to this.
      	*config/nds32/nds32-multiple.md (movmemqi): Rename ...
      	(movmemsi): ... to this.
      	*config/nds32/nds32-protos.h (nds32_expand_movmemqi): Rename ...
      	(nds32_expand_movmemsi): ... to this.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r258235
      Kito Cheng committed
    • [NDS32] Refine load_multiple and store_multiple. · 32a6f4f4
      gcc/
      	* config/nds32/nds32-protos.h
      	(nds32_expand_load_multiple): New arguments.
      	(nds32_expand_store_multiple): Ditto.
      	(nds32_valid_multiple_load_store): Rename ...
      	(nds32_valid_multiple_load_store_p): ... to this.
      	* config/nds32/nds32-memory-manipulation.c
      	(nds32_expand_load_multiple): Refine implementation.
      	(nds32_expand_store_multiple): Ditto.
      	* config/nds32/nds32-multiple.md
      	(load_multiple): Update nds32_expand_load_multiple interface.
      	(store_multiple): Update nds32_expand_store_multiple interface.
      	* config/nds32/nds32-predicates.c
      	(nds32_valid_multiple_load_store): Rename ...
      	(nds32_valid_multiple_load_store_p): ... to this and refine
      	implementation.
      	* config/nds32/predicates.md
      	(nds32_load_multiple_and_update_address_operation): New predicate.
      	(nds32_store_multiple_and_update_address_operation): New predicate.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
      
      From-SVN: r258234
      Kito Cheng committed
    • [NDS32] Add load_multiple,store_multiple and new attribute combo. · 264159d2
      gcc/
      	* config/nds32/nds32.md (type): Add load_multiple and store_multiple.
      	(combo): New attribute.
      	* config/nds32/nds32-multiple.md: Refine patterns with new attributes.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r258232
      Kito Cheng committed
    • PR c++/84686 - missing volatile loads. · 38946ea1
      	* cvt.c (convert_to_void): Call maybe_undo_parenthesized_ref.
      
      From-SVN: r258231
      Jason Merrill committed
    • re PR fortran/71085 (ICE with some intrinsic functions specifying array function result dimension) · ac80378f
      2018-03-03  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/71085
      	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Do not
      	dereference NULL pointer.
      
      
      2018-03-03  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/71085
      	* gfortran.dg/pr71085.f90: New test.
      
      From-SVN: r258228
      Harald Anlauf committed
    • Daily bump. · 6979a6b3
      From-SVN: r258227
      GCC Administrator committed
  3. 03 Mar, 2018 13 commits
  4. 02 Mar, 2018 8 commits