From 4c59714a52f2b78c0413005d1ec1f23839fa789d Mon Sep 17 00:00:00 2001 From: Jan Vesely Date: Mon, 25 Jul 2016 22:36:22 +0000 Subject: [PATCH] Make min follow the OCL 1.0 specs OpenCL 1.0: "Returns y if y < x, otherwise it returns x. If x *and* y are infinite or NaN, the return values are undefined." OpenCL 1.1+: "Returns y if y < x, otherwise it returns x. If x *or* y are infinite or NaN, the return values are undefined." The 1.0 version is stricter so use that one. Signed-off-by: Jan Vesely llvm-svn: 276704 --- libclc/generic/lib/shared/min.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libclc/generic/lib/shared/min.inc b/libclc/generic/lib/shared/min.inc index fe42864..e15e055 100644 --- a/libclc/generic/lib/shared/min.inc +++ b/libclc/generic/lib/shared/min.inc @@ -1,9 +1,9 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_GENTYPE b) { - return (a < b ? a : b); + return (b < a ? b : a); } #ifndef __CLC_SCALAR _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b) { - return (a < (__CLC_GENTYPE)b ? a : (__CLC_GENTYPE)b); + return (b < (__CLC_GENTYPE)a ? (__CLC_GENTYPE)b : a); } #endif -- 2.7.4