When compiling the following simple kernel I get an error "Binary instruction seen with illegal int type". This happens mostly on unsigned long long, but I believe I've seen similar issue on other types.
Here is the kernel:
#define fuzz_t unsigned long long
__kernel void foo(__global fuzz_t * mem, unsigned int n) {
fuzz_t tmp[] = { 0x5856ee2a6d198413, 0x0b81b3a5685ed7c8, 0x61dc5f842ce859cb, 0x685ec65f3cdb7e77, };
tmp[0] = mem[206619138 % n];
tmp[3] *= 0x10dcf06f60227df6;
tmp[2] += tmp[0];
tmp[0] += tmp[1];
tmp[1] <<= (tmp[2] % 8);
fuzz_t all = 0;
for(unsigned int i = 0; i < 4; i++) all += tmp[i];
for(unsigned int i = 0; i < n; i++) all += mem[i];
mem[0] = all;
}
I attached tar.gz package to reproduce the issue, steps to reproduce:
tar xzf cd 1-u64-5-66.tar.gz
cd 1-u64-5-66
./main-opencl
Device selected: GPU
Binary Instruction seen with illegal int type. Legalization support missing. Inst opcode:25Error building program: -11
Build log:
IGC: Internal Compiler Error: Segmentation violation
When compiling the following simple kernel I get an error "Binary instruction seen with illegal int type". This happens mostly on unsigned long long, but I believe I've seen similar issue on other types.
Here is the kernel:
I attached tar.gz package to reproduce the issue, steps to reproduce: