[PATCH] D85911: libclc: spirv: Add various functions

Daniel Stone via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 08:29:04 PDT 2020


daniels created this revision.
daniels added reviewers: jvesely, tstellar.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
daniels requested review of this revision.

This commit adds more source files to libclc's SPIR-V backend, giving us more
functionality. Proper fma support depends on D85910 <https://reviews.llvm.org/D85910> being landed.

Depends on: D85910 <https://reviews.llvm.org/D85910>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D85911

Files:
  libclc/spirv/lib/SOURCES
  libclc/spirv/lib/math/fma.cl
  libclc/spirv/lib/math/fma.inc
  libclc/spirv64/lib/SOURCES
  libclc/spirv64/lib/math/fma.cl
  libclc/spirv64/lib/math/fma.inc


Index: libclc/spirv64/lib/math/fma.inc
===================================================================
--- /dev/null
+++ libclc/spirv64/lib/math/fma.inc
@@ -0,0 +1,3 @@
+_CLC_DEF _CLC_OVERLOAD __CLC_GENTYPE fma(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c) {
+	return __clc_sw_fma(a, b, c);
+}
Index: libclc/spirv64/lib/math/fma.cl
===================================================================
--- /dev/null
+++ libclc/spirv64/lib/math/fma.cl
@@ -0,0 +1,6 @@
+#include <clc/clc.h>
+#include <math/clc_fma.h>
+
+#define __CLC_BODY <fma.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
Index: libclc/spirv64/lib/SOURCES
===================================================================
--- libclc/spirv64/lib/SOURCES
+++ libclc/spirv64/lib/SOURCES
@@ -41,6 +41,10 @@
 ../../generic/lib/math/exp2.cl
 ../../generic/lib/math/clc_exp10.cl
 ../../generic/lib/math/exp10.cl
+../../generic/lib/math/clc_fma.cl
+math/fma.cl
+../../generic/lib/math/clc_fmod.cl
+../../generic/lib/math/fmod.cl
 ../../generic/lib/math/fract.cl
 ../../generic/lib/math/frexp.cl
 ../../generic/lib/math/half_rsqrt.cl
@@ -48,6 +52,8 @@
 ../../generic/lib/math/clc_hypot.cl
 ../../generic/lib/math/hypot.cl
 ../../generic/lib/math/ilogb.cl
+../../generic/lib/math/clc_ldexp.cl
+../../generic/lib/math/ldexp.cl
 ../../generic/lib/math/lgamma.cl
 ../../generic/lib/math/lgamma_r.cl
 ../../generic/lib/math/log.cl
Index: libclc/spirv/lib/math/fma.inc
===================================================================
--- /dev/null
+++ libclc/spirv/lib/math/fma.inc
@@ -0,0 +1,3 @@
+_CLC_DEF _CLC_OVERLOAD __CLC_GENTYPE fma(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c) {
+	return __clc_sw_fma(a, b, c);
+}
Index: libclc/spirv/lib/math/fma.cl
===================================================================
--- /dev/null
+++ libclc/spirv/lib/math/fma.cl
@@ -0,0 +1,6 @@
+#include <clc/clc.h>
+#include <math/clc_fma.h>
+
+#define __CLC_BODY <fma.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>
Index: libclc/spirv/lib/SOURCES
===================================================================
--- libclc/spirv/lib/SOURCES
+++ libclc/spirv/lib/SOURCES
@@ -41,6 +41,10 @@
 ../../generic/lib/math/exp2.cl
 ../../generic/lib/math/clc_exp10.cl
 ../../generic/lib/math/exp10.cl
+../../generic/lib/math/clc_fma.cl
+math/fma.cl
+../../generic/lib/math/clc_fmod.cl
+../../generic/lib/math/fmod.cl
 ../../generic/lib/math/fract.cl
 ../../generic/lib/math/frexp.cl
 ../../generic/lib/math/half_rsqrt.cl
@@ -48,6 +52,8 @@
 ../../generic/lib/math/clc_hypot.cl
 ../../generic/lib/math/hypot.cl
 ../../generic/lib/math/ilogb.cl
+../../generic/lib/math/clc_ldexp.cl
+../../generic/lib/math/ldexp.cl
 ../../generic/lib/math/lgamma.cl
 ../../generic/lib/math/lgamma_r.cl
 ../../generic/lib/math/log.cl


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85911.285383.patch
Type: text/x-patch
Size: 2800 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200813/8b6d570d/attachment.bin>


More information about the llvm-commits mailing list