RE: [RFC][GCC][AArch64] Add minmax phi-reduction pattern

2019-11-18 Thread Richard Biener
to match exceed combine's maximum. Yes, I think that's already done - vectorizable_reduction checks for such supported epilogue operation. So I think the main issue right now is that vect_is_simple_reduction needs to identify the beast as a single reduction. I think it

RE: [RFC][GCC][AArch64] Add minmax phi-reduction pattern

2019-11-18 Thread Tamar Christina
ents you'd need to match exceed combine's maximum. Thanks, Tamar > -Original Message- > From: Richard Biener > Sent: Monday, November 18, 2019 11:24 > To: Joel Hutton > Cc: GCC Patches ; Tamar Christina > ; nd > Subject: Re: [RFC][GCC][AArch64] A

Re: [RFC][GCC][AArch64] Add minmax phi-reduction pattern

2019-11-18 Thread Richard Biener
On Fri, 15 Nov 2019, Joel Hutton wrote: > Forgot to CC maintainer. > On 15/11/2019 18:03, Joel wrote: > > Hi all, > > > > Just looking for some feedback on the approach. > > > > Currently the loop vectorizer can't vectorize the following typical > > loop for getting max value and index from an ar

Re: [RFC][GCC][AArch64] Add minmax phi-reduction pattern

2019-11-15 Thread Joel Hutton
Forgot to CC maintainer. On 15/11/2019 18:03, Joel wrote: > Hi all, > > Just looking for some feedback on the approach. > > Currently the loop vectorizer can't vectorize the following typical > loop for getting max value and index from an array: > > void test_vec(int *data, int n) { >     int

[RFC][GCC][AArch64] Add minmax phi-reduction pattern

2019-11-15 Thread Joel Hutton
Hi all, Just looking for some feedback on the approach. Currently the loop vectorizer can't vectorize the following typical loop for getting max value and index from an array: void test_vec(int *data, int n) {     int best_i, best = 0;     for (int i = 0; i < n; i++) {