Well, attached kernel leads to brcc.exe crash.
I know, there is unalowed switch statement.
But compiler should report syntax error (as it did for switch before, in other kernel), and not to crash badly.
Consider it as bug report.
kernel void GPU_coadd_kernel3_54(float src[][],int size[],out float4 dest<>) { int threadID=instance().y; int i=instance().x; float4 o; float4 i1; float4 i2; float i3; float i4; int ln=(size[threadID])>>2;//R:last elements will be treated separately if(i>ln)return; if(i<ln){ i1.x=src[threadID][8*i]; i2.x=src[threadID][8*i+1]; i1.y=src[threadID][8*i+2]; i2.y=src[threadID][8*i+3]; i1.z=src[threadID][8*i+4]; i2.z=src[threadID][8*i+5]; i1.w=src[threadID][8*i+6]; i2.w=src[threadID][8*i+7]; o=i1+i2; dest=o; }else{ //R:last elements //o=0.f; switch(size[threadID]-ln*4){ case 1:o.x=src[threadID][8*ln]+src[threadID][8*ln+1];//R:no break,falling through to next case case 2:o.y=src[threadID][8*ln+2]+src[threadID][8*ln+3]; case 3:o.z=src[threadID][8*ln+4]+src[threadID][8*ln+5]; } dest=o; } }