1. 26 Jul, 2016 10 commits
    • crontab: Remove entry for the GCC 4.9 branch. · 7055b2bb
      2016-07-26  Richard Biener  <rguenther@suse.de>
      
      	* crontab: Remove entry for the GCC 4.9 branch.
      
      From-SVN: r238752
      Richard Biener committed
    • add [cd]tors to scc_info · b46e8e6a
      gcc/ChangeLog:
      
      2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree-ssa-structalias.c (struct scc_info): Change types of
      	members to auto_sbitmap and auto_vec.
      	(scc_info::scc_info): New constructor.
      	(scc_info::~scc_info): New destructor.
      	(init_scc_info): Remove.
      	(free_scc_info): Remove.
      	(find_indirect_cycles): Adjust.
      	(perform_var_substitution): Likewise.
      	(free_var_substitution_info): Likewise.
      
      From-SVN: r238751
      Trevor Saunders committed
    • add a constructor to elim_graph · 61801db9
      gcc/ChangeLog:
      
      2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree-outof-ssa.c (struct elim_graph): Change type of members
      	to auto_vec and auto_sbitmap.
      	(elim_graph::elim_graph): New constructor.
      	(delete_elim_graph): Remove.
      	(expand_phi_nodes): Adjust.
      
      From-SVN: r238750
      Trevor Saunders committed
    • remove elim_graph typedef · c8b1ebd9
      gcc/ChangeLog:
      
      2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree-outof-ssa.c (struct elim_graph): Remove typedef.
      	(new_elim_graph): Adjust.
      	(clear_elim_graph): Likewise.
      	(delete_elim_graph): Likewise.
      	(elim_graph_size): Likewise.
      	(elim_graph_add_node): Likewise.
      	(elim_graph_add_edge): Likewise.
      	(elim_graph_remove_succ_edge): Likewise.
      	(eliminate_name): Likewise.
      	(eliminate_build): Likewise.
      	(elim_forward): Likewise.
      	(elim_unvisited_predecessor): Likewise.
      	(elim_backward): Likewise.
      	(elim_create): Likewise.
      	(eliminate_phi): Likewise.
      	(expand_phi_nodes): Likewise.
      
      From-SVN: r238749
      Trevor Saunders committed
    • use auto_sbitmap in various places · 7ba9e72d
      gcc/ChangeLog:
      
      2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* bt-load.c (compute_out): Use auto_sbitmap class.
      	(link_btr_uses): Likewise.
      	* cfganal.c (mark_dfs_back_edges): Likewise.
      	(post_order_compute): Likewise.
      	(inverted_post_order_compute): Likewise.
      	(pre_and_rev_post_order_compute_fn): Likewise.
      	(single_pred_before_succ_order): Likewise.
      	* cfgexpand.c (pass_expand::execute): Likewise.
      	* cfgloop.c (verify_loop_structure): Likewise.
      	* cfgloopmanip.c (fix_bb_placements): Likewise.
      	(remove_path): Likewise.
      	(update_dominators_in_loop): Likewise.
      	* cfgrtl.c (break_superblocks): Likewise.
      	* ddg.c (check_sccs): Likewise.
      	(create_ddg_all_sccs): Likewise.
      	* df-core.c (df_worklist_dataflow): Likewise.
      	* dse.c (dse_step3): Likewise.
      	* except.c (eh_region_outermost): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (prune_expressions): Likewise.
      	(prune_insertions_deletions): Likewise.
      	* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
      	* graph.c (draw_cfg_nodes_no_loops): Likewise.
      	* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
      	* lcm.c (compute_earliest): Likewise.
      	(compute_farthest): Likewise.
      	* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
      	(unroll_loop_runtime_iterations): Likewise.
      	(unroll_loop_stupid): Likewise.
      	* lower-subreg.c (decompose_multiword_subregs): Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c (lra): Likewise.
      	* modulo-sched.c (schedule_reg_moves): Likewise.
      	(optimize_sc): Likewise.
      	(get_sched_window): Likewise.
      	(sms_schedule_by_order): Likewise.
      	(check_nodes_order): Likewise.
      	(order_nodes_of_sccs): Likewise.
      	(order_nodes_in_scc): Likewise.
      	* recog.c (split_all_insns): Likewise.
      	* regcprop.c (pass_cprop_hardreg::execute): Likewise.
      	* reload1.c (reload): Likewise.
      	* sched-rgn.c (haifa_find_rgns): Likewise.
      	(split_edges): Likewise.
      	(compute_trg_info): Likewise.
      	* sel-sched.c (init_seqno): Likewise.
      	* store-motion.c (remove_reachable_equiv_notes): Likewise.
      	* tree-into-ssa.c (update_ssa): Likewise.
      	* tree-ssa-live.c (live_worklist): Likewise.
      	* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
      	* Likewise.
      	(try_peel_loop): Likewise.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
      	* Likewise.
      	* tree-ssa-pre.c (compute_antic): Likewise.
      	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
      	* tree-stdarg.c (reachable_at_most_once): Likewise.
      	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
      	* var-tracking.c (vt_find_locations): Likewise.
      
      From-SVN: r238748
      Trevor Saunders committed
    • add auto_sbitmap class · 62e20785
      gcc/ChangeLog:
      
      2016-07-26  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* sbitmap.h (auto_sbitmap): New class.
      
      From-SVN: r238747
      Trevor Saunders committed
    • [RS6000] push_secondary_reload ICE · 3ef7d223
      	PR target/72103
      	* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
      	sri->t_icode.
      
      From-SVN: r238744
      Alan Modra committed
    • os/user: fix Solaris declaration. · 870e8ca5
          
          Patch from Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/25210
      
      From-SVN: r238742
      Ian Lance Taylor committed
    • Daily bump. · 4c2726ef
      From-SVN: r238741
      GCC Administrator committed
  2. 25 Jul, 2016 30 commits
    • PR c++/65970 - revert loop location change · 1509db23
      	* cp-gimplify.c (genericize_cp_loop): Revert location change.
      
      From-SVN: r238737
      Jason Merrill committed
    • PR c++/71837 - pack expansion in init-capture · 47265942
      	* lambda.c (add_capture): Leave a pack expansion in a TREE_LIST.
      	(build_lambda_object): Call build_x_compound_expr_from_list.
      	* pt.c (tsubst) [DECLTYPE_TYPE]: Likewise.
      
      From-SVN: r238733
      Jason Merrill committed
    • Fix selftest::temp_source_file ctor · e27f0bc9
      gcc/ChangeLog:
      	* input.c (selftest::temp_source_file::temp_source_file): Fix
      	missing "%s" in fprintf.
      
      From-SVN: r238732
      David Malcolm committed
    • PR c++/71833 - member template with two parameter packs · fd8b207a
      	PR c++/54440
      	* pt.c (coerce_template_parameter_pack): Fix logic for
      	pack index.
      
      From-SVN: r238731
      Jason Merrill committed
    • PR c++/65970 - constexpr infinite loop · 5ec2cd9f
      gcc/c-family/
      	* c.opt (fconstexpr-loop-limit): New.
      gcc/cp/
      	* constexpr.c (cxx_eval_loop_expr): Count iterations.
      	* cp-gimplify.c (genericize_cp_loop): Use start_locus even for
      	infinite loops.
      
      From-SVN: r238730
      Jason Merrill committed
    • PR c++/71972 - constexpr array self-modification · fd2bfee5
      	* constexpr.c (cxx_eval_array_reference): Handle looking for the
      	value of an element we're currently modifying.
      
      From-SVN: r238729
      Jason Merrill committed
    • * g++.dg/init/elide5.C: Don't use unsigned long for size_t. · 8d683375
      From-SVN: r238728
      Jason Merrill committed
    • re PR middle-end/71732 (FAIL: gcc.dg/torture/pr71532.c at -O2 and above) · 007b405b
      	PR middle-end/71732
      	* cselib.c (cselib_process_insn): Invalidate argument slots for
      	const/pure calls.
      
      From-SVN: r238727
      John David Anglin committed
    • testsuite: add two missing label_values annotations · 7d575fff
      2016-07-25  Alexander Monakov  <amonakov@ispras.ru>
      
      	* gcc.c-torture/execute/pr71494.c: Require label_values.
      	* gcc.dg/pr16973.c: Ditto.
      
      From-SVN: r238726
      Alexander Monakov committed
    • [AArch64][10/10] ARMv8.2-A FP16 lane scalar intrinsics · bb6131db
      gcc/
      	* config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
      	vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
      	vmulxh_lane_f16, vmulxh_laneq_f16): New.
      
      From-SVN: r238725
      Jiong Wang committed
    • [AArch64][9/10] ARMv8.2-A FP16 three operands scalar intrinsics · 9a594ad6
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64.md (fma, fnma): Support HF.
      	* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
      
      From-SVN: r238724
      Jiong Wang committed
    • [AArch64][8/10] ARMv8.2-A FP16 two operands scalar intrinsics · 68ad28c3
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
      	New.
      	(<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
      	(add<mode>3): Likewise.
      	(sub<mode>3): Likewise.
      	(mul<mode>3): Likewise.
      	(div<mode>3): Likewise.
      	(*div<mode>3): Likewise.
      	(<fmaxmin><mode>3): Extend to HF.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
      	(fabd<mode>3): Likewise.
      	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
      	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
      	(aarch64_fmulx<mode>): Likewise.
      	(aarch64_fac<optab><mode>): Likewise.
      	(aarch64_frecps<mode>): Likewise.
      	(<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
      	(<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
      	* config/aarch64/iterators.md (VHSDF_SDF): Delete.
      	(VSDQ_HSDI): Support HI.
      	(fcvt_target, FCVT_TARGET): Likewise.
      	* config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
      	vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
      	vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
      	vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
      	vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
      	vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
      	vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
      	vrsqrtsh_f16): New.
      
      From-SVN: r238723
      Jiong Wang committed
    • [AArch64][7/10] ARMv8.2-A FP16 one operand scalar intrinsics · d7f33f07
      gcc/
      	* config.gcc (aarch64*-*-*): Install arm_fp16.h.
      	* config/aarch64/aarch64-builtins.c (hi_UP): New.
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
      	mode.
      	(aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
      	(aarch64_cm<optab><mode>): Likewise.
      	* config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
      	(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
      	(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
      	(sqrt<mode>2): Likewise.
      	(abs<mode>2): Likewise.
      	(<optab><mode>hf2): New pattern for HF mode.
      	(<optab>hihf2): Likewise.
      	* config/aarch64/arm_neon.h: Include arm_fp16.h.
      	* config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
      	(w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
      	Support HF mode.
      	* config/aarch64/arm_fp16.h: New file.
      	(vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
      	vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
      	vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
      	vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
      	vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
      	vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
      	vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
      	vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
      	vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
      	vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
      	vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
      	vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
      	vsqrth_f16): New.
      
      From-SVN: r238722
      Jiong Wang committed
    • [AArch64][6/14] ARMv8.2-A FP16 reduction vector intrinsics · 703bbcdf
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
      	reduc_smin_scal_): Use VDQIF_F16.
      	(reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
      	* config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
      	Use VHSDF.
      	(aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
      	* config/aarch64/iterators.md (VDQIF_F16): New.
      	(vp): Support HF modes.
      	* config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
      	vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
      
      From-SVN: r238721
      Jiong Wang committed
    • [AArch64][5/10] ARMv8.2-A FP16 lane vector intrinsics · ab2e8f01
      gcc/
      	* config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
      	"*aarch64_mulx_elt_from_dup<mode>".
      	(*aarch64_mul3_elt<mode>): Update schedule type.
      	(*aarch64_mul3_elt_from_dup<mode>): Likewise.
      	(*aarch64_fma4_elt_from_dup<mode>): Likewise.
      	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
      	* config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
      	(f, fp): Support HF modes.
      	* config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
      	vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
              vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
      	vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
      	vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
      	vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
      
      From-SVN: r238719
      Jiong Wang committed
    • [AArch64][4/10] ARMv8.2-A FP16 three operands vector intrinsics · 89ed6d5f
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
      	modes.
      	* config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
      	vfmsq_f16): New.
      
      From-SVN: r238718
      Jiong Wang committed
    • [AArch64][3/10] ARMv8.2-A FP16 two operands vector intrinsics · 33d72b63
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64-simd.md
      	(aarch64_rsqrts<mode>): Extend to HF modes.
      	(fabd<mode>3): Likewise.
      	(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
      	(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
      	(aarch64_<maxmin_uns>p<mode>): Likewise.
      	(<su><maxmin><mode>3): Likewise.
      	(<maxmin_uns><mode>3): Likewise.
      	(<fmaxmin><mode>3): Likewise.
      	(aarch64_faddp<mode>): Likewise.
      	(aarch64_fmulx<mode>): Likewise.
      	(aarch64_frecps<mode>): Likewise.
      	(*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
      	(add<mode>3): Extend to HF modes.
      	(sub<mode>3): Likewise.
      	(mul<mode>3): Likewise.
      	(div<mode>3): Likewise.
      	(*div<mode>3): Likewise.
      	* config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
      	HF, V4HF and V8HF.
      	* config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
      	* config/aarch64/arm_neon.h (vadd_f16): New.
      	(vaddq_f16, vabd_f16, vabdq_f16, vcage_f16, vcageq_f16, vcagt_f16,
      	vcagtq_f16, vcale_f16, vcaleq_f16, vcalt_f16, vcaltq_f16, vceq_f16,
      	vceqq_f16, vcge_f16, vcgeq_f16, vcgt_f16, vcgtq_f16, vcle_f16,
      	vcleq_f16, vclt_f16, vcltq_f16, vcvt_n_f16_s16, vcvtq_n_f16_s16,
      	vcvt_n_f16_u16, vcvtq_n_f16_u16, vcvt_n_s16_f16, vcvtq_n_s16_f16,
      	vcvt_n_u16_f16, vcvtq_n_u16_f16, vdiv_f16, vdivq_f16, vdup_lane_f16,
      	vdup_laneq_f16, vdupq_lane_f16, vdupq_laneq_f16, vdups_lane_f16,
      	vdups_laneq_f16, vmax_f16, vmaxq_f16, vmaxnm_f16, vmaxnmq_f16, vmin_f16,
      	vminq_f16, vminnm_f16, vminnmq_f16, vmul_f16, vmulq_f16, vmulx_f16,
      	vmulxq_f16, vpadd_f16, vpaddq_f16, vpmax_f16, vpmaxq_f16, vpmaxnm_f16,
      	vpmaxnmq_f16, vpmin_f16, vpminq_f16, vpminnm_f16, vpminnmq_f16,
      	vrecps_f16, vrecpsq_f16, vrsqrts_f16, vrsqrtsq_f16, vsub_f16,
      	vsubq_f16): Likewise.
      
      From-SVN: r238717
      Jiong Wang committed
    • [AArch64][2/10] ARMv8.2-A FP16 one operand vector intrinsics · daef0a8c
      gcc/
      	* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
      	* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
      	(neg<mode>2): Likewise.
      	(abs<mode>2): Likewise.
      	(<frint_pattern><mode>2): Likewise.
      	(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
      	(<optab><VDQF:mode><fcvt_target>2): Likewise.
      	(<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
      	(ftrunc<VDQF:mode>2): Likewise.
      	(<optab><fcvt_target><VDQF:mode>2): Likewise.
      	(sqrt<mode>2): Likewise.
      	(*sqrt<mode>2): Likewise.
      	(aarch64_frecpe<mode>): Likewise.
      	(aarch64_cm<optab><mode>): Likewise.
      	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return
      	false for V4HF and V8HF.
      	* config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
      	(VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
      	(stype): New.
      	* config/aarch64/arm_neon.h (vdup_n_f16): New.
      	(vdupq_n_f16): Likewise.
      	(vld1_dup_f16): Use vdup_n_f16.
      	(vld1q_dup_f16): Use vdupq_n_f16.
      	(vabs_f16): New.
      	(vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16, vcgtz_f16,
      	vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16, vcvt_f16_s16,
      	vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16, vcvtq_s16_f16,
      	vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16, vcvtaq_s16_f16,
      	vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16, vcvtmq_s16_f16,
      	vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16, vcvtnq_s16_f16,
      	vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16, vcvtpq_s16_f16,
      	vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16, vrecpe_f16,
      	vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16, vrndi_f16,
      	vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16, vrndp_f16,
      	vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16, vsqrt_f16,
      	vsqrtq_f16): Likewise.
      
      From-SVN: r238716
      Jiong Wang committed
    • [AArch64][1/10] ARMv8.2-A FP16 data processing intrinsics · 358decd5
      gcc/
      	* config/aarch64/aarch64-simd.md
      	(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
      	(aarch64_ext<mode>): Likewise.
      	(aarch64_rev<REVERSE:rev_op><mode>): Likewise.
      	* config/aarch64/aarch64.c (aarch64_evpc_trn): Support V4HFmode and
      	V8HFmode.
      	(aarch64_evpc_uzp): Likewise.
      	(aarch64_evpc_zip): Likewise.
      	(aarch64_evpc_ext): Likewise.
      	(aarch64_evpc_rev): Likewise.
      	* config/aarch64/arm_neon.h (__aarch64_vdup_lane_f16): New.
      	(__aarch64_vdup_laneq_f16): New..
      	(__aarch64_vdupq_lane_f16): New.
      	(__aarch64_vdupq_laneq_f16): New.
      	(vbsl_f16): New.
      	(vbslq_f16): New.
      	(vdup_n_f16): New.
      	(vdupq_n_f16): New.
      	(vdup_lane_f16): New.
      	(vdup_laneq_f16): New.
      	(vdupq_lane_f16): New.
      	(vdupq_laneq_f16): New.
      	(vduph_lane_f16): New.
      	(vduph_laneq_f16): New.
      	(vext_f16): New.
      	(vextq_f16): New.
      	(vmov_n_f16): New.
      	(vmovq_n_f16): New.
      	(vrev64_f16): New.
      	(vrev64q_f16): New.
      	(vtrn1_f16): New.
      	(vtrn1q_f16): New.
      	(vtrn2_f16): New.
      	(vtrn2q_f16): New.
      	(vtrn_f16): New.
      	(vtrnq_f16): New.
      	(__INTERLEAVE_LIST): Support float16x4_t, float16x8_t.
      	(vuzp1_f16): New.
      	(vuzp1q_f16): New.
      	(vuzp2_f16): New.
      	(vuzp2q_f16): New.
      	(vzip1_f16): New.
      	(vzip2q_f16): New.
      	(vmov_n_f16): Reimplement using vdup_n_f16.
      	(vmovq_n_f16): Reimplement using vdupq_n_f16..
      
      From-SVN: r238715
      Jiong Wang committed
    • [AArch64][3/3] Migrate aarch64_expand_prologue/epilogue to aarch64_add_constant · 37d6a4b7
      gcc/
      	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter
      	"frame_related_p".  Generate CFA annotation when it's necessary.
      	(aarch64_expand_prologue): Use aarch64_add_constant.
      	(aarch64_expand_epilogue): Likewise.
      	(aarch64_output_mi_thunk): Pass "false" when calling
      	aarch64_add_constant.
      
      From-SVN: r238714
      Jiong Wang committed
    • [AArch64][2/3] Optimize aarch64_add_constant to generate better addition sequences · c4ddc43a
      gcc/
      	* config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
      	sequences.
      
      From-SVN: r238713
      Jiong Wang committed
    • [AArch64][1/3] Migrate aarch64_add_constant to new interface & kill aarch64_build_constant · f43657b4
      gcc/
      	* config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
      	Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
      	(aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
      	(aarch64_build_constant): Delete.
      
      From-SVN: r238712
      Jiong Wang committed
    • Fix missing qualification in <ext/rope> · a837417c
      2016-07-25  Georeth Chow  <georeth2010@gmail.com>
      
      	* include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
      	_S_concat enumerator.
      	* testsuite/ext/rope/6.cc: New test.
      
      From-SVN: r238711
      Georeth Chow committed
    • revert: nvptx: do not implicitly enable -ftoplevel-reorder · 3d339d5e
      Revert
      2016-07-20  Alexander Monakov  <amonakov@ispras.ru>
      
      * config/nvptx/nvptx.c (nvptx_option_override): Do not set
      flag_toplevel_reorder.
      
      From-SVN: r238710
      Alexander Monakov committed
    • cgraph.c (cgraph_node::verify_node): Compare against builtin by using… · ea6e17d5
      cgraph.c (cgraph_node::verify_node): Compare against builtin by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
      
      2016-07-25  Richard Biener  <rguenther@suse.de>
      
      	* cgraph.c (cgraph_node::verify_node): Compare against builtin
      	by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
      	* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
      	* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
      	(streamer_get_builtin_tree): Likewise.
      	(streamer_write_builtin): Likewise.
      	* lto-streamer.h (LTO_builtin_decl): Remove.
      	* lto-streamer-in.c (lto_read_tree_1): Remove assert.
      	(lto_input_scc): Remove LTO_builtin_decl handling.
      	(lto_input_tree_1): Liekwise.
      	* lto-streamer-out.c (lto_output_tree_1): Remove special
      	handling of builtins.
      	(DFS::DFS): Likewise.
      	* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
      	* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
      	assert.
      	(streamer_write_builtin): Remove.
      
      	lto/
      	* lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
      	(unify_scc): Likewise.
      	(lto_read_decls): Likewise.
      
      From-SVN: r238709
      Richard Biener committed
    • Fix tests for targets with sizeof(int) != 32. · bf01e070
      gcc/testsuite/
      
      	* gcc.dg/torture/pr69352.c (foo): Cast to intptr_t instead of long.
      	* gcc.dg/torture/pr69771.c: Require int32plus.
      	* gcc.dg/torture/pr71866.c (inb): Add cast to intptr_t.
      
      From-SVN: r238708
      Senthil Kumar Selvaraj committed
    • Don't call get_working_sets w/ LTO and -fauto-profile (PR · 10c9ea62
      	* lto-cgraph.c (input_symtab): Don't call get_working_sets
      	if flag_auto_profile is set to true.
      
      From-SVN: r238707
      Martin Liska committed
    • Handle loops with loop->latch == NULL (PR gcov-profile/71868) · c1e1a688
      	PR gcov-profile/71868
      	* cfgloopanal.c (expected_loop_iterations_unbounded): When we
      	have a function with multiple latches, count them all.
      
      From-SVN: r238706
      Martin Liska committed
    • Fix memory leak introduced in r238336 · ccae0c85
      	* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
      
      From-SVN: r238705
      Martin Liska committed
    • Call get_ops just for SSA_NAMEs (PR tree-optimization/71987) · 16b05965
      	PR tree-optimization/71987
      	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
      	just for SSA_NAMEs. Fix GNU coding style.
      	* gcc.dg/torture/pr71987.c: New test.
      
      From-SVN: r238704
      Martin Liska committed