| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- %dx.types.splitdouble = type { i32, i32 }
- define void @main() {
- entry:
- %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %1 = call i32 @dx.op.loadInput.i32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %2 = call double @dx.op.makeDouble.f64(i32 101, i32 %0, i32 %1)
- %3 = call float @dx.op.legacyDoubleToFloat(i32 132, double %2)
- %4 = fpext float %3 to double
- %5 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
- %6 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
- %7 = call double @dx.op.makeDouble.f64(i32 101, i32 %5, i32 %6)
- %8 = call i32 @dx.op.legacyDoubleToSInt32(i32 133, double %7)
- %9 = sitofp i32 %8 to double
- %10 = fadd fast double %9, %4
- %11 = fadd fast double %9, %10
- %12 = fadd fast double %4, %11
- %13 = fadd fast double %9, %12
- %14 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 0, i32 undef)
- %15 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 1, i32 undef)
- %16 = call double @dx.op.makeDouble.f64(i32 101, i32 %14, i32 %15)
- %17 = call i32 @dx.op.legacyDoubleToUInt32(i32 134, double %16)
- %18 = uitofp i32 %17 to double
- %19 = fadd fast double %18, %13
- %20 = call %dx.types.splitdouble @dx.op.splitDouble.f64(i32 102, double %19)
- %21 = extractvalue %dx.types.splitdouble %20, 0
- %22 = extractvalue %dx.types.splitdouble %20, 1
- call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 0, i32 %21)
- call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 1, i32 %22)
- call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 2, i32 %21)
- call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 3, i32 %22)
- ret void
- }
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #0
- ; Function Attrs: nounwind
- declare void @dx.op.tempRegStore.i32(i32, i32, i32) #1
- ; Function Attrs: nounwind readonly
- declare i32 @dx.op.tempRegLoad.i32(i32, i32) #2
- ; Function Attrs: nounwind readnone
- declare double @dx.op.makeDouble.f64(i32, i32, i32) #0
- ; Function Attrs: nounwind readnone
- declare float @dx.op.legacyDoubleToFloat(i32, double) #0
- ; Function Attrs: nounwind
- declare void @dx.op.tempRegStore.f32(i32, i32, float) #1
- ; Function Attrs: nounwind readonly
- declare float @dx.op.tempRegLoad.f32(i32, i32) #2
- ; Function Attrs: nounwind readnone
- declare %dx.types.splitdouble @dx.op.splitDouble.f64(i32, double) #0
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.legacyDoubleToSInt32(i32, double) #0
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.legacyDoubleToUInt32(i32, double) #0
- ; Function Attrs: nounwind
- declare void @dx.op.storeOutput.i32(i32, i32, i32, i8, i32) #1
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.bitcastF32toI32(i32, float) #0
- ; Function Attrs: nounwind readnone
- declare float @dx.op.bitcastI32toF32(i32, i32) #0
- attributes #0 = { nounwind readnone }
- attributes #1 = { nounwind }
- attributes #2 = { nounwind readonly }
- !dx.version = !{!0}
- !dx.valver = !{!0}
- !dx.shaderModel = !{!1}
- !dx.entryPoints = !{!2}
- !llvm.ident = !{!12}
- !0 = !{i32 1, i32 0}
- !1 = !{!"ps", i32 6, i32 0}
- !2 = !{void ()* @main, !"main", !3, null, !11}
- !3 = !{!4, !9, null}
- !4 = !{!5, !7, !8}
- !5 = !{i32 0, !"AAA", i8 5, i8 0, !6, i8 1, i32 1, i8 4, i32 0, i8 0, null}
- !6 = !{i32 0}
- !7 = !{i32 1, !"BBB", i8 5, i8 0, !6, i8 1, i32 1, i8 4, i32 1, i8 0, null}
- !8 = !{i32 2, !"CCC", i8 5, i8 0, !6, i8 1, i32 1, i8 4, i32 2, i8 0, null}
- !9 = !{!10}
- !10 = !{i32 0, !"SV_Target", i8 5, i8 16, !6, i8 0, i32 1, i8 4, i32 0, i8 0, null}
- !11 = !{i32 0, i64 324}
- !12 = !{!"dxbc2dxil 1.2"}
|