Just try to reduce if-branching.
And the (m<1) condition check seems no use, so I remove it.

Signed-off-by: Ruiling Song <[email protected]>
---
 backend/src/libocl/src/ocl_geometric.cl |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/backend/src/libocl/src/ocl_geometric.cl 
b/backend/src/libocl/src/ocl_geometric.cl
index cd09968..07f1419 100644
--- a/backend/src/libocl/src/ocl_geometric.cl
+++ b/backend/src/libocl/src/ocl_geometric.cl
@@ -38,13 +38,9 @@ OVERLOADABLE float dot(float4 p0, float4 p1) {
 OVERLOADABLE float length(float x) { return __gen_ocl_fabs(x); }
 
 #define BODY \
-  if(m == 0) \
-    return 0; \
-  if(isinf(m)) \
-    return INFINITY; \
-  if(m < 1) \
-    m = 1; \
-  x /= m; \
+  m = m==0.0f ? 1.0f : m; \
+  m = isinf(m) ? 1.0f : m; \
+  x = x/m; \
   return m * sqrt(dot(x,x));
 OVERLOADABLE float length(float2 x) {
   float m = max(__gen_ocl_fabs(x.s0), __gen_ocl_fabs(x.s1));
-- 
1.7.10.4

_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to