Pushed, thanks.
On Wed, Oct 09, 2013 at 04:14:48PM +0800, Homer Hsing wrote: > this patch passes following piglit test case > piglit/framework/../bin/cl-program-tester > generated_tests/cl/builtin/relational/builtin-float-isnan-1.0.generated.cl > > Signed-off-by: Homer Hsing <[email protected]> > --- > backend/src/ocl_stdlib.tmpl.h | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h > index 8dfea09..831a658 100644 > --- a/backend/src/ocl_stdlib.tmpl.h > +++ b/backend/src/ocl_stdlib.tmpl.h > @@ -246,7 +246,11 @@ DEF(uint, float); > > INLINE_OVERLOADABLE int isfinite(float x) { return __builtin_isfinite(x); } > INLINE_OVERLOADABLE int isinf(float x) { return __builtin_isinf(x); } > -INLINE_OVERLOADABLE int isnan(float x) { return __builtin_isnan(x); } > +INLINE_OVERLOADABLE int isnan(float x) { > + union { uint u; float f; } u; > + u.f = x; > + return (u.u & 0x7FFFFFFF) > 0x7F800000; > +} > INLINE_OVERLOADABLE int isnormal(float x) { return __builtin_isnormal(x); } > INLINE_OVERLOADABLE int isordered(float x, float y) { return isequal(x, x) > && isequal(y, y); } > INLINE_OVERLOADABLE int isunordered(float x, float y) { return isnan(x) || > isnan(y); } > -- > 1.8.1.2 > > _______________________________________________ > Beignet mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
