This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi Jeff,
> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of Jeff Law
> Sent: Monday, August 03, 2015 11:42 PM
> To: Kumar, Venkataramanan; Jakub Jelinek
> Cc: Richard Beiner (richard.guenther@gmail.com); gcc-patches@gcc.gnu.org
> Subject: Re: [RFC] [Patch]: Try and vectorize with shift for mult expr with
> power 2 integer constant.
>
> On 08/02/2015 05:03 AM, Kumar, Venkataramanan wrote:
> > Hi Jakub,
> >
> > Thank you for reviewing the patch.
> >
> > I have incorporated your comments in the attached patch.
> Note Jakub is on PTO for the next 3 weeks.
Thank you for this information.
>
>
> >
> >
> >
> > vectorize_mults_via_shift.diff.txt
> >
> >
> > diff --git a/gcc/testsuite/gcc.dg/vect/vect-mult-patterns.c
> > b/gcc/testsuite/gcc.dg/vect/vect-mult-patterns.c
> Jakub would probably like more testcases :-)
>
> The most obvious thing to test would be other shift factors.
>
> A negative test to verify we don't try to turn a multiply by non-constant or
> multiply by a constant that is not a power of 2 into shifts.
I have added negative test in the attached patch.
>
> [ Would it make sense, for example, to turn a multiply by 3 into a shift-add
> sequence? As Jakub said, choose_mult_variant can be your friend. ]
Yes I will do that in a follow up patch.
The new change log becomes
gcc/ChangeLog
2015-08-04 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* tree-vect-patterns.c (vect_recog_mult_pattern): New function for vectorizing
multiplication patterns.
* tree-vectorizer.h: Adjust the number of patterns.
gcc/testsuite/ChangeLog
2015-08-04 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
* gcc.dg/vect/vect-mult-pattern-1.c: New
* gcc.dg/vect/vect-mult-pattern-2.c: New
Bootstrapped and reg tested on aarch64-unknown-linux-gnu.
Ok for trunk ?
>
>
>
> > @@ -2147,6 +2152,140 @@ vect_recog_vector_vector_shift_pattern
> (vec<gimple> *stmts,
> > return pattern_stmt;
> > }
> >
> > +/* Detect multiplication by constant which are postive or negatives
> > +of power 2,
> s/postive/positive/
>
>
> Jeff
Regards,
Venkat.
Attachment:
vectorize_mults_via_shift.diff.txt
Description: vectorize_mults_via_shift.diff.txt
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |