LGTM, pushed, thanks.
> -----Original Message----- > From: Beignet [mailto:beignet-boun...@lists.freedesktop.org] On Behalf Of > Guo, Yejun > Sent: Tuesday, March 8, 2016 14:54 > To: Guo, Yejun <yejun....@intel.com>; beignet@lists.freedesktop.org > Subject: Re: [Beignet] [PATCH] change behavior of mul24/mad24 when out > of range > > ping for review, thanks. > > -----Original Message----- > From: Beignet [mailto:beignet-boun...@lists.freedesktop.org] On Behalf Of > Guo Yejun > Sent: Thursday, February 25, 2016 6:20 AM > To: beignet@lists.freedesktop.org > Cc: Guo, Yejun > Subject: [Beignet] [PATCH] change behavior of mul24/mad24 when out of > range > > mul24 and mad24 are supposed to be fast integer functions, but the current > implementation is slower. At least we should provide same performance if > not faster, so change the behavior when the parameters are out of range > since it is implementation-defined. > > passed test: integer_ops of conformance test > > Signed-off-by: Guo Yejun <yejun....@intel.com> > --- > backend/src/libocl/tmpl/ocl_integer.tmpl.cl | 4 ++-- > utests/compiler_mad24.cpp | 2 +- > utests/compiler_mul24.cpp | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/backend/src/libocl/tmpl/ocl_integer.tmpl.cl > b/backend/src/libocl/tmpl/ocl_integer.tmpl.cl > index 12408eb..7e7f4ae 100644 > --- a/backend/src/libocl/tmpl/ocl_integer.tmpl.cl > +++ b/backend/src/libocl/tmpl/ocl_integer.tmpl.cl > @@ -139,8 +139,8 @@ DEF(long) > DEF(ulong) > #undef DEF > > -OVERLOADABLE int mul24(int a, int b) { return ((a << 8) >> 8) * ((b << 8) >> > 8); } -OVERLOADABLE uint mul24(uint a, uint b) { return (a & 0xFFFFFF) * (b & > 0xFFFFFF); } > +OVERLOADABLE int mul24(int a, int b) { return a*b; } OVERLOADABLE uint > +mul24(uint a, uint b) { return a*b; } > > OVERLOADABLE int mad24(int a, int b, int c) { return mul24(a, b) + c; } > OVERLOADABLE uint mad24(uint a, uint b, uint c) { return mul24(a, b) + c; } > diff --git a/utests/compiler_mad24.cpp b/utests/compiler_mad24.cpp index > a3890a1..ba2dcf6 100644 > --- a/utests/compiler_mad24.cpp > +++ b/utests/compiler_mad24.cpp > @@ -34,7 +34,7 @@ void compiler_mad24(void) > > OCL_MAP_BUFFER(3); > for (int i = 0; i < n; ++i) > - OCL_ASSERT(((int*)buf_data[3])[i] == ((src1[i] << 8) >> 8) * ((src2[i] << > 8) >> 8) + src3[i]); > + OCL_ASSERT(((int*)buf_data[3])[i] == (src1[i]) * (src2[i]) + > + src3[i]); > OCL_UNMAP_BUFFER(3); > } > > diff --git a/utests/compiler_mul24.cpp b/utests/compiler_mul24.cpp index > 8a36947..f1a9a40 100644 > --- a/utests/compiler_mul24.cpp > +++ b/utests/compiler_mul24.cpp > @@ -29,7 +29,7 @@ void compiler_mul24(void) > > OCL_MAP_BUFFER(2); > for (int i = 0; i < n; ++i) > - OCL_ASSERT(((int*)buf_data[2])[i] == ((src1[i] << 8) >> 8) * ((src2[i] << > 8) >> 8)); > + OCL_ASSERT(((int*)buf_data[2])[i] == (src1[i]) * (src2[i])); > OCL_UNMAP_BUFFER(2); > } > > -- > 1.9.1 > > _______________________________________________ > Beignet mailing list > Beignet@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/beignet > _______________________________________________ > Beignet mailing list > Beignet@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet