[Beignet] [PATCH] fix 32-bit signed version of "sub_sat"
Zhigang Gong
zhigang.gong at linux.intel.com
Tue Sep 3 00:59:01 PDT 2013
LGTM, thanks.
On Tue, Sep 03, 2013 at 08:41:28AM +0800, Homer Hsing wrote:
> This patch makes following piglit test case pass.
> piglit/framework/../bin/cl-program-tester generated_tests/cl/builtin/int/builtin-int-sub_sat-1.0.generated.cl
>
> Signed-off-by: Homer Hsing <homer.xing at intel.com>
> ---
> backend/src/ocl_stdlib.tmpl.h | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h
> index d4e436d..8c50279 100644
> --- a/backend/src/ocl_stdlib.tmpl.h
> +++ b/backend/src/ocl_stdlib.tmpl.h
> @@ -182,9 +182,14 @@ INLINE_OVERLOADABLE TYPE add_sat(TYPE x, TYPE y) { return ocl_sadd_sat(x, y); }
> INLINE_OVERLOADABLE TYPE sub_sat(TYPE x, TYPE y) { return ocl_ssub_sat(x, y); }
> SDEF(char);
> SDEF(short);
> -SDEF(int);
> SDEF(long);
> #undef SDEF
> +OVERLOADABLE int ocl_sadd_sat(int x, int y);
> +INLINE_OVERLOADABLE int add_sat(int x, int y) { return ocl_sadd_sat(x, y); }
> +OVERLOADABLE int ocl_ssub_sat(int x, int y);
> +INLINE_OVERLOADABLE int sub_sat(int x, int y) {
> + return (y == 0x80000000u) ? (x & 0x7FFFFFFF) : ocl_ssub_sat(x, y);
> +}
> #define UDEF(TYPE) \
> OVERLOADABLE TYPE ocl_uadd_sat(TYPE x, TYPE y); \
> OVERLOADABLE TYPE ocl_usub_sat(TYPE x, TYPE y); \
> --
> 1.8.1.2
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list