input1.ref 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. define void @main() {
  2. entry:
  3. %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  4. %1 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
  5. %2 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 2, i32 undef)
  6. %3 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 3, i32 undef)
  7. %4 = sitofp i32 %0 to float
  8. %5 = sitofp i32 %1 to float
  9. %6 = sitofp i32 %2 to float
  10. %7 = sitofp i32 %3 to float
  11. %8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
  12. %9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
  13. %10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef)
  14. %11 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 3, i32 undef)
  15. %12 = fadd fast float %4, %8
  16. %13 = fadd fast float %5, %9
  17. %14 = fadd fast float %6, %10
  18. %15 = fadd fast float %7, %11
  19. %16 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 0, i32 undef)
  20. %17 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 1, i32 undef)
  21. %18 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 2, i32 undef)
  22. %19 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 3, i32 undef)
  23. %20 = uitofp i32 %16 to float
  24. %21 = uitofp i32 %17 to float
  25. %22 = uitofp i32 %18 to float
  26. %23 = uitofp i32 %19 to float
  27. %24 = fadd fast float %12, %20
  28. %25 = fadd fast float %13, %21
  29. %26 = fadd fast float %14, %22
  30. %27 = fadd fast float %15, %23
  31. %28 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 0, i32 undef)
  32. %29 = fpext half %28 to float
  33. %30 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 1, i32 undef)
  34. %31 = fpext half %30 to float
  35. %32 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 2, i32 undef)
  36. %33 = fpext half %32 to float
  37. %34 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 3, i32 undef)
  38. %35 = fpext half %34 to float
  39. %36 = fadd fast float %24, %29
  40. %37 = fadd fast float %25, %31
  41. %38 = fadd fast float %26, %33
  42. %39 = fadd fast float %27, %35
  43. %40 = call float @dx.op.loadInput.f32(i32 4, i32 4, i32 0, i8 0, i32 undef)
  44. %41 = fadd fast float %36, %40
  45. %42 = fadd fast float %37, %40
  46. %43 = fadd fast float %38, %40
  47. %44 = fadd fast float %39, %40
  48. %45 = call float @dx.op.loadInput.f32(i32 4, i32 5, i32 0, i8 0, i32 undef)
  49. %46 = fadd fast float %41, %45
  50. %47 = fadd fast float %42, %45
  51. %48 = fadd fast float %43, %45
  52. %49 = fadd fast float %44, %45
  53. %50 = call i32 @dx.op.coverage.i32(i32 91)
  54. %51 = uitofp i32 %50 to float
  55. %52 = fadd fast float %46, %51
  56. %53 = fadd fast float %47, %51
  57. %54 = fadd fast float %48, %51
  58. %55 = fadd fast float %49, %51
  59. %56 = call i32 @dx.op.loadInput.i32(i32 4, i32 6, i32 0, i8 0, i32 undef)
  60. %57 = uitofp i32 %56 to float
  61. %58 = fadd fast float %52, %57
  62. %59 = fadd fast float %53, %57
  63. %60 = fadd fast float %54, %57
  64. %61 = fadd fast float %55, %57
  65. %62 = call i32 @dx.op.loadInput.i32(i32 4, i32 7, i32 0, i8 0, i32 undef)
  66. %63 = uitofp i32 %62 to float
  67. %64 = fadd fast float %58, %63
  68. %65 = fadd fast float %59, %63
  69. %66 = fadd fast float %60, %63
  70. %67 = fadd fast float %61, %63
  71. %68 = call i32 @dx.op.loadInput.i32(i32 4, i32 8, i32 0, i8 0, i32 undef)
  72. %69 = uitofp i32 %68 to float
  73. %70 = fadd fast float %64, %69
  74. %71 = fadd fast float %65, %69
  75. %72 = fadd fast float %66, %69
  76. %73 = fadd fast float %67, %69
  77. %74 = call i32 @dx.op.loadInput.i32(i32 4, i32 9, i32 0, i8 0, i32 undef)
  78. %75 = uitofp i32 %74 to float
  79. %76 = fadd fast float %70, %75
  80. %77 = fadd fast float %71, %75
  81. %78 = fadd fast float %72, %75
  82. %79 = fadd fast float %73, %75
  83. %80 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 0, i32 undef)
  84. %81 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 1, i32 undef)
  85. %82 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 2, i32 undef)
  86. %83 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 3, i32 undef)
  87. %84 = fadd fast float %76, %80
  88. %85 = fadd fast float %77, %81
  89. %86 = fadd fast float %78, %82
  90. %87 = fadd fast float %79, %83
  91. %88 = call i32 @dx.op.sampleIndex.i32(i32 90)
  92. %89 = uitofp i32 %88 to float
  93. %90 = fadd fast float %84, %89
  94. %91 = fadd fast float %85, %89
  95. %92 = fadd fast float %86, %89
  96. %93 = fadd fast float %87, %89
  97. %94 = call i32 @dx.op.loadInput.i32(i32 4, i32 12, i32 0, i8 0, i32 undef)
  98. %95 = and i32 %94, 1065353216
  99. %96 = call float @dx.op.bitcastI32toF32(i32 126, i32 %95)
  100. %97 = fadd fast float %90, %96
  101. %98 = fadd fast float %91, %96
  102. %99 = fadd fast float %92, %96
  103. %100 = fadd fast float %93, %96
  104. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %97)
  105. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %98)
  106. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %99)
  107. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %100)
  108. ret void
  109. }
  110. ; Function Attrs: nounwind readnone
  111. declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #0
  112. ; Function Attrs: nounwind
  113. declare void @dx.op.tempRegStore.f32(i32, i32, float) #1
  114. ; Function Attrs: nounwind readonly
  115. declare float @dx.op.tempRegLoad.f32(i32, i32) #2
  116. ; Function Attrs: nounwind readnone
  117. declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
  118. ; Function Attrs: nounwind readnone
  119. declare half @dx.op.loadInput.f16(i32, i32, i32, i8, i32) #0
  120. ; Function Attrs: nounwind readnone
  121. declare i32 @dx.op.coverage.i32(i32) #0
  122. ; Function Attrs: nounwind readnone
  123. declare i32 @dx.op.sampleIndex.i32(i32) #0
  124. ; Function Attrs: nounwind
  125. declare void @dx.op.tempRegStore.i32(i32, i32, i32) #1
  126. ; Function Attrs: nounwind
  127. declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
  128. ; Function Attrs: nounwind readnone
  129. declare float @dx.op.bitcastI32toF32(i32, i32) #0
  130. attributes #0 = { nounwind readnone }
  131. attributes #1 = { nounwind }
  132. attributes #2 = { nounwind readonly }
  133. !dx.version = !{!0}
  134. !dx.valver = !{!0}
  135. !dx.shaderModel = !{!1}
  136. !dx.entryPoints = !{!2}
  137. !llvm.ident = !{!22}
  138. !0 = !{i32 1, i32 0}
  139. !1 = !{!"ps", i32 6, i32 0}
  140. !2 = !{void ()* @main, !"main", !3, null, !21}
  141. !3 = !{!4, !19, null}
  142. !4 = !{!5, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18}
  143. !5 = !{i32 0, !"A", i8 9, i8 0, !6, i8 2, i32 1, i8 4, i32 0, i8 0, null}
  144. !6 = !{i32 0}
  145. !7 = !{i32 1, !"B", i8 4, i8 0, !6, i8 1, i32 1, i8 4, i32 1, i8 0, null}
  146. !8 = !{i32 2, !"C", i8 5, i8 0, !6, i8 1, i32 1, i8 4, i32 2, i8 0, null}
  147. !9 = !{i32 3, !"D", i8 8, i8 0, !6, i8 2, i32 1, i8 4, i32 3, i8 0, null}
  148. !10 = !{i32 4, !"SV_ClipDistance", i8 9, i8 6, !6, i8 2, i32 1, i8 1, i32 4, i8 0, null}
  149. !11 = !{i32 5, !"SV_CullDistance", i8 9, i8 7, !6, i8 2, i32 1, i8 1, i32 4, i8 1, null}
  150. !12 = !{i32 6, !"SV_InstanceID", i8 5, i8 0, !6, i8 1, i32 1, i8 1, i32 5, i8 0, null}
  151. !13 = !{i32 7, !"SV_PrimitiveID", i8 5, i8 10, !6, i8 1, i32 1, i8 1, i32 5, i8 1, null}
  152. !14 = !{i32 8, !"SV_RenderTargetArrayIndex", i8 5, i8 4, !6, i8 1, i32 1, i8 1, i32 5, i8 2, null}
  153. !15 = !{i32 9, !"SV_ViewportArrayIndex", i8 5, i8 5, !6, i8 1, i32 1, i8 1, i32 5, i8 3, null}
  154. !16 = !{i32 10, !"SV_Position", i8 9, i8 3, !6, i8 4, i32 1, i8 4, i32 6, i8 0, null}
  155. !17 = !{i32 11, !"SV_SampleIndex", i8 5, i8 12, !6, i8 1, i32 1, i8 1, i32 -1, i8 -1, null}
  156. !18 = !{i32 12, !"SV_IsFrontFace", i8 5, i8 13, !6, i8 1, i32 1, i8 1, i32 7, i8 1, null}
  157. !19 = !{!20}
  158. !20 = !{i32 0, !"SV_Target", i8 9, i8 16, !6, i8 0, i32 1, i8 4, i32 0, i8 0, null}
  159. !21 = !{i32 0, i64 288}
  160. !22 = !{!"dxbc2dxil 1.2"}