[Libclc-dev] [PATCH 1/1] math: Use single precision builtin in sp fdim path

Aaron Watry via Libclc-dev libclc-dev at lists.llvm.org
Fri May 13 20:49:13 PDT 2016


On Fri, May 13, 2016, 7:49 PM Tom Stellard via Libclc-dev <
libclc-dev at lists.llvm.org> wrote:

> On Fri, May 13, 2016 at 08:36:18PM -0400, Jan Vesely via Libclc-dev wrote:
> > Fixes fdim piglit on Turks
> >
> > Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> > ---
> >
> > Not sure when llvm started inserting double promotion:
> > <unknown>:0:0: in function test_1_fdim_float void (float addrspace(1)*,
> float addrspace(1)*, float addrspace(1)*): unsupported call to function
> __extendsfdf2
> >
> >  generic/lib/math/fdim.inc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/generic/lib/math/fdim.inc b/generic/lib/math/fdim.inc
> > index a67c76e..0e57513 100644
> > --- a/generic/lib/math/fdim.inc
> > +++ b/generic/lib/math/fdim.inc
> > @@ -25,7 +25,7 @@
> >  _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE fdim(__CLC_GENTYPE x,
> __CLC_GENTYPE y) {
> >      if (__builtin_isnan(x) || __builtin_isnan(y))
> >          return as_float(QNANBITPATT_SP32);
> > -    return __builtin_fmax(x - y, 0);
> > +    return __builtin_fmaxf(x - y, 0);
>
> Is there a reason we aren't just calling the OpenCL builtin fmax ?
>

Reason? Or good reason?

If we change this to either __builtin_fmaxf or fmax (I'd go with that),
should we also make that an explicit 0.0f?

--Aaron


> -Tom
>
> >  }
> >  #define __CLC_FDIM_VEC(width) \
> >  _CLC_OVERLOAD _CLC_DEF float##width fdim(float##width x, float##width
> y) { \
> > --
> > 2.5.5
> >
> > _______________________________________________
> > Libclc-dev mailing list
> > Libclc-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20160514/11859f21/attachment.html>


More information about the Libclc-dev mailing list