call2.ref 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. @dx.v32.r0 = internal global i32 undef, align 4
  2. define internal void @dx.label.0() {
  3. entry:
  4. store i32 1084227584, i32* @dx.v32.r0
  5. ret void
  6. }
  7. define internal void @dx.label.1() {
  8. entry:
  9. %0 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
  10. %1 = call i32 @dx.op.bitcastF32toI32(i32 127, float %0)
  11. store i32 %1, i32* @dx.v32.r0
  12. ret void
  13. }
  14. define internal void @dx.label.2() {
  15. entry:
  16. store i32 1077936128, i32* @dx.v32.r0
  17. ret void
  18. }
  19. define void @main() {
  20. entry:
  21. %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  22. %1 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
  23. %2 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 2, i32 undef)
  24. store i32 %0, i32* @dx.v32.r0
  25. call void @dx.label.0()
  26. %3 = load i32, i32* @dx.v32.r0
  27. %4 = icmp ne i32 %3, 0
  28. br i1 %4, label %label0.callc, label %label0.callc.1
  29. label0.callc: ; preds = %entry
  30. call void @dx.label.0()
  31. br label %label0.callc.1
  32. label0.callc.1: ; preds = %label0.callc, %entry
  33. %5 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  34. switch i32 %5, label %switch0.default [
  35. i32 1, label %switch0.casegroup0
  36. i32 2, label %switch0.casegroup1
  37. ]
  38. switch0.casegroup0: ; preds = %label0.callc.1
  39. call void @dx.label.2()
  40. %6 = icmp ne i32 %1, 0
  41. br i1 %6, label %label1.callc, label %label1.callc.2
  42. label1.callc: ; preds = %switch0.casegroup0
  43. call void @dx.label.1()
  44. br label %label1.callc.2
  45. label1.callc.2: ; preds = %label1.callc, %switch0.casegroup0
  46. br label %switch0.end
  47. switch0.default: ; preds = %label0.callc.1
  48. %7 = icmp ne i32 %2, 0
  49. br i1 %7, label %label2.callc, label %label2.callc.3
  50. label2.callc: ; preds = %switch0.default
  51. call void @dx.label.2()
  52. br label %label2.callc.3
  53. label2.callc.3: ; preds = %label2.callc, %switch0.default
  54. br label %switch0.end
  55. switch0.casegroup1: ; preds = %label0.callc.1
  56. br label %switch0.end
  57. switch0.end: ; preds = %switch0.casegroup1, %label2.callc.3, %label1.callc.2
  58. %8 = load i32, i32* @dx.v32.r0
  59. %9 = call float @dx.op.bitcastI32toF32(i32 126, i32 %8)
  60. %10 = fadd fast float %9, 1.000000e+00
  61. %11 = call i32 @dx.op.bitcastF32toI32(i32 127, float %10)
  62. call void @dx.op.storeOutput.i32(i32 5, i32 0, i32 0, i8 0, i32 %11)
  63. ret void
  64. }
  65. ; Function Attrs: nounwind readnone
  66. declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #0
  67. ; Function Attrs: nounwind
  68. declare void @dx.op.tempRegStore.i32(i32, i32, i32) #1
  69. ; Function Attrs: nounwind readonly
  70. declare i32 @dx.op.tempRegLoad.i32(i32, i32) #2
  71. ; Function Attrs: nounwind readonly
  72. declare float @dx.op.tempRegLoad.f32(i32, i32) #2
  73. ; Function Attrs: nounwind readnone
  74. declare i32 @dx.op.bitcastF32toI32(i32, float) #0
  75. ; Function Attrs: nounwind
  76. declare void @dx.op.storeOutput.i32(i32, i32, i32, i8, i32) #1
  77. ; Function Attrs: nounwind readnone
  78. declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
  79. ; Function Attrs: nounwind
  80. declare void @dx.op.tempRegStore.f32(i32, i32, float) #1
  81. ; Function Attrs: nounwind readnone
  82. declare float @dx.op.bitcastI32toF32(i32, i32) #0
  83. attributes #0 = { nounwind readnone }
  84. attributes #1 = { nounwind }
  85. attributes #2 = { nounwind readonly }
  86. !dx.version = !{!0}
  87. !dx.valver = !{!0}
  88. !dx.shaderModel = !{!1}
  89. !dx.entryPoints = !{!2}
  90. !llvm.ident = !{!11}
  91. !0 = !{i32 1, i32 0}
  92. !1 = !{!"ps", i32 6, i32 0}
  93. !2 = !{void ()* @main, !"main", !3, null, !10}
  94. !3 = !{!4, !8, null}
  95. !4 = !{!5, !7}
  96. !5 = !{i32 0, !"0_", i8 9, i8 0, !6, i8 2, i32 1, i8 1, i32 0, i8 0, null}
  97. !6 = !{i32 0}
  98. !7 = !{i32 1, !"1_", i8 5, i8 0, !6, i8 1, i32 1, i8 3, i32 1, i8 0, null}
  99. !8 = !{!9}
  100. !9 = !{i32 0, !"SV_Target", i8 5, i8 16, !6, i8 0, i32 1, i8 1, i32 0, i8 0, null}
  101. !10 = !{i32 0, i64 256}
  102. !11 = !{!"dxbc2dxil 1.2"}