diff options
author | Daniel Stone <daniels@collabora.com> | 2020-09-15 13:01:04 -0400 |
---|---|---|
committer | Jan Vesely <jano.vesely@gmail.com> | 2020-09-16 01:37:22 -0400 |
commit | 291bfff5dbb70360730e91b4019f8080e4e3d7f5 (patch) | |
tree | 0cc8e3b25b44717e2e67423085e7d6dbf0fd2a42 /libclc | |
parent | [MLIR][NFC] Value print update for block arguments (diff) | |
download | llvm-project-291bfff5dbb70360730e91b4019f8080e4e3d7f5.tar.gz llvm-project-291bfff5dbb70360730e91b4019f8080e4e3d7f5.tar.bz2 llvm-project-291bfff5dbb70360730e91b4019f8080e4e3d7f5.zip |
libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA
Reviewer: jenatali jvesely
Differential Revision: https://reviews.llvm.org/D85910
Diffstat (limited to 'libclc')
-rw-r--r-- | libclc/generic/lib/math/math.h | 3 | ||||
-rw-r--r-- | libclc/spirv/lib/math/fma.cl | 5 | ||||
-rw-r--r-- | libclc/spirv64/lib/math/fma.cl | 5 |
3 files changed, 13 insertions, 0 deletions
diff --git a/libclc/generic/lib/math/math.h b/libclc/generic/lib/math/math.h index c931d19a380c..351e37dc3f12 100644 --- a/libclc/generic/lib/math/math.h +++ b/libclc/generic/lib/math/math.h @@ -40,6 +40,9 @@ #if (defined __AMDGCN__ || defined __R600__) && !defined __HAS_FMAF__ #define HAVE_HW_FMA32() (0) +#elif defined CLC_SPIRV || defined CLC_SPIRV64 +bool __attribute__((noinline)) __clc_runtime_has_hw_fma32(void); +#define HAVE_HW_FMA32() __clc_runtime_has_hw_fma32() #else #define HAVE_HW_FMA32() (1) #endif diff --git a/libclc/spirv/lib/math/fma.cl b/libclc/spirv/lib/math/fma.cl index 982ddc4374f3..79142425e52d 100644 --- a/libclc/spirv/lib/math/fma.cl +++ b/libclc/spirv/lib/math/fma.cl @@ -4,3 +4,8 @@ #define __CLC_BODY <fma.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> + +bool __clc_runtime_has_hw_fma32() +{ + return false; +} diff --git a/libclc/spirv64/lib/math/fma.cl b/libclc/spirv64/lib/math/fma.cl index 982ddc4374f3..79142425e52d 100644 --- a/libclc/spirv64/lib/math/fma.cl +++ b/libclc/spirv64/lib/math/fma.cl @@ -4,3 +4,8 @@ #define __CLC_BODY <fma.inc> #define __FLOAT_ONLY #include <clc/math/gentype.inc> + +bool __clc_runtime_has_hw_fma32() +{ + return false; +} |