https://github.com/matrixication created https://github.com/llvm/llvm-project/pull/85724
None >From 17d806c308a7835aeb52aeb347bbfa1e3b135275 Mon Sep 17 00:00:00 2001 From: Matrix <mat...@cock.pm> Date: Tue, 19 Mar 2024 00:59:06 +0000 Subject: [PATCH] [libclc] implemented a suggestion to avoid magic numbers --- libclc/amdgcn/lib/math/fmax.cl | 38 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/libclc/amdgcn/lib/math/fmax.cl b/libclc/amdgcn/lib/math/fmax.cl index cb796161010829..f82508e8a7e739 100644 --- a/libclc/amdgcn/lib/math/fmax.cl +++ b/libclc/amdgcn/lib/math/fmax.cl @@ -4,42 +4,42 @@ _CLC_DEF _CLC_OVERLOAD float fmax(float x, float y) { - /* fcanonicalize removes sNaNs and flushes denormals if not enabled. - * Otherwise fmax instruction flushes the values for comparison, - * but outputs original denormal */ - x = __builtin_canonicalizef(x); - y = __builtin_canonicalizef(y); - return __builtin_fmaxf(x, y); + /* fcanonicalize removes sNaNs and flushes denormals if not enabled. + * Otherwise fmax instruction flushes the values for comparison, + _but outputs original denormal_ */ + x = __builtin_canonicalizef(x); + y = __builtin_canonicalizef(y); + return __builtin_fmaxf(x, y); } + _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, fmax, float, float) #ifdef cl_khr_fp64 - #pragma OPENCL EXTENSION cl_khr_fp64 : enable - _CLC_DEF _CLC_OVERLOAD double fmax(double x, double y) { - x = __builtin_canonicalize(x); - y = __builtin_canonicalize(y); - return __builtin_fmax(x, y); + x = __builtin_canonicalize(x); + y = __builtin_canonicalize(y); + return __builtin_fmax(x, y); } _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, fmax, double, double) - #endif -#ifdef cl_khr_fp16 +#ifdef cl_khr_fp16 #pragma OPENCL EXTENSION cl_khr_fp16 : enable +#define HALF_ZERO 0.0h + _CLC_DEF _CLC_OVERLOAD half fmax(half x, half y) { - if (isnan(x)) - return y; - if (isnan(y)) - return x; - return (y < x) ? x : y; + if (isnan(x)) + return y; + if (isnan(y)) + return x; + return (y < x) ? x : y; } -_CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, half, fmax, half, half) +_CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, half, fmax, half, half) #endif #define __CLC_BODY <../../../generic/lib/math/fmax.inc> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits