Re: [PR47785] COLLECT_AS_OPTIONS

2019-11-07 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Tue, 5 Nov 2019 at 23:08, Richard Biener wrote: > > On Tue, Nov 5, 2019 at 12:17 AM Kugan Vivekanandarajah > wrote: > > > > Hi, > > Thanks for the review. > > > > On Tue, 5 Nov 2019 at 03:57, H.J. Lu wrote: > >

Re: [PR47785] COLLECT_AS_OPTIONS

2019-11-04 Thread Kugan Vivekanandarajah
Hi, Thanks for the review. On Tue, 5 Nov 2019 at 03:57, H.J. Lu wrote: > > On Sun, Nov 3, 2019 at 6:45 PM Kugan Vivekanandarajah > wrote: > > > > Thanks for the reviews. > > > > > > On Sat, 2 Nov 2019 at 02:49, H.J. Lu wrote: > > > > > &g

Re: [PR47785] COLLECT_AS_OPTIONS

2019-11-03 Thread Kugan Vivekanandarajah
Thanks for the reviews. On Sat, 2 Nov 2019 at 02:49, H.J. Lu wrote: > > On Thu, Oct 31, 2019 at 6:33 PM Kugan Vivekanandarajah > wrote: > > > > On Wed, 30 Oct 2019 at 03:11, H.J. Lu wrote: > > > > > > On Sun, Oct 27, 2019 at 6:33 PM Kugan Vivekanand

Re: [PR47785] COLLECT_AS_OPTIONS

2019-10-31 Thread Kugan Vivekanandarajah
On Wed, 30 Oct 2019 at 03:11, H.J. Lu wrote: > > On Sun, Oct 27, 2019 at 6:33 PM Kugan Vivekanandarajah > wrote: > > > > Hi Richard, > > > > Thanks for the review. > > > > On Wed, 23 Oct 2019 at 23:07, Richard Biener > > wrote:

Re: [PR47785] COLLECT_AS_OPTIONS

2019-10-28 Thread Kugan Vivekanandarajah
Hi Bernhard, Thanks for the review. On Tue, 29 Oct 2019 at 08:52, Bernhard Reutner-Fischer wrote: > > On Mon, 28 Oct 2019 11:53:06 +1100 > Kugan Vivekanandarajah wrote: > > > On Wed, 23 Oct 2019 at 23:07, Richard Biener > > wrote: > > > > Did you try this

Re: [PR47785] COLLECT_AS_OPTIONS

2019-10-21 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the pointers. On Fri, 11 Oct 2019 at 22:33, Richard Biener wrote: > > On Fri, Oct 11, 2019 at 6:15 AM Kugan Vivekanandarajah > wrote: > > > > Hi Richard, > > Thanks for the review. > > > > On Wed, 2 Oct 2019 at 20:41, Richard Bien

Re: [PR47785] COLLECT_AS_OPTIONS

2019-10-10 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Wed, 2 Oct 2019 at 20:41, Richard Biener wrote: > > On Wed, Oct 2, 2019 at 10:39 AM Kugan Vivekanandarajah > wrote: > > > > Hi, > > > > As mentioned in the PR, attached patch adds COLLECT_AS_OPTIONS for > > passi

[ARM] Enable DF only when TARGET_VFP_DOUBLE

2019-10-09 Thread Kugan Vivekanandarajah
uot;:30 -1 (nil)) This looks like due to a typo in the md patterns. Attached patch fixes this. Bootsrapped and regression tested on arm-linux-gnueabihf without any regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2019-10-10 kugan.vivekanandarajah * config/arm/vf

[PR47785] COLLECT_AS_OPTIONS

2019-10-02 Thread Kugan Vivekanandarajah
either adjusting partitioning according to flags or emitting multiple object files from a single LTRANS CU. We could consider this as a follow up. Bootstrapped and regression tests on arm-linux-gcc. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2019-10-02 kugan.vivekanandarajah PR lto

Re: AARCH64 configure check for gas -mabi support

2019-06-20 Thread Kugan Vivekanandarajah
behalf as rev 205891. > > > > On 11 December 2013 13:27, Marcus Shawcroft > > wrote: > > > On 10/12/13 20:23, Kugan wrote: > > > > > >> gcc/ > > >> > > >> +2013-12-11 Kugan Vivekanandarajah > > >> + * con

Re: [PATCH 0/2][RFC][PR88836][AARCH64] Fix redundant ptest instruction

2019-06-19 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for your comments. On Thu, 16 May 2019 at 18:13, Richard Sandiford wrote: > > kugan.vivekanandara...@linaro.org writes: > > From: Kugan Vivekanandarajah > > > > Inorder to fix this PR. > > * We need to change the whilelo pattern in

Fix ICE due to commit for PR88834

2019-06-16 Thread Kugan Vivekanandarajah
believe this is the only way we can have GET_MODE_UNIT_SIZE of 0. Otherwise, we can check for GET_MODE_UNIT_SIZE of zero. Bootstrapped and regression tested attached patch on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2019-06-17 Kugan Vivekanandarajah

Re: [AARCH64] Fix typo in comment

2019-06-12 Thread Kugan Vivekanandarajah
Hi Kyrill, Thanks for the comments. Committed as you suggested. Thanks, Kugan On Wed, 12 Jun 2019 at 18:07, Kyrill Tkachov wrote: > > Hi Kugan, > > On 6/12/19 4:59 AM, Kugan Vivekanandarajah wrote: > > AArch64 comment for ADDSUB iterator is a typo or copy-and-paste error.

[AARCH64] Fix typo in comment

2019-06-11 Thread Kugan Vivekanandarajah
AArch64 comment for ADDSUB iterator is a typo or copy-and-paste error. Attached patch fixes this. I believe this falls under obvious category. I will commit it after 48hrs unless comments should be better worded. Thanks, Kugan gcc/ChangeLog: 2019-06-12 Kugan Vivekanandarajah * config

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-06-06 Thread Kugan Vivekanandarajah
Hi Richard, On Thu, 6 Jun 2019 at 22:07, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > Hi Richard, > > > > On Thu, 6 Jun 2019 at 19:35, Richard Sandiford > > wrote: > >> > >> Kugan Vivekanandarajah writes: > >> &g

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-06-06 Thread Kugan Vivekanandarajah
Hi Richard, On Thu, 6 Jun 2019 at 19:35, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > Hi Richard, > > > > Thanks for the review. Attached is the latest patch. > > > > For testcase like cond_arith_1.c, with the patch, gcc ICE in fwprop. I

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-06-05 Thread Kugan Vivekanandarajah
, bailout when it is UNSPEC and MODEs are not compatible. */ + if (GET_MODE_CLASS (mode) != GET_MODE_CLASS (GET_MODE (reg))) +return false; new_rtx = propagate_rtx (*loc, mode, reg, src, optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn))); Thanks, Kugan On Mon, 3 Jun

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-06-02 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review, On Fri, 31 May 2019 at 19:43, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > @@ -609,8 +615,14 @@ vect_set_loop_masks_directly (struct loop *loop, > > loop_vec_info loop_vinfo, > > > >/* Get the mas

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-05-30 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Tue, 28 May 2019 at 20:44, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > [...] > > diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c > > index b3fae5b..c15b8a2 100644 > > --- a/gcc/tree-v

Re: [RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-05-27 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Sat, 25 May 2019 at 19:41, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c > > index 77d3dac..d6452a1 100644 > > --- a/gcc/tree-vect-loop-manip.c

Re: [PATCH 1/2] Add support for IVOPT

2019-05-21 Thread Kugan Vivekanandarajah
Hi Richard, On Fri, 17 May 2019 at 18:47, Richard Sandiford wrote: > > Kugan Vivekanandarajah writes: > > [...] > >> > +{ > >> > + struct mem_address parts = {NULL_TREE, integer_one_node, > >> > + N

[RFC][PR88838][SVE] Use 32-bit WHILELO in LP64 mode

2019-05-21 Thread Kugan Vivekanandarajah
Hi, Attached RFC patch attempts to use 32-bit WHILELO in LP64 mode to fix the PR. Bootstarp and regression testing ongoing. In earlier testing, I ran into an issue related to fwprop. I will tackle that based on the feedback for the patch. Thanks, Kugan From

Re: [PATCH v3 2/3] Add predict_doloop_p target hook

2019-05-16 Thread Kugan Vivekanandarajah
_TYPE (niters); > + unsigned cost = 0; > + bool speed = optimize_loop_for_speed_p (loop); > + int regno = LAST_VIRTUAL_REGISTER + 1; > + walk_tree (, prepare_decl_rtl, , NULL); > + start_sequence (); > + expand_expr (niters, NULL_RTX, TYPE_MODE (type), EXPAND_NORMAL); > + r

Re: [PATCH 1/2] Add support for IVOPT

2019-05-16 Thread Kugan Vivekanandarajah
Hi Richard, On Thu, 16 May 2019 at 21:14, Richard Biener wrote: > > On Wed, May 15, 2019 at 4:40 AM wrote: > > > > From: Kugan Vivekanandarajah > > > > gcc/ChangeLog: > > > > 2019-05-15 Kugan Vivekanandarajah > > > >

Re: [PATCH 1/2] Add support for IVOPT

2019-05-16 Thread Kugan Vivekanandarajah
Hi Richard, On Wed, 15 May 2019 at 16:57, Richard Sandiford wrote: > > Thanks for doing this. > > kugan.vivekanandara...@linaro.org writes: > > From: Kugan Vivekanandarajah > > > > gcc/ChangeLog: > > > > 2019-05-15 Kugan Vivekanandarajah > >

Re: [PATCH 2/2] aarch64 back-end changes

2019-05-15 Thread Kugan Vivekanandarajah
Hi Richard, On Wed, 15 May 2019 at 23:24, Richard Earnshaw (lists) wrote: > > On 15/05/2019 13:48, Richard Earnshaw (lists) wrote: > > On 15/05/2019 03:39, kugan.vivekanandara...@linaro.org wrote: > >> From: Kugan Vivekanandarajah > >> > > > > The subje

[PATCH 2/2] [PR88836][aarch64] Fix CSE to process parallel rtx dest one by one

2019-05-15 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah This patch changes cse_insn to process parallel rtx one by one such that any destination rtx in cse list is invalidated before processing the next. gcc/ChangeLog: 2019-05-16 Kugan Vivekanandarajah PR target/88834 * cse.c (safe_hash): Handle

[PATCH 1/2] [PR88836][aarch64] Set CC_REGNUM instead of clobber

2019-05-15 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah For aarch64 sve while_ult pattern, Set CC_REGNUM instead of clobbering. gcc/ChangeLog: 2019-05-16 Kugan Vivekanandarajah PR target/88834 * config/aarch64/aarch64-sve.md (while_ult): Set CC_REGNUM instead of clobbering. Change-Id

[PATCH 0/2][RFC][PR88836][AARCH64] Fix redundant ptest instruction

2019-05-15 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah Inorder to fix this PR. * We need to change the whilelo pattern in backend * Change RTL CSE such that: - Add support for VEC_DUPLICATE - When handling PARALLEL rtx in cse_insn, we kill CSE defined by all the parallel rtx at the end. For example

[PATCH 2/2] aarch64 back-end changes

2019-05-14 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah gcc/ChangeLog: 2019-05-15 Kugan Vivekanandarajah PR target/88834 * config/aarch64/aarch64.c (aarch64_classify_address): Relax allow_reg_index_p. gcc/testsuite/ChangeLog: 2019-05-15 Kugan Vivekanandarajah PR target/88834

[PATCH 0/2] [RFC][PR88834]

2019-05-14 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah In PR88834, IVOPT is not selecting the right addressing mode. Inorder to fix thix, we need to add support to add IV uses for IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES. In addition, we also need to add IV candidate with scaled by the element or access size

[PATCH 1/2] Add support for IVOPT

2019-05-14 Thread kugan . vivekanandarajah
From: Kugan Vivekanandarajah gcc/ChangeLog: 2019-05-15 Kugan Vivekanandarajah PR target/88834 * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES. (find_interesting_uses_stmt): Likewise

Re: [aarch64][RFA][rtl-optimization/87763] Fix insv_1 and insv_2 for aarch64

2019-04-22 Thread Kugan Vivekanandarajah
king/inserting move only when new pattern is returned? Thanks, Kugan > > Jeff

[PR89862] Fix ARM lto bootstrap

2019-03-28 Thread Kugan Vivekanandarajah
for this. However, it is being tested with LTO bootstrap for ARM. I therefore believe that it is OK. I have also tested the patch with x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan diff --git a/gcc/rtl.h b/gcc/rtl.h index f991919..52ecd5a 100644 --- a/gcc/rtl.h +++ b/gcc

[SVE ACLE] svbic implementation

2019-03-19 Thread Kugan Vivekanandarajah
I have committed attached patch to aarch64/sve-acle-branch branch which implements svbic. Thanks, Kugan From 182bd15334874844bef5e317f55a6497f77e12ff Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date: Thu, 24 Jan 2019 20:57:19 +1100 Subject: [PATCH 1/3] svbic Change-Id

[SVE ACLE] Implements svdot

2019-01-17 Thread Kugan Vivekanandarajah
I committed the following patch which implements svdot to aarch64/sve-acle-branch. branch Thanks, Kugan From b75cd8ba8f911c137380677b85882c22a6467bf6 Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date: Fri, 18 Jan 2019 09:07:10 +1100 Subject: [PATCH] [SVE ACLE] Implements svdot Change

[SVE ACLE] Implements svmulh

2019-01-17 Thread Kugan Vivekanandarajah
I committed the following patch which implements svmulh to aarch64/sve-acle-branch. branch Thanks, Kugan From 33b76de8ef5f370dfacba0addef2fe0b1f2a61db Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date: Fri, 18 Jan 2019 07:33:26 +1100 Subject: [PATCH] [SVE ACLE] Implements svmulh Change

[SVE ACLE] Implements svabs, svnot, svneg and svsqrt

2019-01-15 Thread Kugan Vivekanandarajah
I committed the following patch which implements svabs, svnot, svneg and svsqrt to aarch64/sve-acle-branch. branch Thanks, Kugan From 2af9609a58cf7efbed93f15413224a2552b9696d Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date: Wed, 16 Jan 2019 07:45:52 +1100 Subject: [PATCH] [SVE ACLE

Re: [RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-11-11 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Thu, 8 Nov 2018 at 00:03, Richard Biener wrote: > > On Fri, Nov 2, 2018 at 10:02 AM Kugan Vivekanandarajah > wrote: > > > > Hi Richard, > > Thanks for the review. > > On Tue, 30 Oct 2018 at 01:25, Richard Biener > >

Re: [RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-11-02 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On Tue, 30 Oct 2018 at 01:25, Richard Biener wrote: > > On Mon, Oct 29, 2018 at 2:06 AM Kugan Vivekanandarajah > wrote: > > > > Hi Richard and Jeff, > > > > Thanks for your comments. > > > > On Fri, 26

Re: [RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-10-28 Thread Kugan Vivekanandarajah
Hi Richard and Jeff, Thanks for your comments. On Fri, 26 Oct 2018 at 19:40, Richard Biener wrote: > > On Fri, Oct 26, 2018 at 4:55 AM Jeff Law wrote: > > > > On 10/25/18 4:33 PM, Kugan Vivekanandarajah wrote: > > > Hi, > > > > > > PR87528

[PR87469] ICE in record_estimate, at tree-ssa-loop-niter.c

2018-10-27 Thread Kugan Vivekanandarajah
. Is this OK? Thanks, Kugan gcc/testsuite/ChangeLog: 2018-10-26 Kugan Vivekanandarajah PR middle-end/87469 * g++.dg/pr87469.C: New test. gcc/ChangeLog: 2018-10-26 Kugan Vivekanandarajah PR middle-end/87469 * tree-ssa-loop-niter.c (number_of_iterations_popcount): Fix niter max

[ABSU_EXPR] Add some of the missing patterns in match.pd

2018-10-25 Thread Kugan Vivekanandarajah
Hi, This patch adds some of the missing patterns in match.pd for ABSU_EXPR and it is a revised version based on the review at https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00046.html Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK trunk? Thanks, Kugan

[RFC][PR87528][PR86677] Disable builtin popcount detection when back-end does not define it

2018-10-25 Thread Kugan Vivekanandarajah
discussions) does this. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. We need to disable the popcount* testcases. I will have to define a effective_target_with_popcount in gcc/testsuite/lib/target-supports.exp if this patch is OK? Thanks, Kugan gcc/ChangeLog: 2018

[SVE ACLE] Implements ACLE svdup, svindex, svqad/qsub, svabd and svmul

2018-10-15 Thread Kugan Vivekanandarajah
Hi, Attached patch implements ACLE svdup, svindex, svqad/qsub, svabd and svmul built-ins. Committed to ACLE branch, Thanks, Kugan 0001-svdup-svindex-svqad-qsub-svabd-and-svmul.patch.gz Description: application/gzip

Re: [RFC] Fix recent popcount change is breaking

2018-07-27 Thread Kugan Vivekanandarajah
tions for other libgcc functions IIRC. >> >>Can you please Kugan create Linux kernel bug for that? So that >>discussion >>can happen? > > There's no discussion necessary, libgcc is the core compiler runtime. If you > choose not to use it you have to provide your own implem

[PR86544] Fix Popcount detection generates different code on C and C++

2018-07-17 Thread Kugan Vivekanandarajah
, Kugan gcc/ChangeLog: 2018-07-18 Kugan Vivekanandarajah PR middle-end/86544 * tree-ssa-phiopt.c (cond_removal_in_popcount_pattern): Handle comparison with EQ_EXPR in last stmt. gcc/testsuite/ChangeLog: 2018-07-18 Kugan Vivekanandarajah PR middle-end/86544 * g++.dg

Re: [RFC] Fix recent popcount change is breaking

2018-07-11 Thread Kugan Vivekanandarajah
Hi Andrew, On 11 July 2018 at 15:43, Andrew Pinski wrote: > On Tue, Jul 10, 2018 at 6:35 PM Kugan Vivekanandarajah > wrote: >> >> Hi Andrew, >> >> On 11 July 2018 at 11:19, Andrew Pinski wrote: >> > On Tue, Jul 10, 2018 at 6:14 PM Kugan Vivekanandarajah &

Re: [RFC] Fix recent popcount change is breaking

2018-07-10 Thread Kugan Vivekanandarajah
Hi Andrew, On 11 July 2018 at 11:19, Andrew Pinski wrote: > On Tue, Jul 10, 2018 at 6:14 PM Kugan Vivekanandarajah > wrote: >> >> On 10 July 2018 at 23:17, Richard Biener wrote: >> > On Tue, Jul 10, 2018 at 3:06 PM Kugan Vivekanandarajah >> > wrote: >

Re: [RFC] Fix recent popcount change is breaking

2018-07-10 Thread Kugan Vivekanandarajah
On 10 July 2018 at 23:17, Richard Biener wrote: > On Tue, Jul 10, 2018 at 3:06 PM Kugan Vivekanandarajah > wrote: >> >> Hi, >> >> Jeff told me that the recent popcount built-in detection is causing >> kernel build issues as >> ERROR: "__popcounts

[RFC] Fix recent popcount change is breaking

2018-07-10 Thread Kugan Vivekanandarajah
pcount? I am testing the attached RFC patch. Is this reasonable? Thanks, Kugan gcc/ChangeLog: 2018-07-10 Kugan Vivekanandarajah * tree-ssa-loop-niter.c (number_of_iterations_popcount): Check if libfunc for popcount is available. diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tre

Re: [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-07-09 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 6 July 2018 at 20:17, Richard Biener wrote: > On Fri, Jul 6, 2018 at 11:45 AM Kugan Vivekanandarajah > wrote: >> >> Hi Richard, >> >> > It was rewrite_to_non_trapping_overflow available in tree.h. Thus >> &

Re: [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-07-06 Thread Kugan Vivekanandarajah
gressions. Thanks, Kugan gcc/ChangeLog: 2018-07-06 Kugan Vivekanandarajah * tree-scalar-evolution.c (final_value_replacement_loop): Use rewrite_to_non_trapping_overflow instead of rewrite_to_defined_overflow. From 68a4f232f6cde68751f6785059121fe116363886 Mon Sep 17 00:00:00 2001 Fr

Re: [PATCH 0/3][POPCOUNT]

2018-07-06 Thread Kugan Vivekanandarajah
Hi Jeff, Thanks for looking into it. On 6 July 2018 at 08:03, Jeff Law wrote: > On 06/24/2018 08:41 PM, Kugan Vivekanandarajah wrote: >> Hi Jeff, >> >> Thanks for the comments. >> >> On 23 June 2018 at 02:06, Jeff Law wrote: >>> On 06/22/2018 03:11 A

Re: [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-07-05 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 28 June 2018 at 21:26, Richard Biener wrote: > On Wed, Jun 27, 2018 at 7:00 AM Kugan Vivekanandarajah > wrote: >> >> Hi Richard, >> >> Thanks for the review. >> >> On 25 June 2018 at 20:01, Richard Biener wrote: &

Re: [PATCH 3/3][POPCOUNT] Remove unnecessary if condition in phiopt

2018-07-01 Thread Kugan Vivekanandarajah
Hi Richard, On 29 June 2018 at 18:45, Richard Biener wrote: > On Wed, Jun 27, 2018 at 7:09 AM Kugan Vivekanandarajah > wrote: >> >> Hi Richard, >> >> Thanks for the review, >> >> On 25 June 2018 at 20:20, Richard Biener wrote: >> > On F

Re: [ABSU_EXPR] Add some of the missing patterns in match,pd

2018-06-28 Thread Kugan Vivekanandarajah
ing convert again. > > Where are the testcases? I have fixed the above and added test-cases. > >> Bootstrap and regression testing on x86_64-linux-gnu. Is this OK if no >> regressions. > > > Does it mean you have run the tests or intend to run them in the future? It &g

[ABSU_EXPR] Add some of the missing patterns in match,pd

2018-06-27 Thread Kugan Vivekanandarajah
Hi, This patch adds some of the missing patterns in match.pd for ABSU_EXPR. Bootstrap and regression testing on x86_64-linux-gnu. Is this OK if no regressions. Thanks, Kugan gcc/ChangeLog: 2018-06-28 Kugan Vivekanandarajah * match.pd (absu(x)*absu(x) -> x*x): Handle. (a

Re: [PATCH 3/3][POPCOUNT] Remove unnecessary if condition in phiopt

2018-06-26 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review, On 25 June 2018 at 20:20, Richard Biener wrote: > On Fri, Jun 22, 2018 at 11:16 AM Kugan Vivekanandarajah > wrote: >> >> gcc/ChangeLog: > > @@ -1516,6 +1521,114 @@ minmax_replacement (basic_block cond_bb, > basic_block mi

Re: [PATCH 2/3][POPCOUNT] Check if zero check is done before entering the loop

2018-06-26 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 25 June 2018 at 20:02, Richard Biener wrote: > On Fri, Jun 22, 2018 at 11:14 AM Kugan Vivekanandarajah > wrote: >> >> gcc/ChangeLog: > > The canonical way is calling simplify_using_initial_conditions on the > may_be_zero condit

Re: [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-06-26 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 25 June 2018 at 20:01, Richard Biener wrote: > On Fri, Jun 22, 2018 at 11:13 AM Kugan Vivekanandarajah > wrote: >> >> [PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p > > This says that COND_EXPR itself isn't expen

Re: [PATCH 0/3][POPCOUNT]

2018-06-24 Thread Kugan Vivekanandarajah
Hi Bin, On 25 June 2018 at 13:56, Bin.Cheng wrote: > On Mon, Jun 25, 2018 at 11:37 AM, Kugan Vivekanandarajah > wrote: >> Hi Bin, >> >> Thanks for your comments. >> >> On 25 June 2018 at 11:15, Bin.Cheng wrote: >>> On Fri, Jun 22, 2018 at 5:11 PM,

Re: [PATCH 0/3][POPCOUNT]

2018-06-24 Thread Kugan Vivekanandarajah
Hi Bin, Thanks for your comments. On 25 June 2018 at 11:15, Bin.Cheng wrote: > On Fri, Jun 22, 2018 at 5:11 PM, Kugan Vivekanandarajah > wrote: >> When we set niter with maybe_zero, currently final_value_relacement >> will not happen due to expression_expensive_p not handlin

Re: [PATCH 0/3][POPCOUNT]

2018-06-24 Thread Kugan Vivekanandarajah
Hi Jeff, Thanks for the comments. On 23 June 2018 at 02:06, Jeff Law wrote: > On 06/22/2018 03:11 AM, Kugan Vivekanandarajah wrote: >> When we set niter with maybe_zero, currently final_value_relacement >> will not happen due to expression_expensive_p not handling.

[PATCH 3/3][POPCOUNT] Remove unnecessary if condition in phiopt

2018-06-22 Thread Kugan Vivekanandarajah
gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-ssa-phiopt.c (cond_removal_in_popcount_pattern): New. (tree_ssa_phiopt_worker): Call cond_removal_in_popcount_pattern. gcc/testsuite/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * gcc.dg/tree-ssa/popcount3.c: New test

[PATCH 2/3][POPCOUNT] Check if zero check is done before entering the loop

2018-06-22 Thread Kugan Vivekanandarajah
gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount argument is checked for zero before entering loop, avoid checking again. From 4f2a6ad5a49eec0a1cae15e033329f889f9137b9 Mon Sep 17 00:00:00 2001 From: Kugan

[PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-06-22 Thread Kugan Vivekanandarajah
[PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-scalar-evolution.c (expression_expensive_p): Handle COND_EXPR. From aa38b98dd97567c6032c261f19b3705abc2233b0 Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah

[PATCH 0/3][POPCOUNT]

2018-06-22 Thread Kugan Vivekanandarajah
]: _2 = (unsigned long) b_4(D); _9 = __builtin_popcountl (_2); [local count: 118111601]: # c_12 = PHI <0(2), _9(3)> As advised earlier, patch 3 adds phiopt support to remove this. Bootstrap and regression testing are ongoing. Is this OK for trunk. Thanks, Kugan

Re: [RFC][PR64946] "abs" vectorization fails for char/short types

2018-06-11 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review and sorry for getting back to you late. On 4 June 2018 at 18:38, Richard Biener wrote: > On Mon, Jun 4, 2018 at 10:18 AM Kugan Vivekanandarajah > wrote: >> >> Hi Richard, >> >> Thanks for the review. >> >> On 1

Re: [RFC][PR64946] "abs" vectorization fails for char/short types

2018-06-04 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 1 June 2018 at 22:20, Richard Biener wrote: > On Fri, Jun 1, 2018 at 4:12 AM Kugan Vivekanandarajah > wrote: >> >> Hi Richard, >> >> This is the revised patch based on the review and the discussion in >> https://gcc.

Re: [RFC][PR82479] missing popcount builtin detection

2018-06-01 Thread Kugan Vivekanandarajah
Hi Bin, Thanks a lo for the review. On 1 June 2018 at 03:45, Bin.Cheng wrote: > On Thu, May 31, 2018 at 3:51 AM, Kugan Vivekanandarajah > wrote: >> Hi Bin, >> >> Thanks for the review. Please find the revised patch based on the >> review comments. >> >

Re: [RFC][PR64946] "abs" vectorization fails for char/short types

2018-05-31 Thread Kugan Vivekanandarajah
lso tried to add ABSU_EXPRsupport in the places as necessary by grepping for ABS_EXPR. - I also had to add special casing in vectorizer for ABSU_EXP as its result is unsigned type. Is this OK. Patch bootstraps and the regression test is ongoing. Thanks, Kugan On 18 May 2018 at 12:

Re: [RFC][PR82479] missing popcount builtin detection

2018-05-30 Thread Kugan Vivekanandarajah
Hi Bin, Thanks for the review. Please find the revised patch based on the review comments. Thanks, Kugan On 17 May 2018 at 19:56, Bin.Cheng wrote: > On Thu, May 17, 2018 at 2:39 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >> On 6 March 2018 at 02:2

Re: [RFC][PR64946] "abs" vectorization fails for char/short types

2018-05-17 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. I am revising the patch based on Andrew's comments too. On 17 May 2018 at 20:36, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, May 17, 2018 at 4:56 AM Andrew Pinski <pins...@gmail.com> wrote: > >> On Wed, May 16

[RFC][PR64946] "abs" vectorization fails for char/short types

2018-05-16 Thread Kugan Vivekanandarajah
in the correct way. I am not sure I am not doing all that is needed. I will clean up and add more test-cases based on the feedback. Thanks, Kugan gcc/ChangeLog: 2018-05-13 Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> * expr.c (expand_expr_real_2): Handle ABSU_EXPR. * fold-c

Re: [RFC][PR82479] missing popcount builtin detection

2018-05-16 Thread Kugan Vivekanandarajah
Hi Richard, On 6 March 2018 at 02:24, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Feb 8, 2018 at 1:41 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 1 February 2018 at 23:21, Richard Biener &l

Re: [PR63185][RFC] Improve DSE with branches

2018-05-15 Thread Kugan Vivekanandarajah
Hi Richard, On 15 May 2018 at 19:20, Richard Biener <rguent...@suse.de> wrote: > On Tue, 15 May 2018, Richard Biener wrote: > >> On Mon, 14 May 2018, Kugan Vivekanandarajah wrote: >> >> > Hi, >> > >> > Attached patch handles PR63185 when we reac

[PR63185][RFC] Improve DSE with branches

2018-05-13 Thread Kugan Vivekanandarajah
Hi, Attached patch handles PR63185 when we reach PHI with temp != NULLL. We could see the PHI and if there isn't any uses for PHI that is interesting, we could ignore that ? Bootstrapped and regression tested on x86_64-linux-gnu. Is this OK? Thanks, Kugan gcc/ChangeLog: 2018-05-14 Kugan

Re: [RFC] Improve tree DSE

2018-05-13 Thread Kugan Vivekanandarajah
gt;> tests >> for the store being redundant and simplify the patch considerably. Tried implementing above in the attached patch. Bootstrapped on x86_64-linux-gnu. Full testing is ongoing. Thanks, Kugan gcc/ChangeLog: 2018-05-14 Kugan Vivekanandarajah <kug...@linaro.org>

Re: [RFC] Improve tree DSE

2018-05-01 Thread Kugan Vivekanandarajah
Hi Jeff, Thanks for the review. On 2 May 2018 at 01:43, Jeff Law <l...@redhat.com> wrote: > On 04/09/2018 06:52 PM, Kugan Vivekanandarajah wrote: >> I would like to queue this patch for stage1 review. >> >> In DSE, while in dse_classify_store, as soon as we

[RFC] Improve tree DSE

2018-04-09 Thread Kugan Vivekanandarajah
with no new regressions. Is this OK for next stage1? Thanks, Kugan gcc/ChangeLog: 2018-04-10 Kugan Vivekanandarajah <kug...@linaro.org> * tree-ssa-dse.c (dse_classify_store): Handle recursive PHI. (dse_dom_walker::dse_optimize_stmt): Update call dse_classify_store. gcc/testsuite/Cha

Re: [RFC][PR82479] missing popcount builtin detection

2018-03-08 Thread Kugan Vivekanandarajah
Hi Richard and Bin, Thanks for your comments. I will revise the patch and post it as soon as stage-1 opens. Kugan On 7 March 2018 at 22:25, Bin.Cheng <amker.ch...@gmail.com> wrote: > On Wed, Mar 7, 2018 at 8:26 AM, Richard Biener > <richard.guent...@gmail.com> wrote: >>

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2018-03-06 Thread Kugan Vivekanandarajah
Hi James, This patch has to be backported to gcc-7 branch as the build error for 521.wrf with LTO is there too (for the same reason). This patch has been on trunk for some time now. So, is this OK to backport this patch gcc-7 branch? Thanks, Kugan On 30 August 2017 at 15:19, Kugan

Re: [RFC] Tree loop unroller pass

2018-02-19 Thread Kugan Vivekanandarajah
Hi Richard, On 16 February 2018 at 22:56, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Feb 15, 2018 at 11:30 PM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Wilko, >> >> Thanks for your comments. >> >&

Re: [RFC] Tree loop unroller pass

2018-02-15 Thread Kugan Vivekanandarajah
Hi Wilko, Thanks for your comments. On 14 February 2018 at 00:05, Wilco Dijkstra <wilco.dijks...@arm.com> wrote: > Hi Kugan, > >> Based on the previous discussions, I tried to implement a tree loop >> unroller for partial unrolling. I would like to queue this RFC pa

Re: [RFC][AARCH64] Machine reorg pass for aarch64/Falkor to handle prefetcher tag collision

2018-02-15 Thread Kugan Vivekanandarajah
Hi, On 14 February 2018 at 09:47, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Hi Kyrill, > > On 13 February 2018 at 20:47, Kyrill Tkachov > <kyrylo.tkac...@foss.arm.com> wrote: >> Hi Kugan, >> >> On 12/02/18 23:58, Kugan

Re: [RFC][AARCH64] Machine reorg pass for aarch64/Falkor to handle prefetcher tag collision

2018-02-13 Thread Kugan Vivekanandarajah
Hi Kyrill, On 13 February 2018 at 20:47, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> wrote: > Hi Kugan, > > On 12/02/18 23:58, Kugan Vivekanandarajah wrote: >> >> Implements a machine reorg pass for aarch64/Falkor to handle >> prefetcher tag collision. This

Re: [RFC] Adds a target hook

2018-02-13 Thread Kugan Vivekanandarajah
Hi Kyrill, Thanks for the review. On 13 February 2018 at 20:58, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> wrote: > Hi Kugan, > > On 12/02/18 23:53, Kugan Vivekanandarajah wrote: >> >> Adds a target hook TARGET_HW_MAX_MEM_READ_STREAMS. Loop unroller, if &g

[RFC][AARCH64] Machine reorg pass for aarch64/Falkor to handle prefetcher tag collision

2018-02-12 Thread Kugan Vivekanandarajah
-10/msg00178.html. gcc/ChangeLog: 2018-02-12 Kugan Vivekanandarajah <kug...@linaro.org> * config/aarch64/aarch64.c (iv_p): New. (strided_load_p): Likwise. (make_tag): Likesie. (get_load_info): Likewise. (aarch64_reorg): Likewise. (TARGET_MACHINE_DEPENDENT

[RFC][AARCH64] Implements target hook

2018-02-12 Thread Kugan Vivekanandarajah
Implements target hook TARGET_HW_MAX_MEM_READ_STREAMS for aarch64 gcc/ChangeLog: 2018-02-12 Kugan Vivekanandarajah <kug...@linaro.org> * config/aarch64/aarch64-protos.h (struct cpu_prefetch_tune): Add new entry hw_prefetchers_avail. * config/aarch64/aar

[RFC] Tree Loop Unroller Pass

2018-02-12 Thread Kugan Vivekanandarajah
Implements tree loop unroller using the infrastructure provided. gcc/ChangeLog: 2018-02-12 Kugan Vivekanandarajah <kug...@linaro.org> * Makefile.in (OBJS): Add tree-ssa-loop-unroll.o. * common.opt (ftree-loop-unroll): New option. * passes.def: Add pass_tree_loop

[RFC] Adds a target hook

2018-02-12 Thread Kugan Vivekanandarajah
Adds a target hook TARGET_HW_MAX_MEM_READ_STREAMS. Loop unroller, if defined, will try to limit the unrolling factor based on this. gcc/ChangeLog: 2018-02-12 Kugan Vivekanandarajah <kug...@linaro.org> * doc/tm.texi.in (TARGET_HW_MAX_MEM_READ_STREAMS): Dcoument. * doc/t

[RFC] Tree loop unroller pass

2018-02-12 Thread Kugan Vivekanandarajah
/w prefetcher performing badly if there are too-much tag collisions based on the discussions in https://gcc.gnu.org/ml/gcc/2017-10/msg00178.html. Thanks, Kugan

Re: [RFC][PR82479] missing popcount builtin detection

2018-02-07 Thread Kugan Vivekanandarajah
Hi Richard, On 1 February 2018 at 23:21, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Feb 1, 2018 at 5:07 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 31 January 2018 at 21:39, Richard Biener &l

Re: [RFC][PR82479] missing popcount builtin detection

2018-01-31 Thread Kugan Vivekanandarajah
Hi Richard, On 31 January 2018 at 21:39, Richard Biener <richard.guent...@gmail.com> wrote: > On Wed, Jan 31, 2018 at 11:28 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> Thanks for the review. >> O

Re: [RFC][PR82479] missing popcount builtin detection

2018-01-31 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 25 January 2018 at 20:04, Richard Biener <richard.guent...@gmail.com> wrote: > On Wed, Jan 24, 2018 at 10:56 PM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi All, >> >> Here is a patch fo

[RFC][PR82479] missing popcount builtin detection

2018-01-24 Thread Kugan Vivekanandarajah
that happens in practice. Please correct me if I am wrong. Bootstrapped and regression tested on aarch64-linux-gnu with no new regressions. Thanks, Kugan gcc/ChangeLog: 2018-01-25 Kugan Vivekanandarajah <kug...@linaro.org> PR middle-end/82479 * tree-loop-distribution.c (handle_po

Re: [PATCH][arm] XFAIL advsimd-intrinsics/vld1x2.c

2018-01-15 Thread Kugan Vivekanandarajah
Hi Kyrill, Sorry for the breakage and thanks for fixing the testcase. Thanks, Kugan On 12 January 2018 at 02:33, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> wrote: > Hi all, > > This recently added test fails on arm. We haven't implemented these > intrinsics for arm >

Re: [AARCH64] implements neon vld1_*_x2 intrinsics

2017-11-14 Thread Kugan Vivekanandarajah
Ping? Thanks, Kugan On 7 November 2017 at 15:10, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Hi, > > Attached patch implements the vld1_*_x2 intrinsics as defined by the > neon document. > > Bootstrap for the latest patch is ongoing on aarch64

[AARCH64] implements neon vld1_*_x2 intrinsics

2017-11-06 Thread Kugan Vivekanandarajah
Hi, Attached patch implements the vld1_*_x2 intrinsics as defined by the neon document. Bootstrap for the latest patch is ongoing on aarch64-linux-gnu. Is this OK for trunk if no regressions? Thanks, Kugan gcc/ChangeLog: 2017-11-06 Kugan Vivekanandarajah <kug...@linaro.org> *

  1   2   3   4   5   6   >