Compiler strange error Arguments mismatch for instruction shl

hi folks

compiling a piece of code I get:

word16 check = hi << 8 + lo;

of course the code should be:

word16 check = (hi << 8) + lo;

but In the first version I get this strange error:

ptxas /tmp/tmpxft_00017356_00000000-2_gpg_stream.ptx, line 8083; error : Arguments mismatch for instruction ‘shl’
ptxas fatal : Ptx assembly aborted due to errors
CMake Error at CMakeFiles/gpgcrack_cuda_generated_gpg_stream.cu.o.cmake:235 (message):
Error generating file
/Users/fabriziomilo/Documents/cppworkspace/cuda.bin/cuda/./gpgcrack_cuda_generated_gpg_stream.cu.o

Maybe is a bug …