bool2 b2;
float main() : SV_TARGET
{
uint x = b2[1];
return x;
}
define void @main() {
%"$Globals_cbuffer" = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
%1 = call %dx.types.CBufRet.i32 @dx.op.cbufferLoadLegacy.i32(i32 59, %dx.types.Handle %"$Globals_cbuffer", i32 0) ; CBufferLoadLegacy(handle,regIndex)
%2 = extractvalue %dx.types.CBufRet.i32 %1, 1
%.i1 = icmp eq i32 %2, 0 ; <------------ !!!
%3 = uitofp i1 %.i1 to float
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
ret void
}
This code:
Compiles into:
This is incorrect, it should be
icmp ne, noticmp eq.