Paolo Carlini
709def90a4
atomic_base.h: Avoid including <stdbool.h>.
...
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-24 12:54:43 +00:00
Daniel Hellstrom
d81230b555
config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
...
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 14:34:49 +02:00
Jiong Wang
07792ca2cb
[ARM] revert changes on check_effective_target_arm_*_ok
...
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-24 12:06:37 +00:00
Martin Liska
59f084e034
re PR tree-optimization/63595 (Segmentation faults inside kernel)
...
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-24 11:57:58 +00:00
Christophe Lyon
237d8521e9
vuzp.c: New file.
...
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-24 13:54:30 +02:00
Christophe Lyon
1307a95bc3
vmul.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vmul.c: New file.
From-SVN: r216660
2014-10-24 13:54:06 +02:00
Christophe Lyon
1933a62797
vldX_lane.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: New file.
From-SVN: r216659
2014-10-24 13:53:29 +02:00
Christophe Lyon
fd8806d544
vldX.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vldX.c: New file.
From-SVN: r216658
2014-10-24 13:53:04 +02:00
Christophe Lyon
a23001f677
vld1_dup.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: New file.
From-SVN: r216657
2014-10-24 13:52:40 +02:00
Christophe Lyon
2191f6602f
vdup-vmov.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: New file.
From-SVN: r216656
2014-10-24 13:52:16 +02:00
Christophe Lyon
e323628e6b
vclz.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vclz.c: New file.
From-SVN: r216655
2014-10-24 13:51:47 +02:00
Christophe Lyon
fd731cf95b
vbsl.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vbsl.c: New file.
From-SVN: r216654
2014-10-24 13:51:19 +02:00
Christophe Lyon
3a453a5cff
vaddw.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: New file.
From-SVN: r216653
2014-10-24 13:50:51 +02:00
Christophe Lyon
8e8c7a8ab1
vaddl.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: New file.
From-SVN: r216652
2014-10-24 13:50:24 +02:00
Christophe Lyon
b3f5379954
vaddhn.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: New file.
From-SVN: r216651
2014-10-24 13:49:59 +02:00
Christophe Lyon
b46684ac1b
vabdl.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vabdl.c: New file.
From-SVN: r216650
2014-10-24 13:49:10 +02:00
Christophe Lyon
bafbb90b5c
vabd.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vabd.c: New file.
From-SVN: r216649
2014-10-24 13:48:34 +02:00
Christophe Lyon
295dde9412
vabal.c: New file.
...
2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vabal.c: New file.
From-SVN: r216648
2014-10-24 13:47:49 +02:00
Christophe Lyon
f59574a1c4
binary_sat_op.inc: New file.
...
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-24 13:47:21 +02:00
Christophe Lyon
56900c9c77
unary_sat_op.inc: New file.
...
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-24 13:46:47 +02:00
Christophe Lyon
c91f3ac1ff
cmp_fp_op.inc: New file.
...
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-24 13:46:04 +02:00
Christophe Lyon
ed9f6694fa
cmp_op.inc: New file.
...
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-24 13:45:24 +02:00
Christophe Lyon
25b0d373ba
binary_op.inc: New file.
...
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-24 13:44:44 +02:00
Christophe Lyon
a5d9f9d388
unary_op.inc: New file.
...
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-24 13:42:09 +02:00
Christophe Lyon
2f46a9cd83
Add new files missing from previous commit.
...
From-SVN: r216641
2014-10-24 13:40:58 +02:00
Christophe Lyon
16ad00b00a
README.advsimd-intrinsics: New file.
...
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 13:38:51 +02:00
Kyrylo Tkachov
bc50815a52
[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround
...
* 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-24 11:32:40 +00:00
Christophe Lyon
84a34193c2
wrapper.exp ({tool}_maybe_build_wrapper): Clear wrap_compile_flags before 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 13:32:05 +02:00
Kyrylo Tkachov
8baff86e56
[AArch64] Cleanup logic around aarch64_final_prescan
...
* 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-24 11:30:42 +00:00
Richard Biener
1f59b31508
Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch 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-24 11:09:30 +00:00
Richard Biener
e0ee10ed5a
genmatch.c (expr::gen_transform): Use fold_buildN_loc and build_call_expr_loc.
...
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-24 11:00:08 +00:00
Felix Yang
77efea3120
re PR target/63173 (performance problem with simd intrinsics vld2_dup_* on 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-24 10:53:08 +00:00
Rainer Orth
e7d8c7020c
Fix gcc.dg/pr63594-1.c execution on Solaris/x86
...
* 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-24 09:09:43 +00:00
Uros Bizjak
a48acecb8f
980217-1.c (main): Fix implicit int.
...
* 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-24 10:58:42 +02:00
Daniel Hellstrom
c7a6a6170d
MAINTAINERS (write-after-approval): Add myself.
...
2014-10-24 Daniel Hellstrom <daniel@gaisler.com>
* MAINTAINERS (write-after-approval): Add myself.
From-SVN: r216626
2014-10-24 10:52:20 +02:00
Maxim Kuvyrkov
948cd9a565
Handle SCRATCH in decompose_address
...
* rtlanal.c (get_base_term): Handle SCRATCH.
From-SVN: r216624
2014-10-24 08:23:01 +00:00
Maxim Kuvyrkov
d205caad22
Disable max_issue when scheduling for register pressure
...
* haifa-sched.c (sched_init): Disable max_issue when scheduling for
register pressure.
From-SVN: r216623
2014-10-24 08:22:49 +00:00
Maxim Kuvyrkov
8aec463b10
Remove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate
...
* 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-24 08:22:37 +00:00
Maxim Kuvyrkov
b75ae7f422
Improve scheduler dumps of ready list
...
* 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-24 08:22:24 +00:00
Maxim Kuvyrkov
4dd9ac6c94
Account for prologue spills in reg_pressure scheduling
...
* 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-24 08:22:12 +00:00
Richard Biener
ef1ea28c3c
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
2014-10-24 08:04:25 +00:00
Richard Biener
4cf03f6897
fold-const.c (fold_binary_loc): Fix copy-and-pasto.
...
2014-10-24 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Fix copy-and-pasto.
From-SVN: r216617
2014-10-24 07:57:51 +00:00
Markus Trippelsdorf
fa608e77c2
Fix bootstrap/PR63632
...
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-24 06:39:24 +00:00
Martin Liska
f1c859ee84
ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division 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
2014-10-24 08:06:20 +02:00
Ian Lance Taylor
5eda5bad3c
compiler: Use MPC library for complex numbers.
...
* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
mpc_t parameter instead of two mpfr_t parameters.
From-SVN: r216611
2014-10-24 05:01:50 +00:00
Ian Lance Taylor
3c76528636
compiler: Simplify making integer expressions.
...
Instead of always needing an mpz_t, add helper functions to
create an integer functions from signed or unsigned long
values.
From-SVN: r216610
2014-10-24 01:49:23 +00:00
GCC Administrator
7a149e7a51
Daily bump.
...
From-SVN: r216609
2014-10-24 00:16:51 +00:00
John David Anglin
63e7e854fc
pa.c (pa_can_combine_p): Fix typo in last change.
...
* config/pa/pa.c (pa_can_combine_p): Fix typo in last change.
From-SVN: r216606
2014-10-23 23:33:34 +00:00
Ian Lance Taylor
ed98682725
* tree-vrp.c (extract_range_from_assert): Fix typo in comment.
...
From-SVN: r216605
2014-10-23 22:48:40 +00:00
Ian Lance Taylor
cffb3a8a43
* config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define.
...
From-SVN: r216604
2014-10-23 22:46:49 +00:00