aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-24fix up changelog format for r216671.Charles Baylis1-2/+1
From-SVN: r216673
2014-10-24[PATCH 2/2] [AARCH64,NEON] Convert arm_neon.h to use new builtins for ↵Charles Baylis2-125/+288
vld[234](q?)_lane_* 2014-10-24 Charles Baylis <charles.baylis@linaro.org> * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rewrite using builtins, update uses to use new macro arguments. (__LD3_LANE_FUNC): Likewise. (__LD4_LANE_FUNC): Likewise. From-SVN: r216672
2014-10-24[PATCH 1/2] [AARCH64,NEON] Add patterns + builtins for vld[234](q?)_lane_* ↵Charles Baylis5-0/+124
intrinsics 2014-10-24 Charles Baylis <charles.baylis@linaro.org> * config/aarch64/aarch64-builtins.c (aarch64_types_loadstruct_lane_qualifiers): Define. * config/aarch64/aarch64-simd-builtins.def (ld2_lane, ld3_lane, ld4_lane): New builtins. * config/aarch64/aarch64-simd.md (aarch64_vec_load_lanesoi_lane<mode>): New pattern. (aarch64_vec_load_lanesci_lane<mode>): Likewise. (aarch64_vec_load_lanesxi_lane<mode>): Likewise. (aarch64_ld2_lane<mode>): New expand. (aarch64_ld3_lane<mode>): Likewise. (aarch64_ld4_lane<mode>): Likewise. * config/aarch64/aarch64.md (define_c_enum "unspec"): Add UNSPEC_LD2_LANE, UNSPEC_LD3_LANE, UNSPEC_LD4_LANE. From-SVN: r216671
2014-10-24Fix bad email last commitHans-Peter Nilsson1-1/+1
From-SVN: r216670
2014-10-24configure.ac (build_configargs): Don't share config.cache between build subdirs.Hans-Peter Nilsson3-4/+13
* configure.ac (build_configargs): Don't share config.cache between build subdirs. From-SVN: r216669
2014-10-24avr-protos.h (avr_out_sign_extend): New.Georg-Johann Lay4-30/+95
* avr-protos.h (avr_out_sign_extend): New. * avr.c (avr_adjust_insn_length) [ADJUST_LEN_SEXT]: Handle. (avr_out_sign_extend): New function. * avr.md (extendqihi2, extendqipsi2, extendqisi2, extendhipsi2) (extendhisi2, extendpsisi2): Use it. (adjust_len) [sext]: New. From-SVN: r216668
2014-10-24atomic_base.h: Avoid including <stdbool.h>.Paolo Carlini4-4/+12
2014-10-24 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/atomic_base.h: Avoid including <stdbool.h>. * include/std/atomic: When __cplusplus < 201103L skip the rest of the header. * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Adjust. From-SVN: r216667
2014-10-24config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.Daniel Hellstrom9-31/+64
2014-10-24 Daniel Hellstrom <daniel@gaisler.com> * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor. * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment. * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle leon3v7 as leon3. * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7. * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support. * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define. * config/sparc/sparc.md (cpu): Add leon3v7. * config/sparc/sparc.opt (enum processor_type): Add leon3v7. From-SVN: r216666
2014-10-24[ARM] revert changes on check_effective_target_arm_*_okJiong Wang2-3/+10
gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_crypto_ok_nocache): Remove declaration for vaeseq_u8. (check_effective_target_arm_neon_fp16_ok_nocache): Remove declaration for vcvt_f16_f32. (check_effective_target_arm_neonv2_ok_nocache): Remove declaration for vfma_f32. From-SVN: r216663
2014-10-24re PR tree-optimization/63595 (Segmentation faults inside kernel)Martin Liska4-0/+80
Fix for PR63595 * gcc.dg/ipa/pr63595.c: New test. * ipa-icf.c (sem_function::compare_phi_node): PHI result comparison From-SVN: r216662
2014-10-24vuzp.c: New file.Christophe Lyon3-0/+493
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. From-SVN: r216661
2014-10-24vmul.c: New file.Christophe Lyon2-0/+160
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vmul.c: New file. From-SVN: r216660
2014-10-24vldX_lane.c: New file.Christophe Lyon2-0/+614
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: New file. From-SVN: r216659
2014-10-24vldX.c: New file.Christophe Lyon2-0/+696
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vldX.c: New file. From-SVN: r216658
2014-10-24vld1_dup.c: New file.Christophe Lyon2-0/+184
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: New file. From-SVN: r216657
2014-10-24vdup-vmov.c: New file.Christophe Lyon2-0/+257
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: New file. From-SVN: r216656
2014-10-24vclz.c: New file.Christophe Lyon2-0/+198
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vclz.c: New file. From-SVN: r216655
2014-10-24vbsl.c: New file.Christophe Lyon2-0/+128
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vbsl.c: New file. From-SVN: r216654
2014-10-24vaddw.c: New file.Christophe Lyon2-0/+126
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: New file. From-SVN: r216653
2014-10-24vaddl.c: New file.Christophe Lyon2-0/+126
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: New file. From-SVN: r216652
2014-10-24vaddhn.c: New file.Christophe Lyon2-0/+113
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: New file. From-SVN: r216651
2014-10-24vabdl.c: New file.Christophe Lyon2-0/+113
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vabdl.c: New file. From-SVN: r216650
2014-10-24vabd.c: New file.Christophe Lyon2-0/+157
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vabd.c: New file. From-SVN: r216649
2014-10-24vabal.c: New file.Christophe Lyon2-0/+165
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vabal.c: New file. From-SVN: r216648
2014-10-24binary_sat_op.inc: New file.Christophe Lyon4-0/+654
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
2014-10-24unary_sat_op.inc: New file.Christophe Lyon4-0/+341
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
2014-10-24cmp_fp_op.inc: New file.Christophe Lyon6-0/+284
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
2014-10-24cmp_op.inc: New file.Christophe Lyon7-0/+657
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
2014-10-24binary_op.inc: New file.Christophe Lyon9-0/+478
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
2014-10-24unary_op.inc: New file.Christophe Lyon4-0/+226
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
2014-10-24Add new files missing from previous commit.Christophe Lyon8-0/+1380
From-SVN: r216641
2014-10-24README.advsimd-intrinsics: New file.Christophe Lyon1-0/+13
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
2014-10-24[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround Kyrylo Tkachov3-2/+27
* 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
2014-10-24wrapper.exp ({tool}_maybe_build_wrapper): Clear wrap_compile_flags before ↵Christophe Lyon2-0/+7
setting it. 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
2014-10-24[AArch64] Cleanup logic around aarch64_final_prescanKyrylo Tkachov3-20/+46
* 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
2014-10-24Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch ↵Richard Biener2-9/+16
BUILD_LIBS instead. 2014-10-24 Richard Biener <rguenther@suse.de> * Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch BUILD_LIBS instead. From-SVN: r216632
2014-10-24genmatch.c (expr::gen_transform): Use fold_buildN_loc and build_call_expr_loc.Richard Biener8-92/+552
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
2014-10-24re PR target/63173 (performance problem with simd intrinsics vld2_dup_* on ↵Felix Yang5-120/+978
aarch64-none-elf) 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
2014-10-24Fix gcc.dg/pr63594-1.c execution on Solaris/x86Rainer Orth3-2/+8
* 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
2014-10-24980217-1.c (main): Fix implicit int.Uros Bizjak3-1/+10
* gcc.target/alpha/980217-1.c (main): Fix implicit int. * gcc.target/alpha/pr19518.c (_mm_setzero_si64): New function. From-SVN: r216627
2014-10-24MAINTAINERS (write-after-approval): Add myself.Daniel Hellstrom2-0/+5
2014-10-24 Daniel Hellstrom <daniel@gaisler.com> * MAINTAINERS (write-after-approval): Add myself. From-SVN: r216626
2014-10-24Handle SCRATCH in decompose_addressMaxim Kuvyrkov2-1/+6
* rtlanal.c (get_base_term): Handle SCRATCH. From-SVN: r216624
2014-10-24Disable max_issue when scheduling for register pressureMaxim Kuvyrkov2-1/+9
* haifa-sched.c (sched_init): Disable max_issue when scheduling for register pressure. From-SVN: r216623
2014-10-24Remove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rateMaxim Kuvyrkov2-25/+11
* 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
2014-10-24Improve scheduler dumps of ready listMaxim Kuvyrkov3-21/+71
* 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
2014-10-24Account for prologue spills in reg_pressure schedulingMaxim Kuvyrkov2-13/+90
* 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
2014-10-24Makefile.in (BUILD_CPPLIB): When in stage2+ use the host library and make ↵Richard Biener2-0/+14
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
2014-10-24fold-const.c (fold_binary_loc): Fix copy-and-pasto.Richard Biener2-2/+7
2014-10-24 Richard Biener <rguenther@suse.de> * fold-const.c (fold_binary_loc): Fix copy-and-pasto. From-SVN: r216617
2014-10-24Fix bootstrap/PR63632Markus Trippelsdorf4-0/+21
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
2014-10-24ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division ↵Martin Liska2-5/+12
by zero in dumps. * ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division by zero in dumps. (sem_item_optimizer::merge_classes): Ditto. From-SVN: r216612