1. 14 May, 2017 18 commits
    • PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO · eac8c9f2
      gcc/ChangeLog:
      
              PR target/80600
              * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
      
      libgcc/ChangeLog:
      
              PR target/80600
              * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.
      
      From-SVN: r248037
      Krister Walfridsson committed
    • i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode. · 9430f7b8
      	* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
      	compatible with CCGOCmode and with CCZmode.
      
      From-SVN: r248036
      Uros Bizjak committed
    • PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s · a104bd88
      gcc/ChangeLog:
      
      	PR middle-end/77671
      	* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
      	(gimple_fold_builtin_snprintf): Same.
      	* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
      	(gimple_fold_builtin_snprintf): Same.
      	* gimple-ssa-sprintf.c (get_format_string): Correct the detection
      	of character types.
      	(is_call_safe): New function.
      	(try_substitute_return_value): Call it.
      	(try_simplify_call): New function.
      	(pass_sprintf_length::handle_gimple_call): Call it.
      
      gcc/testsuite/ChangeLog:
      
      PR middle-end/77671
      	* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
      	* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.
      
      From-SVN: r248035
      Martin Sebor committed
    • PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy · c6c02519
      gcc/ChangeLog:
      
      	PR middle-end/80669
      	* builtins.c (expand_builtin_stpncpy): Simplify.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/80669
      	* gcc.dg/builtin-stpncpy.c: New test.
      
      From-SVN: r248034
      Martin Sebor committed
    • i386.opt: Add option -mcall-ms2sysv-xlogues. · d6d4d770
      gcc/ChangeLog:
      
      	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
      	* config/i386/i386.h
      	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
      	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
      	(struct machine_function): Add new members call_ms2sysv,
      	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
      	(struct machine_frame_state): New fields sp_realigned and
      	sp_realigned_offset.
      	* config/i386/i386.c
      	(enum xlogue_stub): New enum.
      	(enum xlogue_stub_sets): New enum.
      	(class xlogue_layout): New class.
      	(struct ix86_frame): New fields stack_realign_allocate_offset,
      	stack_realign_offset and outlined_save_offset.  Modify comments to
      	detail stack layout when using out-of-line stubs.
      	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
      	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
      	-mcall-ms2sysv-xlogues.
      	(stub_managed_regs): New static variable.
      	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
      	registers managed by out-of-line stub.
      	(disable_call_ms2sysv_xlogues): New function.
      	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
      	m->call_ms2sysv when appropriate and compute frame layout for
      	out-of-line stubs.
      	(sp_valid_at, fp_valid_at): New inline functions.
      	(choose_basereg): New function.
      	(choose_baseaddr): Add align parameter, use choose_basereg and modify
      	all callers.
      	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
      	Use align parameter of choose_baseaddr to generated aligned SSE movs
      	when possible.
      	(pro_epilogue_adjust_stack): Modify to track
      	machine_frame_state::sp_realigned.
      	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
      	(ix86_nsaved_sseregs): Likewise.
      	(ix86_emit_save_regs): Likewise.
      	(ix86_emit_save_regs_using_mov): Likewise.
      	(ix86_emit_save_sse_regs_using_mov): Likewise.
      	(get_scratch_register_on_entry): Likewise.
      	(gen_frame_set): New function.
      	(gen_frame_load): Likewise.
      	(gen_frame_store): Likewise.
      	(emit_outlined_ms2sysv_save): Likewise.
      	(emit_outlined_ms2sysv_restore): Likewise.
      	(ix86_expand_prologue): Modify stack re-alignment code and call
      	emit_outlined_ms2sysv_save when appropriate.
      	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
      	parameter rtx_insn *insn, which allows the function to be used to only
      	generate the notes.
      	(ix86_expand_epilogue): Modify validity checks of frame and stack
      	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
      	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
      	* config/i386/predicates.md
      	(save_multiple): New predicate.
      	(restore_multiple): Likewise.
      	* config/i386/sse.md
      	(save_multiple<mode>): New pattern.
      	(save_multiple_realign<mode>): Likewise.
      	(restore_multiple<mode>): Likewise.
      	(restore_multiple_and_return<mode>): Likewise.
      	(restore_multiple_leave_return<mode>): Likewise.
      	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
      	* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.
      
      libgcc/ChangeLog:
      
      	* config.host: Add i386/t-msabi to i386/t-linux file list.
      	* config/i386/i386-asm.h: New file.
      	* config/i386/resms64.S: New file.
      	* config/i386/resms64f.S: New file.
      	* config/i386/resms64fx.S: New file.
      	* config/i386/resms64x.S: New file.
      	* config/i386/savms64.S: New file.
      	* config/i386/savms64f.S: New file.
      	* config/i386/t-msabi: New file.
      
      From-SVN: r248029
      Daniel Santos committed
    • i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type. · b9bdd60b
      	* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
      	* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
      	(__builtin_ia32_xsetbv): New builtins.
      	* config/i386/i386.c (ix86_expand_special_args_builtin):
      	Process new types.
      	(ix86_expand_builtin): Special expand for new intrinsics.
      	* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
      	(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
      	* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/xgetsetbv.c: New test.
      
      From-SVN: r248028
      Julia Koval committed
    • make inverted_post_order_compute() operate on a vec · 6fa95e09
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfganal.c (inverted_post_order_compute): Change argument type
      	to vec *.
      	* cfganal.h (inverted_post_order_compute): Adjust prototype.
      	* df-core.c (rest_of_handle_df_initialize): Adjust.
      	(rest_of_handle_df_finish): Likewise.
      	(df_analyze_1): Likewise.
      	(df_analyze): Likewise.
      	(loop_inverted_post_order_compute): Change argument to be a vec *.
      	(df_analyze_loop): Adjust.
      	(df_get_n_blocks): Likewise.
      	(df_get_postorder): Likewise.
      	* df.h (struct df_d): Change field to be a vec.
      	* lcm.c (compute_laterin): Adjust.
      	(compute_available): Likewise.
      	* lra-lives.c (lra_create_live_ranges_1): Likewise.
      	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
      	* tree-ssa-pre.c (compute_antic): Likewise.
      
      From-SVN: r248027
      Trevor Saunders committed
    • make depth_first_search_ds a class · 35bfaf4d
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfganal.c (connect_infinite_loops_to_exit): Adjust.
      	(depth_first_search::depth_first_search): Change structure init
      	function to this constructor.
      	(depth_first_search::add_bb): Rename function to this member.
      	(depth_first_search::execute): Likewise.
      	(flow_dfs_compute_reverse_finish): Adjust.
      
      From-SVN: r248026
      Trevor Saunders committed
    • make more vars auto_sbitmaps · 8f48c622
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
      	(longest_simple_path): Likewise.
      	* shrink-wrap.c (spread_components): Likewise.
      	(disqualify_problematic_components): Likewise.
      	(emit_common_heads_for_components): Likewise.
      	(emit_common_tails_for_components): Likewise.
      	(insert_prologue_epilogue_for_components): Likewise.
      
      From-SVN: r248025
      Trevor Saunders committed
    • make a member an auto_sbitmap · 0236bb04
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
      	auto_sbitmap.
      
      From-SVN: r248024
      Trevor Saunders committed
    • use auto_bitmap more with alternate obstacks · d648b5ff
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* df-core.c (df_set_blocks): Start using auto_bitmap.
      	(df_compact_blocks): Likewise.
      	* df-problems.c (df_rd_confluence_n): Likewise.
      	* df-scan.c (df_insn_rescan_all): Likewise.
      	(df_process_deferred_rescans): Likewise.
      	(df_update_entry_block_defs): Likewise.
      	(df_update_exit_block_uses): Likewise.
      	(df_entry_block_bitmap_verify): Likewise.
      	(df_exit_block_bitmap_verify): Likewise.
      	(df_scan_verify): Likewise.
      	* lra-constraints.c (lra_constraints): Likewise.
      	(undo_optional_reloads): Likewise.
      	(lra_undo_inheritance): Likewise.
      	* lra-remat.c (calculate_gen_cands): Likewise.
      	(do_remat): Likewise.
      	* lra-spills.c (assign_spill_hard_regs): Likewise.
      	(spill_pseudos): Likewise.
      	* tree-ssa-pre.c (bitmap_set_and): Likewise.
      	(bitmap_set_subtract_values): Likewise.
      
      From-SVN: r248023
      Trevor Saunders committed
    • move several bitmaps from gc memory to the default obstack and use auto_bitmap · 8f9b31f7
      These places where probably trying to use the default bitmap obstack,
      but passing 0 to bitmap_initialize actually uses gc allocation.  In any
      case they are all cleaned up before going out of scope so using
      auto_bitmap should be fine.
      
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
      	management with auto_bitmap.
      	(fix_inter_tick): Likewise.
      	(fix_recovery_deps): Likewise.
      	* ira.c (add_store_equivs): Likewise.
      	(find_moveable_pseudos): Likewise.
      	(split_live_ranges_for_shrink_wrap): Likewise.
      	* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
      	(rtx_reuse_manager::seen_def_p): Likewise.
      	(rtx_reuse_manager::set_seen_def): Likewise.
      	* print-rtl.h (class rtx_reuse_manager): Likewise.
      
      From-SVN: r248022
      Trevor Saunders committed
    • use auto_bitmap more · 0e3de1d4
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
      	lifetime.
      	(migrate_btr_def): Likewise.
      	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
      	* df-core.c (loop_post_order_compute): Likewise.
      	(loop_inverted_post_order_compute): Likewise.
      	* hsa-common.h: Likewise.
      	* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ipa-inline.c (resolve_noninline_speculation): Likewise.
      	(inline_small_functions): Likewise.
      	* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
      	* ira.c (combine_and_move_insns): Likewise.
      	(build_insn_chain): Likewise.
      	* loop-invariant.c (find_invariants): Likewise.
      	* lower-subreg.c (propagate_pseudo_copies): Likewise.
      	* predict.c (tree_predict_by_opcode): Likewise.
      	(predict_paths_leading_to): Likewise.
      	(predict_paths_leading_to_edge): Likewise.
      	(estimate_loops_at_level): Likewise.
      	(estimate_loops): Likewise.
      	* shrink-wrap.c (try_shrink_wrapping): Likewise.
      	(spread_components): Likewise.
      	* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
      	* tree-loop-distribution.c (rdg_build_partitions): Likewise.
      	* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
      	* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
      	* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
      	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
      	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
      	* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
      	(mark_threaded_blocks): Likewise.
      	(thread_through_all_blocks): Likewise.
      	* tree-ssa.c (verify_ssa): Likewise.
      	(execute_update_addresses_taken): Likewise.
      	* tree-ssanames.c (verify_ssaname_freelists): Likewise.
      
      From-SVN: r248021
      Trevor Saunders committed
    • replace some manual stacks with auto_vec · 792bb49b
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfganal.c (mark_dfs_back_edges): Replace manual stack with
      	auto_vec.
      	(post_order_compute): Likewise.
      	(inverted_post_order_compute): Likewise.
      	(pre_and_rev_post_order_compute_fn): Likewise.
      
      From-SVN: r248020
      Trevor Saunders committed
    • allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size · a5c9f2b7
      This allows us to set the capacity of the vector when we construct it,
      and still use a stack buffer when the size is small enough.
      
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* genrecog.c (int_set::int_set): Explicitly construct our
      	auto_vec base class.
      	* vec.h (auto_vec::auto_vec): New constructor.
      
      From-SVN: r248019
      Trevor Saunders committed
    • allow auto_bitmap to use other bitmap obstacks · 4b5c84f4
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* bitmap.h (class auto_bitmap): New constructor taking
      	bitmap_obstack * argument.
      
      From-SVN: r248018
      Trevor Saunders committed
    • store the bitmap_head within the auto_bitmap · a4d51bfb
      This gets rid of one allocation per bitmap.  Often the bitmap_head is
      now on the stack, when it isn't its part of some other struct on the
      heap instead of being refered to by that struct.  On 64 bit platforms
      this will increase the size of such structs by 24 bytes, but its an over
      all win since we don't need an 8 byte pointer pointing at the
      bitmap_head.  Given that the auto_bitmap owns the bitmap_head anyway we
      know there would never be a place where two auto_bitmaps would refer to
      the same bitmap_head object.
      
      gcc/ChangeLog:
      
      2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* bitmap.h (class auto_bitmap): Change type of m_bits to
      	bitmap_head, and adjust ctor / dtor and member operators.
      
      From-SVN: r248017
      Trevor Saunders committed
    • Daily bump. · 470e7e56
      From-SVN: r248016
      GCC Administrator committed
  2. 13 May, 2017 7 commits
    • re PR fortran/80442 (Rejects DATA statement with array slice) · 28ae01cd
      
      2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>
      
      	PR fortran/80442
      	* array.c (gfc_ref_dimen_size): Simplify stride
      	expression
      	* data.c (gfc_advance_section): Simplify start,
      	end and stride expressions
      	(gfc_advance_section): Simplify start and end
      	expressions
      	(gfc_get_section_index): Simplify start expression 
      
      2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>
      
      	PR fortran/80442
      	* gfortran.dg/impl_do_var_data.f90: New Test
      
      From-SVN: r248012
      Nicolas Koenig committed
    • compare-elim.c (equivalent_reg_at_start): Return NULL_RTX when returned register… · 36449020
      compare-elim.c (equivalent_reg_at_start): Return NULL_RTX when returned register mode doesn't match original mode.
      
      	* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
      	when returned register mode doesn't match original mode.
      
      From-SVN: r248009
      Uros Bizjak committed
    • io.c (gfc_resolve_dt): Fix returns to bool type. · 2263019d
      2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* io.c (gfc_resolve_dt): Fix returns to bool type.
      
      From-SVN: r248008
      Jerry DeLisle committed
    • mn10300.c (mn10300_match_ccmode): Fix where we look for cc setter after the compare-elim changes. · 65fdd5e9
      2017-05-12  Jeff Law  <law@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
      
      	* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
      	we look for cc setter after the compare-elim changes.
      	* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
      	within the vector to match what compare-elim now expects.
      	(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
      	(xorsi3_flags, one_cmplsi2_flags): Likewise.
      
      	* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
      	after the compare-elim changes.
      	* config/rx/rx.md (abssi2_flags): Fix order of patterns within
      	the vector to match what compare-elim now expects.
      	(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
      	(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
      	(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
      	(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
      	(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.
      
      	* config/visium/visium.c (single_set_and_flags): Fix where
      	we look for cc setter after the compare-elim changes.
      	* config/visium/visium.md (flags_subst_logic): Fix order of patterns
      	with the vector to match what compare-elim now expects.
      	(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
      	(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
      	(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
      	(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
      	(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
      	(neg<mode>2_insn_set_overflow): Likewise.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r248007
      Jeff Law committed
    • BRIG FE: Fix an assertion when doing an 'lda' of · c7488b4f
      a private array offset.
      
      From-SVN: r248006
      Pekka Jääskeläinen committed
    • Patch for RTL expand bug affecting aarch64 vector code. · f96bf49a
      	gcc/
      	PR middle-end/79794
          	* expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
      	maybe_expand_insn call, set ops[0].target.  If still set after call,
      	set alt_rtl.  Add extra arg to recursive calls.
      	(extract_bit_field): Add alt_rtl argument.  Pass to
      	extract_bit_field.
      	* expmed.h (extract_bit_field): Fix prototype.
      	* expr.c (emit_group_load_1, copy_blkmode_from_reg)
      	(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
      	to extract_bit_field_calls.
      	(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
      	Pass alt_rtl to extract_bit_field calls.
      	* calls.c (store_unaligned_arguments_into_psuedos)
      	load_register_parameters): Pass extra NULL to extract_bit_field calls.
      	* optabs.c (maybe_legitimize_operand): Clear op->target when call
      	gen_reg_rtx.
      	* optabs.h (struct expand_operand): Add target bitfield.
      
      From-SVN: r248004
      Jim Wilson committed
    • Daily bump. · 7f390a7b
      From-SVN: r248003
      GCC Administrator committed
  3. 12 May, 2017 15 commits
    • Revert revision 247926. · 3838e0c0
      From-SVN: r247998
      François Dumont committed
    • * sv.po: Update. · e9cd48dc
      From-SVN: r247996
      Joseph Myers committed
    • re PR testsuite/80643 (NA->FAIL: gcc.dg/pr79214.c gcc.dg/pr79222.c… · 9b5f12ae
      re PR testsuite/80643 (NA->FAIL: gcc.dg/pr79214.c gcc.dg/pr79222.c gcc.dg/pr79223.c gcc.dg/tree-ssa/builtins-folding-gimple-ub.c)
      
      gcc/testsuite/ChangeLog:
      
      	PR testsuite/80643
      	* gfortran.dg/mvbits_7.f90: Prune diagnostic output incidental
      	to the purpose of the test.
      
      From-SVN: r247993
      Martin Sebor committed
    • compare-elim.c (try_eliminate_compare): Canonicalize operation with embedded… · 4f0473fe
      compare-elim.c (try_eliminate_compare): Canonicalize operation with embedded compare to [(set (reg:CCM) (compare:CCM...
      
      	* compare-elim.c (try_eliminate_compare): Canonicalize
      	operation with embedded compare to
      	[(set (reg:CCM) (compare:CCM (operation) (immediate)))
      	 (set (reg) (operation)].
      
      	* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.
      
      From-SVN: r247992
      Uros Bizjak committed
    • re PR target/80723 (FAIL gcc.target/i386/cadd.c scan assembler sbb) · 88ce9dc3
      	PR target/80723
      	* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
      	cost of adding a carry flag for ADC instruction.
      	[case MINUS]: Ignore the cost of subtracting a carry flag
      	for SBB instruction.
      
      From-SVN: r247991
      Uros Bizjak committed
    • config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h, and x86intrin.h · b76f1550
      
      [gcc]
      
      2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>
      
      	* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
      	and x86intrin.h
      	* config/rs6000/bmiintrin.h: New file.
      	* config/rs6000/bmi2intrin.h: New file.
      	* config/rs6000/x86intrin.h: New file.
      
      
      
      [gcc/testsuite]
      
      2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>
      
      	* gcc.target/powerpc/bmi-andn-1.c: New file
      	* gcc.target/powerpc/bmi-andn-2.c: New file.
      	* gcc.target/powerpc/bmi-bextr-1.c: New file.
      	* gcc.target/powerpc/bmi-bextr-2.c: New file.
      	* gcc.target/powerpc/bmi-bextr-4.c: New file.
      	* gcc.target/powerpc/bmi-bextr-5.c: New file.
      	* gcc.target/powerpc/bmi-blsi-1.c: New file.
      	* gcc.target/powerpc/bmi-blsi-2.c: New file.
      	* gcc.target/powerpc/bmi-blsmsk-1.c: new file.
      	* gcc.target/powerpc/bmi-blsmsk-2.c: New file.
      	* gcc.target/powerpc/bmi-blsr-1.c: New file.
      	* gcc.target/powerpc/bmi-blsr-2.c: New File.
      	* gcc.target/powerpc/bmi-check.h: New File.
      	* gcc.target/powerpc/bmi-tzcnt-1.c: new file.
      	* gcc.target/powerpc/bmi-tzcnt-2.c: New file.
      	* gcc.target/powerpc/bmi2-bzhi32-1.c: New file.
      	* gcc.target/powerpc/bmi2-bzhi64-1.c: New file.
      	* gcc.target/powerpc/bmi2-bzhi64-1a.c: New file.
      	* gcc.target/powerpc/bmi2-check.h: New file.
      	* gcc.target/powerpc/bmi2-mulx32-1.c: New file.
      	* gcc.target/powerpc/bmi2-mulx32-2.c: New file.
      	* gcc.target/powerpc/bmi2-mulx64-1.c: New file.
      	* gcc.target/powerpc/bmi2-mulx64-2.c: New file.
      	* gcc.target/powerpc/bmi2-pdep32-1.c: New file.
      	* gcc.target/powerpc/bmi2-pdep64-1.c: New file.
      	* gcc.target/powerpc/bmi2-pext32-1.c: New File.
      	* gcc.target/powerpc/bmi2-pext64-1.c: New file.
      	* gcc.target/powerpc/bmi2-pext64-1a.c: New File.
      
      From-SVN: r247988
      Steven Munroe committed
    • re PR c++/60430 (static_assert and reference to const/constexpr) · 2a3fa75a
      2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60430
      	* g++.dg/cpp0x/pr60430.C: New.
      
      From-SVN: r247986
      Paolo Carlini committed
    • tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers. · e8bf7c7b
      	* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
      	markers.
      
      	* g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
      
      From-SVN: r247985
      Jeff Law committed
    • re PR middle-end/80707 (r247844 causes error: extra outgoing edge) · 284d1f76
      gcc/
      	PR middle-end/80707
      	* tree-cfg.c: Remove cfg edges of unreachable case statements.
      
      gcc/testsuite/
      	PR middle-end/80707
      	* g++.dg/pr80707.C: New test.
      
      From-SVN: r247984
      Peter Bergner committed
    • compiler: add calling Bfunction Backend::call_expression · da55a299
          
          Pass in the calling (containing) Bfunction when invoking the Backend
          method call_expression(), so as to handle the case where generation of
          the call forces the creation of a temp var within the calling
          function.
          
          Reviewed-on: https://go-review.googlesource.com/43270
      
      From-SVN: r247981
      Than McIntosh committed
    • re PR ada/80117 (Standard'Word_Size is wrong for aarch64 ILP32) · 9dd19976
      	* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
      	instead of Word_Size.
      
      	Revert
      	2017-03-28  Andreas Schwab  <schwab@suse.de>
      
      	PR ada/80117
      	* system-linux-aarch64-ilp32.ads: New file.
      	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
      	from LIBGNAT_TARGET_PAIRS.
      	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
      	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
      	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
      	or -mabi=ilp32, resp.
      
      From-SVN: r247979
      Eric Botcazou committed
    • rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector divide builtins. · 302a0e37
      [gcc]
      
      2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
      	early expansion of vector divide builtins.
      	(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
      	builtins identified as having unsigned arguments.
      
      
      [gcc/testsuite]
      
      2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-div-float.c: New.
      	* gcc.target/powerpc/fold-vec-div-floatdouble.c: New.
      	* gcc.target/powerpc/fold-vec-div-longlong.c: New.
      
      From-SVN: r247977
      Will Schmidt committed
    • rs6000.c (gimple-fold.h): New #include. · a7785078
      [gcc]
      
      2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (gimple-fold.h): New #include.
      	(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
      	expansion of vector logical operations (and, andc, or, xor,
      	nor, orc, nand)
      
      [gcc/testsuite]
      
      2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-logical-ands-char.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ands-int.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ands-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ands-short.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ors-char.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ors-int.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-logical-ors-short.c: New.
      	* gcc.target/powerpc/fold-vec-logical-other-char.c: New.
      	* gcc.target/powerpc/fold-vec-logical-other-int.c: New.
      	* gcc.target/powerpc/fold-vec-logical-other-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-logical-other-short.c: New.
      
      From-SVN: r247976
      Will Schmidt committed
    • gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration. · edc19e03
      2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      [gcc]
              * gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
              * gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.
      
      From-SVN: r247975
      Will Schmidt committed
    • rs6000.c (rs6000_gimple_fold_builtin): Add handling for early GIMPLE expansion… · d6bb7841
      rs6000.c (rs6000_gimple_fold_builtin): Add handling for early GIMPLE expansion of vector multiplies.
      
      [gcc]
      
      2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
              * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
              early GIMPLE expansion of vector multiplies.
      
      From-SVN: r247974
      Will Schmidt committed