Arguments mismatch for instruction 'selp'

Once upon a time something strange happend, when I run my OpenCL raytracer:


Build Log:
ptxas ptx input, line 1266; error : Arguments mismatch for instruction ‘selp’
: Retrieving binary for ‘anonymous_jit_identity’, for gpu=‘sm_11’, usage mode=’

Here is assembly code of this place:

ltmp_327_6:
mov.b32 ltmp_320_9, ptxbe_def_r;
add.s32 ltmp_320_9, 48, ltmp_320_9;
st.local.f32 [ltmp_320_9+0],ptxbe_def_t_1;
selp.pred %retval, 1, 0, 1; <------------------------------- here is line 1266
ret;
ltmp_321_6:
selp.pred %retval, 1, 0, 0;
ret;

Could you tell me, what it could be? Compiler bug?
Thank you in advance for the answers.

I am getting the same kind of problem with one of my kernels, but with the “mov” instruction.

Looks like the compiler is generating incorrect PTX code.

Same problem, but it only shows up when I try to use unsigned chars or chars rather than ints. It seems to work with uint16.