1. 28 Sep, 2018 8 commits
    • Fix date in ChangeLog file. · 713e9ce2
      From-SVN: r264693
      Steve Ellcey committed
    • re PR testsuite/87433 (gcc.dg/zero_bits_compound-1.c and… · a8b4e6c4
      re PR testsuite/87433 (gcc.dg/zero_bits_compound-1.c and gcc.target/aarch64/ashltidisi.c tests fail after combine two to two instruction patch on aarch64)
      
      2018-09-28  Steve Ellcey  <sellcey@cavium.com>
      
      	PR testsuite/87433
      	* gcc.target/aarch64/ashltidisi.c: Expect 3 asr instructions
      	instead of 4.
      
      From-SVN: r264692
      Steve Ellcey committed
    • re PR testsuite/87433 (gcc.dg/zero_bits_compound-1.c and… · 259cd78a
      re PR testsuite/87433 (gcc.dg/zero_bits_compound-1.c and gcc.target/aarch64/ashltidisi.c tests fail after combine two to two instruction patch on aarch64)
      
      2018-09-28  Steve Ellcey  <sellcey@cavium.com>
      
      	PR testsuite/87433
      	* gcc.dg/zero_bits_compound-1.c: Do not run on aarch64*-*-*.
      
      From-SVN: r264691
      Steve Ellcey committed
    • compiler: fix parsing issue with non-ASCII first package char · 20a73a19
          
          Fix a bug in the parser code that decides whether a given name should
          be considered exported or not. The function Lex::is_exported_name
          (which assumes that its input is a mangled name) was being called on
          non-mangled (raw utf-8) names in various places. For the bug in
          question this caused an imported package to be registered under the
          wrong name. To fix the issue, rename 'Lex::is_exported_name' to
          'Lex::is_exported_mangled_name', and add a new 'Lex::is_exported_name'
          that works on utf-8 strings.
          
          Fixes golang/go#27836.
          
          Reviewed-on: https://go-review.googlesource.com/137736
      
      From-SVN: r264690
      Ian Lance Taylor committed
    • tree.h (BLOCK_ORIGIN): New. · dc16b007
      2018-09-28  Richard Biener  <rguenther@suse.de>
      
      	* tree.h (BLOCK_ORIGIN): New.
      	* omp-expand.c (grid_expand_target_grid_body): Assign
      	BLOCK_ORIGIN to BLOCK_ABSTRACT_ORIGIN.
      	* tree-inline.c (remap_block): Likewise.
      
      	* auto-profile.c (get_function_decl_from_block): Simplify
      	by eliding the BLOCK_ABSTRACT_ORIGIN chasing.
      	* langhooks.c (lhd_print_error_function): Likewise.
      	* optinfo-emit-json.cc (optrecord_json_writer::inlining_chain_to):
      	Likewise.
      	* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
      	* tree.c (block_nonartificial_location): Likewise.
      	(block_ultimate_origin): Likewise.
      	* tree-pretty-print.c (percent_K_format): Likewise.  Remove
      	no longer needed LTO case.
      
      	cp/
      	* error.c (cp_print_error_function): Simplify by eliding
      	the BLOCK_ABSTRACT_ORIGIN chasing.
      
      From-SVN: r264689
      Richard Biener committed
    • Simplify vec_merge according to the mask. · 2bd4ca7a
      This patch was part of the original patch we acquired from Honza and Martin.
      
      It simplifies nested vec_merge operations using the same mask.
      
      Self-tests are included.
      
      2018-09-28  Andrew Stubbs  <ams@codesourcery.com>
      	    Jan Hubicka  <jh@suse.cz>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	* simplify-rtx.c (simplify_merge_mask): New function.
      	(simplify_ternary_operation): Use it, also see if VEC_MERGEs with the
      	same masks are used in op1 or op2.
      	(test_vec_merge): New function.
      	(test_vector_ops): Call test_vec_merge.
      
      Co-Authored-By: Jan Hubicka <jh@suse.cz>
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r264688
      Andrew Stubbs committed
    • sparc-protos.h (sparc_branch_cost): Declare. · 227efe87
      	* config/sparc/sparc-protos.h (sparc_branch_cost): Declare.
      	* config/sparc/sparc.h (BRANCH_COST): Call sparc_branch_cost.
      	* config/sparc/sparc.c (struct processor_costs): Add branch_cost field.
      	(cypress_costs): Set it.
      	(supersparc_costs): Likewise.
      	(hypersparc_costs): Likewise.
      	(leon_cost): Likewise.
      	(leon3_costs): Likewise.
      	(sparclet_costs): Likewise.
      	(ultrasparc_costs): Likewise.
      	(ultrasparc_costs): Likewise.
      	(niagara_costs): Likewise.
      	(niagara2_costs): Likewise.
      	(niagara3_costs): Likewise.
      	(niagara4_costs): Likewise.
      	(niagara7_costs): Likewise.
      	(m8_costs): Likewise.
      	(TARGET_CAN_FOLLOW_JUMP): Define.
      	(pass_work_around_errata::gate): Minor tweak.
      	(sparc_option_override): Remove MASK_FSMULD mask for V7 processors.
      	Do not set both MASK_VIS4 and MASK_VIS4B for M8 processor.
      	Automaitcally clear MASK_FSMULD mask for V7 processors.
      	(sparc_can_follow_jump): New static function.
      	(output_ubranch): Deal with CROSSING_JUMP_P.
      	(sparc_use_sched_lookahead): Rewrite using switch statement.
      	(sparc_issue_rate): Reorder.
      	(sparc_branch_cost): New function.
      
      From-SVN: r264687
      Eric Botcazou committed
    • Daily bump. · 7847bfcb
      From-SVN: r264685
      GCC Administrator committed
  2. 27 Sep, 2018 14 commits
    • rs6000: Fix one more vec_splat case · c057b53a
      This fixes the one remaining case where the stricter vec_splat checking
      complains in the testsuite.
      
      
      	* g++.dg/ext/altivec-6.C: Change the vec_splat second argument to a
      	valid value, in the "vector bool int" case.
      
      From-SVN: r264681
      Segher Boessenkool committed
    • tree.h (tree_to_shwi): Add attribute nonnull and pure. · 73ca9fb5
      gcc/ChangeLog:
      
      	* tree.h (tree_to_shwi): Add attribute nonnull and pure.
      	(tree_to_poly_int64, tree_to_uhwi, tree_to_poly_uint64): Same.
      	(int_fits_type_p): Same.
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/utils.c (make_packable_type): Introduce a temporary
      	to avoid -Wnonnull.
      	(unchecked_convert): Same.
      
      From-SVN: r264680
      Martin Sebor committed
    • mmintrin.h (_mm_unpackhi_pi8): Change __int128_t to __int128. · f20ac637
      2018-09-27  Jinsong Ji  <jji@us.ibm.com>
      	    Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/mmintrin.h (_mm_unpackhi_pi8): Change __int128_t
      	to __int128.
      	(_mm_unpacklo_pi8): Likewise.
      	(_mm_add_pi8): Likewise.
      	(_mm_add_pi16): Likewise.
      	(_mm_add_pi32): Likewise.
      	(_mm_sub_pi8): Likewise.
      	(_mm_sub_pi16): Likewise.
      	(_mm_sub_pi32): Likewise.
      	(_mm_cmpgt_pi8): Likewise.
      	(_mm_cmpeq_pi16): Likewise.
      	(_mm_cmpgt_pi16): Likewise.
      	(_mm_cmpeq_pi32): Likewise.
      	(_mm_cmpgt_pi32): Likewise.
      	(_mm_adds_pi8): Likewise.
      	(_mm_adds_pi16): Likewise.
      	(_mm_adds_pu8): Likewise.
      	(_mm_adds_pu16): Likewise.
      	(_mm_subs_pi8): Likewise.
      	(_mm_subs_pi16): Likewise.
      	(_mm_subs_pu8): Likewise.
      	(_mm_subs_pu16): Likewise.
      	(_mm_madd_pi16): Likewise.
      	(_mm_mulhi_pi16): Likewise.
      	(_mm_mullo_pi16): Likewise.
      	(_mm_sll_pi16): Likewise.
      	(_mm_sra_pi16): Likewise.
      	(_mm_srl_pi16): Likewise.
      	(_mm_set1_pi16): Likewise.
      	(_mm_set1_pi8): Likewise.
      	* config/rs6000/xmmintrin.h (_mm_max_pi16): Likewise.
      	(_mm_max_pu8): Likewise.
      	(_mm_min_pi16): Likewise.
      	(_mm_min_pu8): Likewise.
      
      From-SVN: r264678
      Jinsong Ji committed
    • i386.md (UNSPEC_FLDCW): Remove. · f3f518f2
      	* config/i386/i386.md (UNSPEC_FLDCW): Remove.
      
      From-SVN: r264677
      Uros Bizjak committed
    • i386.md (FPSR_REG): Remove. · eaa17c21
      	* config/i386/i386.md (FPSR_REG): Remove.
      	(x86_fnstcw_1): Use (const_int 0) instead of FPCR_REG.
      	(x86_fldcw_1): Remove insn pattern.
      	(fnstenv): Do not clobber FPCR_REG.
      	(fldenv): Ditto.
      	* config/i386/i386.h (FIXED_REGISTERS) Remove fpsr register.
      	(CALL_USED_REGISTERS): Ditto.
      	(REG_ALLOC_ORDER): Ditto.
      	(REG_CLASS_CONTENTS): Ditto.
      	(HI_REGISTER_NAMES): Ditto.
      	(ADDITIONAL_REGISTER_NAMES): Use defines instead
      	of numerical constants.
      	* config/i386/i386.c (regclass_map): Remove fpsr register.
      	(dbx_register_map): Ditto.
      	(dbx64_register_map): Ditto.
      	(svr4_dbx_register_map): Ditto.
      	(print_reg): Do not handle FPCR_REG.
      
      testsuite/ChangeLog:
      
      	* gcc.dg/rtl/x86_64/dfinit.c: Update scan-rtl-dump string.
      	* gcc.dg/rtl/x86_64/times-two.c.before-df.c: Ditto.
      	* gcc.target/i386/pr79804.c (foo): Use register "19", not "20".
      
      From-SVN: r264676
      Uros Bizjak committed
    • rs6000: Delete many HAVE_AS_* (PR87149) · 24676f12
      This deletes most HAVE_AS_* that determine if the assembler supports
      some ISA level (and also HAVE_AS_MFPGPR and HAVE_AS_DFP).
      
      These are not useful: we will only generate an instruction that requires
      some newer ISA if the user specifically asked for it (with -mcpu=, say).
      If the assembler cannot handle that, it is fine if it gives an error.
      
      They also hurt: it increases the number of possible situations that all
      need handling and all need testing.  We do not handle all cases, and
      obviously do not test all either.
      
      This patch removes:
      
      HAVE_AS_POPCNTB (power5,  2.02)
      HAVE_AS_FPRND   (power5+, 2.04)
      HAVE_AS_CMPB    (power6,  2.05)
      HAVE_AS_POPCNTD (power7,  2.06)
      HAVE_AS_POWER8  (power8,  2.07)
      HAVE_AS_POWER9  (power9,  3.0)
      
      HAVE_AS_DFP     (power6,  2.05, server)
      HAVE_AS_MFPGPR  (power6x but not later, not arch)
      
      
      	PR target/87149
      	* config.in (HAVE_AS_CMPB, HAVE_AS_DFP, HAVE_AS_FPRND, HAVE_AS_MFPGPR,
      	HAVE_AS_POPCNTB, HAVE_AS_POPCNTD, HAVE_AS_POWER8, HAVE_AS_POWER9):
      	Delete, always treat as true.
      	* config/powerpcspe/powerpcspe.c (rs6000_option_override_internal):
      	Ditto.  Simplify remaining code.
      	* config/powerpcspe/powerpcspe.h: Ditto.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Ditto.
      	Simplify remaining code.
      	(rs6000_expand_builtin): Ditto.
      	* config/rs6000/rs6000.h: Ditto.
      	* configure.ac: Ditto.
      	* configure: Regenerate.
      
      From-SVN: r264675
      Segher Boessenkool committed
    • coverage.c (get_coverage_counts): Revert the formatting of missing profile opt info. · 88307040
      2018-09-27  Martin Liska  <mliska@suse.cz>
      
      	* coverage.c (get_coverage_counts): Revert the formatting
      	of missing profile opt info.
      
      	* g++.dg/pr60518.C: Add -Wno-missing-profile.
      	* g++.dg/torture/pr59265.C: Likewise.
      	* g++.dg/tree-prof/morefunc.C: Likewise.
      	* g++.dg/tree-ssa/dom-invalid.C: Likewise.
      	* gcc.dg/pr26570.c: Likewise.
      	* gcc.dg/pr32773.c: Likewise.
      	* gcc.dg/pr40209.c: Likewise.
      	* gcc.dg/pr51957-1.c: Likewise.
      	* gcc.dg/pr80747.c: Likewise.
      	* gcc.target/aarch64/pr62262.c: Likewise.
      
      From-SVN: r264669
      Martin Liska committed
    • re PR debug/87451 (FAIL: gcc.dg/debug/dwarf2/inline5.c) · b88da9bb
      2018-09-27  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/87451
      	* gcc.dg/debug/dwarf2/inline5.c: Deal with different comment characters.
      
      From-SVN: r264668
      Richard Biener committed
    • re PR debug/37801 (DWARF output for inlined functions doesn't always use DW_TAG_inlined_subroutine) · ac02e5b7
      2018-09-27  Richard Biener  <rguenther@suse.de>
      
      	PR debug/37801
      	PR debug/87440
      	* dwarf2out.c (set_block_origin_self): Do not mark outermost
      	block as we do not output that.
      	(gen_inlined_subroutine_die): Elide the originally outermost
      	block, matching what we do for concrete instances.
      	(decls_for_scope): Add parameter specifying whether to recurse
      	to subblocks.
      
      	* gcc.dg/debug/dwarf2/inline2.c: Adjust.
      	* gcc.dg/debug/dwarf2/inline4.c: New testcase.
      
      From-SVN: r264667
      Richard Biener committed
    • [pr82089] Don't sign-extend SFV 1 in BImode · 19ef5a8f
      This is an update of the patch posted to PR82089 long ago.  We ran into the
      same bug on GCN, so we need this fixed as part of this series.
      
      2018-09-27  Andrew Stubbs  <ams@codesourcery.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	PR 82089
      
      	gcc/
      	* expmed.c (emit_cstore): Fix handling of result_mode == BImode and
      	STORE_FLAG_VALUE == 1.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r264666
      Andrew Stubbs committed
    • re PR c++/67544 (ICE: SIGSEGV in tree_check3 (tree.h:2896) with -fconcepts) · 90e79377
      2018-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67544
      	* g++.dg/concepts/pr67544.C: New.
      
      From-SVN: r264665
      Paolo Carlini committed
    • re PR c++/84940 (internal compiler error: in build_value_init_noctor, at cp/init.c:465) · 0798984a
      /cp
      2018-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84940
      	* semantics.c (finish_unary_op_expr): Check return value of
      	build_x_unary_op for error_mark_node.
      
      /testsuite
      2018-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84940
      	* g++.dg/expr/unary4.C: New.
      
      From-SVN: r264664
      Paolo Carlini committed
    • S/390: Implement speculation barrier · 291a9e98
      gcc/ChangeLog:
      
      2018-09-27  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.md (PPA_TX_ABORT, PPA_OOO_BARRIER): New
      	constant definitions.
      	("tx_assist"): Replace magic number with PPA_TX_ABORT.
      	("*ppa"): Enable pattern also for -march=zEC12 -mno-htm.
      	("speculation_barrier"): New expander definition.
      
      From-SVN: r264663
      Andreas Krebbel committed
    • Daily bump. · 461553e6
      From-SVN: r264661
      GCC Administrator committed
  3. 26 Sep, 2018 18 commits