The compiler is failing with the following simple kernel:
__kernel void test()
if (a.s0 && a.s1 && a.s2)
with an error of
:4:14: error: invalid operands to binary expression ('float' and 'float')
I'd have expected this to compile OK. It fails in both offline and online compilers. Also fails with || (logical or)
Works correctly with the AMD CPU and GPU compiler.
The workaround is to change the if statement to
if (a.s0 != 0 && a.s1 != 0 && a.s2 != 0)
I'm using Intel OpenCL SDK 1.1
Can you please confirm this is a bug and report it to development?