Re: [[ARM/AArch64][testsuite] 24/36] Add vmul_n tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 25/36] Add vmull tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 26/36] Add vmull_lane tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 23/36] Add vmul_lane tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 33/36] Add vqdmulh_n tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 00/36] More Neon intrinsics tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:17, Christophe Lyon christophe.l...@linaro.org wrote: This patch series is a follow-up of the conversion of my existing testsuite into DejaGnu. It does not yet cover all the tests I wrote, but I chose to post this set to have a chance to have it accepted before stage

Re: [[ARM/AArch64][testsuite] 32/36] Add vqdmulh_lane tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 34/36] Add vqdmull tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 03/36] Add vmax, vmin, vhadd, vhsub and vrhadd tests.

2015-01-19 Thread Marcus Shawcroft
On 19 January 2015 at 15:43, Christophe Lyon christophe.l...@linaro.org wrote: On 19 January 2015 at 14:29, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 16 January 2015 at 17:52, Christophe Lyon christophe.l...@linaro.org wrote: OK provided, as per the previous couple, that we don

Re: [[ARM/AArch64][testsuite] 31/36] Add vqdmulh tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 35/36] Add vqdmull_lane tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file. OK /Marcus

Re: [[ARM/AArch64][testsuite] 36/36] Add vqdmull_n tests.

2015-01-19 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file. OK /Marcus

Re: [PATCH]Enable gcc/testsuite/gcc.dg/builtin-apply2.c for aarch64

2015-01-16 Thread Marcus Shawcroft
On 15 January 2015 at 15:38, Renlin Li renlin...@arm.com wrote: gcc/testsuite/ChangeLog: 2015-01-15 Renlin Li renlin...@arm.com * gcc.dg/builtin-apply2.c: Remove aarch64 target from skip list. OK /Marcus

Re: [AArch64] Add a new scheduling description for the ARM Cortex-A57 processor

2015-01-16 Thread Marcus Shawcroft
On 15 January 2015 at 09:50, James Greenhalgh james.greenha...@arm.com wrote: 2015-01-15 James Greenhalgh james.greenha...@arm.com * config/arm/cortex-a57.md: New. * config/aarch64/aarch64.md: Include it. * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.

Re: [AArch64/GCC] PR64304, miscompilation with -mgeneral-regs-only

2015-01-16 Thread Marcus Shawcroft
On 14 January 2015 at 15:31, Jiong Wang jiong.w...@arm.com wrote: 2015-01-15 Jiong. Wang (jiong.w...@arm.com) gcc/ PR64304 * config/aarch64/aarch64.md (define_insn *ashlmode3_insn): Deleted. (ashlmode3): Don't expand if operands[2] is not constant. gcc/testsuite/ *

Re: [PATCH, AARCH64] Fix ICE in CCMP (PR64015)

2015-01-16 Thread Marcus Shawcroft
On 15 January 2015 at 18:18, Richard Henderson r...@redhat.com wrote: On 12/15/2014 12:41 AM, Zhenqiang Chen wrote: +(define_expand cmpmode + [(set (match_operand 0 cc_register ) +(match_operator:CC 1 aarch64_comparison_operator + [(match_operand:GPI 2 register_operand ) +

Re: [PATCH] [AArch64, NEON] Improve vpmaxX vpminX intrinsics

2015-01-16 Thread Marcus Shawcroft
+2014-12-09 Felix Yang felix.y...@huawei.com + + * config/aarch64/aarch64-simd.md (aarch64_maxmin_unspmode): New + pattern. + * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, + uminp, smax_nanp, smin_nanp): New builtins. + *

Re: [PATCH][Aarch64] PR64149: Remove -mlra/-mno-lra option for Aarch64.

2015-01-16 Thread Marcus Shawcroft
On 12 January 2015 at 15:12, Matthew Wahab matthew.wa...@arm.com wrote: 2015-01-08 Matthew Wahab matthew.wa...@arm.com PR target/64149 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag variable. * config/aarch64/aarch64.c (TARGET_LRA_P):

Re: [PATCH][AArch64] Fix PR 64263: Do not try to split constants when destination is SIMD reg

2015-01-16 Thread Marcus Shawcroft
On 12 December 2014 at 15:33, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-12-11 Kyrylo Tkachov kyrylo.tkac...@arm.com Ramana Radhakrishnan ramana.radhakrish...@arm.com PR target/64263 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the

Re: [[ARM/AArch64][testsuite] 01/36] Add explicit dependency on Neon Cumulative Saturation flag (QC).

2015-01-16 Thread Marcus Shawcroft
On 13 January 2015 at 15:17, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (Set_Neon_Cumulative_Sat): Add parameter. (__set_neon_cumulative_sat): Support new parameter. *

Re: [[ARM/AArch64][testsuite] 02/36] Be more verbose, and actually confirm that a test was checked.

2015-01-16 Thread Marcus Shawcroft
On 13 January 2015 at 15:18, Christophe Lyon christophe.l...@linaro.org wrote: * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK): Add trace. (CHECK_FP): Likewise. (CHECK_CUMULATIVE_SAT): Likewise. OK, provided no regressions and no new fails for

Re: [[ARM/AArch64][testsuite] 03/36] Add vmax, vmin, vhadd, vhsub and vrhadd tests.

2015-01-16 Thread Marcus Shawcroft
On 16 January 2015 at 16:21, Christophe Lyon christophe.l...@linaro.org wrote: My existing tests only cover armv7 so far. I do plan to expand them once they are all in GCC. Otherwise, they look good to me(but I can't approve it). Tejas. OK provided, as per the previous couple, that we

Re: [[ARM/AArch64][testsuite] 04/36] Add vld1_lane tests.

2015-01-16 Thread Marcus Shawcroft
On 16 January 2015 at 16:23, Christophe Lyon christophe.l...@linaro.org wrote: On 16 January 2015 at 15:09, Tejas Belagod tejas.bela...@arm.com wrote: On 13/01/15 15:18, Christophe Lyon wrote: * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file. Hmm.. again, I don't see

Re: [PATCH][rtlanal.c][BE][1/2] Fix vector load/stores to not use ld1/st1

2015-01-14 Thread Marcus Shawcroft
On 14 January 2015 at 07:35, Jeff Law l...@redhat.com wrote: On 01/13/15 11:55, Eric Botcazou wrote: (1) we have a non-paradoxical subreg; (2) both (reg:ymode xregno) and (reg:xmode xregno) occupy full hard registers (no padding or unused upper bits); (3) (reg:ymode xregno) and

Re: [PATCH, aarch64] Add prefetch support

2015-01-13 Thread Marcus Shawcroft
On 11 January 2015 at 02:37, Andrew Pinski pins...@gmail.com wrote: On Tue, Nov 11, 2014 at 6:47 AM, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 30 October 2014 08:54, Gopalasubramanian, Ganesh ganesh.gopalasubraman...@amd.com wrote: 2014-10-30 Ganesh Gopalasubramanian

Re: [Patch, AArch64, Testsuite] Check for expected MOVI vectorization.

2015-01-13 Thread Marcus Shawcroft
On 9 January 2015 at 16:31, Tejas Belagod tejas.bela...@arm.com wrote: gcc/testsuite: * gcc.target/aarch64/vect-movi.c: Check for vectorization for 64-bit and 128-bit. OK /Marcus

Re: [AARCH64][PR63424][4.9]Backport Fix PR63424 by adding sumaxminv2di3 pattern

2015-01-13 Thread Marcus Shawcroft
On 7 January 2015 at 14:01, Renlin Li renlin...@arm.com wrote: Is it Okay for branch 4.9? gcc/ChangeLog: 2014-11-19 Renlin Li renlin...@arm.com PR target/63424 * config/aarch64/aarch64-simd.md (sumaxminv2di3): New. gcc/testsuite/ChangeLog: 2014-11-19 Renlin Li renlin...@arm.com

Re: [AArch64] Allow stack pointer as first input to a subtraction

2015-01-13 Thread Marcus Shawcroft
On 13 January 2015 at 10:47, Richard Sandiford richard.sandif...@arm.com wrote: Several sub-based patterns allowed the stack pointer to be the destination but not the first source. This looked like an oversight; in all the patterns changed here (but not for example in *sub_mul_imm_mode), the

Re: [PATCH/AARCH64] Correctly handle stores of zero in fusion_load_store

2015-01-13 Thread Marcus Shawcroft
On 13 January 2015 at 04:48, Andrew Pinski pins...@gmail.com wrote: ChangeLog: * config/aarch64/aarch64.c (fusion_load_store): Check dest mode instead of src mode. * gcc.target/aarch64/store-pair-1.c: New testcase. OK, thanks /Marcus

Re: [PATCH 2/4] Pipeline model for APM XGene-1.

2015-01-13 Thread Marcus Shawcroft
On 12 January 2015 at 20:15, Philipp Tomsich philipp.toms...@theobroma-systems.com wrote: --- gcc/config/aarch64/aarch64.md | 1 + gcc/config/arm/xgene1.md | 531 ++ 2 files changed, 532 insertions(+) create mode 100644

Re: [PATCH/AARCH64] Disable load/store pair peephole for volatile mem

2015-01-13 Thread Marcus Shawcroft
On 10 December 2014 at 02:18, Andrew Pinski pins...@gmail.com wrote: Hi, As mentioned in https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00609.html, the load/store pair peepholes currently accept volatile mem which can cause wrong code as the architecture does not define which part of the

Re: [PATCH 1/4] Core definition for APM XGene-1 and associated cost-table.

2015-01-13 Thread Marcus Shawcroft
On 12 January 2015 at 20:15, Philipp Tomsich philipp.toms...@theobroma-systems.com wrote: +2014-11-19 Philipp Tomsich philipp.toms...@theobroma-systems.com + + * config/aarch64/aarch64-cores.def (xgene1): Update/add the + xgene1 (APM XGene-1) core definition. + *

Re: Ping: [PATCH 1/2][AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

2014-12-17 Thread Marcus Shawcroft
On 17 December 2014 at 16:19, Alan Lawrence alan.lawre...@arm.com wrote: This seems to have slipped under the radar for awhile. Ping. --Alan The sshr_n_64 intrinsics allow performing a signed shift right by 64 places. The standard ashrdi3 pattern masks the sign amount with 63, so cannot be

Re: Ping: [PATCH 1/2][AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

2014-12-17 Thread Marcus Shawcroft
gcc/ChangeLog: * config/aarch64/aarch64.md (enum unspec): Remove UNSPEC_SSHR64. * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Change shift amount to 63 if was 64. (aarch64_sshr_simddi): Remove. OK /Marcus

Re: New patch: [AArch64] [BE] [1/2] Make large opaque integer modes endianness-safe.

2014-12-17 Thread Marcus Shawcroft
On 17 December 2014 at 15:15, Tejas Belagod tejas.bela...@arm.com wrote: It isn;t clear to me how far through the various BE patches we need to get before 59810 is actually resolved? David's 2 patches https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01431.html

Re: [PATCH 2/2][AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic

2014-12-17 Thread Marcus Shawcroft
On 8 September 2014 at 17:25, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift by 64 by moving const0_rtx. (aarch64_ushr_simddi): Delete. * config/aarch64/aarch64.md (enum unspec):

Re: [PATCH][AArch64] Generalize code alignment

2014-12-16 Thread Marcus Shawcroft
On 12 December 2014 at 14:48, Wilco Dijkstra wdijk...@arm.com wrote: This patch generalizes the code alignment and lets each CPU set function, jump and loop alignment independently. The defaults for A53/A57 are based the original patch by James Greenhalgh. OK for trunk? ChangeLog:

Re: [PATCH][AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL

2014-12-16 Thread Marcus Shawcroft
On 12 December 2014 at 15:19, Wilco Dijkstra wdijk...@arm.com wrote: Add an override for TARGET_MIN_DIVISIONS_FOR_RECIP_MUL and set the minimum number of divisions to 2. This gives ~0.5% speedup on SPECFP2000/2006. OK for trunk? ChangeLog: 2014-12-13 Wilco Dijkstra wdijk...@arm.com

Re: [PATCH/AARCH64] v2 Add aligning of functions/loops/jumps

2014-12-11 Thread Marcus Shawcroft
On 23 November 2014 at 00:09, Andrew Pinski pins...@gmail.com wrote: Hi, This is just a rebase of https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01615.html as requested by https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01736.html. Nothing has changed in it. OK? Built and tested on

Re: [PATCH][AArch64] Fix usage of +no in error message for aarch64_parse_extension

2014-12-11 Thread Marcus Shawcroft
On 10 December 2014 at 15:30, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-12-10 Kyrylo Tkachov kyrylo.tkac...@arm.com * config/aarch64/aarch64.c (aarch64_parse_extension): Update error message to say +no only when removing extension. OK /Marcus

Re: [PATCH][AARCH64][4.9]Backport Use selected cpu's tuning when no tuning parameter is specified.

2014-12-11 Thread Marcus Shawcroft
On 10 December 2014 at 13:58, Renlin Li renlin...@arm.com wrote: This is a backport patch of https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00287.html aarch64-none-elf has been built and tested on the model, no issue. Okay for branch 4.9? Regards, Renlin Li gcc/ChangeLog: 2014-12-10

Re: [PATCH][AARCH64]Use AARCH64_FL_FPSIMD flags for all cores in aarch64-cores.def

2014-12-11 Thread Marcus Shawcroft
On 10 December 2014 at 16:34, Renlin Li renlin...@arm.com wrote: 2014-12-10 Renlin Li renlin...@arm.com * config/aarch64/aarch64-cores.def: Change all AARCH64_FL_FPSIMD to AARCH64_FL_FOR_ARCH8. * config/aarch64/aarch64.c (all_cores): Use FLAGS from aarch64-cores.def file

Re: [PATCH AARCH64]Make ldp/stp case less vulnerable

2014-12-11 Thread Marcus Shawcroft
On 11 December 2014 at 10:06, Bin Cheng bin.ch...@arm.com wrote: gcc/testsuite/ChangeLog 2014-12-11 Bin Cheng bin.ch...@arm.com * gcc.target/aarch64/ldp_stp_2.c: Make test less vulnerable. * gcc.target/aarch64/ldp_stp_3.c: Ditto. OK /Marcus

Re: [PATCH][rtlanal.c][BE][1/2] Fix vector load/stores to not use ld1/st1

2014-12-10 Thread Marcus Shawcroft
On 10 December 2014 at 09:51, Alan Hayward alan.hayw...@arm.com wrote: This is a new version of my BE patch from a few weeks ago. This is part 1 and covers rtlanal.c. The second part will be aarch64 specific. When combined with the second patch, It fixes up movoi/ci/xi for Big Endian, so that we

Re: [PATCH] AArch64: Add TARGET_SCHED_REASSOCIATION_WIDTH

2014-12-09 Thread Marcus Shawcroft
On 24 November 2014 at 13:46, Wilco Dijkstra wdijk...@arm.com wrote: Richard Earnshaw wrote: If all cores seem to benefit from FP reassociation set to 4, then it seems odd that 4 is not also the default for generic. Andrew, you may need to pick a target-specific value for ThunderX; I think

Re: [PATCH][AARCH64][5/5] Add macro fusion support for cmp/b.X for ThunderX

2014-12-09 Thread Marcus Shawcroft
On 5 December 2014 at 14:36, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: Hi all, Andrew posted this patch sometime ago (before stage1 closed) and I had rebased it on top of the other macro fusion patches in that series. This is a respin of that patch with the comment about not calling

Re: Ping with testcase: [PATCH][AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR

2014-12-08 Thread Marcus Shawcroft
On 3 December 2014 at 10:30, Alan Lawrence alan.lawre...@arm.com wrote: On Wed, Nov 26, 2014 at 04:35:50PM +, James Greenhalgh wrote: Why do we want to turn off folding for the V4SF/V2SF/V2DF modes of these intrinsics? There should be no difference between the mid-end definition and the

Re: [PATCH/AARCH64] make bswap vector consistent with scalar name

2014-12-05 Thread Marcus Shawcroft
On 24 November 2014 at 17:49, Andrew Pinski pins...@gmail.com wrote: I had some local patches in my tree which adds a bswap tree code. This breaks the aarch64 back-end vectorizing of byteswaps as we use the standard mechanism to see if a tree code vectorizes (optabs). Since it make sense to

Re: [PATCH AARCH64]load store pair optimization using sched_fusion pass.

2014-12-05 Thread Marcus Shawcroft
On 18 November 2014 at 08:34, Bin Cheng bin.ch...@arm.com wrote: 2014-11-18 Bin Cheng bin.ch...@arm.com * config/aarch64/aarch64.md (load_pairmode): Split to load_pairsi, load_pairdi, load_pairsf and load_pairdf. (load_pairsi, load_pairdi, load_pairsf, load_pairdf):

Re: [PING][PATCH] [AARCH64, NEON] Improve vcls(q?) vcnt(q?) and vld1(q?)_dup intrinsics

2014-12-05 Thread Marcus Shawcroft
On 19 November 2014 at 06:14, Yangfei (Felix) felix.y...@huawei.com wrote: Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 217717) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,14 @@ +2014-11-13 Felix Yang

Re: [PATCH 2/2] Pipeline model for APM XGene-1.

2014-12-05 Thread Marcus Shawcroft
On 21 November 2014 at 18:44, Philipp Tomsich philipp.toms...@theobroma-systems.com wrote: +;; Machine description for AppliedMicro xgene1 core. +;; Copyright (C) 2012-2014 Free Software Foundation, Inc. +;; Contributed by Theobroma Systems Design und Consulting GmbH. +;;See

Re: [PATCH][AARCH64]Clarify the usage of SCHED in AARCH64_CORE macro

2014-12-05 Thread Marcus Shawcroft
On 3 December 2014 at 15:30, Renlin Li renlin...@arm.com wrote: 2014-12-03 Renlin Li renlin...@arm.com * config/aarch64/aarch64-opts.h (AARCH64_CORE): Rename IDENT to SCHED. * config/aarch64/aarch64.h (AARCH64_CORE): Likewise. * config/aarch64/aarch64.c (AARCH64_CORE): Rename X

Re: [PATCH 1/2] Core definition for APM XGene-1 and associated cost-table.

2014-12-05 Thread Marcus Shawcroft
On 21 November 2014 at 18:44, Philipp Tomsich philipp.toms...@theobroma-systems.com wrote: +2014-11-19 Philipp Tomsich philipp.toms...@theobroma-systems.com + + * config/aarch64/aarch64-cores.def (xgene1): Update/add the + xgene1 (APM XGene-1) core definition. + *

Re: [PATCH][AArch64]Fix ICE at -O0 on vld1_lane intrinsics

2014-12-05 Thread Marcus Shawcroft
On 25 November 2014 at 14:03, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/arm_neon.h (__AARCH64_NUM_LANES, __aarch64_lane *2): New. (aarch64_vset_lane_any): Redefine using previous, same for BE + LE. (vset_lane_f32,

Re: [PATCH 1/4][AArch64]Fix ICE on non-constant indices to __builtin_aarch64_im_lane_boundsi

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 11:54, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers, TYPES_BINOPV): Delete. (enum aarch64_builtins): Add AARCH64_BUILTIN_SIMD_LANE_CHECK and

Re: [PATCH 2/4][AArch64]Improve error message for non-constant immediates

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 11:55, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * gcc/config/aarch64-builtins.c (aarch64_simd_expand_args): Update error message for SIMD_ARG_CONSTANT. gcc/testsuite/ChangeLog: * gcc.target/aarch64/arg-type-diagnostics-1.c:

Re: [PATCH 3/4][AArch64]Remove be_checked_get_lane, check bounds with __builtin_aarch64_im_lane_boundsi.

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 11:56, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane): Delete. * config/aarch64/aarch64-simd.md (aarch64_be_checked_get_lanemode\): Delete. *

Re: [PATCH 4/4][AArch64]Remove aarch64_get_lanedi, unused

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 11:56, Alan Lawrence alan.lawre...@arm.com wrote: I tested this by poisoning the old pattern and running check-gcc on both aarch64-none-elf and aarch64_be-none-elf; there were no regressions even with the poisoned pattern. gcc/ChangeLog: *

Re: [PATCH][AArch64][test] Disable vector cost model on vect_ctz_1.c test

2014-12-05 Thread Marcus Shawcroft
On 4 December 2014 at 09:42, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-12-04 Kyrylo Tkachov kyrylo.tkac...@arm.com\ * gcc.target/aarch64/vect_ctz_1.c: Add -fno-vect-cost-model to dg-options. OK /Marcus

Re: [ARM,AArch64][testsuite] Fix vaddl and vaddw tests

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 13:14, Christophe Lyon christophe.l...@linaro.org wrote: 2014-12-03 Christophe Lyon christophe.l...@linaro.org testsuite/ * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Actually execute the test. Fix expected output. *

Re: [PATCH] [AArch64, NEON] Improve vpmaxX vpminX intrinsics

2014-12-05 Thread Marcus Shawcroft
On 28 November 2014 at 09:23, Yangfei (Felix) felix.y...@huawei.com wrote: Hi, This patch converts vpmaxX vpminX intrinsics to use builtin functions instead of the previous inline assembly syntax. Regtested with aarch64-linux-gnu on QEMU. Also passed the glorious testsuite of

Re: [PING] [PATCH] [AArch64, NEON] More NEON intrinsics improvement

2014-12-05 Thread Marcus Shawcroft
On 5 December 2014 at 18:44, Tejas Belagod tejas.bela...@arm.com wrote: +__extension__ static __inline float32x2_t __attribute__ +((__always_inline__)) +vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) { + return __builtin_aarch64_fmav2sf (-__b, __c, __a); } + +__extension__

Re: [PATCH][AARCH64]Use selected cpu's tuning when no tuning parameter is specified.

2014-12-04 Thread Marcus Shawcroft
On 27 November 2014 at 11:27, Renlin Li renlin...@arm.com wrote: gcc/ChangeLog: 2014-11-27 Renlin Li renlin...@arm.com * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define selected_tune. (aarch64_override_options): Use selected_cpu's tuning. OK and this is also broken

Re: [PATCH, aarch64] Add prefetch support

2014-12-03 Thread Marcus Shawcroft
On 1 December 2014 at 07:48, Gopalasubramanian, Ganesh ganesh.gopalasubraman...@amd.com wrote: Please ignore the previous patch sent. The attachment was wrong. There's no point in the buffer or the sprintf. The text is short enough to repeat whole pattern in the array: Updated the patch for

Re: Add to maintainers list.

2014-11-21 Thread Marcus Shawcroft
On 20 November 2014 16:27, Alex Velenko alex.vele...@arm.com wrote: 2014-11-20 Alex Velenko alex.vele...@arm.com *MAINTAINERS (write-after-approval): Add myself. Your patch looks fine, commit it. /Marcus

Re: FW: [Aarch64][BE][2/2] Fix vector load/stores to not use ld1/st1

2014-11-21 Thread Marcus Shawcroft
On 21 November 2014 12:11, Alan Hayward alan.hayw...@arm.com wrote: 2014-11-21 Alan Hayward alan.hayw...@arm.com PR 57233 PR 59810 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra addressing modes for BE. (aarch64_print_operand):

Re: [PATCH][AArch64] Implement vsqrt_f64 intrinsic

2014-11-21 Thread Marcus Shawcroft
On 17 November 2014 17:35, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-11-17 Kyrylo Tkachov kyrylo.tkac...@arm.com * config/aarch64/arm_neon.h (vsqrt_f64): New intrinsic. 2014-11-17 Kyrylo Tkachov kyrylo.tkac...@arm.com * gcc.target/aarch64/simd/vsqrt_f64_1.c OK /Marcus

Re: [PATCH][wwwdocs] Add Cortex-A53 erratum workaround note to AArch64 changes for 4.8

2014-11-21 Thread Marcus Shawcroft
On 17 November 2014 11:42, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: Makes sense. Here are the changes for the 4.9 and 4.8 changes.html pages. Ok? This looks ok to me, I'd suggest changing... + li Starting with GCC 4.8.4 a workaround for the ARM Cortex-A53 to + li As of GCC 4.8.4

Re: [PATCH][AArch64]Add vec_shr pattern for 64-bit vectors using ush{l,r}; enable tests.

2014-11-21 Thread Marcus Shawcroft
On 14 November 2014 15:46, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-simd.md (vec_shrmode): New. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_whole_vector_shift): Add aarch64{,_be}. OK /Marcus

Re: [PATCH][AArch64]Tidy up aarch64_simd_expand_args

2014-11-21 Thread Marcus Shawcroft
On 17 November 2014 16:56, Alan Lawrence alan.lawre...@arm.com wrote: This is a pure tidyup, no new functionality. Changes are (1) Use op[0] to store the result operand, rather than a separate variable, thus combining the two large switch statements into one; (2) The 'arg' and 'mode' arrays

Re: [PATCH][AArch64] Add vector pattern for __builtin_ctz

2014-11-21 Thread Marcus Shawcroft
On 14 November 2014 16:38, Jiong Wang jiong.w...@arm.com wrote: gcc/ * config/aarch64/iterators.md (VS): New mode iterator. (vsi2qi): New mode attribute. (VSI2QI): Likewise. * config/aarch64/aarch64-simd-builtins.def: New entry for ctz. * config/aarch64/aarch64-simd.md (ctzmode2):

Re: [PATCH][AArch64][1/5] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P

2014-11-21 Thread Marcus Shawcroft
On 18 November 2014 12:20, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: On 18/11/14 10:33, Kyrill Tkachov wrote: diff --git a/gcc/config/arm/aarch-common-protos.h b/gcc/config/arm/aarch-common-protos.h index 264bf01..ad7ec43c 100644 --- a/gcc/config/arm/aarch-common-protos.h +++

Re: [PATCH][AArch64][2/5] Implement adrp+add fusion

2014-11-21 Thread Marcus Shawcroft
On 18 November 2014 10:33, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-11-18 Kyrylo Tkachov kyrylo.tkac...@arm.com * config/aarch64/aarch64.c: Include tm-constrs.h (AARCH64_FUSE_ADRP_ADD): Define. (cortexa57_tunings): Add AARCH64_FUSE_ADRP_ADD to fuseable_ops.

Re: [PATCH][AArch64][3/5] Implement fusion of MOVK+MOVK

2014-11-21 Thread Marcus Shawcroft
On 18 November 2014 10:33, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-11-18 Kyrylo Tkachov kyrylo.tkac...@arm.com * config/aarch64/aarch64.c (AARCH64_FUSE_MOVK_MOVK): Define. (cortexa53_tunings): Specify AARCH64_FUSE_MOVK_MOVK in fuseable_ops. (cortexa57_tunings):

Re: [PATCH][AArch64][4/5] Implement fusion of ARDP+LDR

2014-11-21 Thread Marcus Shawcroft
On 18 November 2014 10:33, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: 2014-11-18 Kyrylo Tkachov kyrylo.tkac...@arm.com * config/aarch64/aarch64.c (AARCH64_FUSE_ADRP_LDR): Define. (cortexa53_tunings): Specify AARCH64_FUSE_ADRP_LDR in fuseable_ops. (aarch_macro_fusion_pair_p):

Re: [AArch64, Patch] Add range-check for Symbol + offset addressing.

2014-11-20 Thread Marcus Shawcroft
On 20 November 2014 14:33, Tejas Belagod tejas.bela...@arm.com wrote: The same patch applies cleanly to 4.9. OK to commit? Thanks, Tejas. Provided it regresses ok, yes. /Marcus

Re: [Aarch64][BE][2/2] Fix vector load/stores to not use ld1/st1

2014-11-20 Thread Marcus Shawcroft
On 14 November 2014 16:48, Alan Hayward alan.hayw...@arm.com wrote: This is a new version of my BE patch from a few weeks ago. This is part 2 and covers all the aarch64 changes. When combined with the first patch, It fixes up movoi/ci/xi for Big Endian, so that we end up with the lab of a

Re: New patch: [AArch64] [BE] [1/2] Make large opaque integer modes endianness-safe.

2014-11-20 Thread Marcus Shawcroft
On 13 November 2014 10:09, David Sherwood david.sherw...@arm.com wrote: gcc/: 2014-11-13 David Sherwood david.sherw...@arm.com * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist, aarch64_reverse_mask): New decls. *

Re: [PATCH][AArch64] Adjust generic move costs

2014-11-19 Thread Marcus Shawcroft
On 19 November 2014 14:32, Wilco Dijkstra wdijk...@arm.com wrote: Hi Jiong, Can you commit this please? 2014-11-19 Wilco Dijkstra wdijk...@arm.com * gcc/config/aarch64/aarch64.c (generic_regmove_cost): Increase FP move cost (PR61915). Use the proper format for referring

Re: [PATCH][AArch64] Add bounds checking to vqdm*_lane intrinsics via a qualifier that also flips endianness

2014-11-19 Thread Marcus Shawcroft
On 12 November 2014 17:47, Charles Baylis charles.bay...@linaro.org wrote: On 12 November 2014 15:35, Alan Lawrence alan.lawre...@arm.com wrote: Nice! One nit - can the extra tree argument be a const_tree ? - I'll defer to the maintainers on the use of C++ default arguments in the AArch64

Re: [PATCH][AArch64] Add bounds checking to vqdm*_lane intrinsics via a qualifier that also flips endianness

2014-11-19 Thread Marcus Shawcroft
On 19 November 2014 16:48, Charles Baylis charles.bay...@linaro.org wrote: On 19 November 2014 16:42, Alan Lawrence alan.lawre...@arm.com wrote: Of the calls to aarch64_simd_lane_bounds that remain in aarch64-simd.md: aarch64_get_lanedi aarch64_im_lane_boundsi aarch64_ld{2,3,4}_lanemode

Re: [PATCH][AArch64] Add bounds checking to vqdm*_lane intrinsics via a qualifier that also flips endianness

2014-11-19 Thread Marcus Shawcroft
On 19 November 2014 19:05, Charles Baylis charles.bay...@linaro.org wrote: PR target/63870 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Pass expression to aarch64_simd_lane_bounds. * config/aarch64/aarch64-protos.h (aarch64_simd_lane_bounds):

Re: [PING][PATCH] [AARCH64, NEON] Improve vcls(q?) vcnt(q?) and vld1(q?)_dup intrinsics

2014-11-18 Thread Marcus Shawcroft
On 17 November 2014 06:58, Yangfei (Felix) felix.y...@huawei.com wrote: PING? BTW: It seems that Alan's way of improving vld1(q?)_dup intrinsic is more elegant. So is the improvement of vcls(q?) vcnt(q?) OK for trunk? Thanks. Please rebase over Alan's patch and repost, thank you /Marcus

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Marcus Shawcroft
On 17 November 2014 07:59, Yangfei (Felix) felix.y...@huawei.com wrote: +2014-11-13 Felix Yang felix.y...@huawei.com + + * config/aarch64/aarch64.md (doloop_end): New pattern. + This looks like a straight copy of the ARM code, but without the TARGET_CAN_USE_DOLOOP_P definition. If the

Re: [PING ^ 3][PATCH, AArch64] Add doloop_end pattern for -fmodulo-sched

2014-11-18 Thread Marcus Shawcroft
On 18 November 2014 11:28, Yangfei (Felix) felix.y...@huawei.com wrote: Yeah, that's a good idea. See my updated patch :-) Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 217394) +++ gcc/ChangeLog (working

Re: [PATCH][AARCH64]Add ACLE more predefined macros

2014-11-18 Thread Marcus Shawcroft
On 17 November 2014 17:33, Renlin Li renlin...@arm.com wrote: Hi all, This is a simple patch to add more conditional macros defined ACLE 2.0. aarch64-none-elf target is tested on the model, no new issues. Is this Okay for trunk? gcc/ChangeLog: 2014-11-17 Renlin Li renlin...@arm.com

Re: [PATCH][AArch64] Remove/merge redundant iterators

2014-11-18 Thread Marcus Shawcroft
On 13 November 2014 10:38, Alan Lawrence alan.lawre...@arm.com wrote: Hi, gcc/config/aarch64/iterators.md contains numerous duplicates - not always obvious as they are not always sorted the same. Sometimes, one copy is used is aarch64-simd-builtins.def and another in aarch64-simd.md;

Re: [PATCH][ARM/AArch64] Improve modeled latency between FP operations and FP-GP register moves

2014-11-17 Thread Marcus Shawcroft
On 11 November 2014 11:59, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: Hi all, This patch models the latency of moves between FP and GP registers on the A15 and A57 a bit more accurately by splitting the reservations for FP-GP and GP-FP moves and adding an appropriate bypass. Bootstrapped

Re: [PATCH][AArch64] Adjust generic move costs

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 14:35, Wilco Dijkstra wdijk...@arm.com wrote: 2014-11-14 Wilco Dijkstra wdijk...@arm.com * gcc/config/aarch64/aarch64.c (generic_regmove_cost): Increase FP move cost. OK /Marcus

Re: [PATCH][wwwdocs] Add Cortex-A53 erratum workaround note to AArch64 changes for 4.9

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 15:06, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: Hi all, Considering that the erratum workaround option was backported to 4.9, I assume we'll need an item for that in the changes.html for that branch? The text is the same as in the trunk version that I committed

Re: [PATCH][AArch64] Remove crypto extension from default for cortex-a53, cortex-a57

2014-11-17 Thread Marcus Shawcroft
On 17 November 2014 14:48, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: Hi all, Some configurations of Cortex-A53 and Cortex-A57 don't ship with crypto, so enabling it by default for -mcpu=cortex-a53 and cortex-a57 is inappropriate. Tested aarch64-none-elf. Reminder that at the moment all

Re: [PATCH 1/3][AArch64]Replace __builtin_aarch64_createv1df with a cast, cleanup

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 10:45, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (TYPES_CREATE): Remove. * config/aarch64/aarch64-simd-builtins.def (create): Remove. * config/aarch64/aarch64-simd.md (aarch64_createmode): Remove.

Re: [PATCH 2/3][AArch64] Extend aarch64_simd_vec_set pattern, replace asm for vld1_lane

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 10:46, Alan Lawrence alan.lawre...@arm.com wrote: gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_simd_vec_setmode): Add variant reading from memory and assembling to ld1. * config/aarch64/arm_neon.h (vld1_lane_f32, vld1_lane_f64,

Re: [PATCH 3/3][AArch64]Replace temporary assembler for vld1_dup

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 10:46, Alan Lawrence alan.lawre...@arm.com wrote: This patch replaces the inline asm for vld1_dup intrinsics with a vdup_n_ and a load from the pointer. The existing *aarch64_simd_ld1rmode insn, combiner, etc., are quite capable of generating the expected single ld1r

Re: [Patch ARM-AArch64/testsuite] More Neon intrinsics executable tests

2014-11-17 Thread Marcus Shawcroft
On 14 November 2014 12:01, Christophe Lyon christophe.l...@linaro.org wrote: On 14 November 2014 12:17, Marcus Shawcroft marcus.shawcr...@gmail.com wrote: On 12 November 2014 13:11, Christophe Lyon christophe.l...@linaro.org wrote: Hi, The attached patch adds a few more tests

Re: [Ping] [PATCH, 1/10] two hooks for conditional compare (ccmp)

2014-11-14 Thread Marcus Shawcroft
On 29 October 2014 10:28, Zhenqiang Chen zhenqiang.c...@arm.com wrote: -Original Message- From: Richard Henderson [mailto:r...@redhat.com] Sent: Monday, October 27, 2014 10:56 PM To: Zhenqiang Chen Cc: gcc-patches@gcc.gnu.org Subject: Re: [Ping] [PATCH, 1/10] two hooks for

Re: [AArch64, Patch] Add range-check for Symbol + offset addressing.

2014-11-14 Thread Marcus Shawcroft
On 14 November 2014 08:19, Andrew Pinski pins...@gmail.com wrote: On Fri, Nov 14, 2014 at 12:12 AM, Tejas Belagod tejas.bela...@arm.com wrote: Hi, Following the discussion here https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02237.html, this has been tracked down to a range-checking bug with

Re: [Patch AArch64] Fix PR 63724 - Improve immediate generation

2014-11-14 Thread Marcus Shawcroft
On 12 November 2014 16:46, Ramana Radhakrishnan ramana.radhakrish...@arm.com wrote: v2 , based on Richard's suggestion as well as fixing a bug that I hit in some more testing at O1. aarch64_internal_mov_immediate should not generate a temporary for subtarget when not actually generating code.

Re: [Committed] Fix bug 61997

2014-11-14 Thread Marcus Shawcroft
On 11 November 2014 23:39, Andrew Pinski pins...@gmail.com wrote: Hi, The problem here is that aarch64-builtins.c contains gty markers but does not include gt-aarch64-builtins.h and is not included in the target_gtfiles list in config.gcc. So sometimes the builtins get garbage collected

Re: [PATCH, trivial][AArch64] Fix mode iterator for *aarch64_simd_ld1rmode pattern

2014-11-14 Thread Marcus Shawcroft
On 13 November 2014 06:14, Yangfei (Felix) felix.y...@huawei.com wrote: Hi, We find that the VALLDI mode iterator used in *aarch64_simd_ld1rmode pattern is not appropriate. The reason is that it's impossible to get a new operand of DImode by vec_duplicating an operand of the same mode.

<    1   2   3   4   5   6   7   8   9   10   >