[Beignet] [PATCH] fix utest simd_any with 'export OCL_SIMD_WIDTH=8'

Guo Yejun yejun.guo at intel.com
Tue Jun 10 12:27:13 PDT 2014


simd_any is a built-in function based on the simd width for the
hardware instructions generated by the compiler, therefore, the
utest has to check the result according to the simd width. But,
currently there is no way to query it from driver, so use genenv
to get the info in this patch.

Signed-off-by: Guo Yejun <yejun.guo at intel.com>
---
 utests/compiler_simd_any.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/utests/compiler_simd_any.cpp b/utests/compiler_simd_any.cpp
index dcc5ef1..d41cb54 100644
--- a/utests/compiler_simd_any.cpp
+++ b/utests/compiler_simd_any.cpp
@@ -26,10 +26,16 @@ void compiler_simd_any(void)
 
   // Compare
   OCL_MAP_BUFFER(1);
+
+  int32_t width = locals[0];
+  const char* simd_width = getenv("OCL_SIMD_WIDTH");
+  if (simd_width != NULL)
+    width = atoi(simd_width);
+
   for (int32_t i = 0; i < (int32_t) n; ++i){
     //printf("%d %d\n", i, ((int *)buf_data[1])[i]);
     if (i % 2 == 1) {
-      if (i < (int32_t)locals[0])
+      if (i < (int32_t)width)
         OCL_ASSERT(((int *)buf_data[1])[i] == 1);
       else
         OCL_ASSERT(((int *)buf_data[1])[i] == 2);
-- 
1.8.3.2



More information about the Beignet mailing list