summaryrefslogtreecommitdiff
path: root/kernels/compiler_popcount.cl
diff options
context:
space:
mode:
authorLuo Xionghu <xionghu.luo@intel.com>2014-10-14 08:08:46 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-10-14 13:44:16 +0800
commitb9700d7ea4757e35406dada4b017ed8221f845bb (patch)
tree1aec7b547d36972045d9b155226702b6f5141774 /kernels/compiler_popcount.cl
parent2279009e3f1e3501fbe8cca89d162f16ea307f64 (diff)
add utest popcount for all types.
v2: add all types to test. v3: fix signed type count bits error. Signed-off-by: Luo Xionghu <xionghu.luo@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'kernels/compiler_popcount.cl')
-rw-r--r--kernels/compiler_popcount.cl16
1 files changed, 16 insertions, 0 deletions
diff --git a/kernels/compiler_popcount.cl b/kernels/compiler_popcount.cl
new file mode 100644
index 00000000..16361187
--- /dev/null
+++ b/kernels/compiler_popcount.cl
@@ -0,0 +1,16 @@
+#define TEST_TYPE(TYPE) \
+kernel void test_##TYPE(global TYPE *src, global TYPE *dst) { \
+ int i = get_global_id(0); \
+ dst[i] = popcount(src[i]); \
+}
+
+TEST_TYPE(char)
+TEST_TYPE(uchar)
+TEST_TYPE(short)
+TEST_TYPE(ushort)
+TEST_TYPE(int)
+TEST_TYPE(uint)
+TEST_TYPE(long)
+TEST_TYPE(ulong)
+
+#undef TEST_TYPE