intel: integer_sub_sat produces stack corruption / OpISubBorrow compilation issue
On Intel, the integer_sub_sat test case in the OpenCL-CTS test_integer_ops
fail with a stack smashing detected.
localhost /usr/local/opencl # ./test_integer_ops integer_sub_sat
Initializing random seed to 0.
Requesting Default device based on command line for platform index 0 and device index 0
Compute Device Name = Intel(R) UHD Graphics (TGL GT2), Compute Device Vendor = FIXME, Compute Device Version = OpenCL 1.2 CLVK on Vulkan v1.2.182 driver 88088581, CL C Version = OpenCL C 1.2 CLVK on Vulkan v1.2.182 driver 88088581
Supports single precision denormals: NO
sizeof( void*) = 8 (host)
sizeof( void*) = 4 (device)
integer_sub_sat...
char......done
uchar*** stack smashing detected ***: terminated
Aborted (core dumped)
Digging into it, I found that this might come from the compilation of the operator OpISubBorrow
with an unsigned type of bitwidth equals to 8/16/64 (32 is working).