| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- %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 i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
- %3 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
- %4 = call double @dx.op.makeDouble.f64(i32 101, i32 %2, i32 %3)
- %5 = call double @dx.op.makeDouble.f64(i32 101, i32 %0, i32 %1)
- %6 = fcmp fast oeq double %4, %5
- %7 = sext i1 %6 to i32
- %8 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 0, i32 undef)
- %9 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 1, i32 undef)
- %10 = call double @dx.op.makeDouble.f64(i32 101, i32 %0, i32 %1)
- %11 = call double @dx.op.makeDouble.f64(i32 101, i32 %8, i32 %9)
- %12 = fcmp fast une double %10, %11
- %13 = sext i1 %12 to i32
- %14 = and i32 %13, %7
- %15 = call double @dx.op.makeDouble.f64(i32 101, i32 %2, i32 %3)
- %16 = call double @dx.op.makeDouble.f64(i32 101, i32 %8, i32 %9)
- %17 = fcmp fast olt double %15, %16
- %18 = sext i1 %17 to i32
- %19 = call double @dx.op.makeDouble.f64(i32 101, i32 %2, i32 %3)
- %20 = call double @dx.op.makeDouble.f64(i32 101, i32 %8, i32 %9)
- %21 = fmul fast double %19, %20
- %22 = call double @dx.op.makeDouble.f64(i32 101, i32 %0, i32 %1)
- %23 = fadd fast double %21, %22
- %24 = call double @dx.op.makeDouble.f64(i32 101, i32 %0, i32 %1)
- %25 = fcmp fast olt double %24, %23
- %26 = sext i1 %25 to i32
- %27 = and i32 %18, %14
- %28 = and i32 %26, %27
- call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 0, i32 %28)
- 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 %dx.types.splitdouble @dx.op.splitDouble.f64(i32, double) #0
- ; Function Attrs: nounwind
- declare void @dx.op.storeOutput.i32(i32, i32, i32, i8, i32) #1
- 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 2, i32 0, i8 0, null}
- !6 = !{i32 0}
- !7 = !{i32 1, !"BBB", i8 5, i8 0, !6, i8 1, i32 1, i8 2, i32 0, i8 2, null}
- !8 = !{i32 2, !"CCC", i8 5, i8 0, !6, i8 1, i32 1, i8 2, i32 1, i8 0, null}
- !9 = !{!10}
- !10 = !{i32 0, !"SV_Target", i8 5, i8 16, !6, i8 0, i32 1, i8 1, i32 0, i8 0, null}
- !11 = !{i32 0, i64 260}
- !12 = !{!"dxbc2dxil 1.2"}
|