call1.ref 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. @dx.v32.r0 = internal global float undef, align 4
  2. define internal void @dx.label.0() {
  3. entry:
  4. %0 = call float @dx.op.bitcastI32toF32(i32 126, i32 1084227584)
  5. store float %0, float* @dx.v32.r0
  6. ret void
  7. }
  8. define internal void @dx.label.1() {
  9. entry:
  10. %0 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
  11. store float %0, float* @dx.v32.r0
  12. ret void
  13. }
  14. define internal void @dx.label.2() {
  15. entry:
  16. %0 = call float @dx.op.bitcastI32toF32(i32 126, i32 1077936128)
  17. store float %0, float* @dx.v32.r0
  18. ret void
  19. }
  20. define void @main() {
  21. entry:
  22. %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  23. switch i32 %0, label %switch0.default [
  24. i32 1, label %switch0.casegroup0
  25. i32 2, label %switch0.casegroup1
  26. ]
  27. switch0.casegroup0: ; preds = %entry
  28. call void @dx.label.0()
  29. br label %switch0.end
  30. switch0.casegroup1: ; preds = %entry
  31. call void @dx.label.1()
  32. br label %switch0.end
  33. switch0.default: ; preds = %entry
  34. call void @dx.label.2()
  35. br label %switch0.end
  36. switch0.end: ; preds = %switch0.default, %switch0.casegroup1, %switch0.casegroup0
  37. %1 = load float, float* @dx.v32.r0
  38. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %1)
  39. ret void
  40. }
  41. ; Function Attrs: nounwind readnone
  42. declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #0
  43. ; Function Attrs: nounwind readonly
  44. declare float @dx.op.tempRegLoad.f32(i32, i32) #1
  45. ; Function Attrs: nounwind
  46. declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #2
  47. ; Function Attrs: nounwind
  48. declare void @dx.op.tempRegStore.i32(i32, i32, i32) #2
  49. ; Function Attrs: nounwind readnone
  50. declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
  51. ; Function Attrs: nounwind
  52. declare void @dx.op.tempRegStore.f32(i32, i32, float) #2
  53. ; Function Attrs: nounwind readnone
  54. declare float @dx.op.bitcastI32toF32(i32, i32) #0
  55. attributes #0 = { nounwind readnone }
  56. attributes #1 = { nounwind readonly }
  57. attributes #2 = { nounwind }
  58. !dx.version = !{!0}
  59. !dx.valver = !{!0}
  60. !dx.shaderModel = !{!1}
  61. !dx.entryPoints = !{!2}
  62. !llvm.ident = !{!11}
  63. !0 = !{i32 1, i32 0}
  64. !1 = !{!"ps", i32 6, i32 0}
  65. !2 = !{void ()* @main, !"main", !3, null, !10}
  66. !3 = !{!4, !8, null}
  67. !4 = !{!5, !7}
  68. !5 = !{i32 0, !"A", i8 9, i8 0, !6, i8 2, i32 1, i8 2, i32 0, i8 0, null}
  69. !6 = !{i32 0}
  70. !7 = !{i32 1, !"B", i8 4, i8 0, !6, i8 1, i32 1, i8 3, i32 1, i8 0, null}
  71. !8 = !{!9}
  72. !9 = !{i32 0, !"SV_Target", i8 9, i8 16, !6, i8 0, i32 1, i8 1, i32 0, i8 0, null}
  73. !10 = !{i32 0, i64 256}
  74. !11 = !{!"dxbc2dxil 1.2"}