define void @main() { entry: %0 = call float @dx.op.bitcastI32toF32(i32 126, i32 0) %1 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef) br label %loop0 loop0: ; preds = %if0.end, %entry %dx.v32.r1.0 = phi i32 [ 0, %entry ], [ %8, %if0.end ] %dx.v32.r0.0 = phi float [ %0, %entry ], [ %7, %if0.end ] %2 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef) %3 = icmp sge i32 %dx.v32.r1.0, %2 br i1 %3, label %loop0.end, label %loop0.breakc0 loop0.breakc0: ; preds = %loop0 %4 = icmp eq i32 %1, 0 br i1 %4, label %if0.then, label %if0.end if0.then: ; preds = %loop0.breakc0 %5 = fadd fast float %dx.v32.r0.0, 2.000000e+02 br label %loop0.end if0.end: ; preds = %loop0.breakc0 %6 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef) %7 = fadd fast float %dx.v32.r0.0, %6 %8 = add i32 %dx.v32.r1.0, 1 br label %loop0 loop0.end: ; preds = %if0.then, %loop0 %dx.v32.r0.1 = phi float [ %dx.v32.r0.0, %loop0 ], [ %5, %if0.then ] call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %dx.v32.r0.1) ret void } ; Function Attrs: nounwind declare void @dx.op.tempRegStore.i32(i32, i32, i32) #0 ; Function Attrs: nounwind readnone declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #1 ; Function Attrs: nounwind readonly declare i32 @dx.op.tempRegLoad.i32(i32, i32) #2 ; Function Attrs: nounwind readonly declare float @dx.op.tempRegLoad.f32(i32, i32) #2 ; Function Attrs: nounwind declare void @dx.op.tempRegStore.f32(i32, i32, float) #0 ; Function Attrs: nounwind readnone declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #1 ; Function Attrs: nounwind declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #0 ; Function Attrs: nounwind readnone declare float @dx.op.bitcastI32toF32(i32, i32) #1 ; Function Attrs: nounwind readnone declare i32 @dx.op.bitcastF32toI32(i32, float) #1 attributes #0 = { nounwind } attributes #1 = { nounwind readnone } attributes #2 = { nounwind readonly } !dx.version = !{!0} !dx.valver = !{!0} !dx.shaderModel = !{!1} !dx.entryPoints = !{!2} !llvm.ident = !{!11} !0 = !{i32 1, i32 0} !1 = !{!"ps", i32 6, i32 0} !2 = !{void ()* @main, !"main", !3, null, !10} !3 = !{!4, !8, null} !4 = !{!5, !7} !5 = !{i32 0, !"A", i8 9, i8 0, !6, i8 2, i32 1, i8 2, i32 0, i8 0, null} !6 = !{i32 0} !7 = !{i32 1, !"B", i8 4, i8 0, !6, i8 1, i32 1, i8 3, i32 1, i8 0, null} !8 = !{!9} !9 = !{i32 0, !"SV_Target", i8 9, i8 16, !6, i8 0, i32 1, i8 1, i32 0, i8 0, null} !10 = !{i32 0, i64 256} !11 = !{!"dxbc2dxil 1.2"}