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
