| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- define void @main() {
- entry:
- %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
- %1 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
- %2 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 2, i32 undef)
- %3 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 3, i32 undef)
- %4 = sitofp i32 %0 to float
- %5 = sitofp i32 %1 to float
- %6 = sitofp i32 %2 to float
- %7 = sitofp i32 %3 to float
- %8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef)
- %11 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 3, i32 undef)
- %12 = fadd fast float %4, %8
- %13 = fadd fast float %5, %9
- %14 = fadd fast float %6, %10
- %15 = fadd fast float %7, %11
- %16 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 0, i32 undef)
- %17 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 1, i32 undef)
- %18 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 2, i32 undef)
- %19 = call i32 @dx.op.loadInput.i32(i32 4, i32 2, i32 0, i8 3, i32 undef)
- %20 = uitofp i32 %16 to float
- %21 = uitofp i32 %17 to float
- %22 = uitofp i32 %18 to float
- %23 = uitofp i32 %19 to float
- %24 = fadd fast float %12, %20
- %25 = fadd fast float %13, %21
- %26 = fadd fast float %14, %22
- %27 = fadd fast float %15, %23
- %28 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 0, i32 undef)
- %29 = fpext half %28 to float
- %30 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 1, i32 undef)
- %31 = fpext half %30 to float
- %32 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 2, i32 undef)
- %33 = fpext half %32 to float
- %34 = call half @dx.op.loadInput.f16(i32 4, i32 3, i32 0, i8 3, i32 undef)
- %35 = fpext half %34 to float
- %36 = fadd fast float %24, %29
- %37 = fadd fast float %25, %31
- %38 = fadd fast float %26, %33
- %39 = fadd fast float %27, %35
- %40 = call float @dx.op.loadInput.f32(i32 4, i32 4, i32 0, i8 0, i32 undef)
- %41 = fadd fast float %36, %40
- %42 = fadd fast float %37, %40
- %43 = fadd fast float %38, %40
- %44 = fadd fast float %39, %40
- %45 = call float @dx.op.loadInput.f32(i32 4, i32 5, i32 0, i8 0, i32 undef)
- %46 = fadd fast float %41, %45
- %47 = fadd fast float %42, %45
- %48 = fadd fast float %43, %45
- %49 = fadd fast float %44, %45
- %50 = call i32 @dx.op.innerCoverage.i32(i32 92)
- %51 = uitofp i32 %50 to float
- %52 = fadd fast float %46, %51
- %53 = fadd fast float %47, %51
- %54 = fadd fast float %48, %51
- %55 = fadd fast float %49, %51
- %56 = call i32 @dx.op.loadInput.i32(i32 4, i32 6, i32 0, i8 0, i32 undef)
- %57 = uitofp i32 %56 to float
- %58 = fadd fast float %52, %57
- %59 = fadd fast float %53, %57
- %60 = fadd fast float %54, %57
- %61 = fadd fast float %55, %57
- %62 = call i32 @dx.op.loadInput.i32(i32 4, i32 7, i32 0, i8 0, i32 undef)
- %63 = uitofp i32 %62 to float
- %64 = fadd fast float %58, %63
- %65 = fadd fast float %59, %63
- %66 = fadd fast float %60, %63
- %67 = fadd fast float %61, %63
- %68 = call i32 @dx.op.loadInput.i32(i32 4, i32 8, i32 0, i8 0, i32 undef)
- %69 = uitofp i32 %68 to float
- %70 = fadd fast float %64, %69
- %71 = fadd fast float %65, %69
- %72 = fadd fast float %66, %69
- %73 = fadd fast float %67, %69
- %74 = call i32 @dx.op.loadInput.i32(i32 4, i32 9, i32 0, i8 0, i32 undef)
- %75 = uitofp i32 %74 to float
- %76 = fadd fast float %70, %75
- %77 = fadd fast float %71, %75
- %78 = fadd fast float %72, %75
- %79 = fadd fast float %73, %75
- %80 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 0, i32 undef)
- %81 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 1, i32 undef)
- %82 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 2, i32 undef)
- %83 = call float @dx.op.loadInput.f32(i32 4, i32 10, i32 0, i8 3, i32 undef)
- %84 = fadd fast float %76, %80
- %85 = fadd fast float %77, %81
- %86 = fadd fast float %78, %82
- %87 = fadd fast float %79, %83
- %88 = call i32 @dx.op.sampleIndex.i32(i32 90)
- %89 = uitofp i32 %88 to float
- %90 = fadd fast float %84, %89
- %91 = fadd fast float %85, %89
- %92 = fadd fast float %86, %89
- %93 = fadd fast float %87, %89
- %94 = call i32 @dx.op.loadInput.i32(i32 4, i32 12, i32 0, i8 0, i32 undef)
- %95 = and i32 %94, 1065353216
- %96 = call float @dx.op.bitcastI32toF32(i32 126, i32 %95)
- %97 = fadd fast float %90, %96
- %98 = fadd fast float %91, %96
- %99 = fadd fast float %92, %96
- %100 = fadd fast float %93, %96
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %97)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %98)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %99)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %100)
- 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.f32(i32, i32, float) #1
- ; Function Attrs: nounwind readonly
- declare float @dx.op.tempRegLoad.f32(i32, i32) #2
- ; Function Attrs: nounwind readnone
- declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
- ; Function Attrs: nounwind readnone
- declare half @dx.op.loadInput.f16(i32, i32, i32, i8, i32) #0
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.innerCoverage.i32(i32) #0
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.sampleIndex.i32(i32) #0
- ; Function Attrs: nounwind
- declare void @dx.op.tempRegStore.i32(i32, i32, i32) #1
- ; Function Attrs: nounwind
- declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
- ; 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 = !{!22}
- !0 = !{i32 1, i32 0}
- !1 = !{!"ps", i32 6, i32 0}
- !2 = !{void ()* @main, !"main", !3, null, !21}
- !3 = !{!4, !19, null}
- !4 = !{!5, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18}
- !5 = !{i32 0, !"A", i8 9, i8 0, !6, i8 2, i32 1, i8 4, i32 0, i8 0, null}
- !6 = !{i32 0}
- !7 = !{i32 1, !"B", i8 4, i8 0, !6, i8 1, i32 1, i8 4, i32 1, i8 0, null}
- !8 = !{i32 2, !"C", i8 5, i8 0, !6, i8 1, i32 1, i8 4, i32 2, i8 0, null}
- !9 = !{i32 3, !"D", i8 8, i8 0, !6, i8 2, i32 1, i8 4, i32 3, i8 0, null}
- !10 = !{i32 4, !"SV_ClipDistance", i8 9, i8 6, !6, i8 2, i32 1, i8 1, i32 4, i8 0, null}
- !11 = !{i32 5, !"SV_CullDistance", i8 9, i8 7, !6, i8 2, i32 1, i8 1, i32 4, i8 1, null}
- !12 = !{i32 6, !"SV_InstanceID", i8 5, i8 0, !6, i8 1, i32 1, i8 1, i32 5, i8 0, null}
- !13 = !{i32 7, !"SV_PrimitiveID", i8 5, i8 10, !6, i8 1, i32 1, i8 1, i32 5, i8 1, null}
- !14 = !{i32 8, !"SV_RenderTargetArrayIndex", i8 5, i8 4, !6, i8 1, i32 1, i8 1, i32 5, i8 2, null}
- !15 = !{i32 9, !"SV_ViewportArrayIndex", i8 5, i8 5, !6, i8 1, i32 1, i8 1, i32 5, i8 3, null}
- !16 = !{i32 10, !"SV_Position", i8 9, i8 3, !6, i8 4, i32 1, i8 4, i32 6, i8 0, null}
- !17 = !{i32 11, !"SV_SampleIndex", i8 5, i8 12, !6, i8 1, i32 1, i8 1, i32 -1, i8 -1, null}
- !18 = !{i32 12, !"SV_IsFrontFace", i8 5, i8 13, !6, i8 1, i32 1, i8 1, i32 7, i8 1, null}
- !19 = !{!20}
- !20 = !{i32 0, !"SV_Target", i8 9, i8 16, !6, i8 0, i32 1, i8 4, i32 0, i8 0, null}
- !21 = !{i32 0, i64 288}
- !22 = !{!"dxbc2dxil 1.2"}
|