diff --git a/libclc/generic/include/clc/shared/clamp.inc b/libclc/generic/include/clc/shared/clamp.inc index 3e3a4357d380..67c8142dec60 100644 --- a/libclc/generic/include/clc/shared/clamp.inc +++ b/libclc/generic/include/clc/shared/clamp.inc @@ -1 +1,5 @@ _CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z); + +#ifndef SCALAR +_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z); +#endif diff --git a/libclc/generic/include/clc/shared/max.inc b/libclc/generic/include/clc/shared/max.inc index ce6c6d0d5fac..9fe73c44e2d9 100644 --- a/libclc/generic/include/clc/shared/max.inc +++ b/libclc/generic/include/clc/shared/max.inc @@ -1 +1,5 @@ _CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, GENTYPE b); + +#ifndef SCALAR +_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, SCALAR_GENTYPE b); +#endif diff --git a/libclc/generic/lib/shared/clamp.inc b/libclc/generic/lib/shared/clamp.inc index ed49b8e8fd52..58370d3067c3 100644 --- a/libclc/generic/lib/shared/clamp.inc +++ b/libclc/generic/lib/shared/clamp.inc @@ -1,3 +1,9 @@ _CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z) { return (x > z ? z : (x < y ? y : x)); } + +#ifndef SCALAR +_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z) { + return (x > (GENTYPE)z ? (GENTYPE)z : (x < (GENTYPE)y ? (GENTYPE)y : x)); +} +#endif \ No newline at end of file diff --git a/libclc/generic/lib/shared/max.inc b/libclc/generic/lib/shared/max.inc index 37409fc8a244..6a12b6faa2cf 100644 --- a/libclc/generic/lib/shared/max.inc +++ b/libclc/generic/lib/shared/max.inc @@ -1,3 +1,9 @@ _CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, GENTYPE b) { return (a > b ? a : b); } + +#ifndef SCALAR +_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, SCALAR_GENTYPE b) { + return (a > (GENTYPE)b ? a : (GENTYPE)b); +} +#endif \ No newline at end of file