1. 24 Oct, 2014 30 commits
    • vabal.c: New file. · 295dde94
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vabal.c: New file.
      
      From-SVN: r216648
      Christophe Lyon committed
    • binary_sat_op.inc: New file. · f59574a1
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: New
      	file.
      	* gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.
      
      From-SVN: r216647
      Christophe Lyon committed
    • unary_sat_op.inc: New file. · 56900c9c
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc: New
      	file.
      	* gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.
      
      From-SVN: r216646
      Christophe Lyon committed
    • cmp_fp_op.inc: New file. · c91f3ac1
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: New file.
      	* gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
      
      From-SVN: r216645
      Christophe Lyon committed
    • cmp_op.inc: New file. · ed9f6694
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: New file.
      	* gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.
      
      From-SVN: r216644
      Christophe Lyon committed
    • binary_op.inc: New file. · 25b0d373
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: New file.
      	* gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.
      
      From-SVN: r216643
      Christophe Lyon committed
    • unary_op.inc: New file. · a5d9f9d3
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: New file.
      	* gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.
      
      From-SVN: r216642
      Christophe Lyon committed
    • Add new files missing from previous commit. · 2f46a9cd
      From-SVN: r216641
      Christophe Lyon committed
    • README.advsimd-intrinsics: New file. · 16ad00b0
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/README.advsimd-intrinsics: New file.
      	* gcc.target/aarch64/advsimd-intrinsics/README: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h:
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
      	Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vaba.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
      
      From-SVN: r216640
      Christophe Lyon committed
    • [AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround · bc50815a
           * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
           (LINK_SPEC): Include CA53_ERR_835769_SPEC.
           * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
           (LINK_SPEC): Include CA53_ERR_835769_SPEC.
      
      From-SVN: r216639
      Kyrylo Tkachov committed
    • wrapper.exp ({tool}_maybe_build_wrapper): Clear wrap_compile_flags before setting it. · 84a34193
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* lib/wrapper.exp ({tool}_maybe_build_wrapper): Clear
      	wrap_compile_flags before setting it.
      
      From-SVN: r216638
      Christophe Lyon committed
    • [AArch64] Cleanup logic around aarch64_final_prescan · 8baff86e
      	* config/aarch64/aarch64.h (ADJUST_INSN_LENGTH): Wrap definition in
      	do while (0).
      	* config/aarch64/aarch64.c (is_mem_p): Delete.
      	(is_memory_op): Rename to...
      	(has_memory_op): ... This.  Use FOR_EACH_SUBRTX.
      	(dep_between_memop_and_curr): Assert that the input is a SET.
      	(aarch64_madd_needs_nop): Add comment.  Do not call
      	dep_between_memop_and_curr on NULL body.
      	(aarch64_final_prescan_insn): Add comment.
      	Include rtl-iter.h.
      
      From-SVN: r216637
      Kyrylo Tkachov committed
    • Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch BUILD_LIBS instead. · 1f59b315
      2014-10-24  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV)
      	to genmatch BUILD_LIBS instead.
      
      From-SVN: r216632
      Richard Biener committed
    • genmatch.c (expr::gen_transform): Use fold_buildN_loc and build_call_expr_loc. · e0ee10ed
      2014-10-24  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (expr::gen_transform): Use fold_buildN_loc
      	and build_call_expr_loc.
      	(dt_simplify::gen): Drop non_lvalue for GIMPLE, use
      	non_lvalue_loc to build it for GENERIC.
      	(decision_tree::gen_generic): Add location argument to
      	generic_simplify prototype.
      	(capture_info): New class.
      	(capture_info::capture_info): New constructor.
      	(capture_info::walk_match): New method.
      	(capture_info::walk_result): New method.
      	(capture_info::walk_c_expr): New method.
      	(dt_simplify::gen): Handle preserving side-effects for
      	GENERIC code generation.
      	(decision_tree::gen_generic): Do not reject operands
      	with TREE_SIDE_EFFECTS.
      	* generic-match.h: New file.
      	* generic-match-head.c: Include generic-match.h, not gimple-match.h.
      	* match.pd: Add some constant folding patterns from fold-const.c.
      	* fold-const.c: Include generic-match.h.
      	(fold_unary_loc): Dispatch to generic_simplify.
      	(fold_ternary_loc): Likewise.
      	(fold_binary_loc): Likewise.  Remove patterns now implemented
      	by generic_simplify.
      	* gimple-fold.c (replace_stmt_with_simplification): New function.
      	(fold_stmt_1): Add valueize parameter, dispatch to gimple_simplify.
      	(no_follow_ssa_edges): New function.
      	(fold_stmt): New overload with valueization hook.  Use
      	no_follow_ssa_edges for the overload without hook.
      	(fold_stmt_inplace): Likewise.
      	* gimple-fold.h (no_follow_ssa_edges): Declare.
      
      From-SVN: r216631
      Richard Biener committed
    • re PR target/63173 (performance problem with simd intrinsics vld2_dup_* on aarch64-none-elf) · 77efea31
              PR target/63173
              * config/aarch64/arm_neon.h (__LD2R_FUNC): Remove macro.
              (__LD3R_FUNC): Ditto.
              (__LD4R_FUNC): Ditto.
              (vld2_dup_s8, vld2_dup_s16, vld2_dup_s32, vld2_dup_f32, vld2_dup_f64,
               vld2_dup_u8, vld2_dup_u16, vld2_dup_u32, vld2_dup_p8, vld2_dup_p16
               vld2_dup_s64, vld2_dup_u64, vld2q_dup_s8, vld2q_dup_p8, 
               vld2q_dup_s16, vld2q_dup_p16, vld2q_dup_s32, vld2q_dup_s64, 
               vld2q_dup_u8, vld2q_dup_u16, vld2q_dup_u32, vld2q_dup_u64 
               vld2q_dup_f32, vld2q_dup_f64): Rewrite using builtin functions.
              (vld3_dup_s64, vld3_dup_u64, vld3_dup_f64, vld3_dup_s8 
               vld3_dup_p8, vld3_dup_s16, vld3_dup_p16, vld3_dup_s32 
               vld3_dup_u8, vld3_dup_u16, vld3_dup_u32, vld3_dup_f32
               vld3q_dup_s8, vld3q_dup_p8, vld3q_dup_s16, vld3q_dup_p16 
               vld3q_dup_s32, vld3q_dup_s64, vld3q_dup_u8, vld3q_dup_u16 
               vld3q_dup_u32, vld3q_dup_u64, vld3q_dup_f32, vld3q_dup_f64): Likewise.
              (vld4_dup_s64, vld4_dup_u64, vld4_dup_f64, vld4_dup_s8 
               vld4_dup_p8, vld4_dup_s16, vld4_dup_p16, vld4_dup_s32 
               vld4_dup_u8, vld4_dup_u16, vld4_dup_u32, vld4_dup_f32 
               vld4q_dup_s8, vld4q_dup_p8, vld4q_dup_s16, vld4q_dup_p16 
               vld4q_dup_s32, vld4q_dup_s64, vld4q_dup_u8, vld4q_dup_u16 
               vld4q_dup_u32, vld4q_dup_u64, vld4q_dup_f32, vld4q_dup_f64): Likewise.
              * config/aarch64/aarch64.md (define_c_enum "unspec"): Add
              UNSPEC_LD2_DUP, UNSPEC_LD3_DUP, UNSPEC_LD4_DUP.
              * config/aarch64/aarch64-simd-builtins.def (ld2r, ld3r, ld4r): New
              builtins.
              * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>): New pattern.
              (aarch64_simd_ld3r<mode>): Likewise.
              (aarch64_simd_ld4r<mode>): Likewise.
              (aarch64_ld2r<mode>): New expand.
              (aarch64_ld3r<mode>): Likewise.
              (aarch64_ld4r<mode>): Likewise.
      
      Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>
      
      From-SVN: r216630
      Felix Yang committed
    • Fix gcc.dg/pr63594-1.c execution on Solaris/x86 · e7d8c702
              * gcc.dg/pr63594-1.c: Apply -mno-mmx to all i?86-*-* and x86_64-*-*
              targets.
              * gcc.dg/pr63594-2.c: Likewise.
      
      From-SVN: r216629
      Rainer Orth committed
    • 980217-1.c (main): Fix implicit int. · a48acecb
      	* gcc.target/alpha/980217-1.c (main): Fix implicit int.
      	* gcc.target/alpha/pr19518.c (_mm_setzero_si64): New function.
      
      From-SVN: r216627
      Uros Bizjak committed
    • MAINTAINERS (write-after-approval): Add myself. · c7a6a617
      2014-10-24  Daniel Hellstrom  <daniel@gaisler.com>
      
      	* MAINTAINERS (write-after-approval): Add myself.
      
      From-SVN: r216626
      Daniel Hellstrom committed
    • Handle SCRATCH in decompose_address · 948cd9a5
      	* rtlanal.c (get_base_term): Handle SCRATCH.
      
      From-SVN: r216624
      Maxim Kuvyrkov committed
    • Disable max_issue when scheduling for register pressure · d205caad
      	* haifa-sched.c (sched_init): Disable max_issue when scheduling for
      	register pressure.
      
      From-SVN: r216623
      Maxim Kuvyrkov committed
    • Remove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate · 8aec463b
      	* haifa-sched.c (cached_first_cycle_multipass_dfa_lookahead,)
      	(cached_issue_rate): Remove.  Use dfa_lookahead and issue_rate instead.
      	(max_issue, choose_ready, sched_init): Update.
      
      From-SVN: r216622
      Maxim Kuvyrkov committed
    • Improve scheduler dumps of ready list · b75ae7f4
      	* sched-int.h (struct _haifa_insn_data:last_rfs_win): New field.
      	* haifa-sched.c (INSN_LAST_RFS_WIN): New access macro.
      	(rfs_result): Set INSN_LAST_RFS_WIN.  Update signature.
      	(rank_for_schedule): Update calls to rfs_result to pass new parameters.
      	(print_rank_for_schedule_stats): Print out elements of ready list that
      	ended up on their respective places due to each of the sorting
      	heuristics.
      	(ready_sort): Update.
      	(debug_ready_list_1): Improve printout for SCHED_PRESSURE_MODEL.
      	(schedule_block): Update.
      
      From-SVN: r216621
      Maxim Kuvyrkov committed
    • Account for prologue spills in reg_pressure scheduling · 4dd9ac6c
      	* haifa-sched.c (sched_class_regs_num, call_used_regs_num): New static
      	arrays.  Use sched_class_regs_num instead of ira_class_hard_regs_num.
      	(print_curr_reg_pressure, setup_insn_reg_pressure_info,)
      	(model_update_pressure, model_spill_cost): Use sched_class_regs_num.
      	(model_start_schedule): Update.
      	(sched_pressure_start_bb): New static function.  Calculate
      	sched_class_regs_num.
      	(schedule_block): Use it.
      	(alloc_global_sched_pressure_data): Calculate call_used_regs_num.
      
      From-SVN: r216620
      Maxim Kuvyrkov committed
    • Makefile.in (BUILD_CPPLIB): When in stage2+ use the host library and make sure… · ef1ea28c
      Makefile.in (BUILD_CPPLIB): When in stage2+ use the host library and make sure to pull in the required...
      
      2014-10-24  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (BUILD_CPPLIB): When in stage2+ use the
      	host library and make sure to pull in the required libintl
      	and libiconv dependencies.
      
      From-SVN: r216619
      Richard Biener committed
    • fold-const.c (fold_binary_loc): Fix copy-and-pasto. · 4cf03f68
      2014-10-24  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_binary_loc): Fix copy-and-pasto.
      
      From-SVN: r216617
      Richard Biener committed
    • Fix bootstrap/PR63632 · fa608e77
      r216566 (r216568 for 4.9 branch) added %{fno-lto} to LINK_COMMAND_SPEC.
      However the linker doesn't understand -fno-lto and errors out.
      This causes an LTO/PGO bootstrap failure, because -fno-lto is used
      during STAGEprofile.
      Fixed by filtering out -fno-lto in collect2.c.
      
      From-SVN: r216613
      Markus Trippelsdorf committed
    • ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division by zero in dumps. · f1c859ee
      	* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard
      	division by zero in dumps.
      	(sem_item_optimizer::merge_classes): Ditto.
      
      From-SVN: r216612
      Martin Liska committed
    • compiler: Use MPC library for complex numbers. · 5eda5bad
      	* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
      	mpc_t parameter instead of two mpfr_t parameters.
      
      From-SVN: r216611
      Ian Lance Taylor committed
    • compiler: Simplify making integer expressions. · 3c765286
      Instead of always needing an mpz_t, add helper functions to
      create an integer functions from signed or unsigned long
      values.
      
      From-SVN: r216610
      Ian Lance Taylor committed
    • Daily bump. · 7a149e7a
      From-SVN: r216609
      GCC Administrator committed
  2. 23 Oct, 2014 10 commits