On Tue, Apr 30, 2024 at 09:30:00AM +0200, Richard Biener wrote:
> On Mon, Apr 29, 2024 at 5:30 PM H.J. Lu <hjl.to...@gmail.com> wrote:
> >
> > On Mon, Apr 29, 2024 at 6:47 AM liuhongt <hongtao....@intel.com> wrote:
> > >
> > > The Fortran standard does not specify what the result of the MAX
> > > and MIN intrinsics are if one of the arguments is a NaN. So it
> > > should be ok to tranform reduction for IFN_COND_MIN with vectorized
> > > COND_MIN and REDUC_MIN.
> >
> > The commit subject isn't very clear.   This patch isn't about "Don't assert
> > for IFN_COND_{MIN,MAX}".  It allows IFN_COND_{MIN,MAX} in
> > vect_transform_reduction.
> 
> Well, we allow it elsewhere, we just fail to enumerate all COND_* we allow
> here correctly.
> 
> > > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}.
> > > Ok for trunk and backport to GCC14?
> 
> OK for trunk and branch.

Oops, I've just sent the same patch, just with a different testcase
(reduced and which tests both the min and max).
I think the reduced testcase is better.

> > > gcc/ChangeLog:
> > >
> > >         PR 114883

Missing tree-optimization/

> > >         * tree-vect-loop.cc (vect_transform_reduction): Don't assert
> > >         for IFN_COND_{MIN, MAX}.
> > >
> > > gcc/testsuite/ChangeLog:
> > >
> > >         * gfortran.dg/pr114883.f90: New test.

        Jakub

Reply via email to