[Beignet] [PATCH 17/19] libocl: Add all the half defines for script generation.

junyan.he at inbox.com junyan.he at inbox.com
Thu Jun 11 04:25:38 PDT 2015


From: Junyan He <junyan.he at linux.intel.com>

Signed-off-by: Junyan He <junyan.he at linux.intel.com>
---
 backend/src/libocl/script/ocl_common.def     |  6 ++++++
 backend/src/libocl/script/ocl_math.def       | 31 +++++++++++++++++++++++++++-
 backend/src/libocl/script/ocl_relational.def | 16 +++++++++++++-
 3 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/backend/src/libocl/script/ocl_common.def b/backend/src/libocl/script/ocl_common.def
index fac5ef5..0233eb4 100644
--- a/backend/src/libocl/script/ocl_common.def
+++ b/backend/src/libocl/script/ocl_common.def
@@ -1,22 +1,28 @@
 ##common
 gentype clamp (gentype x, gentype minval, gentype maxval)
 gentypef clamp (gentypef x, float minval, float maxval)
+gentypeh clamp (gentypeh x, half minval, half maxval)
 gentyped clamp (gentyped x, double minval, double maxval)
 gentype degrees (gentype radians)
 gentype max (gentype x,  gentype y)
 gentypef max (gentypef x, float y)
+gentypeh max (gentypeh x, half y)
 gentyped max (gentyped x, double y)
 gentype min (gentype x,  gentype y)
 gentypef min (gentypef x,  float y)
+gentypeh min (gentypeh x,  half y)
 gentyped min (gentyped x,  double y)
 gentype mix (gentype x, gentype y, gentype a)
 gentypef mix (gentypef x, gentypef y, float a)
+gentypeh mix (gentypeh x, gentypeh y, half a)
 gentyped mix (gentyped x, gentyped y, double a)
 gentype radians (gentype degrees)
 gentype step (gentype edge, gentype x)
 gentypef step (float edge, gentypef x)
+gentypeh step (half edge, gentypeh x)
 gentyped step (double edge, gentyped x)
 gentype smoothstep (gentype edge0, gentype edge1, gentype x)
 gentypef smoothstep (float edge0, float edge1, gentypef x)
+gentypeh smoothstep (half edge0, half edge1, gentypeh x)
 gentyped smoothstep (double edge0, double edge1, gentyped x)
 gentype sign (gentype x)
diff --git a/backend/src/libocl/script/ocl_math.def b/backend/src/libocl/script/ocl_math.def
index 5617c09..9c65af7 100644
--- a/backend/src/libocl/script/ocl_math.def
+++ b/backend/src/libocl/script/ocl_math.def
@@ -29,9 +29,11 @@ gentype floor (gentype)
 gentype fma (gentype a, gentype b, gentype c)
 gentype fmax (gentype x, gentype y)
 gentypef fmax (gentypef x, float y)
+gentypeh fmax (gentypeh x, half y)
 gentyped fmax (gentyped x, double y)
 gentype fmin (gentype x, gentype y)
 gentypef fmin (gentypef x, float y)
+gentypeh fmin (gentypeh x, half y)
 gentyped fmin (gentyped x, double y)
 gentype fmod (gentype x, gentype y)
 gentype fract (gentype x, __global gentype *iptr)
@@ -43,6 +45,12 @@ floatn frexp (floatn x, __private intn *exp)
 float frexp (float x, __global int *exp)
 float frexp (float x, __local int *exp)
 float frexp (float x, __private int *exp)
+halfn frexp (halfn x, __global intn *exp)
+halfn frexp (halfn x, __local intn *exp)
+halfn frexp (halfn x, __private intn *exp)
+half frexp (half x, __global int *exp)
+half frexp (half x, __local int *exp)
+half frexp (half x, __private int *exp)
 doublen frexp (doublen x, __global intn *exp)
 doublen frexp (doublen x, __local intn *exp)
 doublen frexp (doublen x, __private intn *exp)
@@ -52,11 +60,16 @@ double frexp (double x, __private int *exp)
 gentype hypot (gentype x, gentype y)
 intn ilogb (floatn x)
 int ilogb (float x)
+shortn ilogb (halfn x)
+short ilogb (half x)
 intn ilogb (doublen x)
 int ilogb (double x)
 floatn ldexp (floatn x, intn k)
 floatn ldexp (floatn x, int k)
 float ldexp (float x, int k)
+halfn ldexp (halfn x, intn k)
+halfn ldexp (halfn x, int k)
+half ldexp (half x, int k)
 doublen ldexp (doublen x, intn k)
 doublen ldexp (doublen x, int k)
 double ldexp (double x, int k)
@@ -67,6 +80,12 @@ floatn lgamma_r (floatn x, __private intn *signp)
 float lgamma_r (float x, __global int *signp)
 float lgamma_r (float x, __local int *signp)
 float lgamma_r (float x,   __private int *signp)
+halfn lgamma_r (halfn x, __global intn *signp)
+halfn lgamma_r (halfn x, __local intn *signp)
+halfn lgamma_r (halfn x, __private intn *signp)
+half lgamma_r (half x, __global int *signp)
+half lgamma_r (half x, __local int *signp)
+half lgamma_r (half x,   __private int *signp)
 #doublen lgamma_r (doublen x, __global intn *signp)
 #doublen lgamma_r (doublen x, __local intn *signp)
 #doublen lgamma_r (doublen x, __private intn *signp)
@@ -86,12 +105,16 @@ gentype modf (gentype x, __local gentype *iptr)
 gentype modf (gentype x, __private gentype *iptr)
 floatn nan (uintn nancode)
 float nan (uint nancode)
+halfn nan (ushortn nancode)
+half nan (ushort nancode)
 doublen nan (ulongn nancode)
 double nan (ulong nancode)
 gentype nextafter (gentype x, gentype y)
 gentype pow (gentype x, gentype y)
 floatn pown (floatn x, intn y)
 float pown (float x, int y)
+halfn pown (halfn x, intn y)
+half pown (half x, int y)
 doublen pown (doublen x, intn y)
 double pown (double x, int y)
 gentype powr (gentype x, gentype y)
@@ -102,6 +125,12 @@ floatn remquo (floatn x, floatn y, __private intn *quo)
 float remquo (float x, float y, __global int *quo)
 float remquo (float x, float y, __local int *quo)
 float remquo (float x, float y, __private int *quo)
+halfn remquo (halfn x, halfn y, __global intn *quo)
+halfn remquo (halfn x, halfn y, __local intn *quo)
+halfn remquo (halfn x, halfn y, __private intn *quo)
+half remquo (half x, half y, __global int *quo)
+half remquo (half x, half y, __local int *quo)
+half remquo (half x, half y, __private int *quo)
 doublen remquo (doublen x, doublen y, __global intn *quo)
 doublen remquo (doublen x, doublen y, __local intn *quo)
 doublen remquo (doublen x, doublen y, __private intn *quo)
@@ -110,7 +139,7 @@ double remquo (double x, double y, __local int *quo)
 double remquo (double x, double y, __private int *quo)
 gentype rint (gentype)
 floatn rootn (floatn x, intn y)
-
+halfn rootn (halfn x, intn y)
 doublen rootn (doublen x, intn y)
 doublen rootn (double x, int y)
 gentype round (gentype x)
diff --git a/backend/src/libocl/script/ocl_relational.def b/backend/src/libocl/script/ocl_relational.def
index 379c511..db3ddcf 100644
--- a/backend/src/libocl/script/ocl_relational.def
+++ b/backend/src/libocl/script/ocl_relational.def
@@ -1,31 +1,45 @@
 ##relational
 intn isequal (floatn x, floatn y)
+shortn isequal (halfn x, halfn y)
 longn isequal (doublen x, doublen y)
 intn isnotequal (floatn x, floatn y)
+shortn isnotequal (halfn x, halfn y)
 longn isnotequal (doublen x, doublen y)
 intn isgreater (floatn x, floatn y)
+shortn isgreater (halfn x, halfn y)
 longn isgreater (doublen x, doublen y)
 intn isgreaterequal (floatn x, floatn y)
+shortn isgreaterequal (halfn x, halfn y)
 longn isgreaterequal (doublen x, doublen y)
 intn isless (floatn x, floatn y)
+shortn isless (halfn x, halfn y)
 longn isless (doublen x, doublen y)
 intn islessequal (floatn x, floatn y)
+shortn islessequal (halfn x, halfn y)
 longn islessequal (doublen x, doublen y)
 intn islessgreater (floatn x, floatn y)
+shortn islessgreater (halfn x, halfn y)
 longn islessgreater (doublen x, doublen y)
-intn isfinite (floatn
+intn isfinite (floatn)
+shortn isfinite (halfn)
 longn isfinite (doublen)
 intn isinf (floatn)
+shortn isinf (halfn)
 longn isinf (doublen)
 intn isnan (floatn)
+shortn isnan (halfn)
 longn isnan (doublen)
 intn isnormal (floatn)
+shortn isnormal (halfn)
 longn isnormal (doublen)
 intn isordered (floatn x, floatn y)
+shortn isordered (halfn x, halfn y)
 longn isordered (doublen x, doublen y)
 intn isunordered (floatn x, floatn y)
+shortn isunordered (halfn x, halfn y)
 longn isunordered (doublen x, doublen y)
 intn signbit (floatn)
+shortn signbit (halfn)
 longn signbit (doublen)
 int any (igentype x)
 int all (igentype x)
-- 
1.9.1



More information about the Beignet mailing list