1. 24 Oct, 2014 40 commits
    • configure.ac (build_configargs): Don't share config.cache between build subdirs. · 3d96b0d0
      	* configure.ac (build_configargs): Don't share config.cache between
      	build subdirs.
      
      From-SVN: r216669
      Hans-Peter Nilsson committed
    • avr-protos.h (avr_out_sign_extend): New. · 8e3d9e67
      	* 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
      Georg-Johann Lay committed
    • atomic_base.h: Avoid including <stdbool.h>. · 709def90
      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
      Paolo Carlini committed
    • config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor. · d81230b5
      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
      Daniel Hellstrom committed
    • [ARM] revert changes on check_effective_target_arm_*_ok · 07792ca2
        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
      Jiong Wang committed
    • re PR tree-optimization/63595 (Segmentation faults inside kernel) · 59f084e0
      Fix for PR63595
      
      	* gcc.dg/ipa/pr63595.c: New test.
      	* ipa-icf.c (sem_function::compare_phi_node): PHI result comparison
      
      From-SVN: r216662
      Martin Liska committed
    • vuzp.c: New file. · 237d8521
      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
      Christophe Lyon committed
    • vmul.c: New file. · 1307a95b
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vmul.c: New file.
      
      From-SVN: r216660
      Christophe Lyon committed
    • vldX_lane.c: New file. · 1933a627
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: New file.
      
      From-SVN: r216659
      Christophe Lyon committed
    • vldX.c: New file. · fd8806d5
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vldX.c: New file.
      
      From-SVN: r216658
      Christophe Lyon committed
    • vld1_dup.c: New file. · a23001f6
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: New file.
      
      From-SVN: r216657
      Christophe Lyon committed
    • vdup-vmov.c: New file. · 2191f660
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: New file.
      
      From-SVN: r216656
      Christophe Lyon committed
    • vclz.c: New file. · e323628e
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vclz.c: New file.
      
      From-SVN: r216655
      Christophe Lyon committed
    • vbsl.c: New file. · fd731cf9
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vbsl.c: New file.
      
      From-SVN: r216654
      Christophe Lyon committed
    • vaddw.c: New file. · 3a453a5c
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: New file.
      
      From-SVN: r216653
      Christophe Lyon committed
    • vaddl.c: New file. · 8e8c7a8a
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: New file.
      
      From-SVN: r216652
      Christophe Lyon committed
    • vaddhn.c: New file. · b3f53799
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: New file.
      
      From-SVN: r216651
      Christophe Lyon committed
    • vabdl.c: New file. · b46684ac
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vabdl.c: New file.
      
      From-SVN: r216650
      Christophe Lyon committed
    • vabd.c: New file. · bafbb90b
      2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vabd.c: New file.
      
      From-SVN: r216649
      Christophe Lyon committed
    • 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