diff options
author | Homer Hsing <homer.xing@intel.com> | 2013-09-24 11:11:21 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2013-09-25 19:07:51 +0800 |
commit | 1951311d955aab3ae40e1753c98926911b73f2d4 (patch) | |
tree | 7173f7f26ecb1ea565e3b0c1d389db94b969975f /kernels/compiler_vector_inc.cl | |
parent | a5e5e694570cda71ff13a3908a1cb8ffa59bd9cf (diff) | |
download | beignet-1951311d955aab3ae40e1753c98926911b73f2d4.tar.gz |
fix scalarizing of llvm phi node
llvm phi node can have odd number of args.
this patch also contains a test case.
Signed-off-by: Homer Hsing <homer.xing@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'kernels/compiler_vector_inc.cl')
-rw-r--r-- | kernels/compiler_vector_inc.cl | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernels/compiler_vector_inc.cl b/kernels/compiler_vector_inc.cl new file mode 100644 index 00000000..548dcb4f --- /dev/null +++ b/kernels/compiler_vector_inc.cl @@ -0,0 +1,13 @@ +kernel void compiler_vector_inc(global char *dst, global char *src) { + size_t i = get_global_id(0); + char2 dst2 = vload2(i, dst); + if (src[i] == 0) + dst2++; + else if(src[i] == 1) + ++dst2; + else if(src[i] == 2) + dst2--; + else + --dst2; + vstore2(dst2, i, dst); +} |