Compiling the following OpenCL kernel code for a TTA target fails with an assertion:
__kernel void test(long a, __global int *b)
{
long mul = (a * (long)10);
int x_in = (int)(mul / (1 << 30));
*b = x_in;
}
llvm-tce: /path/llvm14/include/llvm/CodeGen/CallingConvLower.h:150: llvm::Register llvm::CCValAssign::getLocReg() const: Assertion `isRegLoc()' failed.
This seems to be related to the usage of long.
Compiling the following OpenCL kernel code for a TTA target fails with an assertion:
This seems to be related to the usage of
long.