FRAG 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 c80a0102 c80e0002 f800180f 00010203 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 c80a0102 c80e0002 f800180f 00010203 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %10, i32 0, i32 %5) %12 = extractelement <4 x float> %11, i32 0 %13 = extractelement <4 x float> %11, i32 1 %14 = extractelement <4 x float> %11, i32 2 %15 = extractelement <4 x float> %11, i32 3 %16 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %17 = load <16 x i8> addrspace(2)* %16, !tbaa !0 %18 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %17, i32 0, i32 %5) %19 = extractelement <4 x float> %18, i32 0 %20 = extractelement <4 x float> %18, i32 1 %21 = extractelement <4 x float> %18, i32 2 %22 = extractelement <4 x float> %18, i32 3 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %19, float %20, float %21, float %22) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %12, float %13, float %14, float %15) ret void } ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800704 bf8c007f e00c2000 80000100 bf8c0770 f800020f 04030201 c0800700 bf8c000f e00c2000 80000000 bf8c0770 f80008cf 03020100 bf810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 c80a0102 c80e0002 f800180f 00010203 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 c80a0102 c80e0002 f800180f 00010203 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %10, i32 0, i32 %5) %12 = extractelement <4 x float> %11, i32 0 %13 = extractelement <4 x float> %11, i32 1 %14 = extractelement <4 x float> %11, i32 2 %15 = extractelement <4 x float> %11, i32 3 %16 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %17 = load <16 x i8> addrspace(2)* %16, !tbaa !0 %18 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %17, i32 0, i32 %5) %19 = extractelement <4 x float> %18, i32 0 %20 = extractelement <4 x float> %18, i32 1 %21 = extractelement <4 x float> %18, i32 2 %22 = extractelement <4 x float> %18, i32 3 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %19, float %20, float %21, float %22) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %12, float %13, float %14, float %15) ret void } ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800704 bf8c007f e00c2000 80000100 bf8c0770 f800020f 04030201 c0800700 bf8c000f e00c2000 80000000 bf8c0770 f80008cf 03020100 bf810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], COLOR, COLOR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %21 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %22 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %23 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8080300 c8090301 c80c0200 c80d0201 c8100100 c8110101 c8140000 c8150001 f800180f 02030405 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: MOV_SAT OUT[1], IN[1] 5: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %28 = load <16 x i8> addrspace(2)* %27, !tbaa !0 %29 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %28, i32 0, i32 %5) %30 = extractelement <4 x float> %29, i32 0 %31 = extractelement <4 x float> %29, i32 1 %32 = extractelement <4 x float> %29, i32 2 %33 = extractelement <4 x float> %29, i32 3 %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = extractelement <4 x float> %36, i32 2 %40 = extractelement <4 x float> %36, i32 3 %41 = fmul float %30, %11 %42 = fmul float %30, %12 %43 = fmul float %30, %13 %44 = fmul float %30, %14 %45 = fmul float %31, %15 %46 = fadd float %45, %41 %47 = fmul float %31, %16 %48 = fadd float %47, %42 %49 = fmul float %31, %17 %50 = fadd float %49, %43 %51 = fmul float %31, %18 %52 = fadd float %51, %44 %53 = fmul float %32, %19 %54 = fadd float %53, %46 %55 = fmul float %32, %20 %56 = fadd float %55, %48 %57 = fmul float %32, %21 %58 = fadd float %57, %50 %59 = fmul float %32, %22 %60 = fadd float %59, %52 %61 = fmul float %33, %23 %62 = fadd float %61, %54 %63 = fmul float %33, %24 %64 = fadd float %63, %56 %65 = fmul float %33, %25 %66 = fadd float %65, %58 %67 = fmul float %33, %26 %68 = fadd float %67, %60 %69 = call float @llvm.AMDIL.clamp.(float %37, float 0.000000e+00, float 1.000000e+00) %70 = call float @llvm.AMDIL.clamp.(float %38, float 0.000000e+00, float 1.000000e+00) %71 = call float @llvm.AMDIL.clamp.(float %39, float 0.000000e+00, float 1.000000e+00) %72 = call float @llvm.AMDIL.clamp.(float %40, float 0.000000e+00, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %69, float %70, float %71, float %72) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %62, float %64, float %66, float %68) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 bf8c0770 d2060805 02010104 d2060806 02010103 d2060807 02010102 d2060801 02010101 f800020f 05060701 c0820700 bf8c000f e00c2000 80010000 c0800100 bf8c0070 c2020103 bf8c007f 7e080204 d2100004 02020900 c2020107 bf8c007f 7e0a0204 d2820004 04120b01 c202010b bf8c007f 7e0a0204 d2820004 04120b02 c202010f bf8c007f 7e0a0204 d2820004 04120b03 c2020102 bf8c007f 7e0a0204 d2100005 02020b00 c2020106 bf8c007f 7e0c0204 d2820005 04160d01 c202010a bf8c007f 7e0c0204 d2820005 04160d02 c202010e bf8c007f 7e0c0204 d2820005 04160d03 c2020101 bf8c007f 7e0c0204 d2100006 02020d00 c2020105 bf8c007f 7e0e0204 d2820006 041a0f01 c2020109 bf8c007f 7e0e0204 d2820006 041a0f02 c202010d bf8c007f 7e0e0204 d2820006 041a0f03 c2020100 bf8c007f 7e0e0204 d2100007 02020f00 c2020104 bf8c007f 7e100204 d2820007 041e1101 c2020108 bf8c007f 7e100204 d2820007 041e1102 c200010c bf8c007f 7e100200 d2820000 041e1103 f80008cf 04050600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) %24 = call i32 @llvm.SI.packf16(float %20, float %21) %25 = bitcast i32 %24 to float %26 = call i32 @llvm.SI.packf16(float %22, float %23) %27 = bitcast i32 %26 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %25, float %27, float %25, float %27) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 5e000101 c8060102 c80a0002 5e020302 f8001c0f 00010001 bf810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %9) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %9) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 0 %32 = extractelement <4 x float> %30, i32 1 %33 = extractelement <4 x float> %30, i32 2 %34 = extractelement <4 x float> %30, i32 3 %35 = call i32 @llvm.SI.packf16(float %31, float %32) %36 = bitcast i32 %35 to float %37 = call i32 @llvm.SI.packf16(float %33, float %34) %38 = bitcast i32 %37 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %36, float %38, float %36, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800f00 00010002 bf8c0770 5e080702 5e000300 f8001c0f 04000400 bf810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %9) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %9) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 0 %32 = extractelement <4 x float> %30, i32 1 %33 = extractelement <4 x float> %30, i32 2 %34 = extractelement <4 x float> %30, i32 3 %35 = call i32 @llvm.SI.packf16(float %31, float %32) %36 = bitcast i32 %35 to float %37 = call i32 @llvm.SI.packf16(float %33, float %34) %38 = bitcast i32 %37 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %36, float %38, float %36, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800f00 00010002 bf8c0770 5e080702 5e000300 f8001c0f 04000400 bf810000 GLRender::GLRender(): Unknown GPU FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %9) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %9) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 0 %32 = extractelement <4 x float> %30, i32 1 %33 = extractelement <4 x float> %30, i32 2 %34 = extractelement <4 x float> %30, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %31, float %32, float %33, float %34) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800f00 00010002 bf8c0770 f800180f 03020100 bf810000 FRAG DCL IN[0], COLOR, COLOR DCL IN[1], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL OUT[1], COLOR[1] DCL OUT[2], COLOR[2] DCL OUT[3], COLOR[3] DCL OUT[4], COLOR[4] DCL OUT[5], COLOR[5] DCL OUT[6], COLOR[6] DCL OUT[7], COLOR[7] DCL SAMP[0] DCL TEMP[0..2], LOCAL DCL TEMP[3..10], ARRAY(1), LOCAL IMM[0] FLT32 { 0.0000, 0.5000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[1].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: ADD TEMP[1].xy, IN[1].xyyy, IMM[0].xyyy 3: MOV TEMP[1].xy, TEMP[1].xyyy 4: TEX TEMP[1], TEMP[1], SAMP[0], 2D 5: MAD_SAT TEMP[2].x, TEMP[1].wwww, IN[1].zzzz, IN[1].wwww 6: LRP TEMP[1].xyz, TEMP[2].xxxx, TEMP[0].xyzz, TEMP[1].xyzz 7: MOV TEMP[1].w, TEMP[0].wwww 8: MUL TEMP[3], TEMP[1], IN[0] 9: MOV TEMP[4], TEMP[3] 10: MOV OUT[0], TEMP[3] 11: MOV OUT[1], TEMP[4] 12: MOV OUT[2], TEMP[5] 13: MOV OUT[3], TEMP[6] 14: MOV OUT[4], TEMP[7] 15: MOV OUT[5], TEMP[8] 16: MOV OUT[6], TEMP[9] 17: MOV OUT[7], TEMP[10] 18: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %32 = bitcast float %28 to i32 %33 = bitcast float %29 to i32 %34 = insertelement <2 x i32> undef, i32 %32, i32 0 %35 = insertelement <2 x i32> %34, i32 %33, i32 1 %36 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %35, <32 x i8> %21, <16 x i8> %23, i32 2) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = extractelement <4 x float> %36, i32 2 %40 = extractelement <4 x float> %36, i32 3 %41 = fadd float %28, 0.000000e+00 %42 = fadd float %29, 5.000000e-01 %43 = bitcast float %41 to i32 %44 = bitcast float %42 to i32 %45 = insertelement <2 x i32> undef, i32 %43, i32 0 %46 = insertelement <2 x i32> %45, i32 %44, i32 1 %47 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %46, <32 x i8> %21, <16 x i8> %23, i32 2) %48 = extractelement <4 x float> %47, i32 0 %49 = extractelement <4 x float> %47, i32 1 %50 = extractelement <4 x float> %47, i32 2 %51 = extractelement <4 x float> %47, i32 3 %52 = fmul float %51, %30 %53 = fadd float %52, %31 %54 = call float @llvm.AMDIL.clamp.(float %53, float 0.000000e+00, float 1.000000e+00) %55 = call float @llvm.AMDGPU.lrp(float %54, float %37, float %48) %56 = call float @llvm.AMDGPU.lrp(float %54, float %38, float %49) %57 = call float @llvm.AMDGPU.lrp(float %54, float %39, float %50) %58 = fmul float %55, %24 %59 = fmul float %56, %25 %60 = fmul float %57, %26 %61 = fmul float %40, %27 %62 = call i32 @llvm.SI.packf16(float %58, float %59) %63 = bitcast i32 %62 to float %64 = call i32 @llvm.SI.packf16(float %60, float %61) %65 = bitcast i32 %64 to float %66 = call i32 @llvm.SI.packf16(float %58, float %59) %67 = bitcast i32 %66 to float %68 = call i32 @llvm.SI.packf16(float %60, float %61) %69 = bitcast i32 %68 to float call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 0, i32 1, float %63, float %65, float %63, float %65) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 1, i32 1, float %67, float %69, float %67, float %69) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 2, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 3, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 4, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 5, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 6, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 7, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0500 c80d0501 060a06f0 c8080400 c8090401 06080480 c0800300 c0c40500 bf8c007f f0800f00 00020404 c8200700 c8210701 c8240600 c8250601 bf8c0770 d2820008 04221307 d2060808 02010108 081210f2 10140b09 f0800f00 00020b02 bf8c0770 d2820002 042a1908 c80c0100 c80d0101 10040702 10060909 d2820003 040e1708 c8280000 c8290001 10061503 5e040503 10060d09 d2820003 040e1b08 c8100200 c8110201 10060903 c8100300 c8110301 1000090e 5e000103 f800040f 00020002 f800041f 00020002 bf8c070f 7e000280 f800002f 00000000 f800003f 00000000 f800004f 00000000 f800005f 00000000 f800006f 00000000 f800187f 00000000 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL IN[4] DCL IN[5] DCL IN[6] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL OUT[2], GENERIC[0] DCL TEMP[0..1], LOCAL 0: DP4 TEMP[0].x, IN[0], IN[3] 1: DP4 TEMP[1].x, IN[0], IN[4] 2: MOV TEMP[0].y, TEMP[1].xxxx 3: DP4 TEMP[1].x, IN[0], IN[5] 4: MOV TEMP[0].z, TEMP[1].xxxx 5: DP4 TEMP[1].x, IN[0], IN[6] 6: MOV TEMP[0].w, TEMP[1].xxxx 7: MOV OUT[2], IN[1] 8: MOV OUT[0], TEMP[0] 9: MOV_SAT OUT[1], IN[2] 10: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %10, i32 0, i32 %5) %12 = extractelement <4 x float> %11, i32 0 %13 = extractelement <4 x float> %11, i32 1 %14 = extractelement <4 x float> %11, i32 2 %15 = extractelement <4 x float> %11, i32 3 %16 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %17 = load <16 x i8> addrspace(2)* %16, !tbaa !0 %18 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %17, i32 0, i32 %5) %19 = extractelement <4 x float> %18, i32 0 %20 = extractelement <4 x float> %18, i32 1 %21 = extractelement <4 x float> %18, i32 2 %22 = extractelement <4 x float> %18, i32 3 %23 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %24 = load <16 x i8> addrspace(2)* %23, !tbaa !0 %25 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %24, i32 0, i32 %5) %26 = extractelement <4 x float> %25, i32 0 %27 = extractelement <4 x float> %25, i32 1 %28 = extractelement <4 x float> %25, i32 2 %29 = extractelement <4 x float> %25, i32 3 %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 4 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = extractelement <4 x float> %39, i32 2 %43 = extractelement <4 x float> %39, i32 3 %44 = getelementptr <16 x i8> addrspace(2)* %3, i32 5 %45 = load <16 x i8> addrspace(2)* %44, !tbaa !0 %46 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %45, i32 0, i32 %5) %47 = extractelement <4 x float> %46, i32 0 %48 = extractelement <4 x float> %46, i32 1 %49 = extractelement <4 x float> %46, i32 2 %50 = extractelement <4 x float> %46, i32 3 %51 = getelementptr <16 x i8> addrspace(2)* %3, i32 6 %52 = load <16 x i8> addrspace(2)* %51, !tbaa !0 %53 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %52, i32 0, i32 %5) %54 = extractelement <4 x float> %53, i32 0 %55 = extractelement <4 x float> %53, i32 1 %56 = extractelement <4 x float> %53, i32 2 %57 = extractelement <4 x float> %53, i32 3 %58 = fmul float %12, %33 %59 = fmul float %13, %34 %60 = fadd float %58, %59 %61 = fmul float %14, %35 %62 = fadd float %60, %61 %63 = fmul float %15, %36 %64 = fadd float %62, %63 %65 = fmul float %12, %40 %66 = fmul float %13, %41 %67 = fadd float %65, %66 %68 = fmul float %14, %42 %69 = fadd float %67, %68 %70 = fmul float %15, %43 %71 = fadd float %69, %70 %72 = fmul float %12, %47 %73 = fmul float %13, %48 %74 = fadd float %72, %73 %75 = fmul float %14, %49 %76 = fadd float %74, %75 %77 = fmul float %15, %50 %78 = fadd float %76, %77 %79 = fmul float %12, %54 %80 = fmul float %13, %55 %81 = fadd float %79, %80 %82 = fmul float %14, %56 %83 = fadd float %81, %82 %84 = fmul float %15, %57 %85 = fadd float %83, %84 %86 = call float @llvm.AMDIL.clamp.(float %26, float 0.000000e+00, float 1.000000e+00) %87 = call float @llvm.AMDIL.clamp.(float %27, float 0.000000e+00, float 1.000000e+00) %88 = call float @llvm.AMDIL.clamp.(float %28, float 0.000000e+00, float 1.000000e+00) %89 = call float @llvm.AMDIL.clamp.(float %29, float 0.000000e+00, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %86, float %87, float %88, float %89) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %19, float %20, float %21, float %22) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %64, float %71, float %78, float %85) ret void } ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800708 bf8c007f e00c2000 80000100 bf8c0770 d2060805 02010104 d2060806 02010103 d2060807 02010102 d2060801 02010101 f800020f 05060701 c0800704 bf8c000f e00c2000 80000100 bf8c0770 f800021f 04030201 c0800718 bf8c000f e00c2000 80000100 c0800700 bf8c0070 e00c2000 80000500 bf8c0770 10120506 d2820009 04260305 d2820009 04260707 d2820001 04260908 c0800714 bf8c007f e00c2000 80000900 bf8c0770 10041506 d2820002 040a1305 d2820002 040a1707 d2820002 040a1908 c0800710 bf8c007f e00c2000 80000900 bf8c0770 10061506 d2820003 040e1305 d2820003 040e1707 d2820003 040e1908 c080070c bf8c007f e00c2000 80000900 bf8c0770 10001506 d2820000 04021305 d2820000 04021707 d2820000 04021908 f80008cf 01020300 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL OUT[0], COLOR DCL CONST[0..3] 0: MOV OUT[0], CONST[3] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 60) %26 = call i32 @llvm.SI.packf16(float %22, float %23) %27 = bitcast i32 %26 to float %28 = call i32 @llvm.SI.packf16(float %24, float %25) %29 = bitcast i32 %28 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %27, float %29, float %27, float %29) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 bf8c007f c202010e c202810f bf8c007f 7e000205 d25e0000 02020004 c202010c c200010d bf8c007f 7e020200 d25e0001 02020204 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %28 = load <16 x i8> addrspace(2)* %27, !tbaa !0 %29 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %28, i32 0, i32 %5) %30 = extractelement <4 x float> %29, i32 0 %31 = extractelement <4 x float> %29, i32 1 %32 = extractelement <4 x float> %29, i32 2 %33 = extractelement <4 x float> %29, i32 3 %34 = fmul float %30, %11 %35 = fmul float %30, %12 %36 = fmul float %30, %13 %37 = fmul float %30, %14 %38 = fmul float %31, %15 %39 = fadd float %38, %34 %40 = fmul float %31, %16 %41 = fadd float %40, %35 %42 = fmul float %31, %17 %43 = fadd float %42, %36 %44 = fmul float %31, %18 %45 = fadd float %44, %37 %46 = fmul float %32, %19 %47 = fadd float %46, %39 %48 = fmul float %32, %20 %49 = fadd float %48, %41 %50 = fmul float %32, %21 %51 = fadd float %50, %43 %52 = fmul float %32, %22 %53 = fadd float %52, %45 %54 = fmul float %33, %23 %55 = fadd float %54, %47 %56 = fmul float %33, %24 %57 = fadd float %56, %49 %58 = fmul float %33, %25 %59 = fadd float %58, %51 %60 = fmul float %33, %26 %61 = fadd float %60, %53 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %55, float %57, float %59, float %61) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0800100 bf8c0070 c2020103 bf8c007f 7e080204 d2100004 02020900 c2020107 bf8c007f 7e0a0204 d2820004 04120b01 c202010b bf8c007f 7e0a0204 d2820004 04120b02 c202010f bf8c007f 7e0a0204 d2820004 04120b03 c2020102 bf8c007f 7e0a0204 d2100005 02020b00 c2020106 bf8c007f 7e0c0204 d2820005 04160d01 c202010a bf8c007f 7e0c0204 d2820005 04160d02 c202010e bf8c007f 7e0c0204 d2820005 04160d03 c2020101 bf8c007f 7e0c0204 d2100006 02020d00 c2020105 bf8c007f 7e0e0204 d2820006 041a0f01 c2020109 bf8c007f 7e0e0204 d2820006 041a0f02 c202010d bf8c007f 7e0e0204 d2820006 041a0f03 c2020100 bf8c007f 7e0e0204 d2100007 02020f00 c2020104 bf8c007f 7e100204 d2820007 041e1101 c2020108 bf8c007f 7e100204 d2820007 041e1102 c200010c bf8c007f 7e100200 d2820000 041e1103 f80008cf 04050600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xy, TEMP[0], SAMP[0], 2D 2: MAD TEMP[0].xy, TEMP[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 3: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 4: ADD_SAT TEMP[1].x, IMM[0].zzzz, -TEMP[1].xxxx 5: RSQ TEMP[2].x, TEMP[1].xxxx 6: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 7: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].wwww 8: MOV TEMP[0].z, TEMP[2].xxxx 9: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 10: RSQ TEMP[1].x, TEMP[1].xxxx 11: MUL TEMP[1].xyz, IN[2].xyzz, TEMP[1].xxxx 12: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 13: DP3 TEMP[2].x, IN[3].xyzz, IN[3].xyzz 14: RSQ TEMP[2].x, TEMP[2].xxxx 15: MUL TEMP[2].xyz, IN[3].xyzz, TEMP[2].xxxx 16: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[0].xyzz 17: MOV TEMP[1].y, TEMP[2].xxxx 18: DP3 TEMP[2].x, IN[4].xyzz, IN[4].xyzz 19: RSQ TEMP[2].x, TEMP[2].xxxx 20: MUL TEMP[2].xyz, IN[4].xyzz, TEMP[2].xxxx 21: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 22: ADD TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 23: MOV TEMP[1].z, TEMP[0].xxxx 24: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 25: RSQ TEMP[0].x, TEMP[0].xxxx 26: MUL TEMP[0].xy, TEMP[1].xyzz, TEMP[0].xxxx 27: MOV TEMP[1].x, TEMP[0].xxxx 28: MOV TEMP[1].y, TEMP[0].yyyy 29: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 30: RSQ TEMP[2].x, TEMP[0].xxxx 31: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[0].xxxx 32: CMP TEMP[2].x, -TEMP[0].xxxx, TEMP[2].xxxx, IMM[0].wwww 33: MOV TEMP[1].z, -TEMP[2].xxxx 34: MOV TEMP[1].w, IMM[0].wwww 35: MOV OUT[0], TEMP[1] 36: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %38 = bitcast float %24 to i32 %39 = bitcast float %25 to i32 %40 = insertelement <2 x i32> undef, i32 %38, i32 0 %41 = insertelement <2 x i32> %40, i32 %39, i32 1 %42 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %41, <32 x i8> %21, <16 x i8> %23, i32 2) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = fmul float %43, 2.000000e+00 %46 = fadd float %45, -1.000000e+00 %47 = fmul float %44, 2.000000e+00 %48 = fadd float %47, -1.000000e+00 %49 = fmul float %46, %46 %50 = fmul float %48, %48 %51 = fadd float %49, %50 %52 = fsub float -0.000000e+00, %51 %53 = fadd float 1.000000e+00, %52 %54 = call float @llvm.AMDIL.clamp.(float %53, float 0.000000e+00, float 1.000000e+00) %55 = call float @llvm.AMDGPU.rsq(float %54) %56 = fmul float %55, %54 %57 = fsub float -0.000000e+00, %54 %58 = call float @llvm.AMDGPU.cndlt(float %57, float %56, float 0.000000e+00) %59 = fmul float %29, %29 %60 = fmul float %30, %30 %61 = fadd float %60, %59 %62 = fmul float %31, %31 %63 = fadd float %61, %62 %64 = call float @llvm.AMDGPU.rsq(float %63) %65 = fmul float %29, %64 %66 = fmul float %30, %64 %67 = fmul float %31, %64 %68 = fmul float %65, %46 %69 = fmul float %66, %48 %70 = fadd float %69, %68 %71 = fmul float %67, %58 %72 = fadd float %70, %71 %73 = fmul float %32, %32 %74 = fmul float %33, %33 %75 = fadd float %74, %73 %76 = fmul float %34, %34 %77 = fadd float %75, %76 %78 = call float @llvm.AMDGPU.rsq(float %77) %79 = fmul float %32, %78 %80 = fmul float %33, %78 %81 = fmul float %34, %78 %82 = fmul float %79, %46 %83 = fmul float %80, %48 %84 = fadd float %83, %82 %85 = fmul float %81, %58 %86 = fadd float %84, %85 %87 = fmul float %35, %35 %88 = fmul float %36, %36 %89 = fadd float %88, %87 %90 = fmul float %37, %37 %91 = fadd float %89, %90 %92 = call float @llvm.AMDGPU.rsq(float %91) %93 = fmul float %35, %92 %94 = fmul float %36, %92 %95 = fmul float %37, %92 %96 = fmul float %93, %46 %97 = fmul float %94, %48 %98 = fadd float %97, %96 %99 = fmul float %95, %58 %100 = fadd float %98, %99 %101 = fadd float %100, 1.000000e+00 %102 = fmul float %72, %72 %103 = fmul float %86, %86 %104 = fadd float %103, %102 %105 = fmul float %101, %101 %106 = fadd float %104, %105 %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %72, %107 %109 = fmul float %86, %107 %110 = fmul float %26, %26 %111 = fmul float %27, %27 %112 = fadd float %111, %110 %113 = fmul float %28, %28 %114 = fadd float %112, %113 %115 = call float @llvm.AMDGPU.rsq(float %114) %116 = fmul float %115, %114 %117 = fsub float -0.000000e+00, %114 %118 = call float @llvm.AMDGPU.cndlt(float %117, float %116, float 0.000000e+00) %119 = fsub float -0.000000e+00, %118 %120 = call i32 @llvm.SI.packf16(float %108, float %109) %121 = bitcast i32 %120 to float %122 = call i32 @llvm.SI.packf16(float %119, float 0.000000e+00) %123 = bitcast i32 %122 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %121, float %123, float %121, float %123) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c40500 bf8c007f f0800300 00020202 bf8c0770 06080502 060808f3 06040703 060404f3 10060502 d2820003 040e0904 080606f2 d2060803 02010103 7e0a5b03 100a0705 d2060003 22010103 d0080000 02020680 d2000003 00020a80 c8140d00 c8150d01 c8180c00 c8190c01 100e0d06 d2820007 041e0b05 c8200e00 c8210e01 d2820007 041e1108 7e0e5b07 100c0f06 100c0906 100a0f05 d2820005 041a0505 100c0f08 d2820005 04160706 c8180900 c8190901 c81c0800 c81d0801 10100f07 d2820008 04220d06 c8240a00 c8250a01 d2820008 04221309 7e105b08 100e1107 100e0907 100c1106 d2820006 041e0506 100e1109 d2820006 041a0707 100e0d06 d2820007 041e0b05 c8201100 c8211101 c8241000 c8251001 10141309 d282000a 042a1108 c82c1200 c82d1201 d282000a 042a170b 7e145b0a 10121509 10080909 10101508 d2820002 04120508 1008150b d2820002 040a0704 060404f2 d2820002 041e0502 7e045b02 10060505 10040506 5e040702 c80c0500 c80d0501 c8100400 c8110401 10080904 d2820003 04120703 c8100600 c8110601 d2820000 040e0904 7e025b00 10020101 d2060000 22010100 d0080000 02020080 d2000000 00020280 d2060000 22010100 d25e0000 02010100 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..107] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MOV TEMP[1].zw, IN[1].wwzw 34: MAD TEMP[1].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 35: ADD TEMP[2].xyz, TEMP[4].xyzz, -CONST[10].xyzz 36: MUL TEMP[5], CONST[5], TEMP[2].xxxx 37: MAD TEMP[5], CONST[6], TEMP[2].yyyy, TEMP[5] 38: MAD TEMP[2], CONST[7], TEMP[2].zzzz, TEMP[5] 39: ADD TEMP[2], TEMP[2], CONST[8] 40: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[9].xyzz 41: RCP TEMP[5].x, CONST[0].yyyy 42: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 43: MUL TEMP[5].xyz, TEMP[3].zxyy, TEMP[0].yzxx 44: MAD TEMP[5].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[5].xyzz 45: MUL TEMP[5].xyz, TEMP[5].xyzz, IN[3].wwww 46: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 47: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 48: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 49: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 50: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 51: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 52: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[3].xxxx 53: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[3].yyyy, TEMP[6].xyzz 54: MAD TEMP[3].xyz, CONST[3].xyzz, TEMP[3].zzzz, TEMP[6].xyzz 55: MOV TEMP[6].x, TEMP[0].xxxx 56: MOV TEMP[6].y, TEMP[5].xxxx 57: MOV TEMP[6].z, TEMP[3].xxxx 58: MOV TEMP[6].xyz, TEMP[6].xyzx 59: MOV TEMP[7].x, TEMP[0].yyyy 60: MOV TEMP[7].y, TEMP[5].yyyy 61: MOV TEMP[7].z, TEMP[3].yyyy 62: MOV TEMP[7].xyz, TEMP[7].xyzx 63: MOV TEMP[0].x, TEMP[0].zzzz 64: MOV TEMP[0].y, TEMP[5].zzzz 65: MOV TEMP[0].z, TEMP[3].zzzz 66: MOV TEMP[0].xyz, TEMP[0].xyzx 67: MOV OUT[1], TEMP[1] 68: MOV OUT[2], TEMP[4] 69: MOV OUT[3], TEMP[6] 70: MOV OUT[4], TEMP[7] 71: MOV OUT[5], TEMP[0] 72: MOV OUT[0], TEMP[2] 73: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = extractelement <4 x float> %54, i32 2 %58 = extractelement <4 x float> %54, i32 3 %59 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %60 = load <16 x i8> addrspace(2)* %59, !tbaa !0 %61 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %60, i32 0, i32 %5) %62 = extractelement <4 x float> %61, i32 0 %63 = extractelement <4 x float> %61, i32 1 %64 = extractelement <4 x float> %61, i32 2 %65 = extractelement <4 x float> %61, i32 3 %66 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %67 = load <16 x i8> addrspace(2)* %66, !tbaa !0 %68 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %67, i32 0, i32 %5) %69 = extractelement <4 x float> %68, i32 0 %70 = extractelement <4 x float> %68, i32 1 %71 = extractelement <4 x float> %68, i32 2 %72 = extractelement <4 x float> %68, i32 3 %73 = add i32 %8, %4 %74 = mul i32 %73, 3 %75 = bitcast i32 %74 to float %76 = bitcast float %75 to i32 %77 = add i32 %76, 0 %78 = bitcast float %75 to i32 %79 = add i32 %78, 1 %80 = bitcast float %75 to i32 %81 = add i32 %80, 2 %82 = bitcast i32 %77 to float %83 = bitcast i32 %79 to float %84 = bitcast i32 %81 to float %85 = bitcast float %82 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 176 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 180 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 184 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 188 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %83 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 176 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 180 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 184 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 188 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = bitcast float %84 to i32 %112 = shl i32 %111, 4 %113 = add i32 %112, 176 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %111, 4 %116 = add i32 %115, 180 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = shl i32 %111, 4 %119 = add i32 %118, 184 %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %119) %121 = shl i32 %111, 4 %122 = add i32 %121, 188 %123 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %122) %124 = fmul float %50, %88 %125 = fmul float %51, %91 %126 = fadd float %124, %125 %127 = fmul float %65, %94 %128 = fadd float %126, %127 %129 = fmul float 1.000000e+00, %97 %130 = fadd float %128, %129 %131 = fmul float %50, %101 %132 = fmul float %51, %104 %133 = fadd float %131, %132 %134 = fmul float %65, %107 %135 = fadd float %133, %134 %136 = fmul float 1.000000e+00, %110 %137 = fadd float %135, %136 %138 = fmul float %50, %114 %139 = fmul float %51, %117 %140 = fadd float %138, %139 %141 = fmul float %65, %120 %142 = fadd float %140, %141 %143 = fmul float 1.000000e+00, %123 %144 = fadd float %142, %143 %145 = fmul float %62, %88 %146 = fmul float %63, %91 %147 = fadd float %146, %145 %148 = fmul float %64, %94 %149 = fadd float %147, %148 %150 = fmul float %62, %101 %151 = fmul float %63, %104 %152 = fadd float %151, %150 %153 = fmul float %64, %107 %154 = fadd float %152, %153 %155 = fmul float %62, %114 %156 = fmul float %63, %117 %157 = fadd float %156, %155 %158 = fmul float %64, %120 %159 = fadd float %157, %158 %160 = fmul float %149, %149 %161 = fmul float %154, %154 %162 = fadd float %161, %160 %163 = fmul float %159, %159 %164 = fadd float %162, %163 %165 = call float @llvm.AMDGPU.rsq(float %164) %166 = fmul float %149, %165 %167 = fmul float %154, %165 %168 = fmul float %159, %165 %169 = fmul float %69, %88 %170 = fmul float %70, %91 %171 = fadd float %170, %169 %172 = fmul float %71, %94 %173 = fadd float %171, %172 %174 = fmul float %69, %101 %175 = fmul float %70, %104 %176 = fadd float %175, %174 %177 = fmul float %71, %107 %178 = fadd float %176, %177 %179 = fmul float %69, %114 %180 = fmul float %70, %117 %181 = fadd float %180, %179 %182 = fmul float %71, %120 %183 = fadd float %181, %182 %184 = fmul float %173, %173 %185 = fmul float %178, %178 %186 = fadd float %185, %184 %187 = fmul float %183, %183 %188 = fadd float %186, %187 %189 = call float @llvm.AMDGPU.rsq(float %188) %190 = fmul float %173, %189 %191 = fmul float %178, %189 %192 = fmul float %183, %189 %193 = fmul float %55, %43 %194 = fadd float %193, %45 %195 = fmul float %56, %44 %196 = fadd float %195, %46 %197 = fsub float -0.000000e+00, %40 %198 = fadd float %130, %197 %199 = fsub float -0.000000e+00, %41 %200 = fadd float %137, %199 %201 = fsub float -0.000000e+00, %42 %202 = fadd float %144, %201 %203 = fmul float %21, %198 %204 = fmul float %22, %198 %205 = fmul float %23, %198 %206 = fmul float %24, %198 %207 = fmul float %25, %200 %208 = fadd float %207, %203 %209 = fmul float %26, %200 %210 = fadd float %209, %204 %211 = fmul float %27, %200 %212 = fadd float %211, %205 %213 = fmul float %28, %200 %214 = fadd float %213, %206 %215 = fmul float %29, %202 %216 = fadd float %215, %208 %217 = fmul float %30, %202 %218 = fadd float %217, %210 %219 = fmul float %31, %202 %220 = fadd float %219, %212 %221 = fmul float %32, %202 %222 = fadd float %221, %214 %223 = fadd float %216, %33 %224 = fadd float %218, %34 %225 = fadd float %220, %35 %226 = fadd float %222, %36 %227 = fsub float -0.000000e+00, %37 %228 = fadd float %130, %227 %229 = fsub float -0.000000e+00, %38 %230 = fadd float %137, %229 %231 = fsub float -0.000000e+00, %39 %232 = fadd float %144, %231 %233 = fdiv float 1.000000e+00, %11 %234 = fmul float %228, %233 %235 = fmul float %230, %233 %236 = fmul float %232, %233 %237 = fmul float %168, %191 %238 = fmul float %166, %192 %239 = fmul float %167, %190 %240 = fsub float -0.000000e+00, %237 %241 = fmul float %167, %192 %242 = fadd float %241, %240 %243 = fsub float -0.000000e+00, %238 %244 = fmul float %168, %190 %245 = fadd float %244, %243 %246 = fsub float -0.000000e+00, %239 %247 = fmul float %166, %191 %248 = fadd float %247, %246 %249 = fmul float %242, %72 %250 = fmul float %245, %72 %251 = fmul float %248, %72 %252 = fmul float %12, %190 %253 = fmul float %13, %190 %254 = fmul float %14, %190 %255 = fmul float %15, %191 %256 = fadd float %255, %252 %257 = fmul float %16, %191 %258 = fadd float %257, %253 %259 = fmul float %17, %191 %260 = fadd float %259, %254 %261 = fmul float %18, %192 %262 = fadd float %261, %256 %263 = fmul float %19, %192 %264 = fadd float %263, %258 %265 = fmul float %20, %192 %266 = fadd float %265, %260 %267 = fmul float %12, %249 %268 = fmul float %13, %249 %269 = fmul float %14, %249 %270 = fmul float %15, %250 %271 = fadd float %270, %267 %272 = fmul float %16, %250 %273 = fadd float %272, %268 %274 = fmul float %17, %250 %275 = fadd float %274, %269 %276 = fmul float %18, %251 %277 = fadd float %276, %271 %278 = fmul float %19, %251 %279 = fadd float %278, %273 %280 = fmul float %20, %251 %281 = fadd float %280, %275 %282 = fmul float %12, %166 %283 = fmul float %13, %166 %284 = fmul float %14, %166 %285 = fmul float %15, %167 %286 = fadd float %285, %282 %287 = fmul float %16, %167 %288 = fadd float %287, %283 %289 = fmul float %17, %167 %290 = fadd float %289, %284 %291 = fmul float %18, %168 %292 = fadd float %291, %286 %293 = fmul float %19, %168 %294 = fadd float %293, %288 %295 = fmul float %20, %168 %296 = fadd float %295, %290 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %194, float %196, float %57, float %58) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %234, float %235, float %236, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %277, float %292, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %264, float %279, float %294, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %266, float %281, float %296, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %223, float %224, float %225, float %226) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 34040284 4a0604ff 000000b4 e0301000 80000303 c0840700 bf8c0070 e00c2000 80020400 bf8c0770 10100705 4a1204ff 000000b0 e0301000 80000909 bf8c0770 d2820008 04221304 4a1404ff 000000b8 e0301000 80000a0a c0840708 bf8c0070 e00c2000 80020b00 bf8c0770 d2820008 0422150e 4a0404ff 000000bc e0301000 80000202 bf8c0770 06040508 c2020124 bf8c007f 0a100404 c2020101 bf8c007f 7e1e5404 10101f08 4a200282 34202084 4a2220ff 000000b4 e0301000 80001111 bf8c0770 10242305 4a2620ff 000000b0 e0301000 80001313 bf8c0770 d2820012 044a2704 4a2820ff 000000b8 e0301000 80001414 bf8c0770 d2820012 044a290e 4a2020ff 000000bc e0301000 80001010 bf8c0770 06242112 c2020126 bf8c007f 0a2a2404 102a1f15 4a020281 34020284 4a2c02ff 000000b4 e0301000 80001616 bf8c0770 102e2d05 4a3002ff 000000b0 e0301000 80001818 bf8c0770 d2820004 045e3104 4a0a02ff 000000b8 e0301000 80000505 bf8c0770 d2820004 04120b0e 4a0202ff 000000bc e0301000 80000101 bf8c0770 06020304 c2020125 bf8c007f 0a080204 10081f04 7e0c0280 f800021f 06150408 c082070c bf8c000f e00c2000 80011900 bf8c0770 10003119 d2820000 04022d1a d2820000 04020b1b 10081319 d2820004 0412071a d2820004 0412151b 100e0904 d2820007 041e0100 10102719 d2820008 0422231a d2820008 0422291b d2820007 041e1108 7e0e5b07 10100f08 101e310b d282000f 043e2d0c d2820005 043e0b0d 1012130b d2820003 0426070c d2820003 040e150d 10120703 d2820009 04260b05 1014270b d282000a 042a230c d282000a 042a290d d2820009 0426150a 7e125b09 10061303 10161103 10080f04 1014130a 1018090a 0816170c 1016390b 10000f00 100e010a 100a1305 10121105 080e0f09 100e3907 c2020104 bf8c007f 10120e04 c2028108 bf8c007f d2820009 04261605 10180905 101a0103 0818190d 1018390c c203010c bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800022f 060d090e c2020105 bf8c000f 10120e04 c2028109 bf8c007f d2820009 04261605 c203010d bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800023f 060d090e c2020106 bf8c000f 100c0e04 c202810a bf8c007f d2820006 041a1605 c203010e bf8c007f d2820006 041a1806 10060604 d2820003 040e0a05 d2820003 040e1406 10080804 d2820000 04120005 d2820000 04021006 f800024f 10030600 c2020128 bf8c000f 0a000404 c2020117 bf8c007f 10040004 c2020129 bf8c007f 0a020204 c202011b bf8c007f d2820002 040a0204 c202012a bf8c007f 0a062404 c202011f bf8c007f d2820002 040a0604 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080004 c202011a bf8c007f d2820004 04120204 c202011e bf8c007f d2820004 04120604 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0004 c2020119 bf8c007f d2820005 04160204 c202011d bf8c007f d2820005 04160604 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10000004 c2020118 bf8c007f d2820000 04020204 c202011c bf8c007f d2820000 04020604 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xy, TEMP[0], SAMP[0], 2D 2: MAD TEMP[0].xy, TEMP[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 3: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 4: ADD_SAT TEMP[1].x, IMM[0].zzzz, -TEMP[1].xxxx 5: RSQ TEMP[2].x, TEMP[1].xxxx 6: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 7: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].wwww 8: MOV TEMP[0].z, TEMP[2].xxxx 9: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 10: RSQ TEMP[1].x, TEMP[1].xxxx 11: MUL TEMP[1].xyz, IN[2].xyzz, TEMP[1].xxxx 12: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 13: DP3 TEMP[2].x, IN[3].xyzz, IN[3].xyzz 14: RSQ TEMP[2].x, TEMP[2].xxxx 15: MUL TEMP[2].xyz, IN[3].xyzz, TEMP[2].xxxx 16: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[0].xyzz 17: MOV TEMP[1].y, TEMP[2].xxxx 18: DP3 TEMP[2].x, IN[4].xyzz, IN[4].xyzz 19: RSQ TEMP[2].x, TEMP[2].xxxx 20: MUL TEMP[2].xyz, IN[4].xyzz, TEMP[2].xxxx 21: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 22: ADD TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 23: MOV TEMP[1].z, TEMP[0].xxxx 24: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 25: RSQ TEMP[0].x, TEMP[0].xxxx 26: MUL TEMP[0].xy, TEMP[1].xyzz, TEMP[0].xxxx 27: MOV TEMP[1].x, TEMP[0].xxxx 28: MOV TEMP[1].y, TEMP[0].yyyy 29: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 30: RSQ TEMP[2].x, TEMP[0].xxxx 31: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[0].xxxx 32: CMP TEMP[2].x, -TEMP[0].xxxx, TEMP[2].xxxx, IMM[0].wwww 33: MOV TEMP[1].z, -TEMP[2].xxxx 34: MOV TEMP[1].w, IMM[0].wwww 35: MOV OUT[0], TEMP[1] 36: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %38 = bitcast float %24 to i32 %39 = bitcast float %25 to i32 %40 = insertelement <2 x i32> undef, i32 %38, i32 0 %41 = insertelement <2 x i32> %40, i32 %39, i32 1 %42 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %41, <32 x i8> %21, <16 x i8> %23, i32 2) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = fmul float %43, 2.000000e+00 %46 = fadd float %45, -1.000000e+00 %47 = fmul float %44, 2.000000e+00 %48 = fadd float %47, -1.000000e+00 %49 = fmul float %46, %46 %50 = fmul float %48, %48 %51 = fadd float %49, %50 %52 = fsub float -0.000000e+00, %51 %53 = fadd float 1.000000e+00, %52 %54 = call float @llvm.AMDIL.clamp.(float %53, float 0.000000e+00, float 1.000000e+00) %55 = call float @llvm.AMDGPU.rsq(float %54) %56 = fmul float %55, %54 %57 = fsub float -0.000000e+00, %54 %58 = call float @llvm.AMDGPU.cndlt(float %57, float %56, float 0.000000e+00) %59 = fmul float %29, %29 %60 = fmul float %30, %30 %61 = fadd float %60, %59 %62 = fmul float %31, %31 %63 = fadd float %61, %62 %64 = call float @llvm.AMDGPU.rsq(float %63) %65 = fmul float %29, %64 %66 = fmul float %30, %64 %67 = fmul float %31, %64 %68 = fmul float %65, %46 %69 = fmul float %66, %48 %70 = fadd float %69, %68 %71 = fmul float %67, %58 %72 = fadd float %70, %71 %73 = fmul float %32, %32 %74 = fmul float %33, %33 %75 = fadd float %74, %73 %76 = fmul float %34, %34 %77 = fadd float %75, %76 %78 = call float @llvm.AMDGPU.rsq(float %77) %79 = fmul float %32, %78 %80 = fmul float %33, %78 %81 = fmul float %34, %78 %82 = fmul float %79, %46 %83 = fmul float %80, %48 %84 = fadd float %83, %82 %85 = fmul float %81, %58 %86 = fadd float %84, %85 %87 = fmul float %35, %35 %88 = fmul float %36, %36 %89 = fadd float %88, %87 %90 = fmul float %37, %37 %91 = fadd float %89, %90 %92 = call float @llvm.AMDGPU.rsq(float %91) %93 = fmul float %35, %92 %94 = fmul float %36, %92 %95 = fmul float %37, %92 %96 = fmul float %93, %46 %97 = fmul float %94, %48 %98 = fadd float %97, %96 %99 = fmul float %95, %58 %100 = fadd float %98, %99 %101 = fadd float %100, 1.000000e+00 %102 = fmul float %72, %72 %103 = fmul float %86, %86 %104 = fadd float %103, %102 %105 = fmul float %101, %101 %106 = fadd float %104, %105 %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %72, %107 %109 = fmul float %86, %107 %110 = fmul float %26, %26 %111 = fmul float %27, %27 %112 = fadd float %111, %110 %113 = fmul float %28, %28 %114 = fadd float %112, %113 %115 = call float @llvm.AMDGPU.rsq(float %114) %116 = fmul float %115, %114 %117 = fsub float -0.000000e+00, %114 %118 = call float @llvm.AMDGPU.cndlt(float %117, float %116, float 0.000000e+00) %119 = fsub float -0.000000e+00, %118 %120 = call i32 @llvm.SI.packf16(float %108, float %109) %121 = bitcast i32 %120 to float %122 = call i32 @llvm.SI.packf16(float %119, float 0.000000e+00) %123 = bitcast i32 %122 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %121, float %123, float %121, float %123) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c40500 bf8c007f f0800300 00020202 bf8c0770 06080502 060808f3 06040703 060404f3 10060502 d2820003 040e0904 080606f2 d2060803 02010103 7e0a5b03 100a0705 d2060003 22010103 d0080000 02020680 d2000003 00020a80 c8140d00 c8150d01 c8180c00 c8190c01 100e0d06 d2820007 041e0b05 c8200e00 c8210e01 d2820007 041e1108 7e0e5b07 100c0f06 100c0906 100a0f05 d2820005 041a0505 100c0f08 d2820005 04160706 c8180900 c8190901 c81c0800 c81d0801 10100f07 d2820008 04220d06 c8240a00 c8250a01 d2820008 04221309 7e105b08 100e1107 100e0907 100c1106 d2820006 041e0506 100e1109 d2820006 041a0707 100e0d06 d2820007 041e0b05 c8201100 c8211101 c8241000 c8251001 10141309 d282000a 042a1108 c82c1200 c82d1201 d282000a 042a170b 7e145b0a 10121509 10080909 10101508 d2820002 04120508 1008150b d2820002 040a0704 060404f2 d2820002 041e0502 7e045b02 10060505 10040506 5e040702 c80c0500 c80d0501 c8100400 c8110401 10080904 d2820003 04120703 c8100600 c8110601 d2820000 040e0904 7e025b00 10020101 d2060000 22010100 d0080000 02020080 d2000000 00020280 d2060000 22010100 d25e0000 02010100 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL IN[4] DCL IN[5] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..228] DCL TEMP[0..14], LOCAL DCL ADDR[0] IMM[0] INT32 {1, 3, 0, 2} IMM[1] FLT32 { 2.0000, 1.0000, 0.0000, 0.0000} 0: F2I TEMP[0].x, CONST[11].xxxx 1: F2I TEMP[1], IN[1] 2: UMAD TEMP[0], SV[0].xxxx, TEMP[0].xxxx, TEMP[1] 3: UARL ADDR[0].x, TEMP[0].xxxx 4: UARL ADDR[0].x, TEMP[0].xxxx 5: MUL TEMP[1], CONST[ADDR[0].x+12], IN[2].xxxx 6: UADD TEMP[2].x, TEMP[0].xxxx, IMM[0].xxxx 7: UARL ADDR[0].x, TEMP[2].xxxx 8: MOV TEMP[2], CONST[ADDR[0].x+12] 9: MUL TEMP[3].x, TEMP[1].wwww, IMM[1].xxxx 10: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xxxx 11: MUL TEMP[4].xy, TEMP[2].xwww, TEMP[3].xxxx 12: MUL TEMP[5].xyz, TEMP[2].xyww, TEMP[3].yyyy 13: MUL TEMP[2], TEMP[2], TEMP[3].zzzz 14: ADD TEMP[3].x, TEMP[5].yyyy, TEMP[2].zzzz 15: ADD TEMP[3].x, TEMP[1].wwww, -TEMP[3].xxxx 16: ADD TEMP[6].x, TEMP[5].xxxx, -TEMP[2].wwww 17: MOV TEMP[3].y, TEMP[6].xxxx 18: ADD TEMP[6].x, TEMP[2].xxxx, TEMP[5].zzzz 19: MOV TEMP[3].z, TEMP[6].xxxx 20: MOV TEMP[3].w, TEMP[1].xxxx 21: ADD TEMP[6].x, TEMP[5].xxxx, TEMP[2].wwww 22: ADD TEMP[7].x, TEMP[4].xxxx, TEMP[2].zzzz 23: ADD TEMP[7].x, TEMP[1].wwww, -TEMP[7].xxxx 24: MOV TEMP[6].y, TEMP[7].xxxx 25: ADD TEMP[7].x, TEMP[2].yyyy, -TEMP[4].yyyy 26: MOV TEMP[6].z, TEMP[7].xxxx 27: MOV TEMP[6].w, TEMP[1].yyyy 28: ADD TEMP[7].x, TEMP[2].xxxx, -TEMP[5].zzzz 29: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[4].yyyy 30: MOV TEMP[7].y, TEMP[2].xxxx 31: ADD TEMP[2].x, TEMP[4].xxxx, TEMP[5].yyyy 32: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 33: MOV TEMP[7].z, TEMP[2].xxxx 34: MOV TEMP[7].w, TEMP[1].zzzz 35: UARL ADDR[0].x, TEMP[0].yyyy 36: UARL ADDR[0].x, TEMP[0].yyyy 37: MUL TEMP[1], CONST[ADDR[0].x+12], IN[2].yyyy 38: UADD TEMP[2].x, TEMP[0].yyyy, IMM[0].xxxx 39: UARL ADDR[0].x, TEMP[2].xxxx 40: MOV TEMP[2], CONST[ADDR[0].x+12] 41: MUL TEMP[4].x, TEMP[1].wwww, IMM[1].xxxx 42: MUL TEMP[4].xyz, TEMP[2].xyzz, TEMP[4].xxxx 43: MUL TEMP[5].xy, TEMP[2].xwww, TEMP[4].xxxx 44: MUL TEMP[8].xyz, TEMP[2].xyww, TEMP[4].yyyy 45: MUL TEMP[2], TEMP[2], TEMP[4].zzzz 46: ADD TEMP[4].x, TEMP[8].yyyy, TEMP[2].zzzz 47: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 48: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[2].wwww 49: MOV TEMP[4].y, TEMP[9].xxxx 50: ADD TEMP[9].x, TEMP[2].xxxx, TEMP[8].zzzz 51: MOV TEMP[4].z, TEMP[9].xxxx 52: MOV TEMP[4].w, TEMP[1].xxxx 53: ADD TEMP[9].x, TEMP[8].xxxx, TEMP[2].wwww 54: ADD TEMP[10].x, TEMP[5].xxxx, TEMP[2].zzzz 55: ADD TEMP[10].x, TEMP[1].wwww, -TEMP[10].xxxx 56: MOV TEMP[9].y, TEMP[10].xxxx 57: ADD TEMP[10].x, TEMP[2].yyyy, -TEMP[5].yyyy 58: MOV TEMP[9].z, TEMP[10].xxxx 59: MOV TEMP[9].w, TEMP[1].yyyy 60: ADD TEMP[10].x, TEMP[2].xxxx, -TEMP[8].zzzz 61: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[5].yyyy 62: MOV TEMP[10].y, TEMP[2].xxxx 63: ADD TEMP[2].x, TEMP[5].xxxx, TEMP[8].yyyy 64: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 65: MOV TEMP[10].z, TEMP[2].xxxx 66: MOV TEMP[10].w, TEMP[1].zzzz 67: UARL ADDR[0].x, TEMP[0].zzzz 68: UARL ADDR[0].x, TEMP[0].zzzz 69: MUL TEMP[1], CONST[ADDR[0].x+12], IN[2].zzzz 70: UADD TEMP[2].x, TEMP[0].zzzz, IMM[0].xxxx 71: UARL ADDR[0].x, TEMP[2].xxxx 72: MOV TEMP[2], CONST[ADDR[0].x+12] 73: MUL TEMP[5].x, TEMP[1].wwww, IMM[1].xxxx 74: MUL TEMP[5].xyz, TEMP[2].xyzz, TEMP[5].xxxx 75: MUL TEMP[8].xy, TEMP[2].xwww, TEMP[5].xxxx 76: MUL TEMP[11].xyz, TEMP[2].xyww, TEMP[5].yyyy 77: MUL TEMP[2], TEMP[2], TEMP[5].zzzz 78: ADD TEMP[5].x, TEMP[11].yyyy, TEMP[2].zzzz 79: ADD TEMP[5].x, TEMP[1].wwww, -TEMP[5].xxxx 80: ADD TEMP[12].x, TEMP[11].xxxx, -TEMP[2].wwww 81: MOV TEMP[5].y, TEMP[12].xxxx 82: ADD TEMP[12].x, TEMP[2].xxxx, TEMP[11].zzzz 83: MOV TEMP[5].z, TEMP[12].xxxx 84: MOV TEMP[5].w, TEMP[1].xxxx 85: ADD TEMP[12].x, TEMP[11].xxxx, TEMP[2].wwww 86: ADD TEMP[13].x, TEMP[8].xxxx, TEMP[2].zzzz 87: ADD TEMP[13].x, TEMP[1].wwww, -TEMP[13].xxxx 88: MOV TEMP[12].y, TEMP[13].xxxx 89: ADD TEMP[13].x, TEMP[2].yyyy, -TEMP[8].yyyy 90: MOV TEMP[12].z, TEMP[13].xxxx 91: MOV TEMP[12].w, TEMP[1].yyyy 92: ADD TEMP[13].x, TEMP[2].xxxx, -TEMP[11].zzzz 93: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[8].yyyy 94: MOV TEMP[13].y, TEMP[2].xxxx 95: ADD TEMP[2].x, TEMP[8].xxxx, TEMP[11].yyyy 96: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 97: MOV TEMP[13].z, TEMP[2].xxxx 98: MOV TEMP[13].w, TEMP[1].zzzz 99: UARL ADDR[0].x, TEMP[0].wwww 100: UARL ADDR[0].x, TEMP[0].wwww 101: MUL TEMP[1], CONST[ADDR[0].x+12], IN[2].wwww 102: UADD TEMP[0].x, TEMP[0].wwww, IMM[0].xxxx 103: UARL ADDR[0].x, TEMP[0].xxxx 104: MOV TEMP[0], CONST[ADDR[0].x+12] 105: MUL TEMP[2].x, TEMP[1].wwww, IMM[1].xxxx 106: MUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx 107: MUL TEMP[8].xy, TEMP[0].xwww, TEMP[2].xxxx 108: MUL TEMP[11].xyz, TEMP[0].xyww, TEMP[2].yyyy 109: MUL TEMP[0], TEMP[0], TEMP[2].zzzz 110: ADD TEMP[2].x, TEMP[11].yyyy, TEMP[0].zzzz 111: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 112: ADD TEMP[14].x, TEMP[11].xxxx, -TEMP[0].wwww 113: MOV TEMP[2].y, TEMP[14].xxxx 114: ADD TEMP[14].x, TEMP[0].xxxx, TEMP[11].zzzz 115: MOV TEMP[2].z, TEMP[14].xxxx 116: MOV TEMP[2].w, TEMP[1].xxxx 117: ADD TEMP[3], TEMP[3], TEMP[4] 118: ADD TEMP[3], TEMP[3], TEMP[5] 119: ADD TEMP[2], TEMP[3], TEMP[2] 120: ADD TEMP[3].x, TEMP[11].xxxx, TEMP[0].wwww 121: ADD TEMP[4].x, TEMP[8].xxxx, TEMP[0].zzzz 122: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 123: MOV TEMP[3].y, TEMP[4].xxxx 124: ADD TEMP[4].x, TEMP[0].yyyy, -TEMP[8].yyyy 125: MOV TEMP[3].z, TEMP[4].xxxx 126: MOV TEMP[3].w, TEMP[1].yyyy 127: ADD TEMP[4], TEMP[6], TEMP[9] 128: ADD TEMP[4], TEMP[4], TEMP[12] 129: ADD TEMP[3], TEMP[4], TEMP[3] 130: ADD TEMP[4].x, TEMP[0].xxxx, -TEMP[11].zzzz 131: ADD TEMP[0].x, TEMP[0].yyyy, TEMP[8].yyyy 132: MOV TEMP[4].y, TEMP[0].xxxx 133: ADD TEMP[0].x, TEMP[8].xxxx, TEMP[11].yyyy 134: ADD TEMP[0].x, TEMP[1].wwww, -TEMP[0].xxxx 135: MOV TEMP[4].z, TEMP[0].xxxx 136: MOV TEMP[4].w, TEMP[1].zzzz 137: ADD TEMP[0], TEMP[7], TEMP[10] 138: ADD TEMP[0], TEMP[0], TEMP[13] 139: ADD TEMP[0], TEMP[0], TEMP[4] 140: MOV TEMP[1].w, IMM[1].yyyy 141: MOV TEMP[1].x, IN[0].xxxx 142: MOV TEMP[1].y, IN[0].yyyy 143: MOV TEMP[1].z, IN[4].wwww 144: MOV TEMP[4].w, IMM[1].yyyy 145: DP4 TEMP[4].x, TEMP[1], TEMP[2] 146: DP4 TEMP[5].x, TEMP[1], TEMP[3] 147: MOV TEMP[4].y, TEMP[5].xxxx 148: DP4 TEMP[1].x, TEMP[1], TEMP[0] 149: MOV TEMP[4].z, TEMP[1].xxxx 150: DP3 TEMP[1].x, IN[4].xyzz, TEMP[2].xyzz 151: DP3 TEMP[5].x, IN[4].xyzz, TEMP[3].xyzz 152: MOV TEMP[1].y, TEMP[5].xxxx 153: DP3 TEMP[5].x, IN[4].xyzz, TEMP[0].xyzz 154: MOV TEMP[1].z, TEMP[5].xxxx 155: DP3 TEMP[2].x, IN[5].xyzz, TEMP[2].xyzz 156: DP3 TEMP[5].x, IN[5].xyzz, TEMP[3].xyzz 157: MOV TEMP[2].y, TEMP[5].xxxx 158: DP3 TEMP[5].x, IN[5].xyzz, TEMP[0].xyzz 159: MOV TEMP[2].z, TEMP[5].xxxx 160: UMUL TEMP[5].x, SV[0].xxxx, IMM[0].yyyy 161: UADD TEMP[5].xyz, TEMP[5].xxxx, IMM[0].zxww 162: UARL ADDR[0].x, TEMP[5].xxxx 163: MOV TEMP[6], CONST[ADDR[0].x+204] 164: UARL ADDR[0].x, TEMP[5].yyyy 165: MOV TEMP[3], CONST[ADDR[0].x+204] 166: UARL ADDR[0].x, TEMP[5].zzzz 167: MOV TEMP[0], CONST[ADDR[0].x+204] 168: DP4 TEMP[5].x, TEMP[4], TEMP[6] 169: DP4 TEMP[7].x, TEMP[4], TEMP[3] 170: MOV TEMP[5].y, TEMP[7].xxxx 171: DP4 TEMP[4].x, TEMP[4], TEMP[0] 172: MOV TEMP[5].z, TEMP[4].xxxx 173: DP3 TEMP[4].x, TEMP[1].xyzz, TEMP[6].xyzz 174: DP3 TEMP[7].x, TEMP[1].xyzz, TEMP[3].xyzz 175: MOV TEMP[4].y, TEMP[7].xxxx 176: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 177: MOV TEMP[4].z, TEMP[1].xxxx 178: DP3 TEMP[1].x, TEMP[4].xyzz, TEMP[4].xyzz 179: RSQ TEMP[1].x, TEMP[1].xxxx 180: MUL TEMP[1].xyz, TEMP[4].xyzz, TEMP[1].xxxx 181: DP3 TEMP[4].x, TEMP[2].xyzz, TEMP[6].xyzz 182: DP3 TEMP[3].x, TEMP[2].xyzz, TEMP[3].xyzz 183: MOV TEMP[4].y, TEMP[3].xxxx 184: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 185: MOV TEMP[4].z, TEMP[0].xxxx 186: DP3 TEMP[0].x, TEMP[4].xyzz, TEMP[4].xyzz 187: RSQ TEMP[0].x, TEMP[0].xxxx 188: MUL TEMP[0].xyz, TEMP[4].xyzz, TEMP[0].xxxx 189: MOV TEMP[2].zw, IN[3].wwzw 190: MAD TEMP[2].xy, IN[3].xyyy, CONST[228].xyyy, CONST[228].zwww 191: ADD TEMP[3].xyz, TEMP[5].xyzz, -CONST[10].xyzz 192: MUL TEMP[4], CONST[5], TEMP[3].xxxx 193: MAD TEMP[4], CONST[6], TEMP[3].yyyy, TEMP[4] 194: MAD TEMP[3], CONST[7], TEMP[3].zzzz, TEMP[4] 195: ADD TEMP[3], TEMP[3], CONST[8] 196: ADD TEMP[4].xyz, TEMP[5].xyzz, -CONST[9].xyzz 197: RCP TEMP[5].x, CONST[0].yyyy 198: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 199: MUL TEMP[5].xyz, TEMP[1].zxyy, TEMP[0].yzxx 200: MAD TEMP[5].xyz, TEMP[1].yzxx, TEMP[0].zxyy, -TEMP[5].xyzz 201: MUL TEMP[5].xyz, TEMP[5].xyzz, IN[5].wwww 202: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 203: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 204: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 205: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 206: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 207: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 208: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[1].xxxx 209: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[1].yyyy, TEMP[6].xyzz 210: MAD TEMP[1].xyz, CONST[3].xyzz, TEMP[1].zzzz, TEMP[6].xyzz 211: MOV TEMP[6].x, TEMP[0].xxxx 212: MOV TEMP[6].y, TEMP[5].xxxx 213: MOV TEMP[6].z, TEMP[1].xxxx 214: MOV TEMP[6].xyz, TEMP[6].xyzx 215: MOV TEMP[7].x, TEMP[0].yyyy 216: MOV TEMP[7].y, TEMP[5].yyyy 217: MOV TEMP[7].z, TEMP[1].yyyy 218: MOV TEMP[7].xyz, TEMP[7].xyzx 219: MOV TEMP[0].x, TEMP[0].zzzz 220: MOV TEMP[0].y, TEMP[5].zzzz 221: MOV TEMP[0].z, TEMP[1].zzzz 222: MOV TEMP[0].xyz, TEMP[0].xyzx 223: MOV OUT[1], TEMP[2] 224: MOV OUT[2], TEMP[4] 225: MOV OUT[3], TEMP[6] 226: MOV OUT[4], TEMP[7] 227: MOV OUT[5], TEMP[0] 228: MOV OUT[0], TEMP[3] 229: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3648) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3652) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3656) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3660) %48 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %49 = load <16 x i8> addrspace(2)* %48, !tbaa !0 %50 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %49, i32 0, i32 %5) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %61 = load <16 x i8> addrspace(2)* %60, !tbaa !0 %62 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %61, i32 0, i32 %5) %63 = extractelement <4 x float> %62, i32 0 %64 = extractelement <4 x float> %62, i32 1 %65 = extractelement <4 x float> %62, i32 2 %66 = extractelement <4 x float> %62, i32 3 %67 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %68 = load <16 x i8> addrspace(2)* %67, !tbaa !0 %69 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %68, i32 0, i32 %5) %70 = extractelement <4 x float> %69, i32 0 %71 = extractelement <4 x float> %69, i32 1 %72 = extractelement <4 x float> %69, i32 2 %73 = extractelement <4 x float> %69, i32 3 %74 = getelementptr <16 x i8> addrspace(2)* %3, i32 4 %75 = load <16 x i8> addrspace(2)* %74, !tbaa !0 %76 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %75, i32 0, i32 %5) %77 = extractelement <4 x float> %76, i32 0 %78 = extractelement <4 x float> %76, i32 1 %79 = extractelement <4 x float> %76, i32 2 %80 = extractelement <4 x float> %76, i32 3 %81 = getelementptr <16 x i8> addrspace(2)* %3, i32 5 %82 = load <16 x i8> addrspace(2)* %81, !tbaa !0 %83 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %82, i32 0, i32 %5) %84 = extractelement <4 x float> %83, i32 0 %85 = extractelement <4 x float> %83, i32 1 %86 = extractelement <4 x float> %83, i32 2 %87 = extractelement <4 x float> %83, i32 3 %88 = add i32 %8, %4 %89 = fptosi float %43 to i32 %90 = bitcast i32 %89 to float %91 = fptosi float %56 to i32 %92 = fptosi float %57 to i32 %93 = fptosi float %58 to i32 %94 = fptosi float %59 to i32 %95 = bitcast i32 %91 to float %96 = bitcast i32 %92 to float %97 = bitcast i32 %93 to float %98 = bitcast i32 %94 to float %99 = bitcast float %90 to i32 %100 = bitcast float %95 to i32 %101 = mul i32 %88, %99 %102 = add i32 %101, %100 %103 = bitcast float %90 to i32 %104 = bitcast float %96 to i32 %105 = mul i32 %88, %103 %106 = add i32 %105, %104 %107 = bitcast float %90 to i32 %108 = bitcast float %97 to i32 %109 = mul i32 %88, %107 %110 = add i32 %109, %108 %111 = bitcast float %90 to i32 %112 = bitcast float %98 to i32 %113 = mul i32 %88, %111 %114 = add i32 %113, %112 %115 = bitcast i32 %102 to float %116 = bitcast i32 %106 to float %117 = bitcast i32 %110 to float %118 = bitcast i32 %114 to float %119 = bitcast float %115 to i32 %120 = shl i32 %119, 4 %121 = add i32 %120, 192 %122 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %121) %123 = fmul float %122, %63 %124 = shl i32 %119, 4 %125 = add i32 %124, 196 %126 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %125) %127 = fmul float %126, %63 %128 = shl i32 %119, 4 %129 = add i32 %128, 200 %130 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %129) %131 = fmul float %130, %63 %132 = shl i32 %119, 4 %133 = add i32 %132, 204 %134 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %133) %135 = fmul float %134, %63 %136 = bitcast float %115 to i32 %137 = add i32 %136, 1 %138 = bitcast i32 %137 to float %139 = bitcast float %138 to i32 %140 = shl i32 %139, 4 %141 = add i32 %140, 192 %142 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %141) %143 = shl i32 %139, 4 %144 = add i32 %143, 196 %145 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %144) %146 = shl i32 %139, 4 %147 = add i32 %146, 200 %148 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %147) %149 = shl i32 %139, 4 %150 = add i32 %149, 204 %151 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %150) %152 = fmul float %135, 2.000000e+00 %153 = fmul float %142, %152 %154 = fmul float %145, %152 %155 = fmul float %148, %152 %156 = fmul float %142, %153 %157 = fmul float %151, %153 %158 = fmul float %142, %154 %159 = fmul float %145, %154 %160 = fmul float %151, %154 %161 = fmul float %142, %155 %162 = fmul float %145, %155 %163 = fmul float %148, %155 %164 = fmul float %151, %155 %165 = fadd float %159, %163 %166 = fsub float -0.000000e+00, %165 %167 = fadd float %135, %166 %168 = fsub float -0.000000e+00, %164 %169 = fadd float %158, %168 %170 = fadd float %161, %160 %171 = fadd float %158, %164 %172 = fadd float %156, %163 %173 = fsub float -0.000000e+00, %172 %174 = fadd float %135, %173 %175 = fsub float -0.000000e+00, %157 %176 = fadd float %162, %175 %177 = fsub float -0.000000e+00, %160 %178 = fadd float %161, %177 %179 = fadd float %162, %157 %180 = fadd float %156, %159 %181 = fsub float -0.000000e+00, %180 %182 = fadd float %135, %181 %183 = bitcast float %116 to i32 %184 = shl i32 %183, 4 %185 = add i32 %184, 192 %186 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %185) %187 = fmul float %186, %64 %188 = shl i32 %183, 4 %189 = add i32 %188, 196 %190 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %189) %191 = fmul float %190, %64 %192 = shl i32 %183, 4 %193 = add i32 %192, 200 %194 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %193) %195 = fmul float %194, %64 %196 = shl i32 %183, 4 %197 = add i32 %196, 204 %198 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %197) %199 = fmul float %198, %64 %200 = bitcast float %116 to i32 %201 = add i32 %200, 1 %202 = bitcast i32 %201 to float %203 = bitcast float %202 to i32 %204 = shl i32 %203, 4 %205 = add i32 %204, 192 %206 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %205) %207 = shl i32 %203, 4 %208 = add i32 %207, 196 %209 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %208) %210 = shl i32 %203, 4 %211 = add i32 %210, 200 %212 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %211) %213 = shl i32 %203, 4 %214 = add i32 %213, 204 %215 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %214) %216 = fmul float %199, 2.000000e+00 %217 = fmul float %206, %216 %218 = fmul float %209, %216 %219 = fmul float %212, %216 %220 = fmul float %206, %217 %221 = fmul float %215, %217 %222 = fmul float %206, %218 %223 = fmul float %209, %218 %224 = fmul float %215, %218 %225 = fmul float %206, %219 %226 = fmul float %209, %219 %227 = fmul float %212, %219 %228 = fmul float %215, %219 %229 = fadd float %223, %227 %230 = fsub float -0.000000e+00, %229 %231 = fadd float %199, %230 %232 = fsub float -0.000000e+00, %228 %233 = fadd float %222, %232 %234 = fadd float %225, %224 %235 = fadd float %222, %228 %236 = fadd float %220, %227 %237 = fsub float -0.000000e+00, %236 %238 = fadd float %199, %237 %239 = fsub float -0.000000e+00, %221 %240 = fadd float %226, %239 %241 = fsub float -0.000000e+00, %224 %242 = fadd float %225, %241 %243 = fadd float %226, %221 %244 = fadd float %220, %223 %245 = fsub float -0.000000e+00, %244 %246 = fadd float %199, %245 %247 = bitcast float %117 to i32 %248 = shl i32 %247, 4 %249 = add i32 %248, 192 %250 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %249) %251 = fmul float %250, %65 %252 = shl i32 %247, 4 %253 = add i32 %252, 196 %254 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %253) %255 = fmul float %254, %65 %256 = shl i32 %247, 4 %257 = add i32 %256, 200 %258 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %257) %259 = fmul float %258, %65 %260 = shl i32 %247, 4 %261 = add i32 %260, 204 %262 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %261) %263 = fmul float %262, %65 %264 = bitcast float %117 to i32 %265 = add i32 %264, 1 %266 = bitcast i32 %265 to float %267 = bitcast float %266 to i32 %268 = shl i32 %267, 4 %269 = add i32 %268, 192 %270 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %269) %271 = shl i32 %267, 4 %272 = add i32 %271, 196 %273 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %272) %274 = shl i32 %267, 4 %275 = add i32 %274, 200 %276 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %275) %277 = shl i32 %267, 4 %278 = add i32 %277, 204 %279 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %278) %280 = fmul float %263, 2.000000e+00 %281 = fmul float %270, %280 %282 = fmul float %273, %280 %283 = fmul float %276, %280 %284 = fmul float %270, %281 %285 = fmul float %279, %281 %286 = fmul float %270, %282 %287 = fmul float %273, %282 %288 = fmul float %279, %282 %289 = fmul float %270, %283 %290 = fmul float %273, %283 %291 = fmul float %276, %283 %292 = fmul float %279, %283 %293 = fadd float %287, %291 %294 = fsub float -0.000000e+00, %293 %295 = fadd float %263, %294 %296 = fsub float -0.000000e+00, %292 %297 = fadd float %286, %296 %298 = fadd float %289, %288 %299 = fadd float %286, %292 %300 = fadd float %284, %291 %301 = fsub float -0.000000e+00, %300 %302 = fadd float %263, %301 %303 = fsub float -0.000000e+00, %285 %304 = fadd float %290, %303 %305 = fsub float -0.000000e+00, %288 %306 = fadd float %289, %305 %307 = fadd float %290, %285 %308 = fadd float %284, %287 %309 = fsub float -0.000000e+00, %308 %310 = fadd float %263, %309 %311 = bitcast float %118 to i32 %312 = shl i32 %311, 4 %313 = add i32 %312, 192 %314 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %313) %315 = fmul float %314, %66 %316 = shl i32 %311, 4 %317 = add i32 %316, 196 %318 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %317) %319 = fmul float %318, %66 %320 = shl i32 %311, 4 %321 = add i32 %320, 200 %322 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %321) %323 = fmul float %322, %66 %324 = shl i32 %311, 4 %325 = add i32 %324, 204 %326 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %325) %327 = fmul float %326, %66 %328 = bitcast float %118 to i32 %329 = add i32 %328, 1 %330 = bitcast i32 %329 to float %331 = bitcast float %330 to i32 %332 = shl i32 %331, 4 %333 = add i32 %332, 192 %334 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %333) %335 = shl i32 %331, 4 %336 = add i32 %335, 196 %337 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %336) %338 = shl i32 %331, 4 %339 = add i32 %338, 200 %340 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %339) %341 = shl i32 %331, 4 %342 = add i32 %341, 204 %343 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %342) %344 = fmul float %327, 2.000000e+00 %345 = fmul float %334, %344 %346 = fmul float %337, %344 %347 = fmul float %340, %344 %348 = fmul float %334, %345 %349 = fmul float %343, %345 %350 = fmul float %334, %346 %351 = fmul float %337, %346 %352 = fmul float %343, %346 %353 = fmul float %334, %347 %354 = fmul float %337, %347 %355 = fmul float %340, %347 %356 = fmul float %343, %347 %357 = fadd float %351, %355 %358 = fsub float -0.000000e+00, %357 %359 = fadd float %327, %358 %360 = fsub float -0.000000e+00, %356 %361 = fadd float %350, %360 %362 = fadd float %353, %352 %363 = fadd float %167, %231 %364 = fadd float %169, %233 %365 = fadd float %170, %234 %366 = fadd float %123, %187 %367 = fadd float %363, %295 %368 = fadd float %364, %297 %369 = fadd float %365, %298 %370 = fadd float %366, %251 %371 = fadd float %367, %359 %372 = fadd float %368, %361 %373 = fadd float %369, %362 %374 = fadd float %370, %315 %375 = fadd float %350, %356 %376 = fadd float %348, %355 %377 = fsub float -0.000000e+00, %376 %378 = fadd float %327, %377 %379 = fsub float -0.000000e+00, %349 %380 = fadd float %354, %379 %381 = fadd float %171, %235 %382 = fadd float %174, %238 %383 = fadd float %176, %240 %384 = fadd float %127, %191 %385 = fadd float %381, %299 %386 = fadd float %382, %302 %387 = fadd float %383, %304 %388 = fadd float %384, %255 %389 = fadd float %385, %375 %390 = fadd float %386, %378 %391 = fadd float %387, %380 %392 = fadd float %388, %319 %393 = fsub float -0.000000e+00, %352 %394 = fadd float %353, %393 %395 = fadd float %354, %349 %396 = fadd float %348, %351 %397 = fsub float -0.000000e+00, %396 %398 = fadd float %327, %397 %399 = fadd float %178, %242 %400 = fadd float %179, %243 %401 = fadd float %182, %246 %402 = fadd float %131, %195 %403 = fadd float %399, %306 %404 = fadd float %400, %307 %405 = fadd float %401, %310 %406 = fadd float %402, %259 %407 = fadd float %403, %394 %408 = fadd float %404, %395 %409 = fadd float %405, %398 %410 = fadd float %406, %323 %411 = fmul float %51, %371 %412 = fmul float %52, %372 %413 = fadd float %411, %412 %414 = fmul float %80, %373 %415 = fadd float %413, %414 %416 = fmul float 1.000000e+00, %374 %417 = fadd float %415, %416 %418 = fmul float %51, %389 %419 = fmul float %52, %390 %420 = fadd float %418, %419 %421 = fmul float %80, %391 %422 = fadd float %420, %421 %423 = fmul float 1.000000e+00, %392 %424 = fadd float %422, %423 %425 = fmul float %51, %407 %426 = fmul float %52, %408 %427 = fadd float %425, %426 %428 = fmul float %80, %409 %429 = fadd float %427, %428 %430 = fmul float 1.000000e+00, %410 %431 = fadd float %429, %430 %432 = fmul float %77, %371 %433 = fmul float %78, %372 %434 = fadd float %433, %432 %435 = fmul float %79, %373 %436 = fadd float %434, %435 %437 = fmul float %77, %389 %438 = fmul float %78, %390 %439 = fadd float %438, %437 %440 = fmul float %79, %391 %441 = fadd float %439, %440 %442 = fmul float %77, %407 %443 = fmul float %78, %408 %444 = fadd float %443, %442 %445 = fmul float %79, %409 %446 = fadd float %444, %445 %447 = fmul float %84, %371 %448 = fmul float %85, %372 %449 = fadd float %448, %447 %450 = fmul float %86, %373 %451 = fadd float %449, %450 %452 = fmul float %84, %389 %453 = fmul float %85, %390 %454 = fadd float %453, %452 %455 = fmul float %86, %391 %456 = fadd float %454, %455 %457 = fmul float %84, %407 %458 = fmul float %85, %408 %459 = fadd float %458, %457 %460 = fmul float %86, %409 %461 = fadd float %459, %460 %462 = mul i32 %88, 3 %463 = bitcast i32 %462 to float %464 = bitcast float %463 to i32 %465 = add i32 %464, 0 %466 = bitcast float %463 to i32 %467 = add i32 %466, 1 %468 = bitcast float %463 to i32 %469 = add i32 %468, 2 %470 = bitcast i32 %465 to float %471 = bitcast i32 %467 to float %472 = bitcast i32 %469 to float %473 = bitcast float %470 to i32 %474 = shl i32 %473, 4 %475 = add i32 %474, 3264 %476 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %475) %477 = shl i32 %473, 4 %478 = add i32 %477, 3268 %479 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %478) %480 = shl i32 %473, 4 %481 = add i32 %480, 3272 %482 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %481) %483 = shl i32 %473, 4 %484 = add i32 %483, 3276 %485 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %484) %486 = bitcast float %471 to i32 %487 = shl i32 %486, 4 %488 = add i32 %487, 3264 %489 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %488) %490 = shl i32 %486, 4 %491 = add i32 %490, 3268 %492 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %491) %493 = shl i32 %486, 4 %494 = add i32 %493, 3272 %495 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %494) %496 = shl i32 %486, 4 %497 = add i32 %496, 3276 %498 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %497) %499 = bitcast float %472 to i32 %500 = shl i32 %499, 4 %501 = add i32 %500, 3264 %502 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %501) %503 = shl i32 %499, 4 %504 = add i32 %503, 3268 %505 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %504) %506 = shl i32 %499, 4 %507 = add i32 %506, 3272 %508 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %507) %509 = shl i32 %499, 4 %510 = add i32 %509, 3276 %511 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %510) %512 = fmul float %417, %476 %513 = fmul float %424, %479 %514 = fadd float %512, %513 %515 = fmul float %431, %482 %516 = fadd float %514, %515 %517 = fmul float 1.000000e+00, %485 %518 = fadd float %516, %517 %519 = fmul float %417, %489 %520 = fmul float %424, %492 %521 = fadd float %519, %520 %522 = fmul float %431, %495 %523 = fadd float %521, %522 %524 = fmul float 1.000000e+00, %498 %525 = fadd float %523, %524 %526 = fmul float %417, %502 %527 = fmul float %424, %505 %528 = fadd float %526, %527 %529 = fmul float %431, %508 %530 = fadd float %528, %529 %531 = fmul float 1.000000e+00, %511 %532 = fadd float %530, %531 %533 = fmul float %436, %476 %534 = fmul float %441, %479 %535 = fadd float %534, %533 %536 = fmul float %446, %482 %537 = fadd float %535, %536 %538 = fmul float %436, %489 %539 = fmul float %441, %492 %540 = fadd float %539, %538 %541 = fmul float %446, %495 %542 = fadd float %540, %541 %543 = fmul float %436, %502 %544 = fmul float %441, %505 %545 = fadd float %544, %543 %546 = fmul float %446, %508 %547 = fadd float %545, %546 %548 = fmul float %537, %537 %549 = fmul float %542, %542 %550 = fadd float %549, %548 %551 = fmul float %547, %547 %552 = fadd float %550, %551 %553 = call float @llvm.AMDGPU.rsq(float %552) %554 = fmul float %537, %553 %555 = fmul float %542, %553 %556 = fmul float %547, %553 %557 = fmul float %451, %476 %558 = fmul float %456, %479 %559 = fadd float %558, %557 %560 = fmul float %461, %482 %561 = fadd float %559, %560 %562 = fmul float %451, %489 %563 = fmul float %456, %492 %564 = fadd float %563, %562 %565 = fmul float %461, %495 %566 = fadd float %564, %565 %567 = fmul float %451, %502 %568 = fmul float %456, %505 %569 = fadd float %568, %567 %570 = fmul float %461, %508 %571 = fadd float %569, %570 %572 = fmul float %561, %561 %573 = fmul float %566, %566 %574 = fadd float %573, %572 %575 = fmul float %571, %571 %576 = fadd float %574, %575 %577 = call float @llvm.AMDGPU.rsq(float %576) %578 = fmul float %561, %577 %579 = fmul float %566, %577 %580 = fmul float %571, %577 %581 = fmul float %70, %44 %582 = fadd float %581, %46 %583 = fmul float %71, %45 %584 = fadd float %583, %47 %585 = fsub float -0.000000e+00, %40 %586 = fadd float %518, %585 %587 = fsub float -0.000000e+00, %41 %588 = fadd float %525, %587 %589 = fsub float -0.000000e+00, %42 %590 = fadd float %532, %589 %591 = fmul float %21, %586 %592 = fmul float %22, %586 %593 = fmul float %23, %586 %594 = fmul float %24, %586 %595 = fmul float %25, %588 %596 = fadd float %595, %591 %597 = fmul float %26, %588 %598 = fadd float %597, %592 %599 = fmul float %27, %588 %600 = fadd float %599, %593 %601 = fmul float %28, %588 %602 = fadd float %601, %594 %603 = fmul float %29, %590 %604 = fadd float %603, %596 %605 = fmul float %30, %590 %606 = fadd float %605, %598 %607 = fmul float %31, %590 %608 = fadd float %607, %600 %609 = fmul float %32, %590 %610 = fadd float %609, %602 %611 = fadd float %604, %33 %612 = fadd float %606, %34 %613 = fadd float %608, %35 %614 = fadd float %610, %36 %615 = fsub float -0.000000e+00, %37 %616 = fadd float %518, %615 %617 = fsub float -0.000000e+00, %38 %618 = fadd float %525, %617 %619 = fsub float -0.000000e+00, %39 %620 = fadd float %532, %619 %621 = fdiv float 1.000000e+00, %11 %622 = fmul float %616, %621 %623 = fmul float %618, %621 %624 = fmul float %620, %621 %625 = fmul float %556, %579 %626 = fmul float %554, %580 %627 = fmul float %555, %578 %628 = fsub float -0.000000e+00, %625 %629 = fmul float %555, %580 %630 = fadd float %629, %628 %631 = fsub float -0.000000e+00, %626 %632 = fmul float %556, %578 %633 = fadd float %632, %631 %634 = fsub float -0.000000e+00, %627 %635 = fmul float %554, %579 %636 = fadd float %635, %634 %637 = fmul float %630, %87 %638 = fmul float %633, %87 %639 = fmul float %636, %87 %640 = fmul float %12, %578 %641 = fmul float %13, %578 %642 = fmul float %14, %578 %643 = fmul float %15, %579 %644 = fadd float %643, %640 %645 = fmul float %16, %579 %646 = fadd float %645, %641 %647 = fmul float %17, %579 %648 = fadd float %647, %642 %649 = fmul float %18, %580 %650 = fadd float %649, %644 %651 = fmul float %19, %580 %652 = fadd float %651, %646 %653 = fmul float %20, %580 %654 = fadd float %653, %648 %655 = fmul float %12, %637 %656 = fmul float %13, %637 %657 = fmul float %14, %637 %658 = fmul float %15, %638 %659 = fadd float %658, %655 %660 = fmul float %16, %638 %661 = fadd float %660, %656 %662 = fmul float %17, %638 %663 = fadd float %662, %657 %664 = fmul float %18, %639 %665 = fadd float %664, %659 %666 = fmul float %19, %639 %667 = fadd float %666, %661 %668 = fmul float %20, %639 %669 = fadd float %668, %663 %670 = fmul float %12, %554 %671 = fmul float %13, %554 %672 = fmul float %14, %554 %673 = fmul float %15, %555 %674 = fadd float %673, %670 %675 = fmul float %16, %555 %676 = fadd float %675, %671 %677 = fmul float %17, %555 %678 = fadd float %677, %672 %679 = fmul float %18, %556 %680 = fadd float %679, %674 %681 = fmul float %19, %556 %682 = fadd float %681, %676 %683 = fmul float %20, %556 %684 = fadd float %683, %678 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %582, float %584, float %72, float %73) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %622, float %623, float %624, float %602) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %650, float %665, float %680, float %485) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %652, float %667, float %682, float %131) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %654, float %669, float %684, float %511) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %611, float %612, float %613, float %614) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 00000e4c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000e44 c2020004 bf8c007f 7e040204 c086070c bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000e48 c2020004 bf8c007f 7e040204 be8403ff 00000e40 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 c202012c bf8c007f 7e041004 d2d60002 02020501 c0840704 bf8c007f e00c2000 80020300 bf8c0770 7e0e1104 4a0e0f02 34100e84 4a1210ff 000000cc e0301000 80000909 c0840708 bf8c0070 e00c2000 80020a00 bf8c0770 101c1709 d2820009 043a1709 4a0e0e81 340e0e84 4a1e0eff 000000c8 e0301000 80000f0f bf8c0770 1020130f 4a220eff 000000cc e0301000 80001111 bf8c0770 10242111 4a260eff 000000c4 e0301000 80001313 bf8c0770 10281313 4a0e0eff 000000c0 e0301000 80000707 bf8c0770 102a2907 082a2515 7e2c1103 4a2c2d02 342e2c84 4a302eff 000000cc e0301000 80001818 bf8c0770 10321518 d2820018 04661518 4a2c2c81 342c2c84 4a342cff 000000c8 e0301000 80001a1a bf8c0770 1036311a 4a382cff 000000cc e0301000 80001c1c bf8c0770 103a371c 4a3c2cff 000000c4 e0301000 80001e1e bf8c0770 103e311e 4a2c2cff 000000c0 e0301000 80001616 bf8c0770 10403f16 08403b20 062a2b20 7e401105 4a404102 34424084 4a4442ff 000000cc e0301000 80002222 bf8c0770 10461922 d2820022 048e1922 4a404081 34404084 4a4840ff 000000c8 e0301000 80002424 bf8c0770 104a4524 4a4c40ff 000000cc e0301000 80002626 bf8c0770 104e4b26 4a5040ff 000000c4 e0301000 80002828 bf8c0770 10524528 4a4040ff 000000c0 e0301000 80002020 bf8c0770 10545320 08544f2a 062a5515 7e061106 4a040702 34060484 4a0806ff 000000cc e0301000 80000404 bf8c0770 100a1b04 d2820004 04161b04 4a040481 34040484 4a0c04ff 000000c8 e0301000 80000606 bf8c0770 10540906 4a5604ff 000000cc e0301000 80002b2b bf8c0770 1058552b 4a5a04ff 000000c4 e0301000 80002d2d bf8c0770 105c092d 4a0404ff 000000c0 e0301000 80000202 bf8c0770 105e5d02 085e592f 062a5f15 c0840700 bf8c007f e00c2000 80022f00 bf8c0770 10662b30 101e210f d2820034 043e2913 0868690e 1034371a d2820035 046a3f1e 086a6b19 06686935 10484b24 d2820035 04925328 086a6b23 06686b34 100c5506 d2820035 041a5d2d 086a6b05 06686b34 d2820033 04ce692f 106a2911 d2820036 04d62107 106e3f1c d2820038 04de3716 066c6d38 10705326 d2820039 04e24b20 066c7336 10725d2b d282003a 04e65502 066c7536 c0840710 bf8c007f e00c2000 80023a00 bf8c0770 d2820033 04ce6d3d 4a7c2eff 000000c0 e0301000 80003e3e 4a7e10ff 000000c0 e0301000 80003f3f bf8c0770 107e173f d282003e 04fe153e 4a7e42ff 000000c0 e0301000 80003f3f bf8c0770 d282003e 04fa193f 4a7e06ff 000000c0 e0301000 80003f3f bf8c0770 d282003e 04fa1b3f 06667d33 d2820012 044a2907 d282001d 04763f16 0624251d d282001d 049e5320 06243b12 d282001d 04b25d02 06243b12 10121307 d282000f 043e1307 081e1f0e 10303116 d282001a 046a3116 08343519 061e1f1a 10344520 d282001d 04923520 083a3b23 061e3b0f 10080902 d2820006 041a0902 080c0d05 060c0d0f 101e0d30 d282000f 043e252f 10221311 103a2113 083a231d 1038311c 1044371e 08443922 063a3b22 10443526 10484b28 08484524 063a491d 1048092b 104c552d 084c4926 063a4d1d d282000f 043e3b3d 4a4c2eff 000000c4 e0301000 80002626 4a4e10ff 000000c4 e0301000 80002727 bf8c0770 104e1727 d2820026 049e1526 4a4e42ff 000000c4 e0301000 80002727 bf8c0770 d2820026 049a1927 4a4e06ff 000000c4 e0301000 80002727 bf8c0770 d2820026 049a1b27 061e4d0f d2d60001 02010701 4a4c0281 344c4c84 4a4e4cff 00000cc4 e0301000 80002727 bf8c0770 10564f0f 4a584cff 00000cc0 e0301000 80002c2c bf8c0770 d282002b 04ae5933 107c2107 086a6b3e 107c3716 086e6f3e 066a6b37 106e4b20 086e7137 066a6f35 106e5502 086e7337 066a6f35 d2820010 04462113 d2820011 0472371e 06202111 d2820011 048a4b28 06202310 d2820011 0492552d 06202310 10222130 d2820011 04466b2f 10262913 d2820007 044e1307 080e0f0e 10123f1e d2820009 04263116 08121319 060e0f09 10125328 d2820009 04263520 08121323 060e1307 10125d2d d2820002 04260902 08040505 06040507 d2820004 0446053d 4a0a2eff 000000c8 e0301000 80000505 4a0e10ff 000000c8 e0301000 80000707 bf8c0770 100e1707 d2820007 041e1505 4a1042ff 000000c8 e0301000 80000808 bf8c0770 d2820007 041e1908 4a0606ff 000000c8 e0301000 80000303 bf8c0770 d2820003 041e1b03 06060704 4a084cff 00000cc8 e0301000 80000404 bf8c0770 d2820007 04ae0903 4a104cff 00000ccc e0301000 80000808 bf8c0770 060e1107 c2020129 bf8c007f 0a100e04 34120284 4a1c12ff 00000cc4 e0301000 80000e0e bf8c0770 10221d0f 4a2612ff 00000cc0 e0301000 80001313 bf8c0770 d2820011 04462733 4a2812ff 00000cc8 e0301000 80001414 bf8c0770 d2820011 04462903 4a1212ff 00000ccc e0301000 80000909 bf8c0770 06221311 c2020128 bf8c007f 0a2c2204 c2020117 bf8c007f 102e2c04 c202011b bf8c007f d2820017 045e1004 4a020282 34020284 4a3002ff 00000cc4 e0301000 80001818 bf8c0770 101e310f 4a3202ff 00000cc0 e0301000 80001919 bf8c0770 d282000f 043e3333 4a3402ff 00000cc8 e0301000 80001a1a bf8c0770 d2820003 043e3503 4a0202ff 00000ccc e0301000 80000101 bf8c0770 06060303 c2020126 bf8c007f 0a1e0604 c2020101 bf8c007f 7e365404 101e370f c2020125 bf8c007f 0a0e0e04 100e3707 c2020124 bf8c007f 0a222204 10223711 f800021f 170f0711 c0820714 bf8c000f e00c2000 80011e00 bf8c0770 1000251e d2820000 04020d1f d2820000 04023b20 100e691e d2820007 041e2b1f d2820007 041e6d20 101e5907 d282000f 043e4f00 10226b1e d2820011 0446211f d2820011 04460520 d282000f 043e0911 10362707 d282001b 046e1d00 d282001b 046e2911 1038371b d282001c 04721f0f 100e3307 d2820000 041e3100 d2820000 04023511 d2820007 04720100 7e0e5b07 10000f00 1022253a d2820006 04460d3b d2820006 041a3b3c 1022693a d2820011 04462b3b d2820011 04466d3c 10245911 d2820012 044a4f06 102a6b3a d2820010 0456213b d2820002 0442053c d2820004 044a0902 10202711 d282000e 04421d06 d282000e 043a2902 10201d0e d2820010 04420904 10223311 d2820006 04463106 d2820002 041a3502 d2820006 04420502 7e0c5b06 101c0d0e 1020010e 10220f1b 10040d02 10242302 08202112 10204310 100e0f0f 101e0f02 10080d04 100c0104 080c1f06 100c4306 c2020104 bf8c007f 101e0c04 c2028108 bf8c007f d282000f 043e2005 10242304 10260f0e 08242513 10244312 c203010c bf8c007f d282000f 043e2406 10261c04 d2820013 044e0805 d2820013 044e0406 10282204 d2820014 04520e05 d2820014 04520006 f800022f 09130f14 c2020105 bf8c000f 10120c04 c2028109 bf8c007f d2820009 04262005 c203010d bf8c007f d2820009 04262406 101e1c04 d282000f 043e0805 d282000f 043e0406 10262204 d2820013 044e0e05 d2820013 044e0006 100a1505 f800023f 050f0913 c2020106 bf8c000f 100a0c04 c202810a bf8c007f d2820005 04162005 c203010e bf8c007f d2820005 04162406 100c1c04 d2820004 041a0805 d2820002 04120406 10082204 d2820004 04120e05 d2820000 04120006 f800024f 01020500 c202012a bf8c000f 0a000604 c202011f bf8c007f d2820001 045e0004 c2020123 bf8c007f 06020204 c2020116 bf8c007f 10042c04 c202011a bf8c007f d2820002 040a1004 c202011e bf8c007f d2820002 040a0004 c2020122 bf8c007f 06040404 c2020115 bf8c007f 10062c04 c2020119 bf8c007f d2820003 040e1004 c202011d bf8c007f d2820003 040e0004 c2020121 bf8c007f 06060604 c2020114 bf8c007f 10082c04 c2020118 bf8c007f d2820004 04121004 c202011c bf8c007f d2820000 04120004 c2000120 bf8c007f 06000000 f80008cf 01020300 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL CONST[0] DCL CONST[5] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xy, TEMP[0], SAMP[1], 2D 2: MAD TEMP[1].xy, IN[0].xyyy, CONST[5].xyyy, CONST[5].zwww 3: MOV TEMP[2].xy, IN[0].xyyy 4: TEX TEMP[2].w, TEMP[2], SAMP[0], 2D 5: MUL TEMP[2].x, CONST[0].yyyy, TEMP[2].wwww 6: MOV TEMP[3].xy, TEMP[1].xyyy 7: TEX TEMP[3].w, TEMP[3], SAMP[2], 2D 8: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[3].wwww 9: MOV TEMP[1].xy, TEMP[1].xyyy 10: TEX TEMP[1].xy, TEMP[1], SAMP[3], 2D 11: MAD TEMP[0].xy, TEMP[1].xyyy, TEMP[2].xxxx, TEMP[0].xyyy 12: MAD TEMP[1].xy, TEMP[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 13: ADD TEMP[0].xy, TEMP[1].xyyy, -TEMP[2].xxxx 14: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 15: ADD_SAT TEMP[1].x, IMM[0].zzzz, -TEMP[1].xxxx 16: RSQ TEMP[2].x, TEMP[1].xxxx 17: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 18: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].wwww 19: MOV TEMP[0].z, TEMP[2].xxxx 20: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 21: RSQ TEMP[1].x, TEMP[1].xxxx 22: MUL TEMP[1].xyz, IN[2].xyzz, TEMP[1].xxxx 23: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 24: DP3 TEMP[2].x, IN[3].xyzz, IN[3].xyzz 25: RSQ TEMP[2].x, TEMP[2].xxxx 26: MUL TEMP[2].xyz, IN[3].xyzz, TEMP[2].xxxx 27: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[0].xyzz 28: MOV TEMP[1].y, TEMP[2].xxxx 29: DP3 TEMP[2].x, IN[4].xyzz, IN[4].xyzz 30: RSQ TEMP[2].x, TEMP[2].xxxx 31: MUL TEMP[2].xyz, IN[4].xyzz, TEMP[2].xxxx 32: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 33: ADD TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 34: MOV TEMP[1].z, TEMP[0].xxxx 35: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 36: RSQ TEMP[0].x, TEMP[0].xxxx 37: MUL TEMP[0].xy, TEMP[1].xyzz, TEMP[0].xxxx 38: MOV TEMP[1].x, TEMP[0].xxxx 39: MOV TEMP[1].y, TEMP[0].yyyy 40: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 41: RSQ TEMP[2].x, TEMP[0].xxxx 42: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[0].xxxx 43: CMP TEMP[2].x, -TEMP[0].xxxx, TEMP[2].xxxx, IMM[0].wwww 44: MOV TEMP[1].z, -TEMP[2].xxxx 45: MOV TEMP[1].w, IMM[0].wwww 46: MOV OUT[0], TEMP[1] 47: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 92) %27 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %28 = load <32 x i8> addrspace(2)* %27, !tbaa !0 %29 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %30 = load <16 x i8> addrspace(2)* %29, !tbaa !0 %31 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %32 = load <32 x i8> addrspace(2)* %31, !tbaa !0 %33 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %34 = load <16 x i8> addrspace(2)* %33, !tbaa !0 %35 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %36 = load <32 x i8> addrspace(2)* %35, !tbaa !0 %37 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %40 = load <32 x i8> addrspace(2)* %39, !tbaa !0 %41 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %56 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %57 = bitcast float %43 to i32 %58 = bitcast float %44 to i32 %59 = insertelement <2 x i32> undef, i32 %57, i32 0 %60 = insertelement <2 x i32> %59, i32 %58, i32 1 %61 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %60, <32 x i8> %32, <16 x i8> %34, i32 2) %62 = extractelement <4 x float> %61, i32 0 %63 = extractelement <4 x float> %61, i32 1 %64 = fmul float %43, %23 %65 = fadd float %64, %25 %66 = fmul float %44, %24 %67 = fadd float %66, %26 %68 = bitcast float %43 to i32 %69 = bitcast float %44 to i32 %70 = insertelement <2 x i32> undef, i32 %68, i32 0 %71 = insertelement <2 x i32> %70, i32 %69, i32 1 %72 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %71, <32 x i8> %28, <16 x i8> %30, i32 2) %73 = extractelement <4 x float> %72, i32 3 %74 = fmul float %22, %73 %75 = bitcast float %65 to i32 %76 = bitcast float %67 to i32 %77 = insertelement <2 x i32> undef, i32 %75, i32 0 %78 = insertelement <2 x i32> %77, i32 %76, i32 1 %79 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %78, <32 x i8> %36, <16 x i8> %38, i32 2) %80 = extractelement <4 x float> %79, i32 3 %81 = fmul float %74, %80 %82 = bitcast float %65 to i32 %83 = bitcast float %67 to i32 %84 = insertelement <2 x i32> undef, i32 %82, i32 0 %85 = insertelement <2 x i32> %84, i32 %83, i32 1 %86 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %85, <32 x i8> %40, <16 x i8> %42, i32 2) %87 = extractelement <4 x float> %86, i32 0 %88 = extractelement <4 x float> %86, i32 1 %89 = fmul float %87, %81 %90 = fadd float %89, %62 %91 = fmul float %88, %81 %92 = fadd float %91, %63 %93 = fmul float %90, 2.000000e+00 %94 = fadd float %93, -1.000000e+00 %95 = fmul float %92, 2.000000e+00 %96 = fadd float %95, -1.000000e+00 %97 = fsub float -0.000000e+00, %81 %98 = fadd float %94, %97 %99 = fsub float -0.000000e+00, %81 %100 = fadd float %96, %99 %101 = fmul float %98, %98 %102 = fmul float %100, %100 %103 = fadd float %101, %102 %104 = fsub float -0.000000e+00, %103 %105 = fadd float 1.000000e+00, %104 %106 = call float @llvm.AMDIL.clamp.(float %105, float 0.000000e+00, float 1.000000e+00) %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %107, %106 %109 = fsub float -0.000000e+00, %106 %110 = call float @llvm.AMDGPU.cndlt(float %109, float %108, float 0.000000e+00) %111 = fmul float %48, %48 %112 = fmul float %49, %49 %113 = fadd float %112, %111 %114 = fmul float %50, %50 %115 = fadd float %113, %114 %116 = call float @llvm.AMDGPU.rsq(float %115) %117 = fmul float %48, %116 %118 = fmul float %49, %116 %119 = fmul float %50, %116 %120 = fmul float %117, %98 %121 = fmul float %118, %100 %122 = fadd float %121, %120 %123 = fmul float %119, %110 %124 = fadd float %122, %123 %125 = fmul float %51, %51 %126 = fmul float %52, %52 %127 = fadd float %126, %125 %128 = fmul float %53, %53 %129 = fadd float %127, %128 %130 = call float @llvm.AMDGPU.rsq(float %129) %131 = fmul float %51, %130 %132 = fmul float %52, %130 %133 = fmul float %53, %130 %134 = fmul float %131, %98 %135 = fmul float %132, %100 %136 = fadd float %135, %134 %137 = fmul float %133, %110 %138 = fadd float %136, %137 %139 = fmul float %54, %54 %140 = fmul float %55, %55 %141 = fadd float %140, %139 %142 = fmul float %56, %56 %143 = fadd float %141, %142 %144 = call float @llvm.AMDGPU.rsq(float %143) %145 = fmul float %54, %144 %146 = fmul float %55, %144 %147 = fmul float %56, %144 %148 = fmul float %145, %98 %149 = fmul float %146, %100 %150 = fadd float %149, %148 %151 = fmul float %147, %110 %152 = fadd float %150, %151 %153 = fadd float %152, 1.000000e+00 %154 = fmul float %124, %124 %155 = fmul float %138, %138 %156 = fadd float %155, %154 %157 = fmul float %153, %153 %158 = fadd float %156, %157 %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %124, %159 %161 = fmul float %138, %159 %162 = fmul float %45, %45 %163 = fmul float %46, %46 %164 = fadd float %163, %162 %165 = fmul float %47, %47 %166 = fadd float %164, %165 %167 = call float @llvm.AMDGPU.rsq(float %166) %168 = fmul float %167, %166 %169 = fsub float -0.000000e+00, %166 %170 = call float @llvm.AMDGPU.cndlt(float %169, float %168, float 0.000000e+00) %171 = fsub float -0.000000e+00, %170 %172 = call i32 @llvm.SI.packf16(float %160, float %161) %173 = bitcast i32 %172 to float %174 = call i32 @llvm.SI.packf16(float %171, float 0.000000e+00) %175 = bitcast i32 %174 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %173, float %175, float %173, float %175) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800800 00430402 c0840100 bf8c0070 c2000901 bf8c007f 10080800 c2000915 c2008917 bf8c007f 7e0a0201 d2820006 04140103 c2000914 c2008916 bf8c007f 7e0e0201 d2820005 041c0102 c0840308 c0c60510 bf8c007f f0800800 00430705 bf8c0770 10080f04 c0840304 c0c60508 bf8c007f f0800300 00430202 c080030c c0c40518 bf8c0070 f0800300 00020505 bf8c0770 d2820007 040a0905 060e0f07 060e0ef3 080e0907 d2820002 040e0906 06040502 060404f3 08040902 10060502 d2820003 040e0f07 080606f2 d2060803 02010103 7e085b03 10080704 d2060003 22010103 d0080000 02020680 d2000003 00020880 c8100d00 c8110d01 c8140c00 c8150c01 100c0b05 d2820006 041a0904 c8200e00 c8210e01 d2820006 041a1108 7e0c5b06 100a0d05 100a0f05 10080d04 d2820004 04160504 100a0d08 d2820004 04120705 c8140900 c8150901 c8180800 c8190801 10100d06 d2820008 04220b05 c8240a00 c8250a01 d2820008 04221309 7e105b08 100c1106 100c0f06 100a1105 d2820005 041a0505 100c1109 d2820005 04160706 100c0b05 d2820006 041a0904 c8201100 c8211101 c8241000 c8251001 10141309 d282000a 042a1108 c82c1200 c82d1201 d282000a 042a170b 7e145b0a 10121509 100e0f09 10101508 d2820002 041e0508 100e150b d2820002 040a0707 060404f2 d2820002 041a0502 7e045b02 10060504 10040505 5e040702 c80c0500 c80d0501 c8100400 c8110401 10080904 d2820003 04120703 c8100600 c8110601 d2820000 040e0904 7e025b00 10020101 d2060000 22010100 d0080000 02020080 d2000000 00020280 d2060000 22010100 d25e0000 02010100 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..107] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MOV TEMP[1].zw, IN[1].wwzw 34: MAD TEMP[1].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 35: ADD TEMP[2].xyz, TEMP[4].xyzz, -CONST[10].xyzz 36: MUL TEMP[5], CONST[5], TEMP[2].xxxx 37: MAD TEMP[5], CONST[6], TEMP[2].yyyy, TEMP[5] 38: MAD TEMP[2], CONST[7], TEMP[2].zzzz, TEMP[5] 39: ADD TEMP[2], TEMP[2], CONST[8] 40: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[9].xyzz 41: RCP TEMP[5].x, CONST[0].yyyy 42: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 43: MUL TEMP[5].xyz, TEMP[3].zxyy, TEMP[0].yzxx 44: MAD TEMP[5].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[5].xyzz 45: MUL TEMP[5].xyz, TEMP[5].xyzz, IN[3].wwww 46: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 47: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 48: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 49: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 50: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 51: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 52: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[3].xxxx 53: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[3].yyyy, TEMP[6].xyzz 54: MAD TEMP[3].xyz, CONST[3].xyzz, TEMP[3].zzzz, TEMP[6].xyzz 55: MOV TEMP[6].x, TEMP[0].xxxx 56: MOV TEMP[6].y, TEMP[5].xxxx 57: MOV TEMP[6].z, TEMP[3].xxxx 58: MOV TEMP[6].xyz, TEMP[6].xyzx 59: MOV TEMP[7].x, TEMP[0].yyyy 60: MOV TEMP[7].y, TEMP[5].yyyy 61: MOV TEMP[7].z, TEMP[3].yyyy 62: MOV TEMP[7].xyz, TEMP[7].xyzx 63: MOV TEMP[0].x, TEMP[0].zzzz 64: MOV TEMP[0].y, TEMP[5].zzzz 65: MOV TEMP[0].z, TEMP[3].zzzz 66: MOV TEMP[0].xyz, TEMP[0].xyzx 67: MOV OUT[1], TEMP[1] 68: MOV OUT[2], TEMP[4] 69: MOV OUT[3], TEMP[6] 70: MOV OUT[4], TEMP[7] 71: MOV OUT[5], TEMP[0] 72: MOV OUT[0], TEMP[2] 73: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = extractelement <4 x float> %54, i32 2 %58 = extractelement <4 x float> %54, i32 3 %59 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %60 = load <16 x i8> addrspace(2)* %59, !tbaa !0 %61 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %60, i32 0, i32 %5) %62 = extractelement <4 x float> %61, i32 0 %63 = extractelement <4 x float> %61, i32 1 %64 = extractelement <4 x float> %61, i32 2 %65 = extractelement <4 x float> %61, i32 3 %66 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %67 = load <16 x i8> addrspace(2)* %66, !tbaa !0 %68 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %67, i32 0, i32 %5) %69 = extractelement <4 x float> %68, i32 0 %70 = extractelement <4 x float> %68, i32 1 %71 = extractelement <4 x float> %68, i32 2 %72 = extractelement <4 x float> %68, i32 3 %73 = add i32 %8, %4 %74 = mul i32 %73, 3 %75 = bitcast i32 %74 to float %76 = bitcast float %75 to i32 %77 = add i32 %76, 0 %78 = bitcast float %75 to i32 %79 = add i32 %78, 1 %80 = bitcast float %75 to i32 %81 = add i32 %80, 2 %82 = bitcast i32 %77 to float %83 = bitcast i32 %79 to float %84 = bitcast i32 %81 to float %85 = bitcast float %82 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 176 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 180 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 184 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 188 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %83 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 176 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 180 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 184 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 188 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = bitcast float %84 to i32 %112 = shl i32 %111, 4 %113 = add i32 %112, 176 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %111, 4 %116 = add i32 %115, 180 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = shl i32 %111, 4 %119 = add i32 %118, 184 %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %119) %121 = shl i32 %111, 4 %122 = add i32 %121, 188 %123 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %122) %124 = fmul float %50, %88 %125 = fmul float %51, %91 %126 = fadd float %124, %125 %127 = fmul float %65, %94 %128 = fadd float %126, %127 %129 = fmul float 1.000000e+00, %97 %130 = fadd float %128, %129 %131 = fmul float %50, %101 %132 = fmul float %51, %104 %133 = fadd float %131, %132 %134 = fmul float %65, %107 %135 = fadd float %133, %134 %136 = fmul float 1.000000e+00, %110 %137 = fadd float %135, %136 %138 = fmul float %50, %114 %139 = fmul float %51, %117 %140 = fadd float %138, %139 %141 = fmul float %65, %120 %142 = fadd float %140, %141 %143 = fmul float 1.000000e+00, %123 %144 = fadd float %142, %143 %145 = fmul float %62, %88 %146 = fmul float %63, %91 %147 = fadd float %146, %145 %148 = fmul float %64, %94 %149 = fadd float %147, %148 %150 = fmul float %62, %101 %151 = fmul float %63, %104 %152 = fadd float %151, %150 %153 = fmul float %64, %107 %154 = fadd float %152, %153 %155 = fmul float %62, %114 %156 = fmul float %63, %117 %157 = fadd float %156, %155 %158 = fmul float %64, %120 %159 = fadd float %157, %158 %160 = fmul float %149, %149 %161 = fmul float %154, %154 %162 = fadd float %161, %160 %163 = fmul float %159, %159 %164 = fadd float %162, %163 %165 = call float @llvm.AMDGPU.rsq(float %164) %166 = fmul float %149, %165 %167 = fmul float %154, %165 %168 = fmul float %159, %165 %169 = fmul float %69, %88 %170 = fmul float %70, %91 %171 = fadd float %170, %169 %172 = fmul float %71, %94 %173 = fadd float %171, %172 %174 = fmul float %69, %101 %175 = fmul float %70, %104 %176 = fadd float %175, %174 %177 = fmul float %71, %107 %178 = fadd float %176, %177 %179 = fmul float %69, %114 %180 = fmul float %70, %117 %181 = fadd float %180, %179 %182 = fmul float %71, %120 %183 = fadd float %181, %182 %184 = fmul float %173, %173 %185 = fmul float %178, %178 %186 = fadd float %185, %184 %187 = fmul float %183, %183 %188 = fadd float %186, %187 %189 = call float @llvm.AMDGPU.rsq(float %188) %190 = fmul float %173, %189 %191 = fmul float %178, %189 %192 = fmul float %183, %189 %193 = fmul float %55, %43 %194 = fadd float %193, %45 %195 = fmul float %56, %44 %196 = fadd float %195, %46 %197 = fsub float -0.000000e+00, %40 %198 = fadd float %130, %197 %199 = fsub float -0.000000e+00, %41 %200 = fadd float %137, %199 %201 = fsub float -0.000000e+00, %42 %202 = fadd float %144, %201 %203 = fmul float %21, %198 %204 = fmul float %22, %198 %205 = fmul float %23, %198 %206 = fmul float %24, %198 %207 = fmul float %25, %200 %208 = fadd float %207, %203 %209 = fmul float %26, %200 %210 = fadd float %209, %204 %211 = fmul float %27, %200 %212 = fadd float %211, %205 %213 = fmul float %28, %200 %214 = fadd float %213, %206 %215 = fmul float %29, %202 %216 = fadd float %215, %208 %217 = fmul float %30, %202 %218 = fadd float %217, %210 %219 = fmul float %31, %202 %220 = fadd float %219, %212 %221 = fmul float %32, %202 %222 = fadd float %221, %214 %223 = fadd float %216, %33 %224 = fadd float %218, %34 %225 = fadd float %220, %35 %226 = fadd float %222, %36 %227 = fsub float -0.000000e+00, %37 %228 = fadd float %130, %227 %229 = fsub float -0.000000e+00, %38 %230 = fadd float %137, %229 %231 = fsub float -0.000000e+00, %39 %232 = fadd float %144, %231 %233 = fdiv float 1.000000e+00, %11 %234 = fmul float %228, %233 %235 = fmul float %230, %233 %236 = fmul float %232, %233 %237 = fmul float %168, %191 %238 = fmul float %166, %192 %239 = fmul float %167, %190 %240 = fsub float -0.000000e+00, %237 %241 = fmul float %167, %192 %242 = fadd float %241, %240 %243 = fsub float -0.000000e+00, %238 %244 = fmul float %168, %190 %245 = fadd float %244, %243 %246 = fsub float -0.000000e+00, %239 %247 = fmul float %166, %191 %248 = fadd float %247, %246 %249 = fmul float %242, %72 %250 = fmul float %245, %72 %251 = fmul float %248, %72 %252 = fmul float %12, %190 %253 = fmul float %13, %190 %254 = fmul float %14, %190 %255 = fmul float %15, %191 %256 = fadd float %255, %252 %257 = fmul float %16, %191 %258 = fadd float %257, %253 %259 = fmul float %17, %191 %260 = fadd float %259, %254 %261 = fmul float %18, %192 %262 = fadd float %261, %256 %263 = fmul float %19, %192 %264 = fadd float %263, %258 %265 = fmul float %20, %192 %266 = fadd float %265, %260 %267 = fmul float %12, %249 %268 = fmul float %13, %249 %269 = fmul float %14, %249 %270 = fmul float %15, %250 %271 = fadd float %270, %267 %272 = fmul float %16, %250 %273 = fadd float %272, %268 %274 = fmul float %17, %250 %275 = fadd float %274, %269 %276 = fmul float %18, %251 %277 = fadd float %276, %271 %278 = fmul float %19, %251 %279 = fadd float %278, %273 %280 = fmul float %20, %251 %281 = fadd float %280, %275 %282 = fmul float %12, %166 %283 = fmul float %13, %166 %284 = fmul float %14, %166 %285 = fmul float %15, %167 %286 = fadd float %285, %282 %287 = fmul float %16, %167 %288 = fadd float %287, %283 %289 = fmul float %17, %167 %290 = fadd float %289, %284 %291 = fmul float %18, %168 %292 = fadd float %291, %286 %293 = fmul float %19, %168 %294 = fadd float %293, %288 %295 = fmul float %20, %168 %296 = fadd float %295, %290 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %194, float %196, float %57, float %58) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %234, float %235, float %236, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %277, float %292, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %264, float %279, float %294, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %266, float %281, float %296, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %223, float %224, float %225, float %226) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 34040284 4a0604ff 000000b4 e0301000 80000303 c0840700 bf8c0070 e00c2000 80020400 bf8c0770 10100705 4a1204ff 000000b0 e0301000 80000909 bf8c0770 d2820008 04221304 4a1404ff 000000b8 e0301000 80000a0a c0840708 bf8c0070 e00c2000 80020b00 bf8c0770 d2820008 0422150e 4a0404ff 000000bc e0301000 80000202 bf8c0770 06040508 c2020124 bf8c007f 0a100404 c2020101 bf8c007f 7e1e5404 10101f08 4a200282 34202084 4a2220ff 000000b4 e0301000 80001111 bf8c0770 10242305 4a2620ff 000000b0 e0301000 80001313 bf8c0770 d2820012 044a2704 4a2820ff 000000b8 e0301000 80001414 bf8c0770 d2820012 044a290e 4a2020ff 000000bc e0301000 80001010 bf8c0770 06242112 c2020126 bf8c007f 0a2a2404 102a1f15 4a020281 34020284 4a2c02ff 000000b4 e0301000 80001616 bf8c0770 102e2d05 4a3002ff 000000b0 e0301000 80001818 bf8c0770 d2820004 045e3104 4a0a02ff 000000b8 e0301000 80000505 bf8c0770 d2820004 04120b0e 4a0202ff 000000bc e0301000 80000101 bf8c0770 06020304 c2020125 bf8c007f 0a080204 10081f04 7e0c0280 f800021f 06150408 c082070c bf8c000f e00c2000 80011900 bf8c0770 10003119 d2820000 04022d1a d2820000 04020b1b 10081319 d2820004 0412071a d2820004 0412151b 100e0904 d2820007 041e0100 10102719 d2820008 0422231a d2820008 0422291b d2820007 041e1108 7e0e5b07 10100f08 101e310b d282000f 043e2d0c d2820005 043e0b0d 1012130b d2820003 0426070c d2820003 040e150d 10120703 d2820009 04260b05 1014270b d282000a 042a230c d282000a 042a290d d2820009 0426150a 7e125b09 10061303 10161103 10080f04 1014130a 1018090a 0816170c 1016390b 10000f00 100e010a 100a1305 10121105 080e0f09 100e3907 c2020104 bf8c007f 10120e04 c2028108 bf8c007f d2820009 04261605 10180905 101a0103 0818190d 1018390c c203010c bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800022f 060d090e c2020105 bf8c000f 10120e04 c2028109 bf8c007f d2820009 04261605 c203010d bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800023f 060d090e c2020106 bf8c000f 100c0e04 c202810a bf8c007f d2820006 041a1605 c203010e bf8c007f d2820006 041a1806 10060604 d2820003 040e0a05 d2820003 040e1406 10080804 d2820000 04120005 d2820000 04021006 f800024f 10030600 c2020128 bf8c000f 0a000404 c2020117 bf8c007f 10040004 c2020129 bf8c007f 0a020204 c202011b bf8c007f d2820002 040a0204 c202012a bf8c007f 0a062404 c202011f bf8c007f d2820002 040a0604 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080004 c202011a bf8c007f d2820004 04120204 c202011e bf8c007f d2820004 04120604 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0004 c2020119 bf8c007f d2820005 04160204 c202011d bf8c007f d2820005 04160604 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10000004 c2020118 bf8c007f d2820000 04020204 c202011c bf8c007f d2820000 04020604 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.0001, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xy, TEMP[0], SAMP[0], 2D 2: MAD TEMP[0].xy, TEMP[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 3: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 4: ADD_SAT TEMP[1].x, IMM[0].zzzz, -TEMP[1].xxxx 5: RSQ TEMP[2].x, TEMP[1].xxxx 6: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 7: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].wwww 8: MOV TEMP[0].z, TEMP[2].xxxx 9: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 10: RSQ TEMP[1].x, TEMP[1].xxxx 11: MUL TEMP[1].xyz, IN[2].xyzz, TEMP[1].xxxx 12: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 13: DP3 TEMP[2].x, IN[3].xyzz, IN[3].xyzz 14: RSQ TEMP[2].x, TEMP[2].xxxx 15: MUL TEMP[2].xyz, IN[3].xyzz, TEMP[2].xxxx 16: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[0].xyzz 17: MOV TEMP[1].y, TEMP[2].xxxx 18: DP3 TEMP[2].x, IN[4].xyzz, IN[4].xyzz 19: RSQ TEMP[2].x, TEMP[2].xxxx 20: MUL TEMP[2].xyz, IN[4].xyzz, TEMP[2].xxxx 21: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 22: ADD TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 23: MOV TEMP[1].z, TEMP[0].xxxx 24: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 25: RSQ TEMP[0].x, TEMP[0].xxxx 26: MUL TEMP[0].xy, TEMP[1].xyzz, TEMP[0].xxxx 27: MOV TEMP[1].x, TEMP[0].xxxx 28: MOV TEMP[1].y, TEMP[0].yyyy 29: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 30: RSQ TEMP[2].x, TEMP[0].xxxx 31: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[0].xxxx 32: CMP TEMP[2].x, -TEMP[0].xxxx, TEMP[2].xxxx, IMM[0].wwww 33: MOV TEMP[1].z, -TEMP[2].xxxx 34: MOV TEMP[1].w, IMM[1].xxxx 35: MOV OUT[0], TEMP[1] 36: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %38 = bitcast float %24 to i32 %39 = bitcast float %25 to i32 %40 = insertelement <2 x i32> undef, i32 %38, i32 0 %41 = insertelement <2 x i32> %40, i32 %39, i32 1 %42 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %41, <32 x i8> %21, <16 x i8> %23, i32 2) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = fmul float %43, 2.000000e+00 %46 = fadd float %45, -1.000000e+00 %47 = fmul float %44, 2.000000e+00 %48 = fadd float %47, -1.000000e+00 %49 = fmul float %46, %46 %50 = fmul float %48, %48 %51 = fadd float %49, %50 %52 = fsub float -0.000000e+00, %51 %53 = fadd float 1.000000e+00, %52 %54 = call float @llvm.AMDIL.clamp.(float %53, float 0.000000e+00, float 1.000000e+00) %55 = call float @llvm.AMDGPU.rsq(float %54) %56 = fmul float %55, %54 %57 = fsub float -0.000000e+00, %54 %58 = call float @llvm.AMDGPU.cndlt(float %57, float %56, float 0.000000e+00) %59 = fmul float %29, %29 %60 = fmul float %30, %30 %61 = fadd float %60, %59 %62 = fmul float %31, %31 %63 = fadd float %61, %62 %64 = call float @llvm.AMDGPU.rsq(float %63) %65 = fmul float %29, %64 %66 = fmul float %30, %64 %67 = fmul float %31, %64 %68 = fmul float %65, %46 %69 = fmul float %66, %48 %70 = fadd float %69, %68 %71 = fmul float %67, %58 %72 = fadd float %70, %71 %73 = fmul float %32, %32 %74 = fmul float %33, %33 %75 = fadd float %74, %73 %76 = fmul float %34, %34 %77 = fadd float %75, %76 %78 = call float @llvm.AMDGPU.rsq(float %77) %79 = fmul float %32, %78 %80 = fmul float %33, %78 %81 = fmul float %34, %78 %82 = fmul float %79, %46 %83 = fmul float %80, %48 %84 = fadd float %83, %82 %85 = fmul float %81, %58 %86 = fadd float %84, %85 %87 = fmul float %35, %35 %88 = fmul float %36, %36 %89 = fadd float %88, %87 %90 = fmul float %37, %37 %91 = fadd float %89, %90 %92 = call float @llvm.AMDGPU.rsq(float %91) %93 = fmul float %35, %92 %94 = fmul float %36, %92 %95 = fmul float %37, %92 %96 = fmul float %93, %46 %97 = fmul float %94, %48 %98 = fadd float %97, %96 %99 = fmul float %95, %58 %100 = fadd float %98, %99 %101 = fadd float %100, 1.000000e+00 %102 = fmul float %72, %72 %103 = fmul float %86, %86 %104 = fadd float %103, %102 %105 = fmul float %101, %101 %106 = fadd float %104, %105 %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %72, %107 %109 = fmul float %86, %107 %110 = fmul float %26, %26 %111 = fmul float %27, %27 %112 = fadd float %111, %110 %113 = fmul float %28, %28 %114 = fadd float %112, %113 %115 = call float @llvm.AMDGPU.rsq(float %114) %116 = fmul float %115, %114 %117 = fsub float -0.000000e+00, %114 %118 = call float @llvm.AMDGPU.cndlt(float %117, float %116, float 0.000000e+00) %119 = fsub float -0.000000e+00, %118 %120 = call i32 @llvm.SI.packf16(float %108, float %109) %121 = bitcast i32 %120 to float %122 = call i32 @llvm.SI.packf16(float %119, float 0xBF1A36E2E0000000) %123 = bitcast i32 %122 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %121, float %123, float %121, float %123) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c40500 bf8c007f f0800300 00020202 bf8c0770 06080502 060808f3 06040703 060404f3 10060502 d2820003 040e0904 080606f2 d2060803 02010103 7e0a5b03 100a0705 d2060003 22010103 d0080000 02020680 d2000003 00020a80 c8140d00 c8150d01 c8180c00 c8190c01 100e0d06 d2820007 041e0b05 c8200e00 c8210e01 d2820007 041e1108 7e0e5b07 100c0f06 100c0906 100a0f05 d2820005 041a0505 100c0f08 d2820005 04160706 c8180900 c8190901 c81c0800 c81d0801 10100f07 d2820008 04220d06 c8240a00 c8250a01 d2820008 04221309 7e105b08 100e1107 100e0907 100c1106 d2820006 041e0506 100e1109 d2820006 041a0707 100e0d06 d2820007 041e0b05 c8201100 c8211101 c8241000 c8251001 10141309 d282000a 042a1108 c82c1200 c82d1201 d282000a 042a170b 7e145b0a 10121509 10080909 10101508 d2820002 04120508 1008150b d2820002 040a0704 060404f2 d2820002 041e0502 7e045b02 10060505 10040506 5e040702 c80c0500 c80d0501 c8100400 c8110401 10080904 d2820003 04120703 c8100600 c8110601 d2820000 040e0904 7e025b00 10020101 d2060000 22010100 d0080000 02020080 d2000000 00020280 d2060000 22010100 7e0202ff b8d1b717 5e000300 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..109] DCL TEMP[0..8], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].z, TEMP[4].wwzw 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[6].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[5].y, TEMP[6].xxxx 22: DP3 TEMP[6].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[5].z, TEMP[6].xxxx 24: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz 25: RSQ TEMP[6].x, TEMP[6].xxxx 26: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 27: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 28: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 29: MOV TEMP[1].y, TEMP[2].xxxx 30: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 31: MOV TEMP[1].z, TEMP[0].xxxx 32: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 33: RSQ TEMP[0].x, TEMP[0].xxxx 34: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 35: MUL TEMP[1].xyz, TEMP[5].zxyy, TEMP[0].yzxx 36: MAD TEMP[1].xyz, TEMP[5].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 37: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 38: MOV TEMP[2].zw, IN[1].wwzw 39: MAD TEMP[2].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 40: MAD TEMP[6].xy, TEMP[4].xyyy, CONST[108].xyyy, CONST[109].xyyy 41: MUL TEMP[7].x, TEMP[6].xxxx, IMM[1].yyyy 42: SIN TEMP[7].x, TEMP[7].xxxx 43: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].zzzz 44: COS TEMP[8].x, TEMP[8].xxxx 45: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx 46: MUL TEMP[8].x, TEMP[6].yyyy, IMM[1].yyyy 47: COS TEMP[8].x, TEMP[8].xxxx 48: MUL TEMP[6].x, TEMP[6].yyyy, IMM[1].zzzz 49: SIN TEMP[6].x, TEMP[6].xxxx 50: MUL TEMP[6].x, TEMP[8].xxxx, TEMP[6].xxxx 51: MOV TEMP[7].y, TEMP[6].xxxx 52: MUL TEMP[6].x, IN[2].wwww, CONST[108].zzzz 53: MAX TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 54: MAD TEMP[3].xy, TEMP[7].xyyy, TEMP[6].xxxx, TEMP[4].xyyy 55: ADD TEMP[4].xyz, TEMP[3].xyzz, -CONST[10].xyzz 56: MUL TEMP[6], CONST[5], TEMP[4].xxxx 57: MAD TEMP[6], CONST[6], TEMP[4].yyyy, TEMP[6] 58: MAD TEMP[4], CONST[7], TEMP[4].zzzz, TEMP[6] 59: ADD TEMP[4], TEMP[4], CONST[8] 60: ADD TEMP[3].xyz, TEMP[3].xyzz, -CONST[9].xyzz 61: RCP TEMP[6].x, CONST[0].yyyy 62: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[6].xxxx 63: DP3 TEMP[6].x, TEMP[1].xyzz, TEMP[1].xyzz 64: RSQ TEMP[6].x, TEMP[6].xxxx 65: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[6].xxxx 66: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 67: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 68: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 69: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[1].xxxx 70: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[1].yyyy, TEMP[6].xyzz 71: MAD TEMP[1].xyz, CONST[3].xyzz, TEMP[1].zzzz, TEMP[6].xyzz 72: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 73: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 74: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 75: MOV TEMP[6].x, TEMP[0].xxxx 76: MOV TEMP[6].y, TEMP[1].xxxx 77: MOV TEMP[6].z, TEMP[5].xxxx 78: MOV TEMP[6].xyz, TEMP[6].xyzx 79: MOV TEMP[7].x, TEMP[0].yyyy 80: MOV TEMP[7].y, TEMP[1].yyyy 81: MOV TEMP[7].z, TEMP[5].yyyy 82: MOV TEMP[7].xyz, TEMP[7].xyzx 83: MOV TEMP[0].x, TEMP[0].zzzz 84: MOV TEMP[0].y, TEMP[1].zzzz 85: MOV TEMP[0].z, TEMP[5].zzzz 86: MOV TEMP[0].xyz, TEMP[0].xyzx 87: MOV OUT[1], TEMP[2] 88: MOV OUT[2], TEMP[3] 89: MOV OUT[3], TEMP[6] 90: MOV OUT[4], TEMP[7] 91: MOV OUT[5], TEMP[0] 92: MOV OUT[0], TEMP[4] 93: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1728) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1732) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1736) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1744) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1748) %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %58 = load <16 x i8> addrspace(2)* %57, !tbaa !0 %59 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %58, i32 0, i32 %5) %60 = extractelement <4 x float> %59, i32 0 %61 = extractelement <4 x float> %59, i32 1 %62 = extractelement <4 x float> %59, i32 2 %63 = extractelement <4 x float> %59, i32 3 %64 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %65 = load <16 x i8> addrspace(2)* %64, !tbaa !0 %66 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %65, i32 0, i32 %5) %67 = extractelement <4 x float> %66, i32 0 %68 = extractelement <4 x float> %66, i32 1 %69 = extractelement <4 x float> %66, i32 2 %70 = extractelement <4 x float> %66, i32 3 %71 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %72 = load <16 x i8> addrspace(2)* %71, !tbaa !0 %73 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %72, i32 0, i32 %5) %74 = extractelement <4 x float> %73, i32 0 %75 = extractelement <4 x float> %73, i32 1 %76 = extractelement <4 x float> %73, i32 2 %77 = extractelement <4 x float> %73, i32 3 %78 = add i32 %8, %4 %79 = mul i32 %78, 3 %80 = bitcast i32 %79 to float %81 = bitcast float %80 to i32 %82 = add i32 %81, 0 %83 = bitcast float %80 to i32 %84 = add i32 %83, 1 %85 = bitcast float %80 to i32 %86 = add i32 %85, 2 %87 = bitcast i32 %82 to float %88 = bitcast i32 %84 to float %89 = bitcast i32 %86 to float %90 = bitcast float %87 to i32 %91 = shl i32 %90, 4 %92 = add i32 %91, 176 %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %92) %94 = shl i32 %90, 4 %95 = add i32 %94, 180 %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %95) %97 = shl i32 %90, 4 %98 = add i32 %97, 184 %99 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %98) %100 = shl i32 %90, 4 %101 = add i32 %100, 188 %102 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %101) %103 = bitcast float %88 to i32 %104 = shl i32 %103, 4 %105 = add i32 %104, 176 %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %105) %107 = shl i32 %103, 4 %108 = add i32 %107, 180 %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %108) %110 = shl i32 %103, 4 %111 = add i32 %110, 184 %112 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %111) %113 = shl i32 %103, 4 %114 = add i32 %113, 188 %115 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %114) %116 = bitcast float %89 to i32 %117 = shl i32 %116, 4 %118 = add i32 %117, 176 %119 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %118) %120 = shl i32 %116, 4 %121 = add i32 %120, 180 %122 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %121) %123 = shl i32 %116, 4 %124 = add i32 %123, 184 %125 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %124) %126 = shl i32 %116, 4 %127 = add i32 %126, 188 %128 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %127) %129 = fmul float %55, %93 %130 = fmul float %56, %96 %131 = fadd float %129, %130 %132 = fmul float %70, %99 %133 = fadd float %131, %132 %134 = fmul float 1.000000e+00, %102 %135 = fadd float %133, %134 %136 = fmul float %55, %106 %137 = fmul float %56, %109 %138 = fadd float %136, %137 %139 = fmul float %70, %112 %140 = fadd float %138, %139 %141 = fmul float 1.000000e+00, %115 %142 = fadd float %140, %141 %143 = fmul float %55, %119 %144 = fmul float %56, %122 %145 = fadd float %143, %144 %146 = fmul float %70, %125 %147 = fadd float %145, %146 %148 = fmul float 1.000000e+00, %128 %149 = fadd float %147, %148 %150 = fmul float %67, %93 %151 = fmul float %68, %96 %152 = fadd float %151, %150 %153 = fmul float %69, %99 %154 = fadd float %152, %153 %155 = fmul float %67, %106 %156 = fmul float %68, %109 %157 = fadd float %156, %155 %158 = fmul float %69, %112 %159 = fadd float %157, %158 %160 = fmul float %67, %119 %161 = fmul float %68, %122 %162 = fadd float %161, %160 %163 = fmul float %69, %125 %164 = fadd float %162, %163 %165 = fmul float %154, %154 %166 = fmul float %159, %159 %167 = fadd float %166, %165 %168 = fmul float %164, %164 %169 = fadd float %167, %168 %170 = call float @llvm.AMDGPU.rsq(float %169) %171 = fmul float %154, %170 %172 = fmul float %159, %170 %173 = fmul float %164, %170 %174 = fmul float %74, %93 %175 = fmul float %75, %96 %176 = fadd float %175, %174 %177 = fmul float %76, %99 %178 = fadd float %176, %177 %179 = fmul float %74, %106 %180 = fmul float %75, %109 %181 = fadd float %180, %179 %182 = fmul float %76, %112 %183 = fadd float %181, %182 %184 = fmul float %74, %119 %185 = fmul float %75, %122 %186 = fadd float %185, %184 %187 = fmul float %76, %125 %188 = fadd float %186, %187 %189 = fmul float %178, %178 %190 = fmul float %183, %183 %191 = fadd float %190, %189 %192 = fmul float %188, %188 %193 = fadd float %191, %192 %194 = call float @llvm.AMDGPU.rsq(float %193) %195 = fmul float %178, %194 %196 = fmul float %183, %194 %197 = fmul float %188, %194 %198 = fmul float %173, %196 %199 = fmul float %171, %197 %200 = fmul float %172, %195 %201 = fsub float -0.000000e+00, %198 %202 = fmul float %172, %197 %203 = fadd float %202, %201 %204 = fsub float -0.000000e+00, %199 %205 = fmul float %173, %195 %206 = fadd float %205, %204 %207 = fsub float -0.000000e+00, %200 %208 = fmul float %171, %196 %209 = fadd float %208, %207 %210 = fmul float %203, %77 %211 = fmul float %206, %77 %212 = fmul float %209, %77 %213 = fmul float %60, %43 %214 = fadd float %213, %45 %215 = fmul float %61, %44 %216 = fadd float %215, %46 %217 = fmul float %135, %47 %218 = fadd float %217, %50 %219 = fmul float %142, %48 %220 = fadd float %219, %51 %221 = fmul float %218, 0x3FECCCCCC0000000 %222 = call float @llvm.sin.f32(float %221) %223 = fmul float %218, 0x3FD3333340000000 %224 = call float @llvm.cos.f32(float %223) %225 = fmul float %222, %224 %226 = fmul float %220, 0x3FECCCCCC0000000 %227 = call float @llvm.cos.f32(float %226) %228 = fmul float %220, 0x3FD3333340000000 %229 = call float @llvm.sin.f32(float %228) %230 = fmul float %227, %229 %231 = fmul float %70, %49 %232 = fcmp uge float %231, 0.000000e+00 %233 = select i1 %232, float %231, float 0.000000e+00 %234 = fmul float %225, %233 %235 = fadd float %234, %135 %236 = fmul float %230, %233 %237 = fadd float %236, %142 %238 = fsub float -0.000000e+00, %40 %239 = fadd float %235, %238 %240 = fsub float -0.000000e+00, %41 %241 = fadd float %237, %240 %242 = fsub float -0.000000e+00, %42 %243 = fadd float %149, %242 %244 = fmul float %21, %239 %245 = fmul float %22, %239 %246 = fmul float %23, %239 %247 = fmul float %24, %239 %248 = fmul float %25, %241 %249 = fadd float %248, %244 %250 = fmul float %26, %241 %251 = fadd float %250, %245 %252 = fmul float %27, %241 %253 = fadd float %252, %246 %254 = fmul float %28, %241 %255 = fadd float %254, %247 %256 = fmul float %29, %243 %257 = fadd float %256, %249 %258 = fmul float %30, %243 %259 = fadd float %258, %251 %260 = fmul float %31, %243 %261 = fadd float %260, %253 %262 = fmul float %32, %243 %263 = fadd float %262, %255 %264 = fadd float %257, %33 %265 = fadd float %259, %34 %266 = fadd float %261, %35 %267 = fadd float %263, %36 %268 = fsub float -0.000000e+00, %37 %269 = fadd float %235, %268 %270 = fsub float -0.000000e+00, %38 %271 = fadd float %237, %270 %272 = fsub float -0.000000e+00, %39 %273 = fadd float %149, %272 %274 = fdiv float 1.000000e+00, %11 %275 = fmul float %269, %274 %276 = fmul float %271, %274 %277 = fmul float %273, %274 %278 = fmul float %210, %210 %279 = fmul float %211, %211 %280 = fadd float %279, %278 %281 = fmul float %212, %212 %282 = fadd float %280, %281 %283 = call float @llvm.AMDGPU.rsq(float %282) %284 = fmul float %210, %283 %285 = fmul float %211, %283 %286 = fmul float %212, %283 %287 = fmul float %12, %195 %288 = fmul float %13, %195 %289 = fmul float %14, %195 %290 = fmul float %15, %196 %291 = fadd float %290, %287 %292 = fmul float %16, %196 %293 = fadd float %292, %288 %294 = fmul float %17, %196 %295 = fadd float %294, %289 %296 = fmul float %18, %197 %297 = fadd float %296, %291 %298 = fmul float %19, %197 %299 = fadd float %298, %293 %300 = fmul float %20, %197 %301 = fadd float %300, %295 %302 = fmul float %12, %284 %303 = fmul float %13, %284 %304 = fmul float %14, %284 %305 = fmul float %15, %285 %306 = fadd float %305, %302 %307 = fmul float %16, %285 %308 = fadd float %307, %303 %309 = fmul float %17, %285 %310 = fadd float %309, %304 %311 = fmul float %18, %286 %312 = fadd float %311, %306 %313 = fmul float %19, %286 %314 = fadd float %313, %308 %315 = fmul float %20, %286 %316 = fadd float %315, %310 %317 = fmul float %12, %171 %318 = fmul float %13, %171 %319 = fmul float %14, %171 %320 = fmul float %15, %172 %321 = fadd float %320, %317 %322 = fmul float %16, %172 %323 = fadd float %322, %318 %324 = fmul float %17, %172 %325 = fadd float %324, %319 %326 = fmul float %18, %173 %327 = fadd float %326, %321 %328 = fmul float %19, %173 %329 = fadd float %328, %323 %330 = fmul float %20, %173 %331 = fadd float %330, %325 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %214, float %216, float %62, float %63) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %275, float %276, float %277, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %297, float %312, float %327, float %255) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %299, float %314, float %329, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %301, float %316, float %331, float %128) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %264, float %265, float %266, float %267) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 be8403ff 000006c8 c2020004 bf8c000f 7e020204 c0860708 bf8c007f e00c2000 80030400 bf8c0770 d2100001 02020307 d00c0004 02010101 d2000001 00120280 4a040608 d2d60002 02010702 34060484 4a1006ff 000000b4 e0301000 80000808 c0840700 bf8c0070 e00c2000 80020900 bf8c0770 101a110a 4a1c06ff 000000b0 e0301000 80000e0e bf8c0770 d282000d 04361d09 4a1e06ff 000000b8 e0301000 80000f0f bf8c0770 d282000d 04361f07 4a0606ff 000000bc e0301000 80000303 bf8c0770 0606070d be8403ff 000006c0 c2020004 be8503ff 000006d0 c2028005 bf8c007f 7e1a0205 d282000d 04340903 10201aff 3e99999a 102020ff 3e22f983 7e206d10 101a1aff 3f666666 101a1aff 3e22f983 7e1a6b0d 101a210d d2820003 040e030d c2020124 bf8c007f 0a1a0604 c2020101 bf8c007f 7e205404 101a210d 4a220481 34222284 4a2422ff 000000b4 e0301000 80001212 bf8c0770 1026250a 4a2822ff 000000b0 e0301000 80001414 bf8c0770 d2820013 044e2909 4a2a22ff 000000b8 e0301000 80001515 bf8c0770 d2820013 044e2b07 4a2222ff 000000bc e0301000 80001111 bf8c0770 06222313 be8403ff 000006c4 c2020004 be8503ff 000006d4 c2028005 bf8c007f 7e260205 d2820013 044c0911 102c26ff 3e99999a 102c2cff 3e22f983 7e2c6b16 102626ff 3f666666 102626ff 3e22f983 7e266d13 10262d13 d2820001 04460313 c2020125 bf8c007f 0a220204 10222111 4a040482 34040484 4a2604ff 000000b4 e0301000 80001313 bf8c0770 102c270a 4a2e04ff 000000b0 e0301000 80001717 bf8c0770 d2820009 045a2f09 4a1404ff 000000b8 e0301000 80000a0a bf8c0770 d2820009 04261507 4a0404ff 000000bc e0301000 80000202 bf8c0770 06120509 c2020126 bf8c007f 0a161204 1016210b 7e1802f2 f800021f 0c0b110d c082070c bf8c000f e00c2000 80011800 bf8c0770 10002918 d2820000 04022519 d2820000 04022b1a 10161d18 d282000b 042e1119 d282000b 042e1f1a 1018170b d282000c 04320100 101a2f18 d282000d 04362719 d282000d 0436151a d282000c 04321b0d 7e185b0c 101a190d 10202904 d2820010 04422505 d2820010 04422b06 101c1d04 d2820008 043a1105 d2820008 04221f06 101c1108 d282000e 043a2110 101e2f04 d282000f 043e2705 d2820004 043e1506 d2820005 043a0904 7e0a5b05 100c0b08 100e1b06 1010190b 10080b04 10141104 080e0f0a 100e3707 10001900 10140104 100a0b10 10161b05 0814150b 1014370a 1016150a d282000b 042e0f07 10181105 101c0106 0818190e 1018370c d282000b 042e190c 7e165b0b 100e1707 1014170a c2020104 bf8c007f 101c1404 c2028108 bf8c007f d282000e 043a0e05 1016170c c203010c bf8c007f d282000c 043a1606 c2038128 bf8c007f 0a060607 c2038117 bf8c007f 101c0607 c2038129 bf8c007f 0a020207 c203811b bf8c007f d282000e 043a0207 101e0c04 d282000f 043e0a05 d282000f 043e0806 10201004 d2820010 04420005 d2820010 04421a06 f800022f 0e0f0c10 c2020105 bf8c000f 10181404 c2028109 bf8c007f d282000c 04320e05 c203010d bf8c007f d282000c 04321606 101e0c04 d282000f 043e0a05 d282000f 043e0806 10201004 d2820010 04420005 d2820010 04421a06 7e220280 f800023f 110f0c10 c2020106 bf8c000f 10141404 c202810a bf8c007f d2820007 042a0e05 c203010e bf8c007f d2820007 041e1606 100c0c04 d2820005 041a0a05 d2820004 04160806 100a1004 d2820000 04160005 d2820000 04021a06 f800024f 02040700 c202012a bf8c000f 0a001204 c202011f bf8c007f d2820002 043a0004 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080604 c202011a bf8c007f d2820004 04120204 c202011e bf8c007f d2820004 04120004 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0604 c2020119 bf8c007f d2820005 04160204 c202011d bf8c007f d2820005 04160004 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10060604 c2020118 bf8c007f d2820001 040e0204 c202011c bf8c007f d2820000 04060004 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].w, TEMP[0], SAMP[0], 2D 2: FSGE TEMP[0].x, IMM[0].xxxx, TEMP[0].wwww 3: UIF TEMP[0].xxxx :0 4: KILL 5: ENDIF 6: MOV OUT[0], IN[1] 7: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %30 = bitcast float %24 to i32 %31 = bitcast float %25 to i32 %32 = insertelement <2 x i32> undef, i32 %30, i32 0 %33 = insertelement <2 x i32> %32, i32 %31, i32 1 %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %33, <32 x i8> %21, <16 x i8> %23, i32 2) %35 = extractelement <4 x float> %34, i32 3 %36 = fcmp oge float 5.000000e-01, %35 %37 = sext i1 %36 to i32 %38 = bitcast i32 %37 to float %39 = bitcast float %38 to i32 %40 = icmp ne i32 %39, 0 br i1 %40, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %41 = call i32 @llvm.SI.packf16(float %26, float %27) %42 = bitcast i32 %41 to float %43 = call i32 @llvm.SI.packf16(float %28, float %29) %44 = bitcast i32 %43 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %42, float %44, float %42, float %44) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c40500 bf8c007f f0800800 00020202 bf8c0770 d0060000 0201e102 c8080700 c8090701 c80c0600 c80d0601 c8100500 c8110501 c8140400 c8150401 be802400 8980007e 7e0002f3 7c260080 88fe007e d25e0000 02020503 d25e0001 02020905 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..109] DCL TEMP[0..6], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} IMM[2] FLT32 { -0.0001, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].z, TEMP[4].wwzw 19: DP3 TEMP[1].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[2].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[1].y, TEMP[2].xxxx 22: DP3 TEMP[0].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[1].z, TEMP[0].xxxx 24: MAD TEMP[0].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 25: MAD TEMP[2].xy, TEMP[4].xyyy, CONST[108].xyyy, CONST[109].xyyy 26: MUL TEMP[5].x, TEMP[2].xxxx, IMM[1].yyyy 27: SIN TEMP[5].x, TEMP[5].xxxx 28: MUL TEMP[6].x, TEMP[2].xxxx, IMM[1].zzzz 29: COS TEMP[6].x, TEMP[6].xxxx 30: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx 31: MUL TEMP[6].x, TEMP[2].yyyy, IMM[1].yyyy 32: COS TEMP[6].x, TEMP[6].xxxx 33: MUL TEMP[2].x, TEMP[2].yyyy, IMM[1].zzzz 34: SIN TEMP[2].x, TEMP[2].xxxx 35: MUL TEMP[2].x, TEMP[6].xxxx, TEMP[2].xxxx 36: MOV TEMP[5].y, TEMP[2].xxxx 37: MUL TEMP[2].x, IN[2].wwww, CONST[108].zzzz 38: MAX TEMP[2].x, TEMP[2].xxxx, IMM[1].wwww 39: MAD TEMP[3].xy, TEMP[5].xyyy, TEMP[2].xxxx, TEMP[4].xyyy 40: ADD TEMP[2].xyz, TEMP[3].xyzz, -CONST[10].xyzz 41: MUL TEMP[4], CONST[5], TEMP[2].xxxx 42: MAD TEMP[4], CONST[6], TEMP[2].yyyy, TEMP[4] 43: MAD TEMP[2], CONST[7], TEMP[2].zzzz, TEMP[4] 44: ADD TEMP[2], TEMP[2], CONST[8] 45: MOV TEMP[0].xy, TEMP[0].xyxx 46: ADD TEMP[3].xyz, TEMP[3].xyzz, -CONST[9].xyzz 47: RCP TEMP[4].x, CONST[0].yyyy 48: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx 49: DP3 TEMP[4].x, TEMP[1].xyzz, TEMP[1].xyzz 50: RSQ TEMP[4].x, TEMP[4].xxxx 51: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xxxx 52: MUL TEMP[4], CONST[1], TEMP[1].xxxx 53: MAD TEMP[4], CONST[2], TEMP[1].yyyy, TEMP[4] 54: MAD TEMP[1].xyz, CONST[3], TEMP[1].zzzz, TEMP[4] 55: MOV TEMP[4].xy, TEMP[1].xyxx 56: ADD TEMP[1].x, TEMP[1].zzzz, IMM[1].xxxx 57: MOV TEMP[4].z, TEMP[1].xxxx 58: DP3 TEMP[1].x, TEMP[4].xyzz, TEMP[4].xyzz 59: RSQ TEMP[1].x, TEMP[1].xxxx 60: MUL TEMP[1].xy, TEMP[4].xyzz, TEMP[1].xxxx 61: MOV TEMP[4].x, TEMP[1].xxxx 62: MOV TEMP[4].y, TEMP[1].yyyy 63: DP3 TEMP[1].x, TEMP[3].xyzz, TEMP[3].xyzz 64: RSQ TEMP[3].x, TEMP[1].xxxx 65: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[1].xxxx 66: CMP TEMP[3].x, -TEMP[1].xxxx, TEMP[3].xxxx, IMM[1].wwww 67: MOV TEMP[4].z, -TEMP[3].xxxx 68: MOV TEMP[4].w, IMM[2].xxxx 69: MOV OUT[1], TEMP[0] 70: MOV OUT[2], TEMP[4] 71: MOV OUT[0], TEMP[2] 72: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1728) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1732) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1736) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1744) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1748) %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %58 = load <16 x i8> addrspace(2)* %57, !tbaa !0 %59 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %58, i32 0, i32 %5) %60 = extractelement <4 x float> %59, i32 0 %61 = extractelement <4 x float> %59, i32 1 %62 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %63 = load <16 x i8> addrspace(2)* %62, !tbaa !0 %64 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %63, i32 0, i32 %5) %65 = extractelement <4 x float> %64, i32 0 %66 = extractelement <4 x float> %64, i32 1 %67 = extractelement <4 x float> %64, i32 2 %68 = extractelement <4 x float> %64, i32 3 %69 = add i32 %8, %4 %70 = mul i32 %69, 3 %71 = bitcast i32 %70 to float %72 = bitcast float %71 to i32 %73 = add i32 %72, 0 %74 = bitcast float %71 to i32 %75 = add i32 %74, 1 %76 = bitcast float %71 to i32 %77 = add i32 %76, 2 %78 = bitcast i32 %73 to float %79 = bitcast i32 %75 to float %80 = bitcast i32 %77 to float %81 = bitcast float %78 to i32 %82 = shl i32 %81, 4 %83 = add i32 %82, 176 %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %83) %85 = shl i32 %81, 4 %86 = add i32 %85, 180 %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %86) %88 = shl i32 %81, 4 %89 = add i32 %88, 184 %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %89) %91 = shl i32 %81, 4 %92 = add i32 %91, 188 %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %92) %94 = bitcast float %79 to i32 %95 = shl i32 %94, 4 %96 = add i32 %95, 176 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = shl i32 %94, 4 %99 = add i32 %98, 180 %100 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %99) %101 = shl i32 %94, 4 %102 = add i32 %101, 184 %103 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %102) %104 = shl i32 %94, 4 %105 = add i32 %104, 188 %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %105) %107 = bitcast float %80 to i32 %108 = shl i32 %107, 4 %109 = add i32 %108, 176 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = shl i32 %107, 4 %112 = add i32 %111, 180 %113 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %112) %114 = shl i32 %107, 4 %115 = add i32 %114, 184 %116 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %115) %117 = shl i32 %107, 4 %118 = add i32 %117, 188 %119 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %118) %120 = fmul float %55, %84 %121 = fmul float %56, %87 %122 = fadd float %120, %121 %123 = fmul float %68, %90 %124 = fadd float %122, %123 %125 = fmul float 1.000000e+00, %93 %126 = fadd float %124, %125 %127 = fmul float %55, %97 %128 = fmul float %56, %100 %129 = fadd float %127, %128 %130 = fmul float %68, %103 %131 = fadd float %129, %130 %132 = fmul float 1.000000e+00, %106 %133 = fadd float %131, %132 %134 = fmul float %55, %110 %135 = fmul float %56, %113 %136 = fadd float %134, %135 %137 = fmul float %68, %116 %138 = fadd float %136, %137 %139 = fmul float 1.000000e+00, %119 %140 = fadd float %138, %139 %141 = fmul float %65, %84 %142 = fmul float %66, %87 %143 = fadd float %142, %141 %144 = fmul float %67, %90 %145 = fadd float %143, %144 %146 = fmul float %65, %97 %147 = fmul float %66, %100 %148 = fadd float %147, %146 %149 = fmul float %67, %103 %150 = fadd float %148, %149 %151 = fmul float %65, %110 %152 = fmul float %66, %113 %153 = fadd float %152, %151 %154 = fmul float %67, %116 %155 = fadd float %153, %154 %156 = fmul float %60, %43 %157 = fadd float %156, %45 %158 = fmul float %61, %44 %159 = fadd float %158, %46 %160 = fmul float %126, %47 %161 = fadd float %160, %50 %162 = fmul float %133, %48 %163 = fadd float %162, %51 %164 = fmul float %161, 0x3FECCCCCC0000000 %165 = call float @llvm.sin.f32(float %164) %166 = fmul float %161, 0x3FD3333340000000 %167 = call float @llvm.cos.f32(float %166) %168 = fmul float %165, %167 %169 = fmul float %163, 0x3FECCCCCC0000000 %170 = call float @llvm.cos.f32(float %169) %171 = fmul float %163, 0x3FD3333340000000 %172 = call float @llvm.sin.f32(float %171) %173 = fmul float %170, %172 %174 = fmul float %68, %49 %175 = fcmp uge float %174, 0.000000e+00 %176 = select i1 %175, float %174, float 0.000000e+00 %177 = fmul float %168, %176 %178 = fadd float %177, %126 %179 = fmul float %173, %176 %180 = fadd float %179, %133 %181 = fsub float -0.000000e+00, %40 %182 = fadd float %178, %181 %183 = fsub float -0.000000e+00, %41 %184 = fadd float %180, %183 %185 = fsub float -0.000000e+00, %42 %186 = fadd float %140, %185 %187 = fmul float %21, %182 %188 = fmul float %22, %182 %189 = fmul float %23, %182 %190 = fmul float %24, %182 %191 = fmul float %25, %184 %192 = fadd float %191, %187 %193 = fmul float %26, %184 %194 = fadd float %193, %188 %195 = fmul float %27, %184 %196 = fadd float %195, %189 %197 = fmul float %28, %184 %198 = fadd float %197, %190 %199 = fmul float %29, %186 %200 = fadd float %199, %192 %201 = fmul float %30, %186 %202 = fadd float %201, %194 %203 = fmul float %31, %186 %204 = fadd float %203, %196 %205 = fmul float %32, %186 %206 = fadd float %205, %198 %207 = fadd float %200, %33 %208 = fadd float %202, %34 %209 = fadd float %204, %35 %210 = fadd float %206, %36 %211 = fsub float -0.000000e+00, %37 %212 = fadd float %178, %211 %213 = fsub float -0.000000e+00, %38 %214 = fadd float %180, %213 %215 = fsub float -0.000000e+00, %39 %216 = fadd float %140, %215 %217 = fdiv float 1.000000e+00, %11 %218 = fmul float %212, %217 %219 = fmul float %214, %217 %220 = fmul float %216, %217 %221 = fmul float %145, %145 %222 = fmul float %150, %150 %223 = fadd float %222, %221 %224 = fmul float %155, %155 %225 = fadd float %223, %224 %226 = call float @llvm.AMDGPU.rsq(float %225) %227 = fmul float %145, %226 %228 = fmul float %150, %226 %229 = fmul float %155, %226 %230 = fmul float %12, %227 %231 = fmul float %13, %227 %232 = fmul float %14, %227 %233 = fmul float %15, %228 %234 = fadd float %233, %230 %235 = fmul float %16, %228 %236 = fadd float %235, %231 %237 = fmul float %17, %228 %238 = fadd float %237, %232 %239 = fmul float %18, %229 %240 = fadd float %239, %234 %241 = fmul float %19, %229 %242 = fadd float %241, %236 %243 = fmul float %20, %229 %244 = fadd float %243, %238 %245 = fadd float %244, 1.000000e+00 %246 = fmul float %240, %240 %247 = fmul float %242, %242 %248 = fadd float %247, %246 %249 = fmul float %245, %245 %250 = fadd float %248, %249 %251 = call float @llvm.AMDGPU.rsq(float %250) %252 = fmul float %240, %251 %253 = fmul float %242, %251 %254 = fmul float %218, %218 %255 = fmul float %219, %219 %256 = fadd float %255, %254 %257 = fmul float %220, %220 %258 = fadd float %256, %257 %259 = call float @llvm.AMDGPU.rsq(float %258) %260 = fmul float %259, %258 %261 = fsub float -0.000000e+00, %258 %262 = call float @llvm.AMDGPU.cndlt(float %261, float %260, float 0.000000e+00) %263 = fsub float -0.000000e+00, %262 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %157, float %159, float %116, float %119) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %252, float %253, float %263, float 0xBF1A36E2E0000000) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %207, float %208, float %209, float %210) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { nounwind readonly } attributes #3 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 4a060608 d2d60003 02010703 4a080682 34080884 4a0a08ff 000000bc e0301000 80000505 4a0c08ff 000000b8 e0301000 80000606 bf8c0770 f800020f 05060102 be8403ff 000006c8 c2020004 bf8c000f 7e020204 c0840708 bf8c007f e00c2000 80020700 bf8c0770 d2100001 0202030a d00c0004 02010101 d2000001 00120280 4a040681 34040484 4a1604ff 000000b4 e0301000 80000b0b c0820700 bf8c0070 e00c2000 80010c00 bf8c0770 1000170d 4a2004ff 000000b0 e0301000 80001010 bf8c0770 d2820000 0402210c 4a2204ff 000000b8 e0301000 80001111 bf8c0770 d2820000 0402230a 4a0404ff 000000bc e0301000 80000202 bf8c0770 06000500 be8403ff 000006c4 c2020004 be8503ff 000006d4 c2028005 bf8c007f 7e040205 d2820002 04080900 102404ff 3e99999a 102424ff 3e22f983 7e246b12 100404ff 3f666666 100404ff 3e22f983 7e046d02 10042502 d2820000 04020302 c2020125 bf8c007f 0a040004 c2020101 bf8c007f 7e245404 10042502 34060684 4a2606ff 000000b4 e0301000 80001313 bf8c0770 1028270d 4a2a06ff 000000b0 e0301000 80001515 bf8c0770 d2820014 04522b0c 4a2c06ff 000000b8 e0301000 80001616 bf8c0770 d2820014 04522d0a 4a0606ff 000000bc e0301000 80000303 bf8c0770 06060714 be8403ff 000006c0 c2020004 be8503ff 000006d0 c2028005 bf8c007f 7e280205 d2820014 04500903 102e28ff 3e99999a 102e2eff 3e22f983 7e2e6d17 102828ff 3f666666 102828ff 3e22f983 7e286b14 10282f14 d2820001 040e0314 c2020124 bf8c007f 0a060204 10062503 10060703 d2820002 040e0502 4a0608ff 000000b4 e0301000 80000303 bf8c0770 1028070d 4a0808ff 000000b0 e0301000 80000404 bf8c0770 d282000c 0452090c d282000c 04320d0a 060a0b0c c2020126 bf8c007f 0a180a04 1018250c d2820002 040a190c 7e185b02 1018050c d2060002 22010102 d0080004 02020480 d2000002 00121880 d2060002 22010102 10182107 d282000b 04321708 d282000b 042e2309 10182b07 d282000c 04322708 d282000c 04322d09 101a190c d282000d 0436170b 10080907 d2820003 04120708 d2820003 040e0d09 d2820004 04360703 7e085b04 100c090b 100e090c c2020105 bf8c007f 10100e04 c2020109 bf8c007f d2820008 04220c04 10060903 c202010d bf8c007f d2820004 04220604 c2020104 bf8c007f 10100e04 c2020108 bf8c007f d2820008 04220c04 c202010c bf8c007f d2820008 04220604 10121108 d2820009 04260904 c2020106 bf8c007f 100e0e04 c202010a bf8c007f d2820006 041e0c04 c202010e bf8c007f d2820003 041a0604 060606f2 d2820003 04260703 7e065b03 10080704 10060708 7e0c02ff b8d1b717 f800021f 06020403 c2020128 bf8c000f 0a020204 c2020117 bf8c007f 10040204 c2020129 bf8c007f 0a000004 c202011b bf8c007f d2820002 040a0004 c202012a bf8c007f 0a060a04 c202011f bf8c007f d2820002 040a0604 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080204 c202011a bf8c007f d2820004 04120004 c202011e bf8c007f d2820004 04120604 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0204 c2020119 bf8c007f d2820005 04160004 c202011d bf8c007f d2820005 04160604 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10020204 c2020118 bf8c007f d2820000 04060004 c202011c bf8c007f d2820000 04020604 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, 2.0000, -1.0000} IMM[1] FLT32 { 1.0000, -0.0001, 0.0000, 0.0000} 0: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 1: RSQ TEMP[1].x, TEMP[0].xxxx 2: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[0].xxxx 3: CMP TEMP[0].x, -TEMP[0].xxxx, TEMP[1].xxxx, IMM[0].xxxx 4: MOV TEMP[1].xy, IN[0].xyyy 5: TEX TEMP[1].w, TEMP[1], SAMP[0], 2D 6: FSGE TEMP[1].x, IMM[0].yyyy, TEMP[1].wwww 7: UIF TEMP[1].xxxx :0 8: KILL 9: ENDIF 10: MOV TEMP[1].xy, IN[0].xyyy 11: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 12: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].zzzz, IMM[0].wwww 13: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 14: ADD_SAT TEMP[2].x, IMM[1].xxxx, -TEMP[2].xxxx 15: RSQ TEMP[3].x, TEMP[2].xxxx 16: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 17: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].xxxx 18: MOV TEMP[1].z, TEMP[3].xxxx 19: DP3 TEMP[2].x, IN[2].xyzz, IN[2].xyzz 20: RSQ TEMP[2].x, TEMP[2].xxxx 21: MUL TEMP[2].xyz, IN[2].xyzz, TEMP[2].xxxx 22: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[1].xyzz 23: DP3 TEMP[3].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[3].x, TEMP[3].xxxx 25: MUL TEMP[3].xyz, IN[3].xyzz, TEMP[3].xxxx 26: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 27: MOV TEMP[2].y, TEMP[3].xxxx 28: DP3 TEMP[3].x, IN[4].xyzz, IN[4].xyzz 29: RSQ TEMP[3].x, TEMP[3].xxxx 30: MUL TEMP[3].xyz, IN[4].xyzz, TEMP[3].xxxx 31: DP3 TEMP[1].x, TEMP[3].xyzz, TEMP[1].xyzz 32: ADD TEMP[1].x, TEMP[1].xxxx, IMM[1].xxxx 33: MOV TEMP[2].z, TEMP[1].xxxx 34: DP3 TEMP[1].x, TEMP[2].xyzz, TEMP[2].xyzz 35: RSQ TEMP[1].x, TEMP[1].xxxx 36: MUL TEMP[1].xy, TEMP[2].xyzz, TEMP[1].xxxx 37: MOV TEMP[2].x, TEMP[1].xxxx 38: MOV TEMP[2].y, TEMP[1].yyyy 39: MOV TEMP[2].z, -TEMP[0].xxxx 40: MOV TEMP[2].w, IMM[1].yyyy 41: MOV OUT[0], TEMP[2] 42: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %25 = load <32 x i8> addrspace(2)* %24, !tbaa !0 %26 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %27 = load <16 x i8> addrspace(2)* %26, !tbaa !0 %28 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %42 = fmul float %30, %30 %43 = fmul float %31, %31 %44 = fadd float %43, %42 %45 = fmul float %32, %32 %46 = fadd float %44, %45 %47 = call float @llvm.AMDGPU.rsq(float %46) %48 = fmul float %47, %46 %49 = fsub float -0.000000e+00, %46 %50 = call float @llvm.AMDGPU.cndlt(float %49, float %48, float 0.000000e+00) %51 = bitcast float %28 to i32 %52 = bitcast float %29 to i32 %53 = insertelement <2 x i32> undef, i32 %51, i32 0 %54 = insertelement <2 x i32> %53, i32 %52, i32 1 %55 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %54, <32 x i8> %21, <16 x i8> %23, i32 2) %56 = extractelement <4 x float> %55, i32 3 %57 = fcmp oge float 5.000000e-01, %56 %58 = sext i1 %57 to i32 %59 = bitcast i32 %58 to float %60 = bitcast float %59 to i32 %61 = icmp ne i32 %60, 0 br i1 %61, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %62 = bitcast float %28 to i32 %63 = bitcast float %29 to i32 %64 = insertelement <2 x i32> undef, i32 %62, i32 0 %65 = insertelement <2 x i32> %64, i32 %63, i32 1 %66 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %65, <32 x i8> %25, <16 x i8> %27, i32 2) %67 = extractelement <4 x float> %66, i32 0 %68 = extractelement <4 x float> %66, i32 1 %69 = fmul float %67, 2.000000e+00 %70 = fadd float %69, -1.000000e+00 %71 = fmul float %68, 2.000000e+00 %72 = fadd float %71, -1.000000e+00 %73 = fmul float %70, %70 %74 = fmul float %72, %72 %75 = fadd float %73, %74 %76 = fsub float -0.000000e+00, %75 %77 = fadd float 1.000000e+00, %76 %78 = call float @llvm.AMDIL.clamp.(float %77, float 0.000000e+00, float 1.000000e+00) %79 = call float @llvm.AMDGPU.rsq(float %78) %80 = fmul float %79, %78 %81 = fsub float -0.000000e+00, %78 %82 = call float @llvm.AMDGPU.cndlt(float %81, float %80, float 0.000000e+00) %83 = fmul float %33, %33 %84 = fmul float %34, %34 %85 = fadd float %84, %83 %86 = fmul float %35, %35 %87 = fadd float %85, %86 %88 = call float @llvm.AMDGPU.rsq(float %87) %89 = fmul float %33, %88 %90 = fmul float %34, %88 %91 = fmul float %35, %88 %92 = fmul float %89, %70 %93 = fmul float %90, %72 %94 = fadd float %93, %92 %95 = fmul float %91, %82 %96 = fadd float %94, %95 %97 = fmul float %36, %36 %98 = fmul float %37, %37 %99 = fadd float %98, %97 %100 = fmul float %38, %38 %101 = fadd float %99, %100 %102 = call float @llvm.AMDGPU.rsq(float %101) %103 = fmul float %36, %102 %104 = fmul float %37, %102 %105 = fmul float %38, %102 %106 = fmul float %103, %70 %107 = fmul float %104, %72 %108 = fadd float %107, %106 %109 = fmul float %105, %82 %110 = fadd float %108, %109 %111 = fmul float %39, %39 %112 = fmul float %40, %40 %113 = fadd float %112, %111 %114 = fmul float %41, %41 %115 = fadd float %113, %114 %116 = call float @llvm.AMDGPU.rsq(float %115) %117 = fmul float %39, %116 %118 = fmul float %40, %116 %119 = fmul float %41, %116 %120 = fmul float %117, %70 %121 = fmul float %118, %72 %122 = fadd float %121, %120 %123 = fmul float %119, %82 %124 = fadd float %122, %123 %125 = fadd float %124, 1.000000e+00 %126 = fmul float %96, %96 %127 = fmul float %110, %110 %128 = fadd float %127, %126 %129 = fmul float %125, %125 %130 = fadd float %128, %129 %131 = call float @llvm.AMDGPU.rsq(float %130) %132 = fmul float %96, %131 %133 = fmul float %110, %131 %134 = fsub float -0.000000e+00, %50 %135 = call i32 @llvm.SI.packf16(float %132, float %133) %136 = bitcast i32 %135 to float %137 = call i32 @llvm.SI.packf16(float %134, float 0xBF1A36E2E0000000) %138 = bitcast i32 %137 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %136, float %138, float %136, float %138) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0400 c80d0401 10060703 d2820002 040e0502 c80c0600 c80d0601 d2820002 040a0703 7e065b02 10060503 d2060002 22010102 d0080000 02020480 d2000002 00020680 c81c0100 c81d0101 c8180000 c8190001 c0840300 c0c60500 bf8c007f f0800800 00430306 bf8c0770 d006000c 0201e103 c80c1200 c80d1201 c8101100 c8111101 c8141000 c8151001 c8200e00 c8210e01 c8280d00 c8290d01 c8300c00 c8310c01 c8240a00 c8250a01 c82c0900 c82d0901 c8340800 c8350801 c0800304 c0c20508 bf8c007f be8c240c 898c0c7e 7e0002f3 7c260080 88fe0c7e f0800300 00010006 bf8c0770 060c0100 060c0cf3 06000301 060000f3 10020100 d2820001 04060d06 080202f2 d2060801 02010101 7e0e5b01 100e0307 d2060001 22010101 d0080000 02020280 d2000001 00020e80 d2100007 0202190c d2820007 041e150a d2820007 041e1108 7e0e5b07 10180f0c 10180d0c 10140f0a d282000a 0432010a 100e0f08 d2820007 042a0307 d2100008 02021b0d d2820008 0422170b d2820008 04221309 7e105b08 1014110d 10140d0a 1016110b d282000a 042a010b 10101109 d2820008 042a0308 10121108 d2820009 04260f07 d210000a 02020b05 d282000a 042a0904 d282000a 042a0703 7e145b0a 100a1505 100a0d05 10081504 d2820000 04160104 10061503 d2820000 04020303 060000f2 d2820000 04260100 7e005b00 10020107 10000108 5e000300 d2060001 22010102 7e0402ff b8d1b717 5e020501 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..107] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MOV TEMP[1].zw, IN[1].wwzw 34: MAD TEMP[1].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 35: ADD TEMP[2].xyz, TEMP[4].xyzz, -CONST[10].xyzz 36: MUL TEMP[5], CONST[5], TEMP[2].xxxx 37: MAD TEMP[5], CONST[6], TEMP[2].yyyy, TEMP[5] 38: MAD TEMP[2], CONST[7], TEMP[2].zzzz, TEMP[5] 39: ADD TEMP[2], TEMP[2], CONST[8] 40: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[9].xyzz 41: RCP TEMP[5].x, CONST[0].yyyy 42: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 43: MUL TEMP[5].xyz, TEMP[3].zxyy, TEMP[0].yzxx 44: MAD TEMP[5].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[5].xyzz 45: MUL TEMP[5].xyz, TEMP[5].xyzz, IN[3].wwww 46: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 47: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 48: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 49: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 50: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 51: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 52: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[3].xxxx 53: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[3].yyyy, TEMP[6].xyzz 54: MAD TEMP[3].xyz, CONST[3].xyzz, TEMP[3].zzzz, TEMP[6].xyzz 55: MOV TEMP[6].x, TEMP[0].xxxx 56: MOV TEMP[6].y, TEMP[5].xxxx 57: MOV TEMP[6].z, TEMP[3].xxxx 58: MOV TEMP[6].xyz, TEMP[6].xyzx 59: MOV TEMP[7].x, TEMP[0].yyyy 60: MOV TEMP[7].y, TEMP[5].yyyy 61: MOV TEMP[7].z, TEMP[3].yyyy 62: MOV TEMP[7].xyz, TEMP[7].xyzx 63: MOV TEMP[0].x, TEMP[0].zzzz 64: MOV TEMP[0].y, TEMP[5].zzzz 65: MOV TEMP[0].z, TEMP[3].zzzz 66: MOV TEMP[0].xyz, TEMP[0].xyzx 67: MOV OUT[1], TEMP[1] 68: MOV OUT[2], TEMP[4] 69: MOV OUT[3], TEMP[6] 70: MOV OUT[4], TEMP[7] 71: MOV OUT[5], TEMP[0] 72: MOV OUT[0], TEMP[2] 73: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = extractelement <4 x float> %54, i32 2 %58 = extractelement <4 x float> %54, i32 3 %59 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %60 = load <16 x i8> addrspace(2)* %59, !tbaa !0 %61 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %60, i32 0, i32 %5) %62 = extractelement <4 x float> %61, i32 0 %63 = extractelement <4 x float> %61, i32 1 %64 = extractelement <4 x float> %61, i32 2 %65 = extractelement <4 x float> %61, i32 3 %66 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %67 = load <16 x i8> addrspace(2)* %66, !tbaa !0 %68 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %67, i32 0, i32 %5) %69 = extractelement <4 x float> %68, i32 0 %70 = extractelement <4 x float> %68, i32 1 %71 = extractelement <4 x float> %68, i32 2 %72 = extractelement <4 x float> %68, i32 3 %73 = add i32 %8, %4 %74 = mul i32 %73, 3 %75 = bitcast i32 %74 to float %76 = bitcast float %75 to i32 %77 = add i32 %76, 0 %78 = bitcast float %75 to i32 %79 = add i32 %78, 1 %80 = bitcast float %75 to i32 %81 = add i32 %80, 2 %82 = bitcast i32 %77 to float %83 = bitcast i32 %79 to float %84 = bitcast i32 %81 to float %85 = bitcast float %82 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 176 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 180 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 184 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 188 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %83 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 176 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 180 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 184 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 188 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = bitcast float %84 to i32 %112 = shl i32 %111, 4 %113 = add i32 %112, 176 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %111, 4 %116 = add i32 %115, 180 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = shl i32 %111, 4 %119 = add i32 %118, 184 %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %119) %121 = shl i32 %111, 4 %122 = add i32 %121, 188 %123 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %122) %124 = fmul float %50, %88 %125 = fmul float %51, %91 %126 = fadd float %124, %125 %127 = fmul float %65, %94 %128 = fadd float %126, %127 %129 = fmul float 1.000000e+00, %97 %130 = fadd float %128, %129 %131 = fmul float %50, %101 %132 = fmul float %51, %104 %133 = fadd float %131, %132 %134 = fmul float %65, %107 %135 = fadd float %133, %134 %136 = fmul float 1.000000e+00, %110 %137 = fadd float %135, %136 %138 = fmul float %50, %114 %139 = fmul float %51, %117 %140 = fadd float %138, %139 %141 = fmul float %65, %120 %142 = fadd float %140, %141 %143 = fmul float 1.000000e+00, %123 %144 = fadd float %142, %143 %145 = fmul float %62, %88 %146 = fmul float %63, %91 %147 = fadd float %146, %145 %148 = fmul float %64, %94 %149 = fadd float %147, %148 %150 = fmul float %62, %101 %151 = fmul float %63, %104 %152 = fadd float %151, %150 %153 = fmul float %64, %107 %154 = fadd float %152, %153 %155 = fmul float %62, %114 %156 = fmul float %63, %117 %157 = fadd float %156, %155 %158 = fmul float %64, %120 %159 = fadd float %157, %158 %160 = fmul float %149, %149 %161 = fmul float %154, %154 %162 = fadd float %161, %160 %163 = fmul float %159, %159 %164 = fadd float %162, %163 %165 = call float @llvm.AMDGPU.rsq(float %164) %166 = fmul float %149, %165 %167 = fmul float %154, %165 %168 = fmul float %159, %165 %169 = fmul float %69, %88 %170 = fmul float %70, %91 %171 = fadd float %170, %169 %172 = fmul float %71, %94 %173 = fadd float %171, %172 %174 = fmul float %69, %101 %175 = fmul float %70, %104 %176 = fadd float %175, %174 %177 = fmul float %71, %107 %178 = fadd float %176, %177 %179 = fmul float %69, %114 %180 = fmul float %70, %117 %181 = fadd float %180, %179 %182 = fmul float %71, %120 %183 = fadd float %181, %182 %184 = fmul float %173, %173 %185 = fmul float %178, %178 %186 = fadd float %185, %184 %187 = fmul float %183, %183 %188 = fadd float %186, %187 %189 = call float @llvm.AMDGPU.rsq(float %188) %190 = fmul float %173, %189 %191 = fmul float %178, %189 %192 = fmul float %183, %189 %193 = fmul float %55, %43 %194 = fadd float %193, %45 %195 = fmul float %56, %44 %196 = fadd float %195, %46 %197 = fsub float -0.000000e+00, %40 %198 = fadd float %130, %197 %199 = fsub float -0.000000e+00, %41 %200 = fadd float %137, %199 %201 = fsub float -0.000000e+00, %42 %202 = fadd float %144, %201 %203 = fmul float %21, %198 %204 = fmul float %22, %198 %205 = fmul float %23, %198 %206 = fmul float %24, %198 %207 = fmul float %25, %200 %208 = fadd float %207, %203 %209 = fmul float %26, %200 %210 = fadd float %209, %204 %211 = fmul float %27, %200 %212 = fadd float %211, %205 %213 = fmul float %28, %200 %214 = fadd float %213, %206 %215 = fmul float %29, %202 %216 = fadd float %215, %208 %217 = fmul float %30, %202 %218 = fadd float %217, %210 %219 = fmul float %31, %202 %220 = fadd float %219, %212 %221 = fmul float %32, %202 %222 = fadd float %221, %214 %223 = fadd float %216, %33 %224 = fadd float %218, %34 %225 = fadd float %220, %35 %226 = fadd float %222, %36 %227 = fsub float -0.000000e+00, %37 %228 = fadd float %130, %227 %229 = fsub float -0.000000e+00, %38 %230 = fadd float %137, %229 %231 = fsub float -0.000000e+00, %39 %232 = fadd float %144, %231 %233 = fdiv float 1.000000e+00, %11 %234 = fmul float %228, %233 %235 = fmul float %230, %233 %236 = fmul float %232, %233 %237 = fmul float %168, %191 %238 = fmul float %166, %192 %239 = fmul float %167, %190 %240 = fsub float -0.000000e+00, %237 %241 = fmul float %167, %192 %242 = fadd float %241, %240 %243 = fsub float -0.000000e+00, %238 %244 = fmul float %168, %190 %245 = fadd float %244, %243 %246 = fsub float -0.000000e+00, %239 %247 = fmul float %166, %191 %248 = fadd float %247, %246 %249 = fmul float %242, %72 %250 = fmul float %245, %72 %251 = fmul float %248, %72 %252 = fmul float %12, %190 %253 = fmul float %13, %190 %254 = fmul float %14, %190 %255 = fmul float %15, %191 %256 = fadd float %255, %252 %257 = fmul float %16, %191 %258 = fadd float %257, %253 %259 = fmul float %17, %191 %260 = fadd float %259, %254 %261 = fmul float %18, %192 %262 = fadd float %261, %256 %263 = fmul float %19, %192 %264 = fadd float %263, %258 %265 = fmul float %20, %192 %266 = fadd float %265, %260 %267 = fmul float %12, %249 %268 = fmul float %13, %249 %269 = fmul float %14, %249 %270 = fmul float %15, %250 %271 = fadd float %270, %267 %272 = fmul float %16, %250 %273 = fadd float %272, %268 %274 = fmul float %17, %250 %275 = fadd float %274, %269 %276 = fmul float %18, %251 %277 = fadd float %276, %271 %278 = fmul float %19, %251 %279 = fadd float %278, %273 %280 = fmul float %20, %251 %281 = fadd float %280, %275 %282 = fmul float %12, %166 %283 = fmul float %13, %166 %284 = fmul float %14, %166 %285 = fmul float %15, %167 %286 = fadd float %285, %282 %287 = fmul float %16, %167 %288 = fadd float %287, %283 %289 = fmul float %17, %167 %290 = fadd float %289, %284 %291 = fmul float %18, %168 %292 = fadd float %291, %286 %293 = fmul float %19, %168 %294 = fadd float %293, %288 %295 = fmul float %20, %168 %296 = fadd float %295, %290 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %194, float %196, float %57, float %58) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %234, float %235, float %236, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %277, float %292, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %264, float %279, float %294, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %266, float %281, float %296, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %223, float %224, float %225, float %226) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 34040284 4a0604ff 000000b4 e0301000 80000303 c0840700 bf8c0070 e00c2000 80020400 bf8c0770 10100705 4a1204ff 000000b0 e0301000 80000909 bf8c0770 d2820008 04221304 4a1404ff 000000b8 e0301000 80000a0a c0840708 bf8c0070 e00c2000 80020b00 bf8c0770 d2820008 0422150e 4a0404ff 000000bc e0301000 80000202 bf8c0770 06040508 c2020124 bf8c007f 0a100404 c2020101 bf8c007f 7e1e5404 10101f08 4a200282 34202084 4a2220ff 000000b4 e0301000 80001111 bf8c0770 10242305 4a2620ff 000000b0 e0301000 80001313 bf8c0770 d2820012 044a2704 4a2820ff 000000b8 e0301000 80001414 bf8c0770 d2820012 044a290e 4a2020ff 000000bc e0301000 80001010 bf8c0770 06242112 c2020126 bf8c007f 0a2a2404 102a1f15 4a020281 34020284 4a2c02ff 000000b4 e0301000 80001616 bf8c0770 102e2d05 4a3002ff 000000b0 e0301000 80001818 bf8c0770 d2820004 045e3104 4a0a02ff 000000b8 e0301000 80000505 bf8c0770 d2820004 04120b0e 4a0202ff 000000bc e0301000 80000101 bf8c0770 06020304 c2020125 bf8c007f 0a080204 10081f04 7e0c0280 f800021f 06150408 c082070c bf8c000f e00c2000 80011900 bf8c0770 10003119 d2820000 04022d1a d2820000 04020b1b 10081319 d2820004 0412071a d2820004 0412151b 100e0904 d2820007 041e0100 10102719 d2820008 0422231a d2820008 0422291b d2820007 041e1108 7e0e5b07 10100f08 101e310b d282000f 043e2d0c d2820005 043e0b0d 1012130b d2820003 0426070c d2820003 040e150d 10120703 d2820009 04260b05 1014270b d282000a 042a230c d282000a 042a290d d2820009 0426150a 7e125b09 10061303 10161103 10080f04 1014130a 1018090a 0816170c 1016390b 10000f00 100e010a 100a1305 10121105 080e0f09 100e3907 c2020104 bf8c007f 10120e04 c2028108 bf8c007f d2820009 04261605 10180905 101a0103 0818190d 1018390c c203010c bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800022f 060d090e c2020105 bf8c000f 10120e04 c2028109 bf8c007f d2820009 04261605 c203010d bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800023f 060d090e c2020106 bf8c000f 100c0e04 c202810a bf8c007f d2820006 041a1605 c203010e bf8c007f d2820006 041a1806 10060604 d2820003 040e0a05 d2820003 040e1406 10080804 d2820000 04120005 d2820000 04021006 f800024f 10030600 c2020128 bf8c000f 0a000404 c2020117 bf8c007f 10040004 c2020129 bf8c007f 0a020204 c202011b bf8c007f d2820002 040a0204 c202012a bf8c007f 0a062404 c202011f bf8c007f d2820002 040a0604 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080004 c202011a bf8c007f d2820004 04120204 c202011e bf8c007f d2820004 04120604 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0004 c2020119 bf8c007f d2820005 04160204 c202011d bf8c007f d2820005 04160604 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10000004 c2020118 bf8c007f d2820000 04020204 c202011c bf8c007f d2820000 04020604 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, 2.0000, -1.0000} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 1: RSQ TEMP[1].x, TEMP[0].xxxx 2: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[0].xxxx 3: CMP TEMP[0].x, -TEMP[0].xxxx, TEMP[1].xxxx, IMM[0].xxxx 4: MOV TEMP[1].xy, IN[0].xyyy 5: TEX TEMP[1].w, TEMP[1], SAMP[0], 2D 6: FSGE TEMP[1].x, IMM[0].yyyy, TEMP[1].wwww 7: UIF TEMP[1].xxxx :0 8: KILL 9: ENDIF 10: MOV TEMP[1].xy, IN[0].xyyy 11: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 12: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].zzzz, IMM[0].wwww 13: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 14: ADD_SAT TEMP[2].x, IMM[1].xxxx, -TEMP[2].xxxx 15: RSQ TEMP[3].x, TEMP[2].xxxx 16: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 17: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].xxxx 18: MOV TEMP[1].z, TEMP[3].xxxx 19: DP3 TEMP[2].x, IN[2].xyzz, IN[2].xyzz 20: RSQ TEMP[2].x, TEMP[2].xxxx 21: MUL TEMP[2].xyz, IN[2].xyzz, TEMP[2].xxxx 22: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[1].xyzz 23: DP3 TEMP[3].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[3].x, TEMP[3].xxxx 25: MUL TEMP[3].xyz, IN[3].xyzz, TEMP[3].xxxx 26: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 27: MOV TEMP[2].y, TEMP[3].xxxx 28: DP3 TEMP[3].x, IN[4].xyzz, IN[4].xyzz 29: RSQ TEMP[3].x, TEMP[3].xxxx 30: MUL TEMP[3].xyz, IN[4].xyzz, TEMP[3].xxxx 31: DP3 TEMP[1].x, TEMP[3].xyzz, TEMP[1].xyzz 32: ADD TEMP[1].x, TEMP[1].xxxx, IMM[1].xxxx 33: MOV TEMP[2].z, TEMP[1].xxxx 34: DP3 TEMP[1].x, TEMP[2].xyzz, TEMP[2].xyzz 35: RSQ TEMP[1].x, TEMP[1].xxxx 36: MUL TEMP[1].xy, TEMP[2].xyzz, TEMP[1].xxxx 37: MOV TEMP[2].x, TEMP[1].xxxx 38: MOV TEMP[2].y, TEMP[1].yyyy 39: MOV TEMP[2].z, -TEMP[0].xxxx 40: MOV TEMP[2].w, IMM[0].xxxx 41: MOV OUT[0], TEMP[2] 42: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %25 = load <32 x i8> addrspace(2)* %24, !tbaa !0 %26 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %27 = load <16 x i8> addrspace(2)* %26, !tbaa !0 %28 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %42 = fmul float %30, %30 %43 = fmul float %31, %31 %44 = fadd float %43, %42 %45 = fmul float %32, %32 %46 = fadd float %44, %45 %47 = call float @llvm.AMDGPU.rsq(float %46) %48 = fmul float %47, %46 %49 = fsub float -0.000000e+00, %46 %50 = call float @llvm.AMDGPU.cndlt(float %49, float %48, float 0.000000e+00) %51 = bitcast float %28 to i32 %52 = bitcast float %29 to i32 %53 = insertelement <2 x i32> undef, i32 %51, i32 0 %54 = insertelement <2 x i32> %53, i32 %52, i32 1 %55 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %54, <32 x i8> %21, <16 x i8> %23, i32 2) %56 = extractelement <4 x float> %55, i32 3 %57 = fcmp oge float 5.000000e-01, %56 %58 = sext i1 %57 to i32 %59 = bitcast i32 %58 to float %60 = bitcast float %59 to i32 %61 = icmp ne i32 %60, 0 br i1 %61, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %62 = bitcast float %28 to i32 %63 = bitcast float %29 to i32 %64 = insertelement <2 x i32> undef, i32 %62, i32 0 %65 = insertelement <2 x i32> %64, i32 %63, i32 1 %66 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %65, <32 x i8> %25, <16 x i8> %27, i32 2) %67 = extractelement <4 x float> %66, i32 0 %68 = extractelement <4 x float> %66, i32 1 %69 = fmul float %67, 2.000000e+00 %70 = fadd float %69, -1.000000e+00 %71 = fmul float %68, 2.000000e+00 %72 = fadd float %71, -1.000000e+00 %73 = fmul float %70, %70 %74 = fmul float %72, %72 %75 = fadd float %73, %74 %76 = fsub float -0.000000e+00, %75 %77 = fadd float 1.000000e+00, %76 %78 = call float @llvm.AMDIL.clamp.(float %77, float 0.000000e+00, float 1.000000e+00) %79 = call float @llvm.AMDGPU.rsq(float %78) %80 = fmul float %79, %78 %81 = fsub float -0.000000e+00, %78 %82 = call float @llvm.AMDGPU.cndlt(float %81, float %80, float 0.000000e+00) %83 = fmul float %33, %33 %84 = fmul float %34, %34 %85 = fadd float %84, %83 %86 = fmul float %35, %35 %87 = fadd float %85, %86 %88 = call float @llvm.AMDGPU.rsq(float %87) %89 = fmul float %33, %88 %90 = fmul float %34, %88 %91 = fmul float %35, %88 %92 = fmul float %89, %70 %93 = fmul float %90, %72 %94 = fadd float %93, %92 %95 = fmul float %91, %82 %96 = fadd float %94, %95 %97 = fmul float %36, %36 %98 = fmul float %37, %37 %99 = fadd float %98, %97 %100 = fmul float %38, %38 %101 = fadd float %99, %100 %102 = call float @llvm.AMDGPU.rsq(float %101) %103 = fmul float %36, %102 %104 = fmul float %37, %102 %105 = fmul float %38, %102 %106 = fmul float %103, %70 %107 = fmul float %104, %72 %108 = fadd float %107, %106 %109 = fmul float %105, %82 %110 = fadd float %108, %109 %111 = fmul float %39, %39 %112 = fmul float %40, %40 %113 = fadd float %112, %111 %114 = fmul float %41, %41 %115 = fadd float %113, %114 %116 = call float @llvm.AMDGPU.rsq(float %115) %117 = fmul float %39, %116 %118 = fmul float %40, %116 %119 = fmul float %41, %116 %120 = fmul float %117, %70 %121 = fmul float %118, %72 %122 = fadd float %121, %120 %123 = fmul float %119, %82 %124 = fadd float %122, %123 %125 = fadd float %124, 1.000000e+00 %126 = fmul float %96, %96 %127 = fmul float %110, %110 %128 = fadd float %127, %126 %129 = fmul float %125, %125 %130 = fadd float %128, %129 %131 = call float @llvm.AMDGPU.rsq(float %130) %132 = fmul float %96, %131 %133 = fmul float %110, %131 %134 = fsub float -0.000000e+00, %50 %135 = call i32 @llvm.SI.packf16(float %132, float %133) %136 = bitcast i32 %135 to float %137 = call i32 @llvm.SI.packf16(float %134, float 0.000000e+00) %138 = bitcast i32 %137 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %136, float %138, float %136, float %138) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0400 c80d0401 10060703 d2820002 040e0502 c80c0600 c80d0601 d2820002 040a0703 7e065b02 10060503 d2060002 22010102 d0080000 02020480 d2000002 00020680 c81c0100 c81d0101 c8180000 c8190001 c0840300 c0c60500 bf8c007f f0800800 00430306 bf8c0770 d006000c 0201e103 c80c1200 c80d1201 c8101100 c8111101 c8141000 c8151001 c8200e00 c8210e01 c8280d00 c8290d01 c8300c00 c8310c01 c8240a00 c8250a01 c82c0900 c82d0901 c8340800 c8350801 c0800304 c0c20508 bf8c007f be8c240c 898c0c7e 7e0002f3 7c260080 88fe0c7e f0800300 00010006 bf8c0770 060c0100 060c0cf3 06000301 060000f3 10020100 d2820001 04060d06 080202f2 d2060801 02010101 7e0e5b01 100e0307 d2060001 22010101 d0080000 02020280 d2000001 00020e80 d2100007 0202190c d2820007 041e150a d2820007 041e1108 7e0e5b07 10180f0c 10180d0c 10140f0a d282000a 0432010a 100e0f08 d2820007 042a0307 d2100008 02021b0d d2820008 0422170b d2820008 04221309 7e105b08 1014110d 10140d0a 1016110b d282000a 042a010b 10101109 d2820008 042a0308 10121108 d2820009 04260f07 d210000a 02020b05 d282000a 042a0904 d282000a 042a0703 7e145b0a 100a1505 100a0d05 10081504 d2820000 04160104 10061503 d2820000 04020303 060000f2 d2820000 04260100 7e005b00 10020107 10000108 5e000300 d2060001 22010102 d25e0001 02010101 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..107] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+11] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+11] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+11] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MOV TEMP[1].zw, IN[1].wwzw 34: MAD TEMP[1].xy, IN[1].xyyy, CONST[107].xyyy, CONST[107].zwww 35: ADD TEMP[2].xyz, TEMP[4].xyzz, -CONST[10].xyzz 36: MUL TEMP[5], CONST[5], TEMP[2].xxxx 37: MAD TEMP[5], CONST[6], TEMP[2].yyyy, TEMP[5] 38: MAD TEMP[2], CONST[7], TEMP[2].zzzz, TEMP[5] 39: ADD TEMP[2], TEMP[2], CONST[8] 40: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[9].xyzz 41: RCP TEMP[5].x, CONST[0].yyyy 42: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 43: MUL TEMP[5].xyz, TEMP[3].zxyy, TEMP[0].yzxx 44: MAD TEMP[5].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[5].xyzz 45: MUL TEMP[5].xyz, TEMP[5].xyzz, IN[3].wwww 46: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[0].xxxx 47: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[0].yyyy, TEMP[6].xyzz 48: MAD TEMP[0].xyz, CONST[3].xyzz, TEMP[0].zzzz, TEMP[6].xyzz 49: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[5].xxxx 50: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[5].yyyy, TEMP[6].xyzz 51: MAD TEMP[5].xyz, CONST[3].xyzz, TEMP[5].zzzz, TEMP[6].xyzz 52: MUL TEMP[6].xyz, CONST[1].xyzz, TEMP[3].xxxx 53: MAD TEMP[6].xyz, CONST[2].xyzz, TEMP[3].yyyy, TEMP[6].xyzz 54: MAD TEMP[3].xyz, CONST[3].xyzz, TEMP[3].zzzz, TEMP[6].xyzz 55: MOV TEMP[6].x, TEMP[0].xxxx 56: MOV TEMP[6].y, TEMP[5].xxxx 57: MOV TEMP[6].z, TEMP[3].xxxx 58: MOV TEMP[6].xyz, TEMP[6].xyzx 59: MOV TEMP[7].x, TEMP[0].yyyy 60: MOV TEMP[7].y, TEMP[5].yyyy 61: MOV TEMP[7].z, TEMP[3].yyyy 62: MOV TEMP[7].xyz, TEMP[7].xyzx 63: MOV TEMP[0].x, TEMP[0].zzzz 64: MOV TEMP[0].y, TEMP[5].zzzz 65: MOV TEMP[0].z, TEMP[3].zzzz 66: MOV TEMP[0].xyz, TEMP[0].xyzx 67: MOV OUT[1], TEMP[1] 68: MOV OUT[2], TEMP[4] 69: MOV OUT[3], TEMP[6] 70: MOV OUT[4], TEMP[7] 71: MOV OUT[5], TEMP[0] 72: MOV OUT[0], TEMP[2] 73: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1712) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1716) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1720) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1724) %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %53 = load <16 x i8> addrspace(2)* %52, !tbaa !0 %54 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %53, i32 0, i32 %5) %55 = extractelement <4 x float> %54, i32 0 %56 = extractelement <4 x float> %54, i32 1 %57 = extractelement <4 x float> %54, i32 2 %58 = extractelement <4 x float> %54, i32 3 %59 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %60 = load <16 x i8> addrspace(2)* %59, !tbaa !0 %61 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %60, i32 0, i32 %5) %62 = extractelement <4 x float> %61, i32 0 %63 = extractelement <4 x float> %61, i32 1 %64 = extractelement <4 x float> %61, i32 2 %65 = extractelement <4 x float> %61, i32 3 %66 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %67 = load <16 x i8> addrspace(2)* %66, !tbaa !0 %68 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %67, i32 0, i32 %5) %69 = extractelement <4 x float> %68, i32 0 %70 = extractelement <4 x float> %68, i32 1 %71 = extractelement <4 x float> %68, i32 2 %72 = extractelement <4 x float> %68, i32 3 %73 = add i32 %8, %4 %74 = mul i32 %73, 3 %75 = bitcast i32 %74 to float %76 = bitcast float %75 to i32 %77 = add i32 %76, 0 %78 = bitcast float %75 to i32 %79 = add i32 %78, 1 %80 = bitcast float %75 to i32 %81 = add i32 %80, 2 %82 = bitcast i32 %77 to float %83 = bitcast i32 %79 to float %84 = bitcast i32 %81 to float %85 = bitcast float %82 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 176 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 180 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 184 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 188 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %83 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 176 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 180 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 184 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 188 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = bitcast float %84 to i32 %112 = shl i32 %111, 4 %113 = add i32 %112, 176 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %111, 4 %116 = add i32 %115, 180 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = shl i32 %111, 4 %119 = add i32 %118, 184 %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %119) %121 = shl i32 %111, 4 %122 = add i32 %121, 188 %123 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %122) %124 = fmul float %50, %88 %125 = fmul float %51, %91 %126 = fadd float %124, %125 %127 = fmul float %65, %94 %128 = fadd float %126, %127 %129 = fmul float 1.000000e+00, %97 %130 = fadd float %128, %129 %131 = fmul float %50, %101 %132 = fmul float %51, %104 %133 = fadd float %131, %132 %134 = fmul float %65, %107 %135 = fadd float %133, %134 %136 = fmul float 1.000000e+00, %110 %137 = fadd float %135, %136 %138 = fmul float %50, %114 %139 = fmul float %51, %117 %140 = fadd float %138, %139 %141 = fmul float %65, %120 %142 = fadd float %140, %141 %143 = fmul float 1.000000e+00, %123 %144 = fadd float %142, %143 %145 = fmul float %62, %88 %146 = fmul float %63, %91 %147 = fadd float %146, %145 %148 = fmul float %64, %94 %149 = fadd float %147, %148 %150 = fmul float %62, %101 %151 = fmul float %63, %104 %152 = fadd float %151, %150 %153 = fmul float %64, %107 %154 = fadd float %152, %153 %155 = fmul float %62, %114 %156 = fmul float %63, %117 %157 = fadd float %156, %155 %158 = fmul float %64, %120 %159 = fadd float %157, %158 %160 = fmul float %149, %149 %161 = fmul float %154, %154 %162 = fadd float %161, %160 %163 = fmul float %159, %159 %164 = fadd float %162, %163 %165 = call float @llvm.AMDGPU.rsq(float %164) %166 = fmul float %149, %165 %167 = fmul float %154, %165 %168 = fmul float %159, %165 %169 = fmul float %69, %88 %170 = fmul float %70, %91 %171 = fadd float %170, %169 %172 = fmul float %71, %94 %173 = fadd float %171, %172 %174 = fmul float %69, %101 %175 = fmul float %70, %104 %176 = fadd float %175, %174 %177 = fmul float %71, %107 %178 = fadd float %176, %177 %179 = fmul float %69, %114 %180 = fmul float %70, %117 %181 = fadd float %180, %179 %182 = fmul float %71, %120 %183 = fadd float %181, %182 %184 = fmul float %173, %173 %185 = fmul float %178, %178 %186 = fadd float %185, %184 %187 = fmul float %183, %183 %188 = fadd float %186, %187 %189 = call float @llvm.AMDGPU.rsq(float %188) %190 = fmul float %173, %189 %191 = fmul float %178, %189 %192 = fmul float %183, %189 %193 = fmul float %55, %43 %194 = fadd float %193, %45 %195 = fmul float %56, %44 %196 = fadd float %195, %46 %197 = fsub float -0.000000e+00, %40 %198 = fadd float %130, %197 %199 = fsub float -0.000000e+00, %41 %200 = fadd float %137, %199 %201 = fsub float -0.000000e+00, %42 %202 = fadd float %144, %201 %203 = fmul float %21, %198 %204 = fmul float %22, %198 %205 = fmul float %23, %198 %206 = fmul float %24, %198 %207 = fmul float %25, %200 %208 = fadd float %207, %203 %209 = fmul float %26, %200 %210 = fadd float %209, %204 %211 = fmul float %27, %200 %212 = fadd float %211, %205 %213 = fmul float %28, %200 %214 = fadd float %213, %206 %215 = fmul float %29, %202 %216 = fadd float %215, %208 %217 = fmul float %30, %202 %218 = fadd float %217, %210 %219 = fmul float %31, %202 %220 = fadd float %219, %212 %221 = fmul float %32, %202 %222 = fadd float %221, %214 %223 = fadd float %216, %33 %224 = fadd float %218, %34 %225 = fadd float %220, %35 %226 = fadd float %222, %36 %227 = fsub float -0.000000e+00, %37 %228 = fadd float %130, %227 %229 = fsub float -0.000000e+00, %38 %230 = fadd float %137, %229 %231 = fsub float -0.000000e+00, %39 %232 = fadd float %144, %231 %233 = fdiv float 1.000000e+00, %11 %234 = fmul float %228, %233 %235 = fmul float %230, %233 %236 = fmul float %232, %233 %237 = fmul float %168, %191 %238 = fmul float %166, %192 %239 = fmul float %167, %190 %240 = fsub float -0.000000e+00, %237 %241 = fmul float %167, %192 %242 = fadd float %241, %240 %243 = fsub float -0.000000e+00, %238 %244 = fmul float %168, %190 %245 = fadd float %244, %243 %246 = fsub float -0.000000e+00, %239 %247 = fmul float %166, %191 %248 = fadd float %247, %246 %249 = fmul float %242, %72 %250 = fmul float %245, %72 %251 = fmul float %248, %72 %252 = fmul float %12, %190 %253 = fmul float %13, %190 %254 = fmul float %14, %190 %255 = fmul float %15, %191 %256 = fadd float %255, %252 %257 = fmul float %16, %191 %258 = fadd float %257, %253 %259 = fmul float %17, %191 %260 = fadd float %259, %254 %261 = fmul float %18, %192 %262 = fadd float %261, %256 %263 = fmul float %19, %192 %264 = fadd float %263, %258 %265 = fmul float %20, %192 %266 = fadd float %265, %260 %267 = fmul float %12, %249 %268 = fmul float %13, %249 %269 = fmul float %14, %249 %270 = fmul float %15, %250 %271 = fadd float %270, %267 %272 = fmul float %16, %250 %273 = fadd float %272, %268 %274 = fmul float %17, %250 %275 = fadd float %274, %269 %276 = fmul float %18, %251 %277 = fadd float %276, %271 %278 = fmul float %19, %251 %279 = fadd float %278, %273 %280 = fmul float %20, %251 %281 = fadd float %280, %275 %282 = fmul float %12, %166 %283 = fmul float %13, %166 %284 = fmul float %14, %166 %285 = fmul float %15, %167 %286 = fadd float %285, %282 %287 = fmul float %16, %167 %288 = fadd float %287, %283 %289 = fmul float %17, %167 %290 = fadd float %289, %284 %291 = fmul float %18, %168 %292 = fadd float %291, %286 %293 = fmul float %19, %168 %294 = fadd float %293, %288 %295 = fmul float %20, %168 %296 = fadd float %295, %290 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %194, float %196, float %57, float %58) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %234, float %235, float %236, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %277, float %292, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %264, float %279, float %294, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %266, float %281, float %296, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %223, float %224, float %225, float %226) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 000006bc bf8c007f c2020004 bf8c007f 7e020204 be8403ff 000006b4 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 000006b8 c2020004 bf8c007f 7e040204 be8403ff 000006b0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 34040284 4a0604ff 000000b4 e0301000 80000303 c0840700 bf8c0070 e00c2000 80020400 bf8c0770 10100705 4a1204ff 000000b0 e0301000 80000909 bf8c0770 d2820008 04221304 4a1404ff 000000b8 e0301000 80000a0a c0840708 bf8c0070 e00c2000 80020b00 bf8c0770 d2820008 0422150e 4a0404ff 000000bc e0301000 80000202 bf8c0770 06040508 c2020124 bf8c007f 0a100404 c2020101 bf8c007f 7e1e5404 10101f08 4a200282 34202084 4a2220ff 000000b4 e0301000 80001111 bf8c0770 10242305 4a2620ff 000000b0 e0301000 80001313 bf8c0770 d2820012 044a2704 4a2820ff 000000b8 e0301000 80001414 bf8c0770 d2820012 044a290e 4a2020ff 000000bc e0301000 80001010 bf8c0770 06242112 c2020126 bf8c007f 0a2a2404 102a1f15 4a020281 34020284 4a2c02ff 000000b4 e0301000 80001616 bf8c0770 102e2d05 4a3002ff 000000b0 e0301000 80001818 bf8c0770 d2820004 045e3104 4a0a02ff 000000b8 e0301000 80000505 bf8c0770 d2820004 04120b0e 4a0202ff 000000bc e0301000 80000101 bf8c0770 06020304 c2020125 bf8c007f 0a080204 10081f04 7e0c0280 f800021f 06150408 c082070c bf8c000f e00c2000 80011900 bf8c0770 10003119 d2820000 04022d1a d2820000 04020b1b 10081319 d2820004 0412071a d2820004 0412151b 100e0904 d2820007 041e0100 10102719 d2820008 0422231a d2820008 0422291b d2820007 041e1108 7e0e5b07 10100f08 101e310b d282000f 043e2d0c d2820005 043e0b0d 1012130b d2820003 0426070c d2820003 040e150d 10120703 d2820009 04260b05 1014270b d282000a 042a230c d282000a 042a290d d2820009 0426150a 7e125b09 10061303 10161103 10080f04 1014130a 1018090a 0816170c 1016390b 10000f00 100e010a 100a1305 10121105 080e0f09 100e3907 c2020104 bf8c007f 10120e04 c2028108 bf8c007f d2820009 04261605 10180905 101a0103 0818190d 1018390c c203010c bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800022f 060d090e c2020105 bf8c000f 10120e04 c2028109 bf8c007f d2820009 04261605 c203010d bf8c007f d2820009 04261806 101a0604 d282000d 04360a05 d282000d 04361406 101c0804 d282000e 043a0005 d282000e 043a1006 f800023f 060d090e c2020106 bf8c000f 100c0e04 c202810a bf8c007f d2820006 041a1605 c203010e bf8c007f d2820006 041a1806 10060604 d2820003 040e0a05 d2820003 040e1406 10080804 d2820000 04120005 d2820000 04021006 f800024f 10030600 c2020128 bf8c000f 0a000404 c2020117 bf8c007f 10040004 c2020129 bf8c007f 0a020204 c202011b bf8c007f d2820002 040a0204 c202012a bf8c007f 0a062404 c202011f bf8c007f d2820002 040a0604 c2020123 bf8c007f 06040404 c2020116 bf8c007f 10080004 c202011a bf8c007f d2820004 04120204 c202011e bf8c007f d2820004 04120604 c2020122 bf8c007f 06080804 c2020115 bf8c007f 100a0004 c2020119 bf8c007f d2820005 04160204 c202011d bf8c007f d2820005 04160604 c2020121 bf8c007f 060a0a04 c2020114 bf8c007f 10000004 c2020118 bf8c007f d2820000 04020204 c202011c bf8c007f d2820000 04020604 c2000120 bf8c007f 06000000 f80008cf 02040500 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %28 = load <16 x i8> addrspace(2)* %27, !tbaa !0 %29 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %28, i32 0, i32 %5) %30 = extractelement <4 x float> %29, i32 0 %31 = extractelement <4 x float> %29, i32 1 %32 = extractelement <4 x float> %29, i32 2 %33 = extractelement <4 x float> %29, i32 3 %34 = fmul float %30, %11 %35 = fmul float %30, %12 %36 = fmul float %30, %13 %37 = fmul float %30, %14 %38 = fmul float %31, %15 %39 = fadd float %38, %34 %40 = fmul float %31, %16 %41 = fadd float %40, %35 %42 = fmul float %31, %17 %43 = fadd float %42, %36 %44 = fmul float %31, %18 %45 = fadd float %44, %37 %46 = fmul float %32, %19 %47 = fadd float %46, %39 %48 = fmul float %32, %20 %49 = fadd float %48, %41 %50 = fmul float %32, %21 %51 = fadd float %50, %43 %52 = fmul float %32, %22 %53 = fadd float %52, %45 %54 = fmul float %33, %23 %55 = fadd float %54, %47 %56 = fmul float %33, %24 %57 = fadd float %56, %49 %58 = fmul float %33, %25 %59 = fadd float %58, %51 %60 = fmul float %33, %26 %61 = fadd float %60, %53 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %55, float %57, float %59, float %61) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0800100 bf8c0070 c2020103 bf8c007f 7e080204 d2100004 02020900 c2020107 bf8c007f 7e0a0204 d2820004 04120b01 c202010b bf8c007f 7e0a0204 d2820004 04120b02 c202010f bf8c007f 7e0a0204 d2820004 04120b03 c2020102 bf8c007f 7e0a0204 d2100005 02020b00 c2020106 bf8c007f 7e0c0204 d2820005 04160d01 c202010a bf8c007f 7e0c0204 d2820005 04160d02 c202010e bf8c007f 7e0c0204 d2820005 04160d03 c2020101 bf8c007f 7e0c0204 d2100006 02020d00 c2020105 bf8c007f 7e0e0204 d2820006 041a0f01 c2020109 bf8c007f 7e0e0204 d2820006 041a0f02 c202010d bf8c007f 7e0e0204 d2820006 041a0f03 c2020100 bf8c007f 7e0e0204 d2100007 02020f00 c2020104 bf8c007f 7e100204 d2820007 041e1101 c2020108 bf8c007f 7e100204 d2820007 041e1102 c200010c bf8c007f 7e100200 d2820000 041e1103 f80008cf 04050600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL IN[6], GENERIC[6], PERSPECTIVE DCL IN[7], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL CONST[3..5] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, -1.0000, 1.0000} IMM[1] FLT32 { 4.0000, 0.0039, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[5].xyyy 1: TEX TEMP[1].xy, TEMP[0], SAMP[1], 2D 2: MOV TEMP[2].xy, IN[5].zwww 3: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 4: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 5: MOV TEMP[2].xy, IN[6].xyyy 6: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 7: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 8: MOV TEMP[2].xy, IN[6].zwww 9: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 10: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 11: MAD TEMP[0].xy, TEMP[1].xyyy, IMM[0].yyyy, IMM[0].zzzz 12: MAD TEMP[0].xy, TEMP[0].xyyy, CONST[4].xxxx, IN[1].xyyy 13: DP2 TEMP[3].x, TEMP[0].xyyy, TEMP[0].xyyy 14: MOV TEMP[1].xy, IN[7].xyyy 15: MOV TEMP[1].w, IN[7].wwww 16: TXP TEMP[1].z, TEMP[1], SAMP[0], 2D 17: ABS TEMP[1].x, TEMP[1].zzzz 18: DP3 TEMP[2].x, IN[2].xyzz, IN[2].xyzz 19: RSQ TEMP[4].x, TEMP[2].xxxx 20: MUL TEMP[4].x, TEMP[4].xxxx, TEMP[2].xxxx 21: CMP TEMP[4].x, -TEMP[2].xxxx, TEMP[4].xxxx, IMM[0].xxxx 22: ADD TEMP[1].x, TEMP[1].xxxx, -TEMP[4].xxxx 23: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].xxxx 24: MUL TEMP[1].x, -IN[2].wwww, TEMP[1].xxxx 25: EX2 TEMP[1].x, TEMP[1].xxxx 26: ADD TEMP[1].x, IMM[0].wwww, -TEMP[1].xxxx 27: DP3 TEMP[2].x, IN[2].xyzz, CONST[3].xyzz 28: ADD_SAT TEMP[2].x, TEMP[2].xxxx, IMM[0].zzzz 29: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 30: DP3 TEMP[2].x, IN[3].xyzz, IN[3].xyzz 31: RSQ TEMP[2].x, TEMP[2].xxxx 32: MUL TEMP[2].xy, IN[3].xyzz, TEMP[2].xxxx 33: DP2 TEMP[2].x, TEMP[2].xyyy, TEMP[0].xyyy 34: DP3 TEMP[4].x, IN[4].xyzz, IN[4].xyzz 35: RSQ TEMP[4].x, TEMP[4].xxxx 36: MUL TEMP[4].xy, IN[4].xyzz, TEMP[4].xxxx 37: DP2 TEMP[0].x, TEMP[4].xyyy, TEMP[0].xyyy 38: MOV TEMP[2].y, TEMP[0].xxxx 39: MOV TEMP[0].xy, TEMP[2].xyxx 40: MOV TEMP[0].zw, -TEMP[2].yyxy 41: MOV_SAT TEMP[0], TEMP[0] 42: RCP TEMP[2].x, IN[0].wwww 43: MUL_SAT TEMP[2].x, IN[0].zzzz, TEMP[2].xxxx 44: MUL TEMP[2].x, CONST[5].xxxx, TEMP[2].xxxx 45: MUL_SAT TEMP[1].x, TEMP[1].xxxx, IMM[1].xxxx 46: MUL TEMP[1].x, TEMP[2].xxxx, TEMP[1].xxxx 47: MAD TEMP[0], TEMP[0], TEMP[1].xxxx, IMM[1].yyyy 48: MOV OUT[0], TEMP[0] 49: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %27 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %28 = load <32 x i8> addrspace(2)* %27, !tbaa !0 %29 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %30 = load <16 x i8> addrspace(2)* %29, !tbaa !0 %31 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %32 = load <32 x i8> addrspace(2)* %31, !tbaa !0 %33 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %34 = load <16 x i8> addrspace(2)* %33, !tbaa !0 %35 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %36 = load <32 x i8> addrspace(2)* %35, !tbaa !0 %37 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %56 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %57 = call float @llvm.SI.fs.interp(i32 0, i32 6, i32 %3, <2 x i32> %5) %58 = call float @llvm.SI.fs.interp(i32 1, i32 6, i32 %3, <2 x i32> %5) %59 = call float @llvm.SI.fs.interp(i32 2, i32 6, i32 %3, <2 x i32> %5) %60 = call float @llvm.SI.fs.interp(i32 3, i32 6, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 0, i32 7, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 1, i32 7, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 3, i32 7, i32 %3, <2 x i32> %5) %64 = bitcast float %53 to i32 %65 = bitcast float %54 to i32 %66 = insertelement <2 x i32> undef, i32 %64, i32 0 %67 = insertelement <2 x i32> %66, i32 %65, i32 1 %68 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %67, <32 x i8> %32, <16 x i8> %34, i32 2) %69 = extractelement <4 x float> %68, i32 0 %70 = extractelement <4 x float> %68, i32 1 %71 = bitcast float %55 to i32 %72 = bitcast float %56 to i32 %73 = insertelement <2 x i32> undef, i32 %71, i32 0 %74 = insertelement <2 x i32> %73, i32 %72, i32 1 %75 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %74, <32 x i8> %32, <16 x i8> %34, i32 2) %76 = extractelement <4 x float> %75, i32 0 %77 = extractelement <4 x float> %75, i32 1 %78 = fadd float %69, %76 %79 = fadd float %70, %77 %80 = bitcast float %57 to i32 %81 = bitcast float %58 to i32 %82 = insertelement <2 x i32> undef, i32 %80, i32 0 %83 = insertelement <2 x i32> %82, i32 %81, i32 1 %84 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %83, <32 x i8> %36, <16 x i8> %38, i32 2) %85 = extractelement <4 x float> %84, i32 0 %86 = extractelement <4 x float> %84, i32 1 %87 = fadd float %78, %85 %88 = fadd float %79, %86 %89 = bitcast float %59 to i32 %90 = bitcast float %60 to i32 %91 = insertelement <2 x i32> undef, i32 %89, i32 0 %92 = insertelement <2 x i32> %91, i32 %90, i32 1 %93 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %92, <32 x i8> %36, <16 x i8> %38, i32 2) %94 = extractelement <4 x float> %93, i32 0 %95 = extractelement <4 x float> %93, i32 1 %96 = fadd float %87, %94 %97 = fadd float %88, %95 %98 = fmul float %96, 5.000000e-01 %99 = fadd float %98, -1.000000e+00 %100 = fmul float %97, 5.000000e-01 %101 = fadd float %100, -1.000000e+00 %102 = fmul float %99, %25 %103 = fadd float %102, %41 %104 = fmul float %101, %25 %105 = fadd float %104, %42 %106 = fdiv float %61, %63 %107 = fdiv float %62, %63 %108 = bitcast float %106 to i32 %109 = bitcast float %107 to i32 %110 = insertelement <2 x i32> undef, i32 %108, i32 0 %111 = insertelement <2 x i32> %110, i32 %109, i32 1 %112 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %111, <32 x i8> %28, <16 x i8> %30, i32 2) %113 = extractelement <4 x float> %112, i32 2 %114 = call float @fabs(float %113) %115 = fmul float %43, %43 %116 = fmul float %44, %44 %117 = fadd float %116, %115 %118 = fmul float %45, %45 %119 = fadd float %117, %118 %120 = call float @llvm.AMDGPU.rsq(float %119) %121 = fmul float %120, %119 %122 = fsub float -0.000000e+00, %119 %123 = call float @llvm.AMDGPU.cndlt(float %122, float %121, float 0.000000e+00) %124 = fsub float -0.000000e+00, %123 %125 = fadd float %114, %124 %126 = fcmp uge float %125, 0.000000e+00 %127 = select i1 %126, float %125, float 0.000000e+00 %128 = fsub float -0.000000e+00, %46 %129 = fmul float %128, %127 %130 = call float @llvm.AMDIL.exp.(float %129) %131 = fsub float -0.000000e+00, %130 %132 = fadd float 1.000000e+00, %131 %133 = fmul float %43, %22 %134 = fmul float %44, %23 %135 = fadd float %134, %133 %136 = fmul float %45, %24 %137 = fadd float %135, %136 %138 = fadd float %137, -1.000000e+00 %139 = call float @llvm.AMDIL.clamp.(float %138, float 0.000000e+00, float 1.000000e+00) %140 = fmul float %132, %139 %141 = fmul float %47, %47 %142 = fmul float %48, %48 %143 = fadd float %142, %141 %144 = fmul float %49, %49 %145 = fadd float %143, %144 %146 = call float @llvm.AMDGPU.rsq(float %145) %147 = fmul float %47, %146 %148 = fmul float %48, %146 %149 = fmul float %147, %103 %150 = fmul float %148, %105 %151 = fadd float %149, %150 %152 = fmul float %50, %50 %153 = fmul float %51, %51 %154 = fadd float %153, %152 %155 = fmul float %52, %52 %156 = fadd float %154, %155 %157 = call float @llvm.AMDGPU.rsq(float %156) %158 = fmul float %50, %157 %159 = fmul float %51, %157 %160 = fmul float %158, %103 %161 = fmul float %159, %105 %162 = fadd float %160, %161 %163 = fsub float -0.000000e+00, %151 %164 = fsub float -0.000000e+00, %162 %165 = call float @llvm.AMDIL.clamp.(float %151, float 0.000000e+00, float 1.000000e+00) %166 = call float @llvm.AMDIL.clamp.(float %162, float 0.000000e+00, float 1.000000e+00) %167 = call float @llvm.AMDIL.clamp.(float %163, float 0.000000e+00, float 1.000000e+00) %168 = call float @llvm.AMDIL.clamp.(float %164, float 0.000000e+00, float 1.000000e+00) %169 = fdiv float 1.000000e+00, %40 %170 = fmul float %39, %169 %171 = call float @llvm.AMDIL.clamp.(float %170, float 0.000000e+00, float 1.000000e+00) %172 = fmul float %26, %171 %173 = fmul float %140, 4.000000e+00 %174 = call float @llvm.AMDIL.clamp.(float %173, float 0.000000e+00, float 1.000000e+00) %175 = fmul float %172, %174 %176 = fmul float %165, %175 %177 = fadd float %176, 0x3F70101020000000 %178 = fmul float %166, %175 %179 = fadd float %178, 0x3F70101020000000 %180 = fmul float %167, %175 %181 = fadd float %180, 0x3F70101020000000 %182 = fmul float %168, %175 %183 = fadd float %182, 0x3F70101020000000 %184 = call i32 @llvm.SI.packf16(float %177, float %179) %185 = bitcast i32 %184 to float %186 = call i32 @llvm.SI.packf16(float %181, float %183) %187 = bitcast i32 %186 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %185, float %187, float %185, float %187) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #3 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readonly } attributes #3 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080900 c8090901 c80c0800 c80d0801 10080703 d2820004 04120502 c8140a00 c8150a01 d2820004 04120b05 7e0c5b04 100c0906 d2060004 22010104 d0080008 02020880 d2000004 00220c80 c8181d00 c8191d01 c81c1f00 c81d1f01 7e0e5507 10120f06 c8181c00 c8191c01 10100f06 c0840300 c0c60500 bf8c007f f0800400 00430608 bf8c0770 d2060106 02010106 08080906 d00c0008 02010104 d2000004 00220880 c8180b00 c8190b01 d2060006 22010106 10080906 7e084b04 080808f2 c0840100 bf8c007f c200090c bf8c007f 10060600 c200090d bf8c007f d2820002 040c0102 c200090e bf8c007f d2820002 04080105 060404f3 d2060802 02010102 10040504 100404f6 d2060802 02010102 c80c0200 c80d0201 c8100300 c8110301 7e085504 10060903 d2060803 02010103 c2000914 bf8c007f 10060600 10040503 c8101700 c8111701 c80c1600 c80d1601 c0860304 c0c80508 bf8c007f f0800300 00640303 c8181500 c8191501 c8141400 c8151401 f0800300 00640505 bf8c0770 060e0705 c8241900 c8251901 c8201800 c8211801 c0800308 c0c60510 bf8c007f f0800300 00030808 bf8c0770 060e1107 c82c1b00 c82d1b01 c8281a00 c8291a01 f0800300 00030a0a bf8c0770 060e1507 d2820007 03cde107 c8300400 c8310401 c2000910 bf8c007f d2820007 04300107 06060906 06061303 06061703 d2820003 03cde103 c8100500 c8110501 d2820003 04100103 c8101100 c8111101 c8141000 c8151001 100c0b05 d2820006 041a0904 c8201200 c8211201 d2820006 041a1108 7e0c5b06 10080d04 10080704 100a0d05 d2820004 04120f05 d2060005 22010104 d2060805 02010105 7e0c02ff 3b808081 d2820005 041a0505 c8200d00 c8210d01 c8240c00 c8250c01 10141309 d282000a 042a1108 c82c0e00 c82d0e01 d2820000 042a170b 7e005b00 10020108 10020701 10000109 d2820000 04060f00 d2060001 22010100 d2060801 02010101 d2820001 041a0501 5e020b01 d2060803 02010104 d2820003 041a0503 d2060800 02010100 d2820000 041a0500 5e000700 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL OUT[7], GENERIC[6] DCL OUT[8], GENERIC[7] DCL CONST[0..34] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 16.0000, 0.5000} 0: MUL TEMP[0], CONST[22], IN[0].xxxx 1: MAD TEMP[0], CONST[23], IN[0].yyyy, TEMP[0] 2: ADD TEMP[0], TEMP[0], CONST[24] 3: ADD TEMP[0], TEMP[0], CONST[25] 4: RCP TEMP[1].x, TEMP[0].wwww 5: MAD TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx, -CONST[26].xyzz 6: MOV TEMP[1].w, IMM[0].xxxx 7: MOV TEMP[1].xyz, CONST[26].xyzx 8: DP4 TEMP[1].x, CONST[27], TEMP[1] 9: MOV TEMP[1].x, -TEMP[1].xxxx 10: DP3 TEMP[2].x, CONST[27].xyzz, TEMP[0].xyzz 11: FSLT TEMP[3].x, IMM[0].yyyy, CONST[27].wwww 12: UIF TEMP[3].xxxx :0 13: MIN TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 14: ELSE :0 15: MAX TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 16: ENDIF 17: RCP TEMP[2].x, TEMP[3].xxxx 18: MUL TEMP[2].x, TEMP[1].xxxx, TEMP[2].xxxx 19: MAD TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx, CONST[13].xyzz 20: ADD TEMP[1].xyz, TEMP[2].xyzz, CONST[26].xyzz 21: MOV TEMP[2].x, CONST[15].zzzz 22: MOV TEMP[2].y, CONST[16].zzzz 23: MOV TEMP[2].z, CONST[17].zzzz 24: MOV TEMP[3].x, CONST[15].xxxx 25: MOV TEMP[3].y, CONST[16].xxxx 26: MOV TEMP[3].z, CONST[17].xxxx 27: MOV TEMP[4].x, CONST[15].yyyy 28: MOV TEMP[4].y, CONST[16].yyyy 29: MOV TEMP[4].z, CONST[17].yyyy 30: MOV TEMP[4].xyz, -TEMP[4].xyzx 31: MOV TEMP[5].x, CONST[15].wwww 32: MOV TEMP[5].y, CONST[16].wwww 33: MOV TEMP[5].z, CONST[17].wwww 34: ADD TEMP[5].xyz, TEMP[1].xyzz, -TEMP[5].xyzz 35: DP3 TEMP[6].x, TEMP[3].xyzz, TEMP[5].xyzz 36: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 37: MOV TEMP[6].y, TEMP[5].xxxx 38: ADD TEMP[5].xyz, TEMP[1].xyzz, -CONST[13].xyzz 39: DP3 TEMP[5].x, TEMP[5].xyzz, TEMP[5].xyzz 40: RSQ TEMP[7].x, TEMP[5].xxxx 41: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 42: CMP TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, IMM[0].yyyy 43: RCP TEMP[7].x, CONST[33].xxxx 44: MUL TEMP[7].x, TEMP[5].xxxx, TEMP[7].xxxx 45: ADD_SAT TEMP[7].x, IMM[0].xxxx, -TEMP[7].xxxx 46: MUL TEMP[8].x, CONST[0].xxxx, IMM[0].zzzz 47: ADD_SAT TEMP[5].x, TEMP[5].xxxx, -TEMP[8].xxxx 48: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 49: DP2 TEMP[7].x, CONST[28].xyyy, TEMP[6].xyyy 50: ADD TEMP[7].x, TEMP[7].xxxx, CONST[32].xxxx 51: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].zzzz 52: SIN TEMP[8].x, TEMP[7].xxxx 53: MUL TEMP[8].x, TEMP[8].xxxx, CONST[28].wwww 54: MUL TEMP[8].x, TEMP[8].xxxx, TEMP[5].xxxx 55: COS TEMP[7].x, TEMP[7].xxxx 56: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].wwww 57: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].zzzz 58: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 59: MUL TEMP[7].xy, CONST[28].xyyy, TEMP[7].xxxx 60: MOV TEMP[7].xy, -TEMP[7].xyxx 61: DP2 TEMP[9].x, CONST[29].xyyy, TEMP[6].xyyy 62: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 63: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].zzzz 64: SIN TEMP[10].x, TEMP[9].xxxx 65: MUL TEMP[10].x, TEMP[10].xxxx, CONST[29].wwww 66: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 67: COS TEMP[9].x, TEMP[9].xxxx 68: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].wwww 69: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].zzzz 70: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 71: MUL TEMP[9].xy, CONST[29].xyyy, TEMP[9].xxxx 72: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 73: DP2 TEMP[9].x, CONST[30].xyyy, TEMP[6].xyyy 74: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 75: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].zzzz 76: SIN TEMP[10].x, TEMP[9].xxxx 77: MUL TEMP[10].x, TEMP[10].xxxx, CONST[30].wwww 78: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 79: COS TEMP[9].x, TEMP[9].xxxx 80: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].wwww 81: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].zzzz 82: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 83: MUL TEMP[9].xy, CONST[30].xyyy, TEMP[9].xxxx 84: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 85: DP2 TEMP[9].x, CONST[31].xyyy, TEMP[6].xyyy 86: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 87: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].zzzz 88: SIN TEMP[10].x, TEMP[9].xxxx 89: MUL TEMP[10].x, TEMP[10].xxxx, CONST[31].wwww 90: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 91: COS TEMP[9].x, TEMP[9].xxxx 92: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].wwww 93: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].zzzz 94: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 95: MUL TEMP[5].xy, CONST[31].xyyy, TEMP[5].xxxx 96: ADD TEMP[5].xy, TEMP[7].xyyy, -TEMP[5].xyyy 97: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[8].xxxx, TEMP[1].xyzz 98: MUL TEMP[7].xyz, TEMP[3].xyzz, TEMP[5].xxxx 99: ADD TEMP[1].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 100: MUL TEMP[7].xyz, TEMP[4].xyzz, TEMP[5].yyyy 101: ADD TEMP[0].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 102: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[5].xxxx, TEMP[2].xyzz 103: MAD TEMP[1].xyz, TEMP[4].xyzz, TEMP[5].yyyy, TEMP[1].xyzz 104: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz 105: RSQ TEMP[2].x, TEMP[2].xxxx 106: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 107: ADD TEMP[2].xyz, TEMP[0].xyzz, -CONST[13].xyzz 108: RCP TEMP[3].x, CONST[0].yyyy 109: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xxxx 110: MUL TEMP[3].x, CONST[0].yyyy, CONST[34].xxxx 111: MOV TEMP[2].w, TEMP[3].xxxx 112: ADD TEMP[0].xyz, TEMP[0].xyzz, -CONST[14].xyzz 113: MUL TEMP[3], CONST[9], TEMP[0].xxxx 114: MAD TEMP[3], CONST[10], TEMP[0].yyyy, TEMP[3] 115: MAD TEMP[0], CONST[11], TEMP[0].zzzz, TEMP[3] 116: ADD TEMP[0], TEMP[0], CONST[12] 117: MOV TEMP[3].xy, TEMP[6].xyxx 118: MOV TEMP[3].z, CONST[2].yyyy 119: MOV TEMP[3].w, TEMP[0].wwww 120: MOV TEMP[5].xyz, TEMP[1].xyzx 121: MUL TEMP[7].xyz, CONST[5].xyzz, CONST[15].xxxx 122: MAD TEMP[7].xyz, CONST[6].xyzz, CONST[16].xxxx, TEMP[7].xyzz 123: MAD TEMP[7].xy, CONST[7].xyzz, CONST[17].xxxx, TEMP[7].xyzz 124: MUL TEMP[8].xyz, CONST[5].xyzz, TEMP[4].xxxx 125: MAD TEMP[8].xyz, CONST[6].xyzz, TEMP[4].yyyy, TEMP[8].xyzz 126: MAD TEMP[4].xy, CONST[7].xyzz, TEMP[4].zzzz, TEMP[8].xyzz 127: MUL TEMP[8].xyz, CONST[5].xyzz, TEMP[1].xxxx 128: MAD TEMP[8].xyz, CONST[6].xyzz, TEMP[1].yyyy, TEMP[8].xyzz 129: MAD TEMP[1].xy, CONST[7].xyzz, TEMP[1].zzzz, TEMP[8].xyzz 130: MOV TEMP[8].x, TEMP[7].xxxx 131: MOV TEMP[8].y, TEMP[4].xxxx 132: MOV TEMP[8].z, TEMP[1].xxxx 133: MOV TEMP[8].xyz, TEMP[8].xyzx 134: MOV TEMP[7].x, TEMP[7].yyyy 135: MOV TEMP[7].y, TEMP[4].yyyy 136: MOV TEMP[7].z, TEMP[1].yyyy 137: MOV TEMP[1].xyz, TEMP[7].xyzx 138: MAD TEMP[4].xy, TEMP[6].xyyy, CONST[18].xyyy, CONST[18].zwww 139: MAD TEMP[7].xy, TEMP[6].xyyy, CONST[19].xyyy, CONST[19].zwww 140: MOV TEMP[4].zw, TEMP[7].yyxy 141: MAD TEMP[7].xy, TEMP[6].xyyy, CONST[20].xyyy, CONST[20].zwww 142: MAD TEMP[6].xy, TEMP[6].xyyy, CONST[21].xyyy, CONST[21].zwww 143: MOV TEMP[7].zw, TEMP[6].yyxy 144: ADD TEMP[6], TEMP[0], TEMP[0].wwww 145: MUL TEMP[6], TEMP[6], IMM[0].wwww 146: MOV OUT[1], TEMP[3] 147: MOV OUT[2], TEMP[5] 148: MOV OUT[3], TEMP[2] 149: MOV OUT[4], TEMP[8] 150: MOV OUT[5], TEMP[1] 151: MOV OUT[6], TEMP[4] 152: MOV OUT[7], TEMP[7] 153: MOV OUT[0], TEMP[0] 154: MOV OUT[8], TEMP[6] 155: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 156) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 172) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 180) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 184) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 188) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 192) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 196) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 200) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 204) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 208) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 212) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 216) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 224) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 228) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 232) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 240) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 244) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 248) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 252) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 256) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 260) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 264) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 268) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 272) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 276) %52 = call float @llvm.SI.load.const(<16 x i8> %10, i32 280) %53 = call float @llvm.SI.load.const(<16 x i8> %10, i32 284) %54 = call float @llvm.SI.load.const(<16 x i8> %10, i32 288) %55 = call float @llvm.SI.load.const(<16 x i8> %10, i32 292) %56 = call float @llvm.SI.load.const(<16 x i8> %10, i32 296) %57 = call float @llvm.SI.load.const(<16 x i8> %10, i32 300) %58 = call float @llvm.SI.load.const(<16 x i8> %10, i32 304) %59 = call float @llvm.SI.load.const(<16 x i8> %10, i32 308) %60 = call float @llvm.SI.load.const(<16 x i8> %10, i32 312) %61 = call float @llvm.SI.load.const(<16 x i8> %10, i32 316) %62 = call float @llvm.SI.load.const(<16 x i8> %10, i32 320) %63 = call float @llvm.SI.load.const(<16 x i8> %10, i32 324) %64 = call float @llvm.SI.load.const(<16 x i8> %10, i32 328) %65 = call float @llvm.SI.load.const(<16 x i8> %10, i32 332) %66 = call float @llvm.SI.load.const(<16 x i8> %10, i32 336) %67 = call float @llvm.SI.load.const(<16 x i8> %10, i32 340) %68 = call float @llvm.SI.load.const(<16 x i8> %10, i32 344) %69 = call float @llvm.SI.load.const(<16 x i8> %10, i32 348) %70 = call float @llvm.SI.load.const(<16 x i8> %10, i32 352) %71 = call float @llvm.SI.load.const(<16 x i8> %10, i32 356) %72 = call float @llvm.SI.load.const(<16 x i8> %10, i32 360) %73 = call float @llvm.SI.load.const(<16 x i8> %10, i32 364) %74 = call float @llvm.SI.load.const(<16 x i8> %10, i32 368) %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 372) %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 376) %77 = call float @llvm.SI.load.const(<16 x i8> %10, i32 380) %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 384) %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 388) %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 392) %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 396) %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 400) %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 404) %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 408) %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 412) %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 416) %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 420) %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 424) %89 = call float @llvm.SI.load.const(<16 x i8> %10, i32 432) %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 436) %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 440) %92 = call float @llvm.SI.load.const(<16 x i8> %10, i32 444) %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 448) %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 452) %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 456) %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 460) %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 464) %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 468) %99 = call float @llvm.SI.load.const(<16 x i8> %10, i32 472) %100 = call float @llvm.SI.load.const(<16 x i8> %10, i32 476) %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 480) %102 = call float @llvm.SI.load.const(<16 x i8> %10, i32 484) %103 = call float @llvm.SI.load.const(<16 x i8> %10, i32 488) %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 492) %105 = call float @llvm.SI.load.const(<16 x i8> %10, i32 496) %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 500) %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 504) %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 508) %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 512) %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 528) %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 544) %112 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %113 = load <16 x i8> addrspace(2)* %112, !tbaa !0 %114 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %113, i32 0, i32 %5) %115 = extractelement <4 x float> %114, i32 0 %116 = extractelement <4 x float> %114, i32 1 %117 = fmul float %70, %115 %118 = fmul float %71, %115 %119 = fmul float %72, %115 %120 = fmul float %73, %115 %121 = fmul float %74, %116 %122 = fadd float %121, %117 %123 = fmul float %75, %116 %124 = fadd float %123, %118 %125 = fmul float %76, %116 %126 = fadd float %125, %119 %127 = fmul float %77, %116 %128 = fadd float %127, %120 %129 = fadd float %122, %78 %130 = fadd float %124, %79 %131 = fadd float %126, %80 %132 = fadd float %128, %81 %133 = fadd float %129, %82 %134 = fadd float %130, %83 %135 = fadd float %131, %84 %136 = fadd float %132, %85 %137 = fdiv float 1.000000e+00, %136 %138 = fsub float -0.000000e+00, %86 %139 = fmul float %133, %137 %140 = fadd float %139, %138 %141 = fsub float -0.000000e+00, %87 %142 = fmul float %134, %137 %143 = fadd float %142, %141 %144 = fsub float -0.000000e+00, %88 %145 = fmul float %135, %137 %146 = fadd float %145, %144 %147 = fmul float %89, %86 %148 = fmul float %90, %87 %149 = fadd float %147, %148 %150 = fmul float %91, %88 %151 = fadd float %149, %150 %152 = fmul float %92, 1.000000e+00 %153 = fadd float %151, %152 %154 = fsub float -0.000000e+00, %153 %155 = fmul float %89, %140 %156 = fmul float %90, %143 %157 = fadd float %156, %155 %158 = fmul float %91, %146 %159 = fadd float %157, %158 %160 = fcmp olt float 0.000000e+00, %92 %161 = sext i1 %160 to i32 %162 = bitcast i32 %161 to float %163 = bitcast float %162 to i32 %164 = icmp ne i32 %163, 0 %165 = fcmp uge float %159, 0.000000e+00 br i1 %164, label %IF, label %ELSE IF: ; preds = %main_body %166 = select i1 %165, float 0.000000e+00, float %159 br label %ENDIF ELSE: ; preds = %main_body %167 = select i1 %165, float %159, float 0.000000e+00 br label %ENDIF ENDIF: ; preds = %ELSE, %IF %temp12.0 = phi float [ %166, %IF ], [ %167, %ELSE ] %168 = fdiv float 1.000000e+00, %temp12.0 %169 = fmul float %154, %168 %170 = fmul float %140, %169 %171 = fadd float %170, %36 %172 = fmul float %143, %169 %173 = fadd float %172, %37 %174 = fmul float %146, %169 %175 = fadd float %174, %38 %176 = fadd float %171, %86 %177 = fadd float %173, %87 %178 = fadd float %175, %88 %179 = fsub float -0.000000e+00, %43 %180 = fsub float -0.000000e+00, %47 %181 = fsub float -0.000000e+00, %51 %182 = fsub float -0.000000e+00, %45 %183 = fadd float %176, %182 %184 = fsub float -0.000000e+00, %49 %185 = fadd float %177, %184 %186 = fsub float -0.000000e+00, %53 %187 = fadd float %178, %186 %188 = fmul float %42, %183 %189 = fmul float %46, %185 %190 = fadd float %189, %188 %191 = fmul float %50, %187 %192 = fadd float %190, %191 %193 = fmul float %179, %183 %194 = fmul float %180, %185 %195 = fadd float %194, %193 %196 = fmul float %181, %187 %197 = fadd float %195, %196 %198 = fsub float -0.000000e+00, %36 %199 = fadd float %176, %198 %200 = fsub float -0.000000e+00, %37 %201 = fadd float %177, %200 %202 = fsub float -0.000000e+00, %38 %203 = fadd float %178, %202 %204 = fmul float %199, %199 %205 = fmul float %201, %201 %206 = fadd float %205, %204 %207 = fmul float %203, %203 %208 = fadd float %206, %207 %209 = call float @llvm.AMDGPU.rsq(float %208) %210 = fmul float %209, %208 %211 = fsub float -0.000000e+00, %208 %212 = call float @llvm.AMDGPU.cndlt(float %211, float %210, float 0.000000e+00) %213 = fdiv float 1.000000e+00, %110 %214 = fmul float %212, %213 %215 = fsub float -0.000000e+00, %214 %216 = fadd float 1.000000e+00, %215 %217 = call float @llvm.AMDIL.clamp.(float %216, float 0.000000e+00, float 1.000000e+00) %218 = fmul float %11, 1.600000e+01 %219 = fsub float -0.000000e+00, %218 %220 = fadd float %212, %219 %221 = call float @llvm.AMDIL.clamp.(float %220, float 0.000000e+00, float 1.000000e+00) %222 = fmul float %217, %221 %223 = fmul float %93, %192 %224 = fmul float %94, %197 %225 = fadd float %223, %224 %226 = fadd float %225, %109 %227 = fmul float %226, %95 %228 = call float @llvm.sin.f32(float %227) %229 = fmul float %228, %96 %230 = fmul float %229, %222 %231 = call float @llvm.cos.f32(float %227) %232 = fmul float %231, %96 %233 = fmul float %232, %95 %234 = fmul float %233, %222 %235 = fmul float %93, %234 %236 = fmul float %94, %234 %237 = fsub float -0.000000e+00, %235 %238 = fsub float -0.000000e+00, %236 %239 = fmul float %97, %192 %240 = fmul float %98, %197 %241 = fadd float %239, %240 %242 = fadd float %241, %109 %243 = fmul float %242, %99 %244 = call float @llvm.sin.f32(float %243) %245 = fmul float %244, %100 %246 = fmul float %245, %222 %247 = fadd float %246, %230 %248 = call float @llvm.cos.f32(float %243) %249 = fmul float %248, %100 %250 = fmul float %249, %99 %251 = fmul float %250, %222 %252 = fmul float %97, %251 %253 = fmul float %98, %251 %254 = fsub float -0.000000e+00, %252 %255 = fadd float %237, %254 %256 = fsub float -0.000000e+00, %253 %257 = fadd float %238, %256 %258 = fmul float %101, %192 %259 = fmul float %102, %197 %260 = fadd float %258, %259 %261 = fadd float %260, %109 %262 = fmul float %261, %103 %263 = call float @llvm.sin.f32(float %262) %264 = fmul float %263, %104 %265 = fmul float %264, %222 %266 = fadd float %265, %247 %267 = call float @llvm.cos.f32(float %262) %268 = fmul float %267, %104 %269 = fmul float %268, %103 %270 = fmul float %269, %222 %271 = fmul float %101, %270 %272 = fmul float %102, %270 %273 = fsub float -0.000000e+00, %271 %274 = fadd float %255, %273 %275 = fsub float -0.000000e+00, %272 %276 = fadd float %257, %275 %277 = fmul float %105, %192 %278 = fmul float %106, %197 %279 = fadd float %277, %278 %280 = fadd float %279, %109 %281 = fmul float %280, %107 %282 = call float @llvm.sin.f32(float %281) %283 = fmul float %282, %108 %284 = fmul float %283, %222 %285 = fadd float %284, %266 %286 = call float @llvm.cos.f32(float %281) %287 = fmul float %286, %108 %288 = fmul float %287, %107 %289 = fmul float %288, %222 %290 = fmul float %105, %289 %291 = fmul float %106, %289 %292 = fsub float -0.000000e+00, %290 %293 = fadd float %274, %292 %294 = fsub float -0.000000e+00, %291 %295 = fadd float %276, %294 %296 = fmul float %44, %285 %297 = fadd float %296, %176 %298 = fmul float %48, %285 %299 = fadd float %298, %177 %300 = fmul float %52, %285 %301 = fadd float %300, %178 %302 = fmul float %42, %293 %303 = fmul float %46, %293 %304 = fmul float %50, %293 %305 = fsub float -0.000000e+00, %302 %306 = fadd float %297, %305 %307 = fsub float -0.000000e+00, %303 %308 = fadd float %299, %307 %309 = fsub float -0.000000e+00, %304 %310 = fadd float %301, %309 %311 = fmul float %179, %295 %312 = fmul float %180, %295 %313 = fmul float %181, %295 %314 = fsub float -0.000000e+00, %311 %315 = fadd float %306, %314 %316 = fsub float -0.000000e+00, %312 %317 = fadd float %308, %316 %318 = fsub float -0.000000e+00, %313 %319 = fadd float %310, %318 %320 = fmul float %42, %293 %321 = fadd float %320, %44 %322 = fmul float %46, %293 %323 = fadd float %322, %48 %324 = fmul float %50, %293 %325 = fadd float %324, %52 %326 = fmul float %179, %295 %327 = fadd float %326, %321 %328 = fmul float %180, %295 %329 = fadd float %328, %323 %330 = fmul float %181, %295 %331 = fadd float %330, %325 %332 = fmul float %327, %327 %333 = fmul float %329, %329 %334 = fadd float %333, %332 %335 = fmul float %331, %331 %336 = fadd float %334, %335 %337 = call float @llvm.AMDGPU.rsq(float %336) %338 = fmul float %327, %337 %339 = fmul float %329, %337 %340 = fmul float %331, %337 %341 = fsub float -0.000000e+00, %36 %342 = fadd float %315, %341 %343 = fsub float -0.000000e+00, %37 %344 = fadd float %317, %343 %345 = fsub float -0.000000e+00, %38 %346 = fadd float %319, %345 %347 = fdiv float 1.000000e+00, %12 %348 = fmul float %342, %347 %349 = fmul float %344, %347 %350 = fmul float %346, %347 %351 = fmul float %12, %111 %352 = fsub float -0.000000e+00, %39 %353 = fadd float %315, %352 %354 = fsub float -0.000000e+00, %40 %355 = fadd float %317, %354 %356 = fsub float -0.000000e+00, %41 %357 = fadd float %319, %356 %358 = fmul float %20, %353 %359 = fmul float %21, %353 %360 = fmul float %22, %353 %361 = fmul float %23, %353 %362 = fmul float %24, %355 %363 = fadd float %362, %358 %364 = fmul float %25, %355 %365 = fadd float %364, %359 %366 = fmul float %26, %355 %367 = fadd float %366, %360 %368 = fmul float %27, %355 %369 = fadd float %368, %361 %370 = fmul float %28, %357 %371 = fadd float %370, %363 %372 = fmul float %29, %357 %373 = fadd float %372, %365 %374 = fmul float %30, %357 %375 = fadd float %374, %367 %376 = fmul float %31, %357 %377 = fadd float %376, %369 %378 = fadd float %371, %32 %379 = fadd float %373, %33 %380 = fadd float %375, %34 %381 = fadd float %377, %35 %382 = fmul float %14, %42 %383 = fmul float %15, %42 %384 = fmul float %16, %46 %385 = fadd float %384, %382 %386 = fmul float %17, %46 %387 = fadd float %386, %383 %388 = fmul float %18, %50 %389 = fadd float %388, %385 %390 = fmul float %19, %50 %391 = fadd float %390, %387 %392 = fmul float %14, %179 %393 = fmul float %15, %179 %394 = fmul float %16, %180 %395 = fadd float %394, %392 %396 = fmul float %17, %180 %397 = fadd float %396, %393 %398 = fmul float %18, %181 %399 = fadd float %398, %395 %400 = fmul float %19, %181 %401 = fadd float %400, %397 %402 = fmul float %14, %338 %403 = fmul float %15, %338 %404 = fmul float %16, %339 %405 = fadd float %404, %402 %406 = fmul float %17, %339 %407 = fadd float %406, %403 %408 = fmul float %18, %340 %409 = fadd float %408, %405 %410 = fmul float %19, %340 %411 = fadd float %410, %407 %412 = fmul float %192, %54 %413 = fadd float %412, %56 %414 = fmul float %197, %55 %415 = fadd float %414, %57 %416 = fmul float %192, %58 %417 = fadd float %416, %60 %418 = fmul float %197, %59 %419 = fadd float %418, %61 %420 = fmul float %192, %62 %421 = fadd float %420, %64 %422 = fmul float %197, %63 %423 = fadd float %422, %65 %424 = fmul float %192, %66 %425 = fadd float %424, %68 %426 = fmul float %197, %67 %427 = fadd float %426, %69 %428 = fadd float %378, %381 %429 = fadd float %379, %381 %430 = fadd float %380, %381 %431 = fadd float %381, %381 %432 = fmul float %428, 5.000000e-01 %433 = fmul float %429, 5.000000e-01 %434 = fmul float %430, 5.000000e-01 %435 = fmul float %431, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %192, float %197, float %13, float %381) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %338, float %339, float %340, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %348, float %349, float %350, float %351) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %389, float %399, float %409, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %391, float %401, float %411, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %413, float %415, float %417, float %419) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 38, i32 0, float %421, float %423, float %425, float %427) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 39, i32 0, float %432, float %433, float %434, float %435) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %378, float %379, float %380, float %381) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c09e0100 bf8c0070 c2003d59 bf8c007f 10080000 c2003d5d bf8c007f d2820004 04120200 c2003d61 bf8c007f 06080800 c2003d65 bf8c007f 06080800 c2003d5b bf8c007f 100a0000 c2003d5f bf8c007f d2820005 04160200 c2003d63 bf8c007f 060a0a00 c2003d67 bf8c007f 060a0a00 7e0a5505 10080b04 c21a3d69 bf8c007f 0a120834 c2003d58 bf8c007f 10080000 c2003d5c bf8c007f d2820004 04120200 c2003d60 bf8c007f 06080800 c2003d64 bf8c007f 06080800 10080b04 c21b3d68 bf8c007f 0a140836 c2003d6c bf8c007f 10081400 c200bd6d bf8c007f d2820004 04121201 c2013d5a bf8c007f 100c0002 c2013d5e bf8c007f d2820000 041a0202 c2013d62 bf8c007f 06000002 c2013d66 bf8c007f 06000002 10000b00 c21d3d6a bf8c007f 0a16003a c2013d6e bf8c007f d2820012 04121602 7e000234 d2100000 02020001 7e020236 d2820000 04020200 7e02023a d2820000 04020202 c2043d6f bf8c007f 06000008 d2060013 22010100 c2233d88 c216bd80 c2123d7f c211bd7e c2103d7d c2113d7c c214bd7b c2143d7a c210bd79 c213bd78 c2183d77 c217bd76 c212bd75 c2173d74 c2163d73 c215bd72 c2133d71 c2153d70 c223bd57 c2243d56 c224bd53 c2253d52 c225bd4f c2263d4e c226bd4b c2273d4a c227bd46 c202bd45 c2013d44 c2283d42 c2023d40 c228bd3e c2073d3d c203bd3c c2293d36 c229bd35 c22a3d34 c2003d1d c2033d1c c200bd19 c206bd18 c201bd15 c208bd14 c22abd09 c20f3d01 d0080008 02010008 d2000000 00218280 d1040008 02010100 bf8c007f bec42408 89c4447e d00c0008 02010112 d2000015 00222480 bec42544 c2203d84 c204bd55 c2053d54 c205bd51 c2063d50 c20abd4d c20b3d4c c20bbd49 c20c3d48 c220bd47 c2213d43 c21dbd41 c221bd3f c218bd3a c21bbd39 c21abd38 c2193d33 c2093d32 c207bd31 c2043d30 c219bd2f c20cbd2e c209bd2d c2083d2c c21c3d2b c20e3d2a c20d3d29 c20a3d28 c21cbd27 c20fbd26 c20ebd25 c20dbd24 c21e3d00 7e100246 7e060247 7e040248 7e020249 7e00024a 7e0e024b 7e0c024c 7e0a024d 7e08024e 7e1e024f 7e220250 7e200251 7e1c0252 7e1a0253 7e180254 7e280255 bf8c007f 89fe447e d00c003e 02010112 d2000015 00f90112 88fe447e 7e245515 10242513 d2820009 04362509 06121234 0a26130d d282000a 0432250a 06141436 0a2a150c 102a2b15 d2820013 04562713 d282000b 043a250b 0616163a 0a24170e d2820012 044e2512 7e265b12 10262513 d2060012 22010112 d008003e 02022480 d2000012 00fa2680 7e2602ff c1800000 d2820013 044a263c d2060813 02010113 7e2a5440 10242b12 082424f2 d2060812 02010112 10242712 0a261242 0a2a1443 102c2a07 d2820016 045a2604 0a2e1641 d2820016 045a2e02 102a2a0e d2060018 2201003b 10262718 08262b13 102a2e05 08262b13 102a2626 d2820015 04562c2a 062a2a2d 102a2a2b 102a2aff 3e22f983 7e2e6b15 102e2e2c 102e2517 10322625 d2820019 04662c2e 0632322d 1032322f 103232ff 3e22f983 7e346b19 10343430 d2820017 045e251a 10342621 d282001a 046a2c27 0634342d 10343428 103434ff 3e22f983 7e366b1a 10363629 d2820017 045e251b 10362620 d282001b 046e2c22 0636362d 10363623 103636ff 3e22f983 7e386b1b 10383824 d2820017 045e251c d2820009 04262f11 7e326d19 10323230 1032322f 10322519 1038322e 7e2a6d15 102a2a2c 102a2a2b 102a2515 103a2a2a d206001d 2201011d 0838391d 7e346d1a 10343429 10343428 1034251a 103a3427 08383b1c 7e366d1b 10363624 10363623 1024251b 10362422 0836371c 10383604 08123909 10323225 102a2a26 d2060015 22010115 082a3315 10323421 082a3315 10242420 08242515 102a2518 08122b09 0a2a1237 d282000a 042a2f10 10323607 0814330a d2060019 2201000e 10342519 0814350a 0a341435 10383439 d282001c 04722a38 d282000b 042e2f0f 102e3602 08162f0b d2060017 22010005 103a2517 08163b0b 0a3a1631 d282001c 04723a33 06383832 f800020f 1c141316 d2820011 04463604 d2820011 04462518 d2820010 04423607 d2820010 04422519 bf8c070f 10282110 d2820014 04522311 d282000f 043e3602 d282000f 043e2517 d2820012 04521f0f 7e245b12 101e250f 10222511 10202510 7e240280 f800021f 120f1110 0a16170e 7e1c541e 10161d0b 0a12130d 10121d09 0a14150c 10141d0a d2100008 0202101e f800022f 080b090a bf8c070f 10102011 d2820008 0422220d d2820008 04221e06 7e12020e d210000a 02021211 1016300d 0814150b 7e160205 d210000c 02021606 0814190a 7e180207 d210000d 02021811 7e1c0204 d282000d 04361c0d 7e280202 d282000d 04362806 f800023f 12080a0d bf8c070f 10102003 d2820008 04222201 d2820008 04221e00 d2100009 02021203 10143001 0812130a d210000a 02021600 08121509 d210000a 02021803 d282000a 042a1c01 d282000a 042a2800 7e1602f2 f800024f 0b08090a d2820007 041c2b13 d2820006 04182d16 d2820005 04142f13 d2820004 04103116 f800025f 07060504 d2820003 040c1313 d2820002 04081516 d2820001 04041713 d2820000 04001916 f800026f 03020100 bf8c070f 1000341f d2820000 04022a1c d2820000 04023a19 06000012 06023900 100202f0 1004341d d2820002 040a2a1a d2820002 040a3a13 0604040f 06063902 100606f0 1008341b d2820004 04122a14 d2820004 04123a10 06080808 060a3904 100a0af0 060c391c 100c0cf0 f800027f 06010305 f80008cf 1c000204 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %28 = load <16 x i8> addrspace(2)* %27, !tbaa !0 %29 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %28, i32 0, i32 %5) %30 = extractelement <4 x float> %29, i32 0 %31 = extractelement <4 x float> %29, i32 1 %32 = extractelement <4 x float> %29, i32 2 %33 = extractelement <4 x float> %29, i32 3 %34 = fmul float %30, %11 %35 = fmul float %30, %12 %36 = fmul float %30, %13 %37 = fmul float %30, %14 %38 = fmul float %31, %15 %39 = fadd float %38, %34 %40 = fmul float %31, %16 %41 = fadd float %40, %35 %42 = fmul float %31, %17 %43 = fadd float %42, %36 %44 = fmul float %31, %18 %45 = fadd float %44, %37 %46 = fmul float %32, %19 %47 = fadd float %46, %39 %48 = fmul float %32, %20 %49 = fadd float %48, %41 %50 = fmul float %32, %21 %51 = fadd float %50, %43 %52 = fmul float %32, %22 %53 = fadd float %52, %45 %54 = fmul float %33, %23 %55 = fadd float %54, %47 %56 = fmul float %33, %24 %57 = fadd float %56, %49 %58 = fmul float %33, %25 %59 = fadd float %58, %51 %60 = fmul float %33, %26 %61 = fadd float %60, %53 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %55, float %57, float %59, float %61) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0800100 bf8c0070 c2020103 bf8c007f 7e080204 d2100004 02020900 c2020107 bf8c007f 7e0a0204 d2820004 04120b01 c202010b bf8c007f 7e0a0204 d2820004 04120b02 c202010f bf8c007f 7e0a0204 d2820004 04120b03 c2020102 bf8c007f 7e0a0204 d2100005 02020b00 c2020106 bf8c007f 7e0c0204 d2820005 04160d01 c202010a bf8c007f 7e0c0204 d2820005 04160d02 c202010e bf8c007f 7e0c0204 d2820005 04160d03 c2020101 bf8c007f 7e0c0204 d2100006 02020d00 c2020105 bf8c007f 7e0e0204 d2820006 041a0f01 c2020109 bf8c007f 7e0e0204 d2820006 041a0f02 c202010d bf8c007f 7e0e0204 d2820006 041a0f03 c2020100 bf8c007f 7e0e0204 d2100007 02020f00 c2020104 bf8c007f 7e100204 d2820007 041e1101 c2020108 bf8c007f 7e100204 d2820007 041e1102 c200010c bf8c007f 7e100200 d2820000 041e1103 f80008cf 04050600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[0..11] DCL CONST[18..19] DCL TEMP[0..12], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.5000, 3.0000, 4.0000, 0.1667} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[0].xyyy 3: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 4: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].xxxx, IMM[0].yyyy 5: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 6: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 7: RSQ TEMP[3].x, TEMP[2].xxxx 8: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 9: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].wwww 10: MOV TEMP[1].z, TEMP[3].xxxx 11: MUL TEMP[2].xyz, TEMP[0].xyzz, CONST[0].xyzz 12: DP3 TEMP[3].x, TEMP[1].xyzz, IN[1].xyzz 13: DP3 TEMP[4].x, TEMP[1].xyzz, IN[2].xyzz 14: MOV TEMP[3].y, TEMP[4].xxxx 15: DP3 TEMP[1].x, TEMP[1].xyzz, IN[3].xyzz 16: MOV TEMP[3].z, TEMP[1].xxxx 17: MAD TEMP[1].xy, IN[0].zwww, CONST[10].xyyy, IMM[1].xxxx 18: FRC TEMP[4].x, TEMP[1].xxxx 19: MUL TEMP[5].x, TEMP[4].xxxx, TEMP[4].xxxx 20: MUL TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx 21: MUL TEMP[7].x, TEMP[4].xxxx, IMM[1].yyyy 22: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 23: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].yyyy 24: MUL TEMP[9].x, TEMP[5].xxxx, IMM[0].xxxx 25: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[9].xxxx 26: ADD TEMP[9].x, TEMP[9].xxxx, IMM[1].zzzz 27: ADD TEMP[8].x, -TEMP[8].xxxx, TEMP[5].xxxx 28: ADD TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 29: ADD TEMP[8].x, TEMP[8].xxxx, IMM[0].zzzz 30: ADD TEMP[10].x, TEMP[8].xxxx, TEMP[6].xxxx 31: RCP TEMP[10].x, TEMP[10].xxxx 32: MAD TEMP[10].x, TEMP[6].xxxx, TEMP[10].xxxx, IMM[0].zzzz 33: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[4].xxxx 34: ADD TEMP[5].x, -TEMP[6].xxxx, TEMP[5].xxxx 35: ADD TEMP[5].x, TEMP[5].xxxx, -TEMP[7].xxxx 36: ADD TEMP[5].x, TEMP[5].xxxx, IMM[0].zzzz 37: ADD TEMP[5].x, TEMP[5].xxxx, TEMP[9].xxxx 38: RCP TEMP[5].x, TEMP[5].xxxx 39: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 40: ADD TEMP[5].x, IMM[0].zzzz, -TEMP[5].xxxx 41: ADD TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 42: ADD TEMP[5].x, TEMP[8].xxxx, TEMP[6].xxxx 43: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 44: FRC TEMP[1].x, TEMP[1].yyyy 45: MUL TEMP[6].x, TEMP[1].xxxx, TEMP[1].xxxx 46: MUL TEMP[7].x, TEMP[6].xxxx, TEMP[1].xxxx 47: MUL TEMP[8].x, TEMP[1].xxxx, IMM[1].yyyy 48: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].yyyy 49: MUL TEMP[9].x, TEMP[7].xxxx, IMM[1].yyyy 50: MUL TEMP[11].x, TEMP[6].xxxx, IMM[0].xxxx 51: ADD TEMP[11].x, TEMP[9].xxxx, -TEMP[11].xxxx 52: ADD TEMP[11].x, TEMP[11].xxxx, IMM[1].zzzz 53: ADD TEMP[9].x, -TEMP[9].xxxx, TEMP[6].xxxx 54: ADD TEMP[9].x, TEMP[9].xxxx, TEMP[8].xxxx 55: ADD TEMP[9].x, TEMP[9].xxxx, IMM[0].zzzz 56: ADD TEMP[12].x, TEMP[9].xxxx, TEMP[7].xxxx 57: RCP TEMP[12].x, TEMP[12].xxxx 58: MAD TEMP[12].x, TEMP[7].xxxx, TEMP[12].xxxx, IMM[0].zzzz 59: ADD TEMP[12].x, TEMP[12].xxxx, -TEMP[1].xxxx 60: ADD TEMP[6].x, -TEMP[7].xxxx, TEMP[6].xxxx 61: ADD TEMP[6].x, TEMP[6].xxxx, -TEMP[8].xxxx 62: ADD TEMP[6].x, TEMP[6].xxxx, IMM[0].zzzz 63: ADD TEMP[6].x, TEMP[6].xxxx, TEMP[11].xxxx 64: RCP TEMP[6].x, TEMP[6].xxxx 65: MUL TEMP[6].x, TEMP[11].xxxx, TEMP[6].xxxx 66: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 67: ADD TEMP[1].x, TEMP[6].xxxx, TEMP[1].xxxx 68: ADD TEMP[6].x, TEMP[9].xxxx, TEMP[7].xxxx 69: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 70: MOV TEMP[4].x, -TEMP[4].xxxx 71: MOV TEMP[4].y, -TEMP[1].xxxx 72: MOV TEMP[4].z, TEMP[10].xxxx 73: MOV TEMP[4].w, TEMP[12].xxxx 74: MAD TEMP[1], TEMP[4], CONST[10].zwzw, IN[0].zwzw 75: MOV TEMP[3].xyz, TEMP[3].xyzz 76: TEX TEMP[3].xyz, TEMP[3], SAMP[3], CUBE 77: MUL TEMP[3].xyz, TEMP[0].xyzz, TEMP[3].xyzz 78: MOV TEMP[4].xy, TEMP[1].xyyy 79: TEX TEMP[4], TEMP[4], SAMP[4], 2D 80: MOV TEMP[7].xy, TEMP[1].xwww 81: TEX TEMP[7], TEMP[7], SAMP[4], 2D 82: LRP TEMP[4], TEMP[6].xxxx, TEMP[7], TEMP[4] 83: MOV TEMP[7].xy, TEMP[1].zyyy 84: TEX TEMP[7], TEMP[7], SAMP[4], 2D 85: MOV TEMP[1].xy, TEMP[1].zwww 86: TEX TEMP[1], TEMP[1], SAMP[4], 2D 87: LRP TEMP[1], TEMP[6].xxxx, TEMP[1], TEMP[7] 88: LRP TEMP[1].x, TEMP[5].xxxx, TEMP[1], TEMP[4] 89: MUL TEMP[1].x, TEMP[1].xxxx, CONST[18].xxxx 90: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[2].xyzz 91: MOV TEMP[1].xy, IN[4].xyyy 92: MOV TEMP[1].w, IN[4].wwww 93: TXP TEMP[1], TEMP[1], SAMP[5], 2D 94: MOV TEMP[3].xy, IN[0].xyyy 95: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 96: MUL TEMP[4].x, CONST[11].yyyy, TEMP[1].wwww 97: MUL TEMP[5].xyz, TEMP[0].xyzz, CONST[11].xxxx 98: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx, TEMP[5].xyzz 99: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[1].xyzz, TEMP[2].xyzz 100: MOV TEMP[1].xyz, TEMP[1].xyzx 101: MOV TEMP[1].w, TEMP[0].wwww 102: MUL TEMP[0], TEMP[1], CONST[19] 103: MOV OUT[0], TEMP[0] 104: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 316) %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %41 = load <32 x i8> addrspace(2)* %40, !tbaa !0 %42 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %45 = load <32 x i8> addrspace(2)* %44, !tbaa !0 %46 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %49 = load <32 x i8> addrspace(2)* %48, !tbaa !0 %50 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %51 = load <16 x i8> addrspace(2)* %50, !tbaa !0 %52 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %53 = load <32 x i8> addrspace(2)* %52, !tbaa !0 %54 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %57 = load <32 x i8> addrspace(2)* %56, !tbaa !0 %58 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %64 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %65 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %66 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %67 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %68 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %69 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %70 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %71 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %72 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %73 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %74 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %75 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %76 = bitcast float %60 to i32 %77 = bitcast float %61 to i32 %78 = insertelement <2 x i32> undef, i32 %76, i32 0 %79 = insertelement <2 x i32> %78, i32 %77, i32 1 %80 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %79, <32 x i8> %37, <16 x i8> %39, i32 2) %81 = extractelement <4 x float> %80, i32 0 %82 = extractelement <4 x float> %80, i32 1 %83 = extractelement <4 x float> %80, i32 2 %84 = extractelement <4 x float> %80, i32 3 %85 = bitcast float %60 to i32 %86 = bitcast float %61 to i32 %87 = insertelement <2 x i32> undef, i32 %85, i32 0 %88 = insertelement <2 x i32> %87, i32 %86, i32 1 %89 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %88, <32 x i8> %41, <16 x i8> %43, i32 2) %90 = extractelement <4 x float> %89, i32 0 %91 = extractelement <4 x float> %89, i32 1 %92 = fmul float %90, 2.000000e+00 %93 = fadd float %92, -1.000000e+00 %94 = fmul float %91, 2.000000e+00 %95 = fadd float %94, -1.000000e+00 %96 = fmul float %93, %93 %97 = fmul float %95, %95 %98 = fadd float %96, %97 %99 = fsub float -0.000000e+00, %98 %100 = fadd float 1.000000e+00, %99 %101 = call float @llvm.AMDIL.clamp.(float %100, float 0.000000e+00, float 1.000000e+00) %102 = call float @llvm.AMDGPU.rsq(float %101) %103 = fmul float %102, %101 %104 = fsub float -0.000000e+00, %101 %105 = call float @llvm.AMDGPU.cndlt(float %104, float %103, float 0.000000e+00) %106 = fmul float %81, %22 %107 = fmul float %82, %23 %108 = fmul float %83, %24 %109 = fmul float %93, %64 %110 = fmul float %95, %65 %111 = fadd float %110, %109 %112 = fmul float %105, %66 %113 = fadd float %111, %112 %114 = fmul float %93, %67 %115 = fmul float %95, %68 %116 = fadd float %115, %114 %117 = fmul float %105, %69 %118 = fadd float %116, %117 %119 = fmul float %93, %70 %120 = fmul float %95, %71 %121 = fadd float %120, %119 %122 = fmul float %105, %72 %123 = fadd float %121, %122 %124 = fmul float %62, %25 %125 = fadd float %124, -5.000000e-01 %126 = fmul float %63, %26 %127 = fadd float %126, -5.000000e-01 %128 = call float @llvm.AMDIL.fraction.(float %125) %129 = fmul float %128, %128 %130 = fmul float %129, %128 %131 = fmul float %128, 3.000000e+00 %132 = fmul float %129, 3.000000e+00 %133 = fmul float %130, 3.000000e+00 %134 = fmul float %132, 2.000000e+00 %135 = fsub float -0.000000e+00, %134 %136 = fadd float %133, %135 %137 = fadd float %136, 4.000000e+00 %138 = fsub float -0.000000e+00, %133 %139 = fadd float %138, %132 %140 = fadd float %139, %131 %141 = fadd float %140, 1.000000e+00 %142 = fadd float %141, %130 %143 = fdiv float 1.000000e+00, %142 %144 = fmul float %130, %143 %145 = fadd float %144, 1.000000e+00 %146 = fsub float -0.000000e+00, %128 %147 = fadd float %145, %146 %148 = fsub float -0.000000e+00, %130 %149 = fadd float %148, %132 %150 = fsub float -0.000000e+00, %131 %151 = fadd float %149, %150 %152 = fadd float %151, 1.000000e+00 %153 = fadd float %152, %137 %154 = fdiv float 1.000000e+00, %153 %155 = fmul float %137, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = fadd float %157, %128 %159 = fadd float %141, %130 %160 = fmul float %159, 0x3FC5555560000000 %161 = call float @llvm.AMDIL.fraction.(float %127) %162 = fmul float %161, %161 %163 = fmul float %162, %161 %164 = fmul float %161, 3.000000e+00 %165 = fmul float %162, 3.000000e+00 %166 = fmul float %163, 3.000000e+00 %167 = fmul float %165, 2.000000e+00 %168 = fsub float -0.000000e+00, %167 %169 = fadd float %166, %168 %170 = fadd float %169, 4.000000e+00 %171 = fsub float -0.000000e+00, %166 %172 = fadd float %171, %165 %173 = fadd float %172, %164 %174 = fadd float %173, 1.000000e+00 %175 = fadd float %174, %163 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %163, %176 %178 = fadd float %177, 1.000000e+00 %179 = fsub float -0.000000e+00, %161 %180 = fadd float %178, %179 %181 = fsub float -0.000000e+00, %163 %182 = fadd float %181, %165 %183 = fsub float -0.000000e+00, %164 %184 = fadd float %182, %183 %185 = fadd float %184, 1.000000e+00 %186 = fadd float %185, %170 %187 = fdiv float 1.000000e+00, %186 %188 = fmul float %170, %187 %189 = fsub float -0.000000e+00, %188 %190 = fadd float 1.000000e+00, %189 %191 = fadd float %190, %161 %192 = fadd float %174, %163 %193 = fmul float %192, 0x3FC5555560000000 %194 = fsub float -0.000000e+00, %158 %195 = fsub float -0.000000e+00, %191 %196 = fmul float %194, %27 %197 = fadd float %196, %62 %198 = fmul float %195, %28 %199 = fadd float %198, %63 %200 = fmul float %147, %27 %201 = fadd float %200, %62 %202 = fmul float %180, %28 %203 = fadd float %202, %63 %204 = insertelement <4 x float> undef, float %113, i32 0 %205 = insertelement <4 x float> %204, float %118, i32 1 %206 = insertelement <4 x float> %205, float %123, i32 2 %207 = insertelement <4 x float> %206, float 0.000000e+00, i32 3 %208 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %207) %209 = extractelement <4 x float> %208, i32 0 %210 = extractelement <4 x float> %208, i32 1 %211 = extractelement <4 x float> %208, i32 2 %212 = extractelement <4 x float> %208, i32 3 %213 = call float @fabs(float %211) %214 = fdiv float 1.000000e+00, %213 %215 = fmul float %209, %214 %216 = fadd float %215, 1.500000e+00 %217 = fmul float %210, %214 %218 = fadd float %217, 1.500000e+00 %219 = bitcast float %218 to i32 %220 = bitcast float %216 to i32 %221 = bitcast float %212 to i32 %222 = insertelement <4 x i32> undef, i32 %219, i32 0 %223 = insertelement <4 x i32> %222, i32 %220, i32 1 %224 = insertelement <4 x i32> %223, i32 %221, i32 2 %225 = insertelement <4 x i32> %224, i32 undef, i32 3 %226 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %225, <32 x i8> %49, <16 x i8> %51, i32 4) %227 = extractelement <4 x float> %226, i32 0 %228 = extractelement <4 x float> %226, i32 1 %229 = extractelement <4 x float> %226, i32 2 %230 = fmul float %81, %227 %231 = fmul float %82, %228 %232 = fmul float %83, %229 %233 = bitcast float %197 to i32 %234 = bitcast float %199 to i32 %235 = insertelement <2 x i32> undef, i32 %233, i32 0 %236 = insertelement <2 x i32> %235, i32 %234, i32 1 %237 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %236, <32 x i8> %53, <16 x i8> %55, i32 2) %238 = extractelement <4 x float> %237, i32 0 %239 = extractelement <4 x float> %237, i32 1 %240 = extractelement <4 x float> %237, i32 2 %241 = extractelement <4 x float> %237, i32 3 %242 = bitcast float %197 to i32 %243 = bitcast float %203 to i32 %244 = insertelement <2 x i32> undef, i32 %242, i32 0 %245 = insertelement <2 x i32> %244, i32 %243, i32 1 %246 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %245, <32 x i8> %53, <16 x i8> %55, i32 2) %247 = extractelement <4 x float> %246, i32 0 %248 = extractelement <4 x float> %246, i32 1 %249 = extractelement <4 x float> %246, i32 2 %250 = extractelement <4 x float> %246, i32 3 %251 = call float @llvm.AMDGPU.lrp(float %193, float %247, float %238) %252 = call float @llvm.AMDGPU.lrp(float %193, float %248, float %239) %253 = call float @llvm.AMDGPU.lrp(float %193, float %249, float %240) %254 = call float @llvm.AMDGPU.lrp(float %193, float %250, float %241) %255 = bitcast float %201 to i32 %256 = bitcast float %199 to i32 %257 = insertelement <2 x i32> undef, i32 %255, i32 0 %258 = insertelement <2 x i32> %257, i32 %256, i32 1 %259 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %258, <32 x i8> %53, <16 x i8> %55, i32 2) %260 = extractelement <4 x float> %259, i32 0 %261 = extractelement <4 x float> %259, i32 1 %262 = extractelement <4 x float> %259, i32 2 %263 = extractelement <4 x float> %259, i32 3 %264 = bitcast float %201 to i32 %265 = bitcast float %203 to i32 %266 = insertelement <2 x i32> undef, i32 %264, i32 0 %267 = insertelement <2 x i32> %266, i32 %265, i32 1 %268 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %267, <32 x i8> %53, <16 x i8> %55, i32 2) %269 = extractelement <4 x float> %268, i32 0 %270 = extractelement <4 x float> %268, i32 1 %271 = extractelement <4 x float> %268, i32 2 %272 = extractelement <4 x float> %268, i32 3 %273 = call float @llvm.AMDGPU.lrp(float %193, float %269, float %260) %274 = call float @llvm.AMDGPU.lrp(float %193, float %270, float %261) %275 = call float @llvm.AMDGPU.lrp(float %193, float %271, float %262) %276 = call float @llvm.AMDGPU.lrp(float %193, float %272, float %263) %277 = call float @llvm.AMDGPU.lrp(float %160, float %273, float %251) %278 = fmul float %277, %31 %279 = fmul float %230, %278 %280 = fadd float %279, %106 %281 = fmul float %231, %278 %282 = fadd float %281, %107 %283 = fmul float %232, %278 %284 = fadd float %283, %108 %285 = fdiv float %73, %75 %286 = fdiv float %74, %75 %287 = bitcast float %285 to i32 %288 = bitcast float %286 to i32 %289 = insertelement <2 x i32> undef, i32 %287, i32 0 %290 = insertelement <2 x i32> %289, i32 %288, i32 1 %291 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %290, <32 x i8> %57, <16 x i8> %59, i32 2) %292 = extractelement <4 x float> %291, i32 0 %293 = extractelement <4 x float> %291, i32 1 %294 = extractelement <4 x float> %291, i32 2 %295 = extractelement <4 x float> %291, i32 3 %296 = bitcast float %60 to i32 %297 = bitcast float %61 to i32 %298 = insertelement <2 x i32> undef, i32 %296, i32 0 %299 = insertelement <2 x i32> %298, i32 %297, i32 1 %300 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %299, <32 x i8> %45, <16 x i8> %47, i32 2) %301 = extractelement <4 x float> %300, i32 0 %302 = extractelement <4 x float> %300, i32 1 %303 = extractelement <4 x float> %300, i32 2 %304 = fmul float %30, %295 %305 = fmul float %81, %29 %306 = fmul float %82, %29 %307 = fmul float %83, %29 %308 = fmul float %301, %304 %309 = fadd float %308, %305 %310 = fmul float %302, %304 %311 = fadd float %310, %306 %312 = fmul float %303, %304 %313 = fadd float %312, %307 %314 = fmul float %309, %292 %315 = fadd float %314, %280 %316 = fmul float %311, %293 %317 = fadd float %316, %282 %318 = fmul float %313, %294 %319 = fadd float %318, %284 %320 = fmul float %315, %32 %321 = fmul float %317, %33 %322 = fmul float %319, %34 %323 = fmul float %84, %35 %324 = call i32 @llvm.SI.packf16(float %320, float %321) %325 = bitcast i32 %324 to float %326 = call i32 @llvm.SI.packf16(float %322, float %323) %327 = bitcast i32 %326 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %325, float %327, float %325, float %327) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840304 c0c60508 bf8c007f f0800300 00430402 bf8c0770 060c0904 060c0cf3 06080b05 060808f3 100a0904 d2820005 04160d06 080a0af2 d2060805 02010105 7e0e5b05 100e0b07 d2060005 22010105 d0080008 02020a80 d2000005 00220e80 c81c0c00 c81d0c01 100e0f06 c8200d00 c8210d01 d2820007 041e1104 c8200e00 c8210e01 d2820009 041e1105 c82c0800 c82d0801 10161706 c8300900 c8310901 d282000b 042e1904 c8300a00 c8310a01 d2820008 042e1905 c82c0400 c82d0401 100c1706 c82c0500 c82d0501 d2820004 041a1704 c8180600 c8190601 d2820007 04120d05 7e140280 d28a000c 04261107 d28c000b 04261107 d28e000d 04261107 d288000e 04261107 d2060104 0201010d 7e085504 7e0a02ff 3fc00000 d282000d 0416090b d282000c 0416090c c084030c c0c60518 bf8c007f f0800700 0043040c c0840300 c0c60500 bf8c0070 f0800f00 00430702 bf8c0770 10160b08 c8300300 c8310301 c0840100 bf8c007f c2000929 bf8c007f d282000d 03c4010c 7e1a410d 101c1b0d 101e1cff 40400000 7e2002ff 40400000 d2820011 043e210e 10241b0e 102624ff 40400000 08222313 062222f6 0828250f 102a1aff 40400000 08282b14 062828f2 06282314 7e285514 10222911 082222f2 06221b11 c200092b bf8c007f 10222200 082a230c c8440200 c8450201 c2008928 bf8c007f d2820016 03c40311 7e2c4116 102e2d16 10302d17 103230ff 40400000 10342eff 40400000 0836331a d282001b 046e2116 063636f2 d282001b 046e2d17 7e38551b d282001c 03ca3918 08382d1c c200892a bf8c007f d2820014 0444031c c0860310 c0c80520 bf8c007f f0800100 00641c14 081e270f d282000f 043e210d 061e1ef2 d282000e 043e1b0e 101e1cff 3e2aaaab 08261ef2 bf8c0770 10383913 7e1c550e d282000e 03ca1d12 081a1b0e d282000c 0430010d 7e1a0314 7e1c0315 7e1c030c f0800100 00640d0d bf8c0770 d282000d 04721b0f d282000e 046a2117 081c1d19 061c1cf6 0820311a 10242cff 40400000 08202510 062020f2 06201d10 7e205510 101c210e 081c1cf2 061c2d0e 101c1c01 08281d11 f0800100 00640e14 bf8c0770 101c1d13 7e2a030c f0800100 00640c14 bf8c0770 d282000c 043a190f 101c36ff 3e2aaaab 081e1cf2 1018190f d282000c 04321b0e c2000948 bf8c007f 10181800 c2000901 bf8c007f 7e1a0200 d210000d 02021b08 d282000b 0436190b c8341100 c8351101 c8381300 c8391301 7e1c550e 10201d0d c8341000 c8351001 101e1d0d c0860314 c0c80528 bf8c007f f0800f00 00640d0f c200092d bf8c0070 10002000 c200092c bf8c007f 7e020200 d2100011 02020308 c0800308 c0c60510 bf8c007f f0800700 00031202 bf8c0770 d2820002 04460113 d2820002 042e1d02 c200094d bf8c007f 10040400 10060907 c2000900 bf8c007f 7e160200 d210000b 02021707 d2820003 042e1903 d210000b 02020307 d282000b 042e0112 d2820003 040e1b0b c200094c bf8c007f 10060600 5e040503 10060d09 c2000902 bf8c007f 7e080200 d2100004 02020909 d2820003 04121903 d2100001 02020309 d2820000 04060114 d2820000 040e1f00 c200094e bf8c007f 10000000 c200094f bf8c007f 7e020200 d2100001 0202030a 5e000300 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..101] DCL TEMP[0..6], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.5000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+5] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+5] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+5] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 34: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 35: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 36: MOV TEMP[2].zw, IN[1].wwzw 37: MAD TEMP[2].xy, IN[1].xyyy, CONST[101].xyyy, CONST[101].zwww 38: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[4].xyzz 39: MUL TEMP[5], CONST[0], TEMP[4].xxxx 40: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 41: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 42: ADD TEMP[4], TEMP[4], CONST[3] 43: MOV TEMP[5].x, TEMP[0].xxxx 44: MOV TEMP[5].y, TEMP[1].xxxx 45: MOV TEMP[5].z, TEMP[3].xxxx 46: MOV TEMP[5].xyz, TEMP[5].xyzx 47: MOV TEMP[6].x, TEMP[0].yyyy 48: MOV TEMP[6].y, TEMP[1].yyyy 49: MOV TEMP[6].z, TEMP[3].yyyy 50: MOV TEMP[6].xyz, TEMP[6].xyzx 51: MOV TEMP[0].x, TEMP[0].zzzz 52: MOV TEMP[0].y, TEMP[1].zzzz 53: MOV TEMP[0].z, TEMP[3].zzzz 54: MOV TEMP[0].xyz, TEMP[0].xyzx 55: ADD TEMP[1], TEMP[4], TEMP[4].wwww 56: MUL TEMP[1], TEMP[1], IMM[1].yyyy 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[5] 59: MOV OUT[3], TEMP[6] 60: MOV OUT[4], TEMP[0] 61: MOV OUT[0], TEMP[4] 62: MOV OUT[5], TEMP[1] 63: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1616) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1620) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1624) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1628) %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = extractelement <4 x float> %41, i32 2 %45 = extractelement <4 x float> %41, i32 3 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = add i32 %8, %4 %61 = mul i32 %60, 3 %62 = bitcast i32 %61 to float %63 = bitcast float %62 to i32 %64 = add i32 %63, 0 %65 = bitcast float %62 to i32 %66 = add i32 %65, 1 %67 = bitcast float %62 to i32 %68 = add i32 %67, 2 %69 = bitcast i32 %64 to float %70 = bitcast i32 %66 to float %71 = bitcast i32 %68 to float %72 = bitcast float %69 to i32 %73 = shl i32 %72, 4 %74 = add i32 %73, 80 %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %74) %76 = shl i32 %72, 4 %77 = add i32 %76, 84 %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %77) %79 = shl i32 %72, 4 %80 = add i32 %79, 88 %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %80) %82 = shl i32 %72, 4 %83 = add i32 %82, 92 %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %83) %85 = bitcast float %70 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 80 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 84 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 88 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 92 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %71 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 80 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 84 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 88 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 92 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = fmul float %37, %75 %112 = fmul float %38, %78 %113 = fadd float %111, %112 %114 = fmul float %52, %81 %115 = fadd float %113, %114 %116 = fmul float 1.000000e+00, %84 %117 = fadd float %115, %116 %118 = fmul float %37, %88 %119 = fmul float %38, %91 %120 = fadd float %118, %119 %121 = fmul float %52, %94 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %97 %124 = fadd float %122, %123 %125 = fmul float %37, %101 %126 = fmul float %38, %104 %127 = fadd float %125, %126 %128 = fmul float %52, %107 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %110 %131 = fadd float %129, %130 %132 = fmul float %49, %75 %133 = fmul float %50, %78 %134 = fadd float %133, %132 %135 = fmul float %51, %81 %136 = fadd float %134, %135 %137 = fmul float %49, %88 %138 = fmul float %50, %91 %139 = fadd float %138, %137 %140 = fmul float %51, %94 %141 = fadd float %139, %140 %142 = fmul float %49, %101 %143 = fmul float %50, %104 %144 = fadd float %143, %142 %145 = fmul float %51, %107 %146 = fadd float %144, %145 %147 = fmul float %136, %136 %148 = fmul float %141, %141 %149 = fadd float %148, %147 %150 = fmul float %146, %146 %151 = fadd float %149, %150 %152 = call float @llvm.AMDGPU.rsq(float %151) %153 = fmul float %136, %152 %154 = fmul float %141, %152 %155 = fmul float %146, %152 %156 = fmul float %56, %75 %157 = fmul float %57, %78 %158 = fadd float %157, %156 %159 = fmul float %58, %81 %160 = fadd float %158, %159 %161 = fmul float %56, %88 %162 = fmul float %57, %91 %163 = fadd float %162, %161 %164 = fmul float %58, %94 %165 = fadd float %163, %164 %166 = fmul float %56, %101 %167 = fmul float %57, %104 %168 = fadd float %167, %166 %169 = fmul float %58, %107 %170 = fadd float %168, %169 %171 = fmul float %160, %160 %172 = fmul float %165, %165 %173 = fadd float %172, %171 %174 = fmul float %170, %170 %175 = fadd float %173, %174 %176 = call float @llvm.AMDGPU.rsq(float %175) %177 = fmul float %160, %176 %178 = fmul float %165, %176 %179 = fmul float %170, %176 %180 = fmul float %155, %178 %181 = fmul float %153, %179 %182 = fmul float %154, %177 %183 = fsub float -0.000000e+00, %180 %184 = fmul float %154, %179 %185 = fadd float %184, %183 %186 = fsub float -0.000000e+00, %181 %187 = fmul float %155, %177 %188 = fadd float %187, %186 %189 = fsub float -0.000000e+00, %182 %190 = fmul float %153, %178 %191 = fadd float %190, %189 %192 = fmul float %185, %59 %193 = fmul float %188, %59 %194 = fmul float %191, %59 %195 = fmul float %42, %30 %196 = fadd float %195, %32 %197 = fmul float %43, %31 %198 = fadd float %197, %33 %199 = fsub float -0.000000e+00, %27 %200 = fadd float %117, %199 %201 = fsub float -0.000000e+00, %28 %202 = fadd float %124, %201 %203 = fsub float -0.000000e+00, %29 %204 = fadd float %131, %203 %205 = fmul float %11, %200 %206 = fmul float %12, %200 %207 = fmul float %13, %200 %208 = fmul float %14, %200 %209 = fmul float %15, %202 %210 = fadd float %209, %205 %211 = fmul float %16, %202 %212 = fadd float %211, %206 %213 = fmul float %17, %202 %214 = fadd float %213, %207 %215 = fmul float %18, %202 %216 = fadd float %215, %208 %217 = fmul float %19, %204 %218 = fadd float %217, %210 %219 = fmul float %20, %204 %220 = fadd float %219, %212 %221 = fmul float %21, %204 %222 = fadd float %221, %214 %223 = fmul float %22, %204 %224 = fadd float %223, %216 %225 = fadd float %218, %23 %226 = fadd float %220, %24 %227 = fadd float %222, %25 %228 = fadd float %224, %26 %229 = fadd float %225, %228 %230 = fadd float %226, %228 %231 = fadd float %227, %228 %232 = fadd float %228, %228 %233 = fmul float %229, 5.000000e-01 %234 = fmul float %230, 5.000000e-01 %235 = fmul float %231, 5.000000e-01 %236 = fmul float %232, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %196, float %198, float %44, float %45) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %177, float %192, float %153, float %216) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %178, float %193, float %154, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %179, float %194, float %155, float %110) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %233, float %234, float %235, float %236) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %225, float %226, float %227, float %228) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000065c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000654 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000658 c2020004 bf8c007f 7e040204 be8403ff 00000650 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000050 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000054 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000058 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000050 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000054 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000058 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000050 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000054 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000058 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10102108 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1038371c 103a111c 10242112 10323719 103c2519 083a3b1e 103a0f1d c0820700 bf8c007f e00c2000 80011e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000005c e0301000 80000b0b bf8c0770 06001700 c2020110 bf8c007f 0a000004 c2020103 bf8c007f 10160004 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000005c e0301000 80000202 bf8c0770 06040503 c2020111 bf8c007f 0a040404 c2020107 bf8c007f d2820003 042e0404 1012371a 1014210d f800021f 03091d0a 10162509 1018151c 0816170c 10160f0b 7e180280 f800022f 0c190b08 bf8c070f 10141519 10101109 08101508 10080f08 4a0202ff 0000005c e0301000 80000101 bf8c0770 f800023f 011c0412 bf8c070f 1008271f d2820004 0412231e d2820004 04122918 06020304 c2020112 bf8c007f 0a020204 c202010b bf8c007f d2820003 040e0204 c202010f bf8c007f 06060604 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120404 c202010a bf8c007f d2820004 04120204 c202010e bf8c007f 06080804 060a0704 100a0af0 c2020101 bf8c007f 100c0004 c2020105 bf8c007f d2820006 041a0404 c2020109 bf8c007f d2820006 041a0204 c202010d bf8c007f 060c0c04 060e0706 100e0ef0 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020404 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f 06000000 06020700 100202f0 06040703 100404f0 f800024f 02050701 f80008cf 03040600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[0..11] DCL CONST[18..19] DCL TEMP[0..12], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.5000, 3.0000, 4.0000, 0.1667} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[0].xyyy 3: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 4: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].xxxx, IMM[0].yyyy 5: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 6: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 7: RSQ TEMP[3].x, TEMP[2].xxxx 8: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 9: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].wwww 10: MOV TEMP[1].z, TEMP[3].xxxx 11: MUL TEMP[2].xyz, TEMP[0].xyzz, CONST[0].xyzz 12: DP3 TEMP[3].x, TEMP[1].xyzz, IN[1].xyzz 13: DP3 TEMP[4].x, TEMP[1].xyzz, IN[2].xyzz 14: MOV TEMP[3].y, TEMP[4].xxxx 15: DP3 TEMP[1].x, TEMP[1].xyzz, IN[3].xyzz 16: MOV TEMP[3].z, TEMP[1].xxxx 17: MAD TEMP[1].xy, IN[0].zwww, CONST[10].xyyy, IMM[1].xxxx 18: FRC TEMP[4].x, TEMP[1].xxxx 19: MUL TEMP[5].x, TEMP[4].xxxx, TEMP[4].xxxx 20: MUL TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx 21: MUL TEMP[7].x, TEMP[4].xxxx, IMM[1].yyyy 22: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 23: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].yyyy 24: MUL TEMP[9].x, TEMP[5].xxxx, IMM[0].xxxx 25: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[9].xxxx 26: ADD TEMP[9].x, TEMP[9].xxxx, IMM[1].zzzz 27: ADD TEMP[8].x, -TEMP[8].xxxx, TEMP[5].xxxx 28: ADD TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 29: ADD TEMP[8].x, TEMP[8].xxxx, IMM[0].zzzz 30: ADD TEMP[10].x, TEMP[8].xxxx, TEMP[6].xxxx 31: RCP TEMP[10].x, TEMP[10].xxxx 32: MAD TEMP[10].x, TEMP[6].xxxx, TEMP[10].xxxx, IMM[0].zzzz 33: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[4].xxxx 34: ADD TEMP[5].x, -TEMP[6].xxxx, TEMP[5].xxxx 35: ADD TEMP[5].x, TEMP[5].xxxx, -TEMP[7].xxxx 36: ADD TEMP[5].x, TEMP[5].xxxx, IMM[0].zzzz 37: ADD TEMP[5].x, TEMP[5].xxxx, TEMP[9].xxxx 38: RCP TEMP[5].x, TEMP[5].xxxx 39: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 40: ADD TEMP[5].x, IMM[0].zzzz, -TEMP[5].xxxx 41: ADD TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 42: ADD TEMP[5].x, TEMP[8].xxxx, TEMP[6].xxxx 43: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 44: FRC TEMP[1].x, TEMP[1].yyyy 45: MUL TEMP[6].x, TEMP[1].xxxx, TEMP[1].xxxx 46: MUL TEMP[7].x, TEMP[6].xxxx, TEMP[1].xxxx 47: MUL TEMP[8].x, TEMP[1].xxxx, IMM[1].yyyy 48: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].yyyy 49: MUL TEMP[9].x, TEMP[7].xxxx, IMM[1].yyyy 50: MUL TEMP[11].x, TEMP[6].xxxx, IMM[0].xxxx 51: ADD TEMP[11].x, TEMP[9].xxxx, -TEMP[11].xxxx 52: ADD TEMP[11].x, TEMP[11].xxxx, IMM[1].zzzz 53: ADD TEMP[9].x, -TEMP[9].xxxx, TEMP[6].xxxx 54: ADD TEMP[9].x, TEMP[9].xxxx, TEMP[8].xxxx 55: ADD TEMP[9].x, TEMP[9].xxxx, IMM[0].zzzz 56: ADD TEMP[12].x, TEMP[9].xxxx, TEMP[7].xxxx 57: RCP TEMP[12].x, TEMP[12].xxxx 58: MAD TEMP[12].x, TEMP[7].xxxx, TEMP[12].xxxx, IMM[0].zzzz 59: ADD TEMP[12].x, TEMP[12].xxxx, -TEMP[1].xxxx 60: ADD TEMP[6].x, -TEMP[7].xxxx, TEMP[6].xxxx 61: ADD TEMP[6].x, TEMP[6].xxxx, -TEMP[8].xxxx 62: ADD TEMP[6].x, TEMP[6].xxxx, IMM[0].zzzz 63: ADD TEMP[6].x, TEMP[6].xxxx, TEMP[11].xxxx 64: RCP TEMP[6].x, TEMP[6].xxxx 65: MUL TEMP[6].x, TEMP[11].xxxx, TEMP[6].xxxx 66: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 67: ADD TEMP[1].x, TEMP[6].xxxx, TEMP[1].xxxx 68: ADD TEMP[6].x, TEMP[9].xxxx, TEMP[7].xxxx 69: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 70: MOV TEMP[4].x, -TEMP[4].xxxx 71: MOV TEMP[4].y, -TEMP[1].xxxx 72: MOV TEMP[4].z, TEMP[10].xxxx 73: MOV TEMP[4].w, TEMP[12].xxxx 74: MAD TEMP[1], TEMP[4], CONST[10].zwzw, IN[0].zwzw 75: MOV TEMP[3].xyz, TEMP[3].xyzz 76: TEX TEMP[3].xyz, TEMP[3], SAMP[3], CUBE 77: MUL TEMP[3].xyz, TEMP[0].xyzz, TEMP[3].xyzz 78: MOV TEMP[4].xy, TEMP[1].xyyy 79: TEX TEMP[4], TEMP[4], SAMP[4], 2D 80: MOV TEMP[7].xy, TEMP[1].xwww 81: TEX TEMP[7], TEMP[7], SAMP[4], 2D 82: LRP TEMP[4], TEMP[6].xxxx, TEMP[7], TEMP[4] 83: MOV TEMP[7].xy, TEMP[1].zyyy 84: TEX TEMP[7], TEMP[7], SAMP[4], 2D 85: MOV TEMP[1].xy, TEMP[1].zwww 86: TEX TEMP[1], TEMP[1], SAMP[4], 2D 87: LRP TEMP[1], TEMP[6].xxxx, TEMP[1], TEMP[7] 88: LRP TEMP[1].x, TEMP[5].xxxx, TEMP[1], TEMP[4] 89: MUL TEMP[1].x, TEMP[1].xxxx, CONST[18].xxxx 90: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[2].xyzz 91: MOV TEMP[1].xy, IN[4].xyyy 92: MOV TEMP[1].w, IN[4].wwww 93: TXP TEMP[1], TEMP[1], SAMP[5], 2D 94: MOV TEMP[3].xy, IN[0].xyyy 95: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 96: MUL TEMP[4].x, CONST[11].yyyy, TEMP[1].wwww 97: MUL TEMP[5].xyz, TEMP[0].xyzz, CONST[11].xxxx 98: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx, TEMP[5].xyzz 99: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[1].xyzz, TEMP[2].xyzz 100: MOV TEMP[1].xyz, TEMP[1].xyzx 101: MOV TEMP[1].w, TEMP[0].wwww 102: MUL TEMP[0], TEMP[1], CONST[19] 103: MOV OUT[0], TEMP[0] 104: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 316) %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %41 = load <32 x i8> addrspace(2)* %40, !tbaa !0 %42 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %45 = load <32 x i8> addrspace(2)* %44, !tbaa !0 %46 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %49 = load <32 x i8> addrspace(2)* %48, !tbaa !0 %50 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %51 = load <16 x i8> addrspace(2)* %50, !tbaa !0 %52 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %53 = load <32 x i8> addrspace(2)* %52, !tbaa !0 %54 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %57 = load <32 x i8> addrspace(2)* %56, !tbaa !0 %58 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %64 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %65 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %66 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %67 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %68 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %69 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %70 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %71 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %72 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %73 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %74 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %75 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %76 = bitcast float %60 to i32 %77 = bitcast float %61 to i32 %78 = insertelement <2 x i32> undef, i32 %76, i32 0 %79 = insertelement <2 x i32> %78, i32 %77, i32 1 %80 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %79, <32 x i8> %37, <16 x i8> %39, i32 2) %81 = extractelement <4 x float> %80, i32 0 %82 = extractelement <4 x float> %80, i32 1 %83 = extractelement <4 x float> %80, i32 2 %84 = extractelement <4 x float> %80, i32 3 %85 = bitcast float %60 to i32 %86 = bitcast float %61 to i32 %87 = insertelement <2 x i32> undef, i32 %85, i32 0 %88 = insertelement <2 x i32> %87, i32 %86, i32 1 %89 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %88, <32 x i8> %41, <16 x i8> %43, i32 2) %90 = extractelement <4 x float> %89, i32 0 %91 = extractelement <4 x float> %89, i32 1 %92 = fmul float %90, 2.000000e+00 %93 = fadd float %92, -1.000000e+00 %94 = fmul float %91, 2.000000e+00 %95 = fadd float %94, -1.000000e+00 %96 = fmul float %93, %93 %97 = fmul float %95, %95 %98 = fadd float %96, %97 %99 = fsub float -0.000000e+00, %98 %100 = fadd float 1.000000e+00, %99 %101 = call float @llvm.AMDIL.clamp.(float %100, float 0.000000e+00, float 1.000000e+00) %102 = call float @llvm.AMDGPU.rsq(float %101) %103 = fmul float %102, %101 %104 = fsub float -0.000000e+00, %101 %105 = call float @llvm.AMDGPU.cndlt(float %104, float %103, float 0.000000e+00) %106 = fmul float %81, %22 %107 = fmul float %82, %23 %108 = fmul float %83, %24 %109 = fmul float %93, %64 %110 = fmul float %95, %65 %111 = fadd float %110, %109 %112 = fmul float %105, %66 %113 = fadd float %111, %112 %114 = fmul float %93, %67 %115 = fmul float %95, %68 %116 = fadd float %115, %114 %117 = fmul float %105, %69 %118 = fadd float %116, %117 %119 = fmul float %93, %70 %120 = fmul float %95, %71 %121 = fadd float %120, %119 %122 = fmul float %105, %72 %123 = fadd float %121, %122 %124 = fmul float %62, %25 %125 = fadd float %124, -5.000000e-01 %126 = fmul float %63, %26 %127 = fadd float %126, -5.000000e-01 %128 = call float @llvm.AMDIL.fraction.(float %125) %129 = fmul float %128, %128 %130 = fmul float %129, %128 %131 = fmul float %128, 3.000000e+00 %132 = fmul float %129, 3.000000e+00 %133 = fmul float %130, 3.000000e+00 %134 = fmul float %132, 2.000000e+00 %135 = fsub float -0.000000e+00, %134 %136 = fadd float %133, %135 %137 = fadd float %136, 4.000000e+00 %138 = fsub float -0.000000e+00, %133 %139 = fadd float %138, %132 %140 = fadd float %139, %131 %141 = fadd float %140, 1.000000e+00 %142 = fadd float %141, %130 %143 = fdiv float 1.000000e+00, %142 %144 = fmul float %130, %143 %145 = fadd float %144, 1.000000e+00 %146 = fsub float -0.000000e+00, %128 %147 = fadd float %145, %146 %148 = fsub float -0.000000e+00, %130 %149 = fadd float %148, %132 %150 = fsub float -0.000000e+00, %131 %151 = fadd float %149, %150 %152 = fadd float %151, 1.000000e+00 %153 = fadd float %152, %137 %154 = fdiv float 1.000000e+00, %153 %155 = fmul float %137, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = fadd float %157, %128 %159 = fadd float %141, %130 %160 = fmul float %159, 0x3FC5555560000000 %161 = call float @llvm.AMDIL.fraction.(float %127) %162 = fmul float %161, %161 %163 = fmul float %162, %161 %164 = fmul float %161, 3.000000e+00 %165 = fmul float %162, 3.000000e+00 %166 = fmul float %163, 3.000000e+00 %167 = fmul float %165, 2.000000e+00 %168 = fsub float -0.000000e+00, %167 %169 = fadd float %166, %168 %170 = fadd float %169, 4.000000e+00 %171 = fsub float -0.000000e+00, %166 %172 = fadd float %171, %165 %173 = fadd float %172, %164 %174 = fadd float %173, 1.000000e+00 %175 = fadd float %174, %163 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %163, %176 %178 = fadd float %177, 1.000000e+00 %179 = fsub float -0.000000e+00, %161 %180 = fadd float %178, %179 %181 = fsub float -0.000000e+00, %163 %182 = fadd float %181, %165 %183 = fsub float -0.000000e+00, %164 %184 = fadd float %182, %183 %185 = fadd float %184, 1.000000e+00 %186 = fadd float %185, %170 %187 = fdiv float 1.000000e+00, %186 %188 = fmul float %170, %187 %189 = fsub float -0.000000e+00, %188 %190 = fadd float 1.000000e+00, %189 %191 = fadd float %190, %161 %192 = fadd float %174, %163 %193 = fmul float %192, 0x3FC5555560000000 %194 = fsub float -0.000000e+00, %158 %195 = fsub float -0.000000e+00, %191 %196 = fmul float %194, %27 %197 = fadd float %196, %62 %198 = fmul float %195, %28 %199 = fadd float %198, %63 %200 = fmul float %147, %27 %201 = fadd float %200, %62 %202 = fmul float %180, %28 %203 = fadd float %202, %63 %204 = insertelement <4 x float> undef, float %113, i32 0 %205 = insertelement <4 x float> %204, float %118, i32 1 %206 = insertelement <4 x float> %205, float %123, i32 2 %207 = insertelement <4 x float> %206, float 0.000000e+00, i32 3 %208 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %207) %209 = extractelement <4 x float> %208, i32 0 %210 = extractelement <4 x float> %208, i32 1 %211 = extractelement <4 x float> %208, i32 2 %212 = extractelement <4 x float> %208, i32 3 %213 = call float @fabs(float %211) %214 = fdiv float 1.000000e+00, %213 %215 = fmul float %209, %214 %216 = fadd float %215, 1.500000e+00 %217 = fmul float %210, %214 %218 = fadd float %217, 1.500000e+00 %219 = bitcast float %218 to i32 %220 = bitcast float %216 to i32 %221 = bitcast float %212 to i32 %222 = insertelement <4 x i32> undef, i32 %219, i32 0 %223 = insertelement <4 x i32> %222, i32 %220, i32 1 %224 = insertelement <4 x i32> %223, i32 %221, i32 2 %225 = insertelement <4 x i32> %224, i32 undef, i32 3 %226 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %225, <32 x i8> %49, <16 x i8> %51, i32 4) %227 = extractelement <4 x float> %226, i32 0 %228 = extractelement <4 x float> %226, i32 1 %229 = extractelement <4 x float> %226, i32 2 %230 = fmul float %81, %227 %231 = fmul float %82, %228 %232 = fmul float %83, %229 %233 = bitcast float %197 to i32 %234 = bitcast float %199 to i32 %235 = insertelement <2 x i32> undef, i32 %233, i32 0 %236 = insertelement <2 x i32> %235, i32 %234, i32 1 %237 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %236, <32 x i8> %53, <16 x i8> %55, i32 2) %238 = extractelement <4 x float> %237, i32 0 %239 = extractelement <4 x float> %237, i32 1 %240 = extractelement <4 x float> %237, i32 2 %241 = extractelement <4 x float> %237, i32 3 %242 = bitcast float %197 to i32 %243 = bitcast float %203 to i32 %244 = insertelement <2 x i32> undef, i32 %242, i32 0 %245 = insertelement <2 x i32> %244, i32 %243, i32 1 %246 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %245, <32 x i8> %53, <16 x i8> %55, i32 2) %247 = extractelement <4 x float> %246, i32 0 %248 = extractelement <4 x float> %246, i32 1 %249 = extractelement <4 x float> %246, i32 2 %250 = extractelement <4 x float> %246, i32 3 %251 = call float @llvm.AMDGPU.lrp(float %193, float %247, float %238) %252 = call float @llvm.AMDGPU.lrp(float %193, float %248, float %239) %253 = call float @llvm.AMDGPU.lrp(float %193, float %249, float %240) %254 = call float @llvm.AMDGPU.lrp(float %193, float %250, float %241) %255 = bitcast float %201 to i32 %256 = bitcast float %199 to i32 %257 = insertelement <2 x i32> undef, i32 %255, i32 0 %258 = insertelement <2 x i32> %257, i32 %256, i32 1 %259 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %258, <32 x i8> %53, <16 x i8> %55, i32 2) %260 = extractelement <4 x float> %259, i32 0 %261 = extractelement <4 x float> %259, i32 1 %262 = extractelement <4 x float> %259, i32 2 %263 = extractelement <4 x float> %259, i32 3 %264 = bitcast float %201 to i32 %265 = bitcast float %203 to i32 %266 = insertelement <2 x i32> undef, i32 %264, i32 0 %267 = insertelement <2 x i32> %266, i32 %265, i32 1 %268 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %267, <32 x i8> %53, <16 x i8> %55, i32 2) %269 = extractelement <4 x float> %268, i32 0 %270 = extractelement <4 x float> %268, i32 1 %271 = extractelement <4 x float> %268, i32 2 %272 = extractelement <4 x float> %268, i32 3 %273 = call float @llvm.AMDGPU.lrp(float %193, float %269, float %260) %274 = call float @llvm.AMDGPU.lrp(float %193, float %270, float %261) %275 = call float @llvm.AMDGPU.lrp(float %193, float %271, float %262) %276 = call float @llvm.AMDGPU.lrp(float %193, float %272, float %263) %277 = call float @llvm.AMDGPU.lrp(float %160, float %273, float %251) %278 = fmul float %277, %31 %279 = fmul float %230, %278 %280 = fadd float %279, %106 %281 = fmul float %231, %278 %282 = fadd float %281, %107 %283 = fmul float %232, %278 %284 = fadd float %283, %108 %285 = fdiv float %73, %75 %286 = fdiv float %74, %75 %287 = bitcast float %285 to i32 %288 = bitcast float %286 to i32 %289 = insertelement <2 x i32> undef, i32 %287, i32 0 %290 = insertelement <2 x i32> %289, i32 %288, i32 1 %291 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %290, <32 x i8> %57, <16 x i8> %59, i32 2) %292 = extractelement <4 x float> %291, i32 0 %293 = extractelement <4 x float> %291, i32 1 %294 = extractelement <4 x float> %291, i32 2 %295 = extractelement <4 x float> %291, i32 3 %296 = bitcast float %60 to i32 %297 = bitcast float %61 to i32 %298 = insertelement <2 x i32> undef, i32 %296, i32 0 %299 = insertelement <2 x i32> %298, i32 %297, i32 1 %300 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %299, <32 x i8> %45, <16 x i8> %47, i32 2) %301 = extractelement <4 x float> %300, i32 0 %302 = extractelement <4 x float> %300, i32 1 %303 = extractelement <4 x float> %300, i32 2 %304 = fmul float %30, %295 %305 = fmul float %81, %29 %306 = fmul float %82, %29 %307 = fmul float %83, %29 %308 = fmul float %301, %304 %309 = fadd float %308, %305 %310 = fmul float %302, %304 %311 = fadd float %310, %306 %312 = fmul float %303, %304 %313 = fadd float %312, %307 %314 = fmul float %309, %292 %315 = fadd float %314, %280 %316 = fmul float %311, %293 %317 = fadd float %316, %282 %318 = fmul float %313, %294 %319 = fadd float %318, %284 %320 = fmul float %315, %32 %321 = fmul float %317, %33 %322 = fmul float %319, %34 %323 = fmul float %84, %35 %324 = call i32 @llvm.SI.packf16(float %320, float %321) %325 = bitcast i32 %324 to float %326 = call i32 @llvm.SI.packf16(float %322, float %323) %327 = bitcast i32 %326 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %325, float %327, float %325, float %327) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840304 c0c60508 bf8c007f f0800300 00430402 bf8c0770 060c0904 060c0cf3 06080b05 060808f3 100a0904 d2820005 04160d06 080a0af2 d2060805 02010105 7e0e5b05 100e0b07 d2060005 22010105 d0080008 02020a80 d2000005 00220e80 c81c0c00 c81d0c01 100e0f06 c8200d00 c8210d01 d2820007 041e1104 c8200e00 c8210e01 d2820009 041e1105 c82c0800 c82d0801 10161706 c8300900 c8310901 d282000b 042e1904 c8300a00 c8310a01 d2820008 042e1905 c82c0400 c82d0401 100c1706 c82c0500 c82d0501 d2820004 041a1704 c8180600 c8190601 d2820007 04120d05 7e140280 d28a000c 04261107 d28c000b 04261107 d28e000d 04261107 d288000e 04261107 d2060104 0201010d 7e085504 7e0a02ff 3fc00000 d282000d 0416090b d282000c 0416090c c084030c c0c60518 bf8c007f f0800700 0043040c c0840300 c0c60500 bf8c0070 f0800f00 00430702 bf8c0770 10160b08 c8300300 c8310301 c0840100 bf8c007f c2000929 bf8c007f d282000d 03c4010c 7e1a410d 101c1b0d 101e1cff 40400000 7e2002ff 40400000 d2820011 043e210e 10241b0e 102624ff 40400000 08222313 062222f6 0828250f 102a1aff 40400000 08282b14 062828f2 06282314 7e285514 10222911 082222f2 06221b11 c200092b bf8c007f 10222200 082a230c c8440200 c8450201 c2008928 bf8c007f d2820016 03c40311 7e2c4116 102e2d16 10302d17 103230ff 40400000 10342eff 40400000 0836331a d282001b 046e2116 063636f2 d282001b 046e2d17 7e38551b d282001c 03ca3918 08382d1c c200892a bf8c007f d2820014 0444031c c0860310 c0c80520 bf8c007f f0800100 00641c14 081e270f d282000f 043e210d 061e1ef2 d282000e 043e1b0e 101e1cff 3e2aaaab 08261ef2 bf8c0770 10383913 7e1c550e d282000e 03ca1d12 081a1b0e d282000c 0430010d 7e1a0314 7e1c0315 7e1c030c f0800100 00640d0d bf8c0770 d282000d 04721b0f d282000e 046a2117 081c1d19 061c1cf6 0820311a 10242cff 40400000 08202510 062020f2 06201d10 7e205510 101c210e 081c1cf2 061c2d0e 101c1c01 08281d11 f0800100 00640e14 bf8c0770 101c1d13 7e2a030c f0800100 00640c14 bf8c0770 d282000c 043a190f 101c36ff 3e2aaaab 081e1cf2 1018190f d282000c 04321b0e c2000948 bf8c007f 10181800 c2000901 bf8c007f 7e1a0200 d210000d 02021b08 d282000b 0436190b c8341100 c8351101 c8381300 c8391301 7e1c550e 10201d0d c8341000 c8351001 101e1d0d c0860314 c0c80528 bf8c007f f0800f00 00640d0f c200092d bf8c0070 10002000 c200092c bf8c007f 7e020200 d2100011 02020308 c0800308 c0c60510 bf8c007f f0800700 00031202 bf8c0770 d2820002 04460113 d2820002 042e1d02 c200094d bf8c007f 10040400 10060907 c2000900 bf8c007f 7e160200 d210000b 02021707 d2820003 042e1903 d210000b 02020307 d282000b 042e0112 d2820003 040e1b0b c200094c bf8c007f 10060600 5e040503 10060d09 c2000902 bf8c007f 7e080200 d2100004 02020909 d2820003 04121903 d2100001 02020309 d2820000 04060114 d2820000 040e1f00 c200094e bf8c007f 10000000 c200094f bf8c007f 7e020200 d2100001 0202030a 5e000300 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..103] DCL TEMP[0..8], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} IMM[2] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+5] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+5] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+5] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].z, TEMP[4].wwzw 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[6].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[5].y, TEMP[6].xxxx 22: DP3 TEMP[6].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[5].z, TEMP[6].xxxx 24: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz 25: RSQ TEMP[6].x, TEMP[6].xxxx 26: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 27: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 28: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 29: MOV TEMP[1].y, TEMP[2].xxxx 30: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 31: MOV TEMP[1].z, TEMP[0].xxxx 32: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 33: RSQ TEMP[0].x, TEMP[0].xxxx 34: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 35: MUL TEMP[1].xyz, TEMP[5].zxyy, TEMP[0].yzxx 36: MAD TEMP[1].xyz, TEMP[5].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 37: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 38: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz 39: RSQ TEMP[2].x, TEMP[2].xxxx 40: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 41: MOV TEMP[2].zw, IN[1].wwzw 42: MAD TEMP[2].xy, IN[1].xyyy, CONST[101].xyyy, CONST[101].zwww 43: MAD TEMP[6].xy, TEMP[4].xyyy, CONST[102].xyyy, CONST[103].xyyy 44: MUL TEMP[7].x, TEMP[6].xxxx, IMM[1].yyyy 45: SIN TEMP[7].x, TEMP[7].xxxx 46: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].zzzz 47: COS TEMP[8].x, TEMP[8].xxxx 48: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx 49: MUL TEMP[8].x, TEMP[6].yyyy, IMM[1].yyyy 50: COS TEMP[8].x, TEMP[8].xxxx 51: MUL TEMP[6].x, TEMP[6].yyyy, IMM[1].zzzz 52: SIN TEMP[6].x, TEMP[6].xxxx 53: MUL TEMP[6].x, TEMP[8].xxxx, TEMP[6].xxxx 54: MOV TEMP[7].y, TEMP[6].xxxx 55: MUL TEMP[6].x, IN[2].wwww, CONST[102].zzzz 56: MAX TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 57: MAD TEMP[3].xy, TEMP[7].xyyy, TEMP[6].xxxx, TEMP[4].xyyy 58: ADD TEMP[3].xyz, TEMP[3].xyzz, -CONST[4].xyzz 59: MUL TEMP[4], CONST[0], TEMP[3].xxxx 60: MAD TEMP[4], CONST[1], TEMP[3].yyyy, TEMP[4] 61: MAD TEMP[3], CONST[2], TEMP[3].zzzz, TEMP[4] 62: ADD TEMP[3], TEMP[3], CONST[3] 63: MOV TEMP[4].x, TEMP[0].xxxx 64: MOV TEMP[4].y, TEMP[1].xxxx 65: MOV TEMP[4].z, TEMP[5].xxxx 66: MOV TEMP[4].xyz, TEMP[4].xyzx 67: MOV TEMP[6].x, TEMP[0].yyyy 68: MOV TEMP[6].y, TEMP[1].yyyy 69: MOV TEMP[6].z, TEMP[5].yyyy 70: MOV TEMP[6].xyz, TEMP[6].xyzx 71: MOV TEMP[0].x, TEMP[0].zzzz 72: MOV TEMP[0].y, TEMP[1].zzzz 73: MOV TEMP[0].z, TEMP[5].zzzz 74: MOV TEMP[0].xyz, TEMP[0].xyzx 75: ADD TEMP[1], TEMP[3], TEMP[3].wwww 76: MUL TEMP[1], TEMP[1], IMM[2].xxxx 77: MOV OUT[1], TEMP[2] 78: MOV OUT[2], TEMP[4] 79: MOV OUT[3], TEMP[6] 80: MOV OUT[4], TEMP[0] 81: MOV OUT[0], TEMP[3] 82: MOV OUT[5], TEMP[1] 83: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1616) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1620) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1624) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1628) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1632) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1636) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1640) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1648) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1652) %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %45 = load <16 x i8> addrspace(2)* %44, !tbaa !0 %46 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %45, i32 0, i32 %5) %47 = extractelement <4 x float> %46, i32 0 %48 = extractelement <4 x float> %46, i32 1 %49 = extractelement <4 x float> %46, i32 2 %50 = extractelement <4 x float> %46, i32 3 %51 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %52 = load <16 x i8> addrspace(2)* %51, !tbaa !0 %53 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %52, i32 0, i32 %5) %54 = extractelement <4 x float> %53, i32 0 %55 = extractelement <4 x float> %53, i32 1 %56 = extractelement <4 x float> %53, i32 2 %57 = extractelement <4 x float> %53, i32 3 %58 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %59, i32 0, i32 %5) %61 = extractelement <4 x float> %60, i32 0 %62 = extractelement <4 x float> %60, i32 1 %63 = extractelement <4 x float> %60, i32 2 %64 = extractelement <4 x float> %60, i32 3 %65 = add i32 %8, %4 %66 = mul i32 %65, 3 %67 = bitcast i32 %66 to float %68 = bitcast float %67 to i32 %69 = add i32 %68, 0 %70 = bitcast float %67 to i32 %71 = add i32 %70, 1 %72 = bitcast float %67 to i32 %73 = add i32 %72, 2 %74 = bitcast i32 %69 to float %75 = bitcast i32 %71 to float %76 = bitcast i32 %73 to float %77 = bitcast float %74 to i32 %78 = shl i32 %77, 4 %79 = add i32 %78, 80 %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %79) %81 = shl i32 %77, 4 %82 = add i32 %81, 84 %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %82) %84 = shl i32 %77, 4 %85 = add i32 %84, 88 %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %85) %87 = shl i32 %77, 4 %88 = add i32 %87, 92 %89 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %88) %90 = bitcast float %75 to i32 %91 = shl i32 %90, 4 %92 = add i32 %91, 80 %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %92) %94 = shl i32 %90, 4 %95 = add i32 %94, 84 %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %95) %97 = shl i32 %90, 4 %98 = add i32 %97, 88 %99 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %98) %100 = shl i32 %90, 4 %101 = add i32 %100, 92 %102 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %101) %103 = bitcast float %76 to i32 %104 = shl i32 %103, 4 %105 = add i32 %104, 80 %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %105) %107 = shl i32 %103, 4 %108 = add i32 %107, 84 %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %108) %110 = shl i32 %103, 4 %111 = add i32 %110, 88 %112 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %111) %113 = shl i32 %103, 4 %114 = add i32 %113, 92 %115 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %114) %116 = fmul float %42, %80 %117 = fmul float %43, %83 %118 = fadd float %116, %117 %119 = fmul float %57, %86 %120 = fadd float %118, %119 %121 = fmul float 1.000000e+00, %89 %122 = fadd float %120, %121 %123 = fmul float %42, %93 %124 = fmul float %43, %96 %125 = fadd float %123, %124 %126 = fmul float %57, %99 %127 = fadd float %125, %126 %128 = fmul float 1.000000e+00, %102 %129 = fadd float %127, %128 %130 = fmul float %42, %106 %131 = fmul float %43, %109 %132 = fadd float %130, %131 %133 = fmul float %57, %112 %134 = fadd float %132, %133 %135 = fmul float 1.000000e+00, %115 %136 = fadd float %134, %135 %137 = fmul float %54, %80 %138 = fmul float %55, %83 %139 = fadd float %138, %137 %140 = fmul float %56, %86 %141 = fadd float %139, %140 %142 = fmul float %54, %93 %143 = fmul float %55, %96 %144 = fadd float %143, %142 %145 = fmul float %56, %99 %146 = fadd float %144, %145 %147 = fmul float %54, %106 %148 = fmul float %55, %109 %149 = fadd float %148, %147 %150 = fmul float %56, %112 %151 = fadd float %149, %150 %152 = fmul float %141, %141 %153 = fmul float %146, %146 %154 = fadd float %153, %152 %155 = fmul float %151, %151 %156 = fadd float %154, %155 %157 = call float @llvm.AMDGPU.rsq(float %156) %158 = fmul float %141, %157 %159 = fmul float %146, %157 %160 = fmul float %151, %157 %161 = fmul float %61, %80 %162 = fmul float %62, %83 %163 = fadd float %162, %161 %164 = fmul float %63, %86 %165 = fadd float %163, %164 %166 = fmul float %61, %93 %167 = fmul float %62, %96 %168 = fadd float %167, %166 %169 = fmul float %63, %99 %170 = fadd float %168, %169 %171 = fmul float %61, %106 %172 = fmul float %62, %109 %173 = fadd float %172, %171 %174 = fmul float %63, %112 %175 = fadd float %173, %174 %176 = fmul float %165, %165 %177 = fmul float %170, %170 %178 = fadd float %177, %176 %179 = fmul float %175, %175 %180 = fadd float %178, %179 %181 = call float @llvm.AMDGPU.rsq(float %180) %182 = fmul float %165, %181 %183 = fmul float %170, %181 %184 = fmul float %175, %181 %185 = fmul float %160, %183 %186 = fmul float %158, %184 %187 = fmul float %159, %182 %188 = fsub float -0.000000e+00, %185 %189 = fmul float %159, %184 %190 = fadd float %189, %188 %191 = fsub float -0.000000e+00, %186 %192 = fmul float %160, %182 %193 = fadd float %192, %191 %194 = fsub float -0.000000e+00, %187 %195 = fmul float %158, %183 %196 = fadd float %195, %194 %197 = fmul float %190, %64 %198 = fmul float %193, %64 %199 = fmul float %196, %64 %200 = fmul float %197, %197 %201 = fmul float %198, %198 %202 = fadd float %201, %200 %203 = fmul float %199, %199 %204 = fadd float %202, %203 %205 = call float @llvm.AMDGPU.rsq(float %204) %206 = fmul float %197, %205 %207 = fmul float %198, %205 %208 = fmul float %199, %205 %209 = fmul float %47, %30 %210 = fadd float %209, %32 %211 = fmul float %48, %31 %212 = fadd float %211, %33 %213 = fmul float %122, %34 %214 = fadd float %213, %37 %215 = fmul float %129, %35 %216 = fadd float %215, %38 %217 = fmul float %214, 0x3FECCCCCC0000000 %218 = call float @llvm.sin.f32(float %217) %219 = fmul float %214, 0x3FD3333340000000 %220 = call float @llvm.cos.f32(float %219) %221 = fmul float %218, %220 %222 = fmul float %216, 0x3FECCCCCC0000000 %223 = call float @llvm.cos.f32(float %222) %224 = fmul float %216, 0x3FD3333340000000 %225 = call float @llvm.sin.f32(float %224) %226 = fmul float %223, %225 %227 = fmul float %57, %36 %228 = fcmp uge float %227, 0.000000e+00 %229 = select i1 %228, float %227, float 0.000000e+00 %230 = fmul float %221, %229 %231 = fadd float %230, %122 %232 = fmul float %226, %229 %233 = fadd float %232, %129 %234 = fsub float -0.000000e+00, %27 %235 = fadd float %231, %234 %236 = fsub float -0.000000e+00, %28 %237 = fadd float %233, %236 %238 = fsub float -0.000000e+00, %29 %239 = fadd float %136, %238 %240 = fmul float %11, %235 %241 = fmul float %12, %235 %242 = fmul float %13, %235 %243 = fmul float %14, %235 %244 = fmul float %15, %237 %245 = fadd float %244, %240 %246 = fmul float %16, %237 %247 = fadd float %246, %241 %248 = fmul float %17, %237 %249 = fadd float %248, %242 %250 = fmul float %18, %237 %251 = fadd float %250, %243 %252 = fmul float %19, %239 %253 = fadd float %252, %245 %254 = fmul float %20, %239 %255 = fadd float %254, %247 %256 = fmul float %21, %239 %257 = fadd float %256, %249 %258 = fmul float %22, %239 %259 = fadd float %258, %251 %260 = fadd float %253, %23 %261 = fadd float %255, %24 %262 = fadd float %257, %25 %263 = fadd float %259, %26 %264 = fadd float %260, %263 %265 = fadd float %261, %263 %266 = fadd float %262, %263 %267 = fadd float %263, %263 %268 = fmul float %264, 5.000000e-01 %269 = fmul float %265, 5.000000e-01 %270 = fmul float %266, 5.000000e-01 %271 = fmul float %267, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %210, float %212, float %49, float %50) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %182, float %206, float %158, float %251) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %183, float %207, float %159, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %184, float %208, float %160, float %115) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %268, float %269, float %270, float %271) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %260, float %261, float %262, float %263) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000065c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000654 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000658 c2020004 bf8c007f 7e040204 be8403ff 00000650 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000050 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000054 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000058 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000050 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000054 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000058 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000050 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000054 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000058 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 10362110 d282001b 046e3b1d 103c1b19 103e111a 083c3d1f 10080f1e d2820005 046e0904 7e0a5b05 100c0b10 be8403ff 00000668 c2020004 bf8c007f 7e0e0204 d2100007 02020f18 d00c0004 02010107 d2000007 00120e80 c0820700 bf8c007f e00c2000 80011e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000005c e0301000 80000b0b bf8c0770 06001700 be8403ff 00000660 c2020004 be8503ff 00000670 c2028005 bf8c007f 7e160205 d282000b 042c0900 101816ff 3e99999a 101818ff 3e22f983 7e186d0c 101616ff 3f666666 101616ff 3e22f983 7e166b0b 1016190b d2820000 04020f0b c2020110 bf8c007f 0a000004 c2020103 bf8c007f 10160004 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000005c e0301000 80000202 bf8c0770 06040503 be8403ff 00000664 c2020004 be8503ff 00000674 c2028005 bf8c007f 7e060205 d2820003 040c0902 101206ff 3e99999a 101212ff 3e22f983 7e126b09 100606ff 3f666666 100606ff 3e22f983 7e066d03 10061303 d2820002 040a0f03 c2020111 bf8c007f 0a040404 c2020107 bf8c007f d2820003 042e0404 f800021f 031a060d bf8c070f 100c0b1d 7e0e0280 f800022f 07190608 10080b04 4a0202ff 0000005c e0301000 80000101 bf8c0700 f800023f 011c0412 bf8c070f 1008271f d2820004 0412231e d2820004 04122918 06020304 c2020112 bf8c007f 0a020204 c202010b bf8c007f d2820003 040e0204 c202010f bf8c007f 06060604 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120404 c202010a bf8c007f d2820004 04120204 c202010e bf8c007f 06080804 060a0704 100a0af0 c2020101 bf8c007f 100c0004 c2020105 bf8c007f d2820006 041a0404 c2020109 bf8c007f d2820006 041a0204 c202010d bf8c007f 060c0c04 060e0706 100e0ef0 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020404 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f 06000000 06020700 100202f0 06040703 100404f0 f800024f 02050701 f80008cf 03040600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[6], PERSPECTIVE DCL IN[3], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[0..1] DCL CONST[7..9] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 2.0000, -1.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: FSGE TEMP[1].x, IMM[0].xxxx, TEMP[0].wwww 3: UIF TEMP[1].xxxx :0 4: KILL 5: ENDIF 6: MOV TEMP[1].y, IMM[0].yyyy 7: MOV TEMP[2].xyz, IN[2].xyzz 8: TEX TEMP[2].x, TEMP[2], SAMP[1], 3D 9: MOV TEMP[1].x, TEMP[2].xxxx 10: MOV TEMP[1].xy, TEMP[1].xyyy 11: TEX TEMP[1].xyz, TEMP[1], SAMP[2], 2D 12: MAD TEMP[1].xyz, TEMP[1].xyzz, IMM[0].zzzz, IMM[0].wwww 13: MAD_SAT TEMP[1].xyz, TEMP[1].xyzz, CONST[8].xxxx, TEMP[0].xyzz 14: MUL TEMP[2].xyz, TEMP[1].xyzz, CONST[0].xyzz 15: MOV TEMP[3].xyz, IN[1].xyzz 16: TEX TEMP[3].xyz, TEMP[3], SAMP[3], CUBE 17: MUL TEMP[3].xyz, TEMP[1].xyzz, TEMP[3].xyzz 18: MAD TEMP[2].xyz, TEMP[3].xyzz, CONST[7].xxxx, TEMP[2].xyzz 19: MOV TEMP[3].xy, IN[3].xyyy 20: MOV TEMP[3].w, IN[3].wwww 21: TXP TEMP[3].xyz, TEMP[3], SAMP[4], 2D 22: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[3].xyzz 23: MAD TEMP[1].xyz, TEMP[1].xyzz, CONST[1].xxxx, TEMP[2].xyzz 24: MOV TEMP[1].xyz, TEMP[1].xyzx 25: MOV TEMP[1].w, TEMP[0].wwww 26: MUL TEMP[0], TEMP[1], CONST[9] 27: MOV OUT[0], TEMP[0] 28: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 156) %32 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %33 = load <32 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %41 = load <32 x i8> addrspace(2)* %40, !tbaa !0 %42 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %45 = load <32 x i8> addrspace(2)* %44, !tbaa !0 %46 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %49 = load <32 x i8> addrspace(2)* %48, !tbaa !0 %50 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %51 = load <16 x i8> addrspace(2)* %50, !tbaa !0 %52 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %56 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %57 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %58 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %59 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %60 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %63 = bitcast float %52 to i32 %64 = bitcast float %53 to i32 %65 = insertelement <2 x i32> undef, i32 %63, i32 0 %66 = insertelement <2 x i32> %65, i32 %64, i32 1 %67 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %66, <32 x i8> %33, <16 x i8> %35, i32 2) %68 = extractelement <4 x float> %67, i32 0 %69 = extractelement <4 x float> %67, i32 1 %70 = extractelement <4 x float> %67, i32 2 %71 = extractelement <4 x float> %67, i32 3 %72 = fcmp oge float 5.000000e-01, %71 %73 = sext i1 %72 to i32 %74 = bitcast i32 %73 to float %75 = bitcast float %74 to i32 %76 = icmp ne i32 %75, 0 br i1 %76, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %77 = bitcast float %57 to i32 %78 = bitcast float %58 to i32 %79 = bitcast float %59 to i32 %80 = insertelement <4 x i32> undef, i32 %77, i32 0 %81 = insertelement <4 x i32> %80, i32 %78, i32 1 %82 = insertelement <4 x i32> %81, i32 %79, i32 2 %83 = insertelement <4 x i32> %82, i32 undef, i32 3 %84 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %83, <32 x i8> %37, <16 x i8> %39, i32 3) %85 = extractelement <4 x float> %84, i32 0 %86 = bitcast float %85 to i32 %87 = bitcast float 0.000000e+00 to i32 %88 = insertelement <2 x i32> undef, i32 %86, i32 0 %89 = insertelement <2 x i32> %88, i32 %87, i32 1 %90 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %89, <32 x i8> %41, <16 x i8> %43, i32 2) %91 = extractelement <4 x float> %90, i32 0 %92 = extractelement <4 x float> %90, i32 1 %93 = extractelement <4 x float> %90, i32 2 %94 = fmul float %91, 2.000000e+00 %95 = fadd float %94, -1.000000e+00 %96 = fmul float %92, 2.000000e+00 %97 = fadd float %96, -1.000000e+00 %98 = fmul float %93, 2.000000e+00 %99 = fadd float %98, -1.000000e+00 %100 = fmul float %95, %27 %101 = fadd float %100, %68 %102 = fmul float %97, %27 %103 = fadd float %102, %69 %104 = fmul float %99, %27 %105 = fadd float %104, %70 %106 = call float @llvm.AMDIL.clamp.(float %101, float 0.000000e+00, float 1.000000e+00) %107 = call float @llvm.AMDIL.clamp.(float %103, float 0.000000e+00, float 1.000000e+00) %108 = call float @llvm.AMDIL.clamp.(float %105, float 0.000000e+00, float 1.000000e+00) %109 = fmul float %106, %22 %110 = fmul float %107, %23 %111 = fmul float %108, %24 %112 = insertelement <4 x float> undef, float %54, i32 0 %113 = insertelement <4 x float> %112, float %55, i32 1 %114 = insertelement <4 x float> %113, float %56, i32 2 %115 = insertelement <4 x float> %114, float 0.000000e+00, i32 3 %116 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %115) %117 = extractelement <4 x float> %116, i32 0 %118 = extractelement <4 x float> %116, i32 1 %119 = extractelement <4 x float> %116, i32 2 %120 = extractelement <4 x float> %116, i32 3 %121 = call float @fabs(float %119) %122 = fdiv float 1.000000e+00, %121 %123 = fmul float %117, %122 %124 = fadd float %123, 1.500000e+00 %125 = fmul float %118, %122 %126 = fadd float %125, 1.500000e+00 %127 = bitcast float %126 to i32 %128 = bitcast float %124 to i32 %129 = bitcast float %120 to i32 %130 = insertelement <4 x i32> undef, i32 %127, i32 0 %131 = insertelement <4 x i32> %130, i32 %128, i32 1 %132 = insertelement <4 x i32> %131, i32 %129, i32 2 %133 = insertelement <4 x i32> %132, i32 undef, i32 3 %134 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %133, <32 x i8> %45, <16 x i8> %47, i32 4) %135 = extractelement <4 x float> %134, i32 0 %136 = extractelement <4 x float> %134, i32 1 %137 = extractelement <4 x float> %134, i32 2 %138 = fmul float %106, %135 %139 = fmul float %107, %136 %140 = fmul float %108, %137 %141 = fmul float %138, %26 %142 = fadd float %141, %109 %143 = fmul float %139, %26 %144 = fadd float %143, %110 %145 = fmul float %140, %26 %146 = fadd float %145, %111 %147 = fdiv float %60, %62 %148 = fdiv float %61, %62 %149 = bitcast float %147 to i32 %150 = bitcast float %148 to i32 %151 = insertelement <2 x i32> undef, i32 %149, i32 0 %152 = insertelement <2 x i32> %151, i32 %150, i32 1 %153 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %152, <32 x i8> %49, <16 x i8> %51, i32 2) %154 = extractelement <4 x float> %153, i32 0 %155 = extractelement <4 x float> %153, i32 1 %156 = extractelement <4 x float> %153, i32 2 %157 = fmul float %106, %154 %158 = fmul float %107, %155 %159 = fmul float %108, %156 %160 = fmul float %157, %25 %161 = fadd float %160, %142 %162 = fmul float %158, %25 %163 = fadd float %162, %144 %164 = fmul float %159, %25 %165 = fadd float %164, %146 %166 = fmul float %161, %28 %167 = fmul float %163, %29 %168 = fmul float %165, %30 %169 = fmul float %71, %31 %170 = call i32 @llvm.SI.packf16(float %166, float %167) %171 = bitcast i32 %170 to float %172 = call i32 @llvm.SI.packf16(float %168, float %169) %173 = bitcast i32 %172 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %171, float %173, float %171, float %173) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800f00 00430202 bf8c0770 d0060026 0201e105 c8180f00 c8190f01 c81c0d00 c81d0d01 c8200c00 c8210c01 c82c0a00 c82d0a01 c8280900 c8290901 c8240800 c8250801 c83c0600 c83d0601 c8380500 c8390501 c8340400 c8350401 c0840310 c0c60520 c098030c c0da0518 c08a0308 c0cc0510 c0900304 c0d40508 c09e0100 bf8c007f c212bd27 c2003d26 c203bd25 c202bd24 c201bd20 c2013d1c c200bd04 c2023d02 c2123d01 c2033d00 bf8c007f 7e000225 bea62426 89a6267e 7e0202f3 7c260280 88fe267e 7e200280 d28a0012 043e1d0d d28c0011 043e1d0d d28e0013 043e1d0d d2880014 043e1d0d d2060101 02010113 7e025501 7e1a02ff 3fc00000 d2820013 04360311 d2820012 04360312 f0800700 018d0d12 f0800100 010a0909 bf8c0770 7e140280 f0800700 00a60909 bf8c0770 0602150a 060202f3 d2820001 040c0701 d2060801 02010101 10181d01 10200224 d282000c 0440050c 7e0c5506 10220d07 10200d08 f0800700 00430610 bf8c0770 10020f01 d2820001 04300301 10020207 06181309 061818f3 d282000c 0408070c d206080c 0201010c 10201b0c 10221806 d2820010 04440510 10180d0c d282000c 0440030c 10181805 5e02030c 0612170b 061212f3 d2820009 04100709 d2060809 02010109 10141f09 10161204 d282000a 042c050a 100c1109 d2820006 04280306 100c0c00 d2100000 02020105 5e000106 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[6] DCL OUT[4], GENERIC[7] DCL CONST[0..104] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} IMM[2] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+5] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+5] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+5] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].z, TEMP[4].wwzw 19: DP3 TEMP[1].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[2].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[1].y, TEMP[2].xxxx 22: DP3 TEMP[0].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[1].z, TEMP[0].xxxx 24: MUL TEMP[0].xyz, TEMP[4].xyzz, CONST[104].xyzz 25: MOV TEMP[2].zw, IN[1].wwzw 26: MAD TEMP[2].xy, IN[1].xyyy, CONST[101].xyyy, CONST[101].zwww 27: MAD TEMP[5].xy, TEMP[4].xyyy, CONST[102].xyyy, CONST[103].xyyy 28: MUL TEMP[6].x, TEMP[5].xxxx, IMM[1].yyyy 29: SIN TEMP[6].x, TEMP[6].xxxx 30: MUL TEMP[7].x, TEMP[5].xxxx, IMM[1].zzzz 31: COS TEMP[7].x, TEMP[7].xxxx 32: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 33: MUL TEMP[7].x, TEMP[5].yyyy, IMM[1].yyyy 34: COS TEMP[7].x, TEMP[7].xxxx 35: MUL TEMP[5].x, TEMP[5].yyyy, IMM[1].zzzz 36: SIN TEMP[5].x, TEMP[5].xxxx 37: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 38: MOV TEMP[6].y, TEMP[5].xxxx 39: MUL TEMP[5].x, IN[2].wwww, CONST[102].zzzz 40: MAX TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 41: MAD TEMP[3].xy, TEMP[6].xyyy, TEMP[5].xxxx, TEMP[4].xyyy 42: ADD TEMP[3].xyz, TEMP[3].xyzz, -CONST[4].xyzz 43: MUL TEMP[4], CONST[0], TEMP[3].xxxx 44: MAD TEMP[4], CONST[1], TEMP[3].yyyy, TEMP[4] 45: MAD TEMP[3], CONST[2], TEMP[3].zzzz, TEMP[4] 46: ADD TEMP[3], TEMP[3], CONST[3] 47: DP3 TEMP[4].x, TEMP[1].xyzz, TEMP[1].xyzz 48: RSQ TEMP[4].x, TEMP[4].xxxx 49: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xxxx 50: ADD TEMP[4], TEMP[3], TEMP[3].wwww 51: MUL TEMP[4], TEMP[4], IMM[2].xxxx 52: MOV OUT[1], TEMP[2] 53: MOV OUT[2], TEMP[1] 54: MOV OUT[0], TEMP[3] 55: MOV OUT[3], TEMP[0] 56: MOV OUT[4], TEMP[4] 57: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1616) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1620) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1624) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1628) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1632) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1636) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1640) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1648) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1652) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %42 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %43, i32 0, i32 %5) %45 = extractelement <4 x float> %44, i32 0 %46 = extractelement <4 x float> %44, i32 1 %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = extractelement <4 x float> %49, i32 2 %53 = extractelement <4 x float> %49, i32 3 %54 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %55, i32 0, i32 %5) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = extractelement <4 x float> %56, i32 2 %60 = extractelement <4 x float> %56, i32 3 %61 = add i32 %8, %4 %62 = mul i32 %61, 3 %63 = bitcast i32 %62 to float %64 = bitcast float %63 to i32 %65 = add i32 %64, 0 %66 = bitcast float %63 to i32 %67 = add i32 %66, 1 %68 = bitcast float %63 to i32 %69 = add i32 %68, 2 %70 = bitcast i32 %65 to float %71 = bitcast i32 %67 to float %72 = bitcast i32 %69 to float %73 = bitcast float %70 to i32 %74 = shl i32 %73, 4 %75 = add i32 %74, 80 %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %75) %77 = shl i32 %73, 4 %78 = add i32 %77, 84 %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %78) %80 = shl i32 %73, 4 %81 = add i32 %80, 88 %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %81) %83 = shl i32 %73, 4 %84 = add i32 %83, 92 %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %84) %86 = bitcast float %71 to i32 %87 = shl i32 %86, 4 %88 = add i32 %87, 80 %89 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %88) %90 = shl i32 %86, 4 %91 = add i32 %90, 84 %92 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %91) %93 = shl i32 %86, 4 %94 = add i32 %93, 88 %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %94) %96 = shl i32 %86, 4 %97 = add i32 %96, 92 %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %97) %99 = bitcast float %72 to i32 %100 = shl i32 %99, 4 %101 = add i32 %100, 80 %102 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %101) %103 = shl i32 %99, 4 %104 = add i32 %103, 84 %105 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %104) %106 = shl i32 %99, 4 %107 = add i32 %106, 88 %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %107) %109 = shl i32 %99, 4 %110 = add i32 %109, 92 %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %110) %112 = fmul float %45, %76 %113 = fmul float %46, %79 %114 = fadd float %112, %113 %115 = fmul float %60, %82 %116 = fadd float %114, %115 %117 = fmul float 1.000000e+00, %85 %118 = fadd float %116, %117 %119 = fmul float %45, %89 %120 = fmul float %46, %92 %121 = fadd float %119, %120 %122 = fmul float %60, %95 %123 = fadd float %121, %122 %124 = fmul float 1.000000e+00, %98 %125 = fadd float %123, %124 %126 = fmul float %45, %102 %127 = fmul float %46, %105 %128 = fadd float %126, %127 %129 = fmul float %60, %108 %130 = fadd float %128, %129 %131 = fmul float 1.000000e+00, %111 %132 = fadd float %130, %131 %133 = fmul float %57, %76 %134 = fmul float %58, %79 %135 = fadd float %134, %133 %136 = fmul float %59, %82 %137 = fadd float %135, %136 %138 = fmul float %57, %89 %139 = fmul float %58, %92 %140 = fadd float %139, %138 %141 = fmul float %59, %95 %142 = fadd float %140, %141 %143 = fmul float %57, %102 %144 = fmul float %58, %105 %145 = fadd float %144, %143 %146 = fmul float %59, %108 %147 = fadd float %145, %146 %148 = fmul float %118, %39 %149 = fmul float %125, %40 %150 = fmul float %132, %41 %151 = fmul float %50, %30 %152 = fadd float %151, %32 %153 = fmul float %51, %31 %154 = fadd float %153, %33 %155 = fmul float %118, %34 %156 = fadd float %155, %37 %157 = fmul float %125, %35 %158 = fadd float %157, %38 %159 = fmul float %156, 0x3FECCCCCC0000000 %160 = call float @llvm.sin.f32(float %159) %161 = fmul float %156, 0x3FD3333340000000 %162 = call float @llvm.cos.f32(float %161) %163 = fmul float %160, %162 %164 = fmul float %158, 0x3FECCCCCC0000000 %165 = call float @llvm.cos.f32(float %164) %166 = fmul float %158, 0x3FD3333340000000 %167 = call float @llvm.sin.f32(float %166) %168 = fmul float %165, %167 %169 = fmul float %60, %36 %170 = fcmp uge float %169, 0.000000e+00 %171 = select i1 %170, float %169, float 0.000000e+00 %172 = fmul float %163, %171 %173 = fadd float %172, %118 %174 = fmul float %168, %171 %175 = fadd float %174, %125 %176 = fsub float -0.000000e+00, %27 %177 = fadd float %173, %176 %178 = fsub float -0.000000e+00, %28 %179 = fadd float %175, %178 %180 = fsub float -0.000000e+00, %29 %181 = fadd float %132, %180 %182 = fmul float %11, %177 %183 = fmul float %12, %177 %184 = fmul float %13, %177 %185 = fmul float %14, %177 %186 = fmul float %15, %179 %187 = fadd float %186, %182 %188 = fmul float %16, %179 %189 = fadd float %188, %183 %190 = fmul float %17, %179 %191 = fadd float %190, %184 %192 = fmul float %18, %179 %193 = fadd float %192, %185 %194 = fmul float %19, %181 %195 = fadd float %194, %187 %196 = fmul float %20, %181 %197 = fadd float %196, %189 %198 = fmul float %21, %181 %199 = fadd float %198, %191 %200 = fmul float %22, %181 %201 = fadd float %200, %193 %202 = fadd float %195, %23 %203 = fadd float %197, %24 %204 = fadd float %199, %25 %205 = fadd float %201, %26 %206 = fmul float %137, %137 %207 = fmul float %142, %142 %208 = fadd float %207, %206 %209 = fmul float %147, %147 %210 = fadd float %208, %209 %211 = call float @llvm.AMDGPU.rsq(float %210) %212 = fmul float %137, %211 %213 = fmul float %142, %211 %214 = fmul float %147, %211 %215 = fadd float %202, %205 %216 = fadd float %203, %205 %217 = fadd float %204, %205 %218 = fadd float %205, %205 %219 = fmul float %215, 5.000000e-01 %220 = fmul float %216, 5.000000e-01 %221 = fmul float %217, 5.000000e-01 %222 = fmul float %218, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %152, float %154, float %52, float %53) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %212, float %213, float %214, float %85) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %148, float %149, float %150, float %111) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %219, float %220, float %221, float %222) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %202, float %203, float %204, float %205) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { nounwind readonly } attributes #3 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000065c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000654 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000658 c2020004 bf8c007f 7e040204 be8403ff 00000650 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000050 e0301000 80000303 c0840708 bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000054 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000058 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000050 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000054 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000058 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000050 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000054 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000058 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 10102108 101a210d 4a1616ff 0000005c e0301000 80000b0b bf8c0770 f800021f 0b12080d c0820700 bf8c000f e00c2000 80011500 bf8c0770 10001d16 d2820000 04021915 d2820000 04021f07 06001700 be8403ff 00000680 c2020004 bf8c007f 10100004 10162716 d282000b 042e2315 d282000b 042e2907 4a0202ff 0000005c e0301000 80000101 bf8c0770 0616030b be8403ff 00000688 c2020004 bf8c007f 10181604 10121316 d2820003 04260715 d2820003 040e1507 4a0404ff 0000005c e0301000 80000202 bf8c0770 06040503 be8403ff 00000684 c2020004 bf8c007f 10060404 f800022f 010c0308 be8403ff 00000668 c2020004 bf8c000f 7e020204 d2100001 02020307 d00c0004 02010101 d2000001 00120280 be8403ff 00000660 c2020004 be8503ff 00000670 c2028005 bf8c007f 7e060205 d2820003 040c0900 100806ff 3e99999a 100808ff 3e22f983 7e086d04 100606ff 3f666666 100606ff 3e22f983 7e066b03 10060903 d2820000 04020303 c2020110 bf8c007f 0a000004 c2020103 bf8c007f 10060004 be8403ff 00000664 c2020004 be8503ff 00000674 c2028005 bf8c007f 7e080205 d2820004 04100902 100a08ff 3e99999a 100a0aff 3e22f983 7e0a6b05 100808ff 3f666666 100808ff 3e22f983 7e086d04 10080b04 d2820001 040a0304 c2020111 bf8c007f 0a020204 c2020107 bf8c007f d2820002 040e0204 c2020112 bf8c007f 0a061604 c202010b bf8c007f d2820002 040a0604 c202010f bf8c007f 06040404 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120204 c202010a bf8c007f d2820004 04120604 c202010e bf8c007f 06080804 060a0504 100a0af0 c2020101 bf8c007f 100c0004 c2020105 bf8c007f d2820006 041a0204 c2020109 bf8c007f d2820006 041a0604 c202010d bf8c007f 060c0c04 060e0506 100e0ef0 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020204 c2020108 bf8c007f d2820000 04020604 c200010c bf8c007f 06000000 06020500 100202f0 06060502 100606f0 f800023f 03050701 f80008cf 02040600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[0..11] DCL CONST[18..19] DCL TEMP[0..12], LOCAL IMM[0] FLT32 { 0.5000, 2.0000, -1.0000, 1.0000} IMM[1] FLT32 { 0.0000, -0.5000, 3.0000, 4.0000} IMM[2] FLT32 { 0.1667, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: FSGE TEMP[1].x, IMM[0].xxxx, TEMP[0].wwww 3: UIF TEMP[1].xxxx :0 4: KILL 5: ENDIF 6: MOV TEMP[1].xy, IN[0].xyyy 7: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 8: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].yyyy, IMM[0].zzzz 9: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 10: ADD_SAT TEMP[2].x, IMM[0].wwww, -TEMP[2].xxxx 11: RSQ TEMP[3].x, TEMP[2].xxxx 12: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 13: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[1].xxxx 14: MOV TEMP[1].z, TEMP[3].xxxx 15: MUL TEMP[2].xyz, TEMP[0].xyzz, CONST[0].xyzz 16: DP3 TEMP[3].x, TEMP[1].xyzz, IN[1].xyzz 17: DP3 TEMP[4].x, TEMP[1].xyzz, IN[2].xyzz 18: MOV TEMP[3].y, TEMP[4].xxxx 19: DP3 TEMP[1].x, TEMP[1].xyzz, IN[3].xyzz 20: MOV TEMP[3].z, TEMP[1].xxxx 21: MAD TEMP[1].xy, IN[0].zwww, CONST[10].xyyy, IMM[1].yyyy 22: FRC TEMP[4].x, TEMP[1].xxxx 23: MUL TEMP[5].x, TEMP[4].xxxx, TEMP[4].xxxx 24: MUL TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx 25: MUL TEMP[7].x, TEMP[4].xxxx, IMM[1].zzzz 26: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].zzzz 27: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].zzzz 28: MUL TEMP[9].x, TEMP[5].xxxx, IMM[0].yyyy 29: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[9].xxxx 30: ADD TEMP[9].x, TEMP[9].xxxx, IMM[1].wwww 31: ADD TEMP[8].x, -TEMP[8].xxxx, TEMP[5].xxxx 32: ADD TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 33: ADD TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 34: ADD TEMP[10].x, TEMP[8].xxxx, TEMP[6].xxxx 35: RCP TEMP[10].x, TEMP[10].xxxx 36: MAD TEMP[10].x, TEMP[6].xxxx, TEMP[10].xxxx, IMM[0].wwww 37: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[4].xxxx 38: ADD TEMP[5].x, -TEMP[6].xxxx, TEMP[5].xxxx 39: ADD TEMP[5].x, TEMP[5].xxxx, -TEMP[7].xxxx 40: ADD TEMP[5].x, TEMP[5].xxxx, IMM[0].wwww 41: ADD TEMP[5].x, TEMP[5].xxxx, TEMP[9].xxxx 42: RCP TEMP[5].x, TEMP[5].xxxx 43: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 44: ADD TEMP[5].x, IMM[0].wwww, -TEMP[5].xxxx 45: ADD TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 46: ADD TEMP[5].x, TEMP[8].xxxx, TEMP[6].xxxx 47: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 48: FRC TEMP[1].x, TEMP[1].yyyy 49: MUL TEMP[6].x, TEMP[1].xxxx, TEMP[1].xxxx 50: MUL TEMP[7].x, TEMP[6].xxxx, TEMP[1].xxxx 51: MUL TEMP[8].x, TEMP[1].xxxx, IMM[1].zzzz 52: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].zzzz 53: MUL TEMP[9].x, TEMP[7].xxxx, IMM[1].zzzz 54: MUL TEMP[11].x, TEMP[6].xxxx, IMM[0].yyyy 55: ADD TEMP[11].x, TEMP[9].xxxx, -TEMP[11].xxxx 56: ADD TEMP[11].x, TEMP[11].xxxx, IMM[1].wwww 57: ADD TEMP[9].x, -TEMP[9].xxxx, TEMP[6].xxxx 58: ADD TEMP[9].x, TEMP[9].xxxx, TEMP[8].xxxx 59: ADD TEMP[9].x, TEMP[9].xxxx, IMM[0].wwww 60: ADD TEMP[12].x, TEMP[9].xxxx, TEMP[7].xxxx 61: RCP TEMP[12].x, TEMP[12].xxxx 62: MAD TEMP[12].x, TEMP[7].xxxx, TEMP[12].xxxx, IMM[0].wwww 63: ADD TEMP[12].x, TEMP[12].xxxx, -TEMP[1].xxxx 64: ADD TEMP[6].x, -TEMP[7].xxxx, TEMP[6].xxxx 65: ADD TEMP[6].x, TEMP[6].xxxx, -TEMP[8].xxxx 66: ADD TEMP[6].x, TEMP[6].xxxx, IMM[0].wwww 67: ADD TEMP[6].x, TEMP[6].xxxx, TEMP[11].xxxx 68: RCP TEMP[6].x, TEMP[6].xxxx 69: MUL TEMP[6].x, TEMP[11].xxxx, TEMP[6].xxxx 70: ADD TEMP[6].x, IMM[0].wwww, -TEMP[6].xxxx 71: ADD TEMP[1].x, TEMP[6].xxxx, TEMP[1].xxxx 72: ADD TEMP[6].x, TEMP[9].xxxx, TEMP[7].xxxx 73: MUL TEMP[6].x, TEMP[6].xxxx, IMM[2].xxxx 74: MOV TEMP[4].x, -TEMP[4].xxxx 75: MOV TEMP[4].y, -TEMP[1].xxxx 76: MOV TEMP[4].z, TEMP[10].xxxx 77: MOV TEMP[4].w, TEMP[12].xxxx 78: MAD TEMP[1], TEMP[4], CONST[10].zwzw, IN[0].zwzw 79: MOV TEMP[3].xyz, TEMP[3].xyzz 80: TEX TEMP[3].xyz, TEMP[3], SAMP[3], CUBE 81: MUL TEMP[3].xyz, TEMP[0].xyzz, TEMP[3].xyzz 82: MOV TEMP[4].xy, TEMP[1].xyyy 83: TEX TEMP[4], TEMP[4], SAMP[4], 2D 84: MOV TEMP[7].xy, TEMP[1].xwww 85: TEX TEMP[7], TEMP[7], SAMP[4], 2D 86: LRP TEMP[4], TEMP[6].xxxx, TEMP[7], TEMP[4] 87: MOV TEMP[7].xy, TEMP[1].zyyy 88: TEX TEMP[7], TEMP[7], SAMP[4], 2D 89: MOV TEMP[1].xy, TEMP[1].zwww 90: TEX TEMP[1], TEMP[1], SAMP[4], 2D 91: LRP TEMP[1], TEMP[6].xxxx, TEMP[1], TEMP[7] 92: LRP TEMP[1].x, TEMP[5].xxxx, TEMP[1], TEMP[4] 93: MUL TEMP[1].x, TEMP[1].xxxx, CONST[18].xxxx 94: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[2].xyzz 95: MOV TEMP[1].xy, IN[4].xyyy 96: MOV TEMP[1].w, IN[4].wwww 97: TXP TEMP[1], TEMP[1], SAMP[5], 2D 98: MOV TEMP[3].xy, IN[0].xyyy 99: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 100: MUL TEMP[4].x, CONST[11].yyyy, TEMP[1].wwww 101: MUL TEMP[5].xyz, TEMP[0].xyzz, CONST[11].xxxx 102: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx, TEMP[5].xyzz 103: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[1].xyzz, TEMP[2].xyzz 104: MOV TEMP[1].xyz, TEMP[1].xyzx 105: MOV TEMP[1].w, TEMP[0].wwww 106: MUL TEMP[0], TEMP[1], CONST[19] 107: MOV OUT[0], TEMP[0] 108: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 316) %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %41 = load <32 x i8> addrspace(2)* %40, !tbaa !0 %42 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %45 = load <32 x i8> addrspace(2)* %44, !tbaa !0 %46 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %49 = load <32 x i8> addrspace(2)* %48, !tbaa !0 %50 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %51 = load <16 x i8> addrspace(2)* %50, !tbaa !0 %52 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %53 = load <32 x i8> addrspace(2)* %52, !tbaa !0 %54 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %57 = load <32 x i8> addrspace(2)* %56, !tbaa !0 %58 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %64 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %65 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %66 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %67 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %68 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %69 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %70 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %71 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %72 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %73 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %74 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %75 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %76 = bitcast float %60 to i32 %77 = bitcast float %61 to i32 %78 = insertelement <2 x i32> undef, i32 %76, i32 0 %79 = insertelement <2 x i32> %78, i32 %77, i32 1 %80 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %79, <32 x i8> %37, <16 x i8> %39, i32 2) %81 = extractelement <4 x float> %80, i32 0 %82 = extractelement <4 x float> %80, i32 1 %83 = extractelement <4 x float> %80, i32 2 %84 = extractelement <4 x float> %80, i32 3 %85 = fcmp oge float 5.000000e-01, %84 %86 = sext i1 %85 to i32 %87 = bitcast i32 %86 to float %88 = bitcast float %87 to i32 %89 = icmp ne i32 %88, 0 br i1 %89, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %90 = bitcast float %60 to i32 %91 = bitcast float %61 to i32 %92 = insertelement <2 x i32> undef, i32 %90, i32 0 %93 = insertelement <2 x i32> %92, i32 %91, i32 1 %94 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %93, <32 x i8> %41, <16 x i8> %43, i32 2) %95 = extractelement <4 x float> %94, i32 0 %96 = extractelement <4 x float> %94, i32 1 %97 = fmul float %95, 2.000000e+00 %98 = fadd float %97, -1.000000e+00 %99 = fmul float %96, 2.000000e+00 %100 = fadd float %99, -1.000000e+00 %101 = fmul float %98, %98 %102 = fmul float %100, %100 %103 = fadd float %101, %102 %104 = fsub float -0.000000e+00, %103 %105 = fadd float 1.000000e+00, %104 %106 = call float @llvm.AMDIL.clamp.(float %105, float 0.000000e+00, float 1.000000e+00) %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %107, %106 %109 = fsub float -0.000000e+00, %106 %110 = call float @llvm.AMDGPU.cndlt(float %109, float %108, float 0.000000e+00) %111 = fmul float %81, %22 %112 = fmul float %82, %23 %113 = fmul float %83, %24 %114 = fmul float %98, %64 %115 = fmul float %100, %65 %116 = fadd float %115, %114 %117 = fmul float %110, %66 %118 = fadd float %116, %117 %119 = fmul float %98, %67 %120 = fmul float %100, %68 %121 = fadd float %120, %119 %122 = fmul float %110, %69 %123 = fadd float %121, %122 %124 = fmul float %98, %70 %125 = fmul float %100, %71 %126 = fadd float %125, %124 %127 = fmul float %110, %72 %128 = fadd float %126, %127 %129 = fmul float %62, %25 %130 = fadd float %129, -5.000000e-01 %131 = fmul float %63, %26 %132 = fadd float %131, -5.000000e-01 %133 = call float @llvm.AMDIL.fraction.(float %130) %134 = fmul float %133, %133 %135 = fmul float %134, %133 %136 = fmul float %133, 3.000000e+00 %137 = fmul float %134, 3.000000e+00 %138 = fmul float %135, 3.000000e+00 %139 = fmul float %137, 2.000000e+00 %140 = fsub float -0.000000e+00, %139 %141 = fadd float %138, %140 %142 = fadd float %141, 4.000000e+00 %143 = fsub float -0.000000e+00, %138 %144 = fadd float %143, %137 %145 = fadd float %144, %136 %146 = fadd float %145, 1.000000e+00 %147 = fadd float %146, %135 %148 = fdiv float 1.000000e+00, %147 %149 = fmul float %135, %148 %150 = fadd float %149, 1.000000e+00 %151 = fsub float -0.000000e+00, %133 %152 = fadd float %150, %151 %153 = fsub float -0.000000e+00, %135 %154 = fadd float %153, %137 %155 = fsub float -0.000000e+00, %136 %156 = fadd float %154, %155 %157 = fadd float %156, 1.000000e+00 %158 = fadd float %157, %142 %159 = fdiv float 1.000000e+00, %158 %160 = fmul float %142, %159 %161 = fsub float -0.000000e+00, %160 %162 = fadd float 1.000000e+00, %161 %163 = fadd float %162, %133 %164 = fadd float %146, %135 %165 = fmul float %164, 0x3FC5555560000000 %166 = call float @llvm.AMDIL.fraction.(float %132) %167 = fmul float %166, %166 %168 = fmul float %167, %166 %169 = fmul float %166, 3.000000e+00 %170 = fmul float %167, 3.000000e+00 %171 = fmul float %168, 3.000000e+00 %172 = fmul float %170, 2.000000e+00 %173 = fsub float -0.000000e+00, %172 %174 = fadd float %171, %173 %175 = fadd float %174, 4.000000e+00 %176 = fsub float -0.000000e+00, %171 %177 = fadd float %176, %170 %178 = fadd float %177, %169 %179 = fadd float %178, 1.000000e+00 %180 = fadd float %179, %168 %181 = fdiv float 1.000000e+00, %180 %182 = fmul float %168, %181 %183 = fadd float %182, 1.000000e+00 %184 = fsub float -0.000000e+00, %166 %185 = fadd float %183, %184 %186 = fsub float -0.000000e+00, %168 %187 = fadd float %186, %170 %188 = fsub float -0.000000e+00, %169 %189 = fadd float %187, %188 %190 = fadd float %189, 1.000000e+00 %191 = fadd float %190, %175 %192 = fdiv float 1.000000e+00, %191 %193 = fmul float %175, %192 %194 = fsub float -0.000000e+00, %193 %195 = fadd float 1.000000e+00, %194 %196 = fadd float %195, %166 %197 = fadd float %179, %168 %198 = fmul float %197, 0x3FC5555560000000 %199 = fsub float -0.000000e+00, %163 %200 = fsub float -0.000000e+00, %196 %201 = fmul float %199, %27 %202 = fadd float %201, %62 %203 = fmul float %200, %28 %204 = fadd float %203, %63 %205 = fmul float %152, %27 %206 = fadd float %205, %62 %207 = fmul float %185, %28 %208 = fadd float %207, %63 %209 = insertelement <4 x float> undef, float %118, i32 0 %210 = insertelement <4 x float> %209, float %123, i32 1 %211 = insertelement <4 x float> %210, float %128, i32 2 %212 = insertelement <4 x float> %211, float 0.000000e+00, i32 3 %213 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %212) %214 = extractelement <4 x float> %213, i32 0 %215 = extractelement <4 x float> %213, i32 1 %216 = extractelement <4 x float> %213, i32 2 %217 = extractelement <4 x float> %213, i32 3 %218 = call float @fabs(float %216) %219 = fdiv float 1.000000e+00, %218 %220 = fmul float %214, %219 %221 = fadd float %220, 1.500000e+00 %222 = fmul float %215, %219 %223 = fadd float %222, 1.500000e+00 %224 = bitcast float %223 to i32 %225 = bitcast float %221 to i32 %226 = bitcast float %217 to i32 %227 = insertelement <4 x i32> undef, i32 %224, i32 0 %228 = insertelement <4 x i32> %227, i32 %225, i32 1 %229 = insertelement <4 x i32> %228, i32 %226, i32 2 %230 = insertelement <4 x i32> %229, i32 undef, i32 3 %231 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %230, <32 x i8> %49, <16 x i8> %51, i32 4) %232 = extractelement <4 x float> %231, i32 0 %233 = extractelement <4 x float> %231, i32 1 %234 = extractelement <4 x float> %231, i32 2 %235 = fmul float %81, %232 %236 = fmul float %82, %233 %237 = fmul float %83, %234 %238 = bitcast float %202 to i32 %239 = bitcast float %204 to i32 %240 = insertelement <2 x i32> undef, i32 %238, i32 0 %241 = insertelement <2 x i32> %240, i32 %239, i32 1 %242 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %241, <32 x i8> %53, <16 x i8> %55, i32 2) %243 = extractelement <4 x float> %242, i32 0 %244 = extractelement <4 x float> %242, i32 1 %245 = extractelement <4 x float> %242, i32 2 %246 = extractelement <4 x float> %242, i32 3 %247 = bitcast float %202 to i32 %248 = bitcast float %208 to i32 %249 = insertelement <2 x i32> undef, i32 %247, i32 0 %250 = insertelement <2 x i32> %249, i32 %248, i32 1 %251 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %250, <32 x i8> %53, <16 x i8> %55, i32 2) %252 = extractelement <4 x float> %251, i32 0 %253 = extractelement <4 x float> %251, i32 1 %254 = extractelement <4 x float> %251, i32 2 %255 = extractelement <4 x float> %251, i32 3 %256 = call float @llvm.AMDGPU.lrp(float %198, float %252, float %243) %257 = call float @llvm.AMDGPU.lrp(float %198, float %253, float %244) %258 = call float @llvm.AMDGPU.lrp(float %198, float %254, float %245) %259 = call float @llvm.AMDGPU.lrp(float %198, float %255, float %246) %260 = bitcast float %206 to i32 %261 = bitcast float %204 to i32 %262 = insertelement <2 x i32> undef, i32 %260, i32 0 %263 = insertelement <2 x i32> %262, i32 %261, i32 1 %264 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %263, <32 x i8> %53, <16 x i8> %55, i32 2) %265 = extractelement <4 x float> %264, i32 0 %266 = extractelement <4 x float> %264, i32 1 %267 = extractelement <4 x float> %264, i32 2 %268 = extractelement <4 x float> %264, i32 3 %269 = bitcast float %206 to i32 %270 = bitcast float %208 to i32 %271 = insertelement <2 x i32> undef, i32 %269, i32 0 %272 = insertelement <2 x i32> %271, i32 %270, i32 1 %273 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %272, <32 x i8> %53, <16 x i8> %55, i32 2) %274 = extractelement <4 x float> %273, i32 0 %275 = extractelement <4 x float> %273, i32 1 %276 = extractelement <4 x float> %273, i32 2 %277 = extractelement <4 x float> %273, i32 3 %278 = call float @llvm.AMDGPU.lrp(float %198, float %274, float %265) %279 = call float @llvm.AMDGPU.lrp(float %198, float %275, float %266) %280 = call float @llvm.AMDGPU.lrp(float %198, float %276, float %267) %281 = call float @llvm.AMDGPU.lrp(float %198, float %277, float %268) %282 = call float @llvm.AMDGPU.lrp(float %165, float %278, float %256) %283 = fmul float %282, %31 %284 = fmul float %235, %283 %285 = fadd float %284, %111 %286 = fmul float %236, %283 %287 = fadd float %286, %112 %288 = fmul float %237, %283 %289 = fadd float %288, %113 %290 = fdiv float %73, %75 %291 = fdiv float %74, %75 %292 = bitcast float %290 to i32 %293 = bitcast float %291 to i32 %294 = insertelement <2 x i32> undef, i32 %292, i32 0 %295 = insertelement <2 x i32> %294, i32 %293, i32 1 %296 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %295, <32 x i8> %57, <16 x i8> %59, i32 2) %297 = extractelement <4 x float> %296, i32 0 %298 = extractelement <4 x float> %296, i32 1 %299 = extractelement <4 x float> %296, i32 2 %300 = extractelement <4 x float> %296, i32 3 %301 = bitcast float %60 to i32 %302 = bitcast float %61 to i32 %303 = insertelement <2 x i32> undef, i32 %301, i32 0 %304 = insertelement <2 x i32> %303, i32 %302, i32 1 %305 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %304, <32 x i8> %45, <16 x i8> %47, i32 2) %306 = extractelement <4 x float> %305, i32 0 %307 = extractelement <4 x float> %305, i32 1 %308 = extractelement <4 x float> %305, i32 2 %309 = fmul float %30, %300 %310 = fmul float %81, %29 %311 = fmul float %82, %29 %312 = fmul float %83, %29 %313 = fmul float %306, %309 %314 = fadd float %313, %310 %315 = fmul float %307, %309 %316 = fadd float %315, %311 %317 = fmul float %308, %309 %318 = fadd float %317, %312 %319 = fmul float %314, %297 %320 = fadd float %319, %285 %321 = fmul float %316, %298 %322 = fadd float %321, %287 %323 = fmul float %318, %299 %324 = fadd float %323, %289 %325 = fmul float %320, %32 %326 = fmul float %322, %33 %327 = fmul float %324, %34 %328 = fmul float %84, %35 %329 = call i32 @llvm.SI.packf16(float %325, float %326) %330 = bitcast i32 %329 to float %331 = call i32 @llvm.SI.packf16(float %327, float %328) %332 = bitcast i32 %331 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %330, float %332, float %330, float %332) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c81c0100 c81d0101 c8180000 c8190001 c0840300 c0c60500 bf8c007f f0800f00 00430206 bf8c0770 d0060044 0201e105 c8201300 c8211301 c8241100 c8251101 c8281000 c8291001 c83c0e00 c83d0e01 c8400d00 c8410d01 c8440c00 c8450c01 c8480a00 c8490a01 c84c0900 c84d0901 c8540800 c8550801 c8580600 c8590601 c85c0500 c85d0501 c8600400 c8610401 c8340300 c8350301 c82c0200 c82d0201 c0840314 c0c80528 c0900310 c0d20520 c096030c c0d80518 c0860308 c0cc0510 c09c0304 c0de0508 c0a40100 bf8c007f c223494f c200494e c201494d c200c94c c202c948 c202492d c201c92c c203c92b c203492a c223c929 c2264928 c226c902 c2274901 c2244900 bf8c007f 7e000246 7e320247 7e28024c 7e02024d 7e1c024e 7e180248 bec42444 89c4447e 7e3402f3 7c263480 88fe447e f0800300 01cf1a06 bf8c0770 0638351a 063838f3 0634371b 063434f3 1036351a d282001b 046e391c 083636f2 d206081b 0201011b 7e3a5b1b 103a371d d206001b 2201011b d0080038 02023680 d200001b 00e23a80 10223911 d2820010 0446211a d282001f 04421f1b 101e3915 d282000f 043e271a d282001e 043e251b 101e3918 d282000f 043e2f1a d282001d 043e2d1b 7e400280 d28a0022 047e3d1d d28c0021 047e3d1d d28e0023 047e3d1d d2880024 047e3d1d d206010f 02010123 7e1e550f 7e2002ff 3fc00000 d2820023 04421f21 d2820022 04421f22 f0800700 016c0f22 bf8c0770 10242103 d2820013 03c6330d 7e264113 102a2713 102c2aff 40400000 7e2e02ff 40400000 d2820018 045a2f15 10322715 103432ff 40400000 0830311a 063030f6 08363316 103826ff 40400000 0836391b 063636f2 0636311b 7e36551b 10303718 083030f2 06302718 10303007 0838310d d2820014 03c6290b 7e284114 10302914 103a2918 103c3aff 40400000 103e30ff 40400000 08403d1f d2820020 04822f14 064040f2 d2820020 04822918 7e425520 d2820021 03ca431d 08422921 d282001b 042c0d21 f0800100 0109211b 082c3516 d2820016 045a2f13 062c2cf2 d2820015 045a2715 102c2aff 3e2aaaab 08342cf2 bf8c0770 1042431a 7e2a5515 d2820015 03ca2b19 08262715 d282000d 04340f13 7e44031b 7e46031c 7e46030d f0800100 01091322 bf8c0770 d2820013 04862716 d2820015 047e2f18 082a2b1e 062a2af6 082e3b1f 103028ff 40400000 082e3117 062e2ef2 062e2b17 7e2e5517 102a2f15 082a2af2 06282915 10282806 0836290b f0800100 01090b1b bf8c0770 1016171a 7e38030d f0800100 01090d1b bf8c0770 d282000b 042e1b16 101a40ff 3e2aaaab 08281af2 10161714 d282000b 042e270d 10161605 d210000d 02021d03 d282000d 04361712 7e105508 10261109 1024110a f0800f00 00441212 bf8c0770 10102a04 7e120203 d210000a 02021303 f0800700 00661606 bf8c0770 d2820006 042a1117 d2820006 04362706 100c0c02 100e1f02 d210000a 02021902 d2820007 042a1707 d210000a 02021302 d282000a 042a1116 d2820007 041e250a 100e0e01 5e0c0d07 100e2304 d2100001 02020304 d2820001 04061707 d2100007 02021304 d2820007 041e1118 d2820001 04062907 10020200 d2100000 02020105 5e000101 f8001c0f 00060006 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..101] DCL TEMP[0..6], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.5000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+5] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+5] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+5] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 34: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 35: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 36: MOV TEMP[2].zw, IN[1].wwzw 37: MAD TEMP[2].xy, IN[1].xyyy, CONST[101].xyyy, CONST[101].zwww 38: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[4].xyzz 39: MUL TEMP[5], CONST[0], TEMP[4].xxxx 40: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 41: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 42: ADD TEMP[4], TEMP[4], CONST[3] 43: MOV TEMP[5].x, TEMP[0].xxxx 44: MOV TEMP[5].y, TEMP[1].xxxx 45: MOV TEMP[5].z, TEMP[3].xxxx 46: MOV TEMP[5].xyz, TEMP[5].xyzx 47: MOV TEMP[6].x, TEMP[0].yyyy 48: MOV TEMP[6].y, TEMP[1].yyyy 49: MOV TEMP[6].z, TEMP[3].yyyy 50: MOV TEMP[6].xyz, TEMP[6].xyzx 51: MOV TEMP[0].x, TEMP[0].zzzz 52: MOV TEMP[0].y, TEMP[1].zzzz 53: MOV TEMP[0].z, TEMP[3].zzzz 54: MOV TEMP[0].xyz, TEMP[0].xyzx 55: ADD TEMP[1], TEMP[4], TEMP[4].wwww 56: MUL TEMP[1], TEMP[1], IMM[1].yyyy 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[5] 59: MOV OUT[3], TEMP[6] 60: MOV OUT[4], TEMP[0] 61: MOV OUT[0], TEMP[4] 62: MOV OUT[5], TEMP[1] 63: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1616) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1620) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1624) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1628) %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = extractelement <4 x float> %41, i32 2 %45 = extractelement <4 x float> %41, i32 3 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = add i32 %8, %4 %61 = mul i32 %60, 3 %62 = bitcast i32 %61 to float %63 = bitcast float %62 to i32 %64 = add i32 %63, 0 %65 = bitcast float %62 to i32 %66 = add i32 %65, 1 %67 = bitcast float %62 to i32 %68 = add i32 %67, 2 %69 = bitcast i32 %64 to float %70 = bitcast i32 %66 to float %71 = bitcast i32 %68 to float %72 = bitcast float %69 to i32 %73 = shl i32 %72, 4 %74 = add i32 %73, 80 %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %74) %76 = shl i32 %72, 4 %77 = add i32 %76, 84 %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %77) %79 = shl i32 %72, 4 %80 = add i32 %79, 88 %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %80) %82 = shl i32 %72, 4 %83 = add i32 %82, 92 %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %83) %85 = bitcast float %70 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 80 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 84 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 88 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 92 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %71 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 80 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 84 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 88 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 92 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = fmul float %37, %75 %112 = fmul float %38, %78 %113 = fadd float %111, %112 %114 = fmul float %52, %81 %115 = fadd float %113, %114 %116 = fmul float 1.000000e+00, %84 %117 = fadd float %115, %116 %118 = fmul float %37, %88 %119 = fmul float %38, %91 %120 = fadd float %118, %119 %121 = fmul float %52, %94 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %97 %124 = fadd float %122, %123 %125 = fmul float %37, %101 %126 = fmul float %38, %104 %127 = fadd float %125, %126 %128 = fmul float %52, %107 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %110 %131 = fadd float %129, %130 %132 = fmul float %49, %75 %133 = fmul float %50, %78 %134 = fadd float %133, %132 %135 = fmul float %51, %81 %136 = fadd float %134, %135 %137 = fmul float %49, %88 %138 = fmul float %50, %91 %139 = fadd float %138, %137 %140 = fmul float %51, %94 %141 = fadd float %139, %140 %142 = fmul float %49, %101 %143 = fmul float %50, %104 %144 = fadd float %143, %142 %145 = fmul float %51, %107 %146 = fadd float %144, %145 %147 = fmul float %136, %136 %148 = fmul float %141, %141 %149 = fadd float %148, %147 %150 = fmul float %146, %146 %151 = fadd float %149, %150 %152 = call float @llvm.AMDGPU.rsq(float %151) %153 = fmul float %136, %152 %154 = fmul float %141, %152 %155 = fmul float %146, %152 %156 = fmul float %56, %75 %157 = fmul float %57, %78 %158 = fadd float %157, %156 %159 = fmul float %58, %81 %160 = fadd float %158, %159 %161 = fmul float %56, %88 %162 = fmul float %57, %91 %163 = fadd float %162, %161 %164 = fmul float %58, %94 %165 = fadd float %163, %164 %166 = fmul float %56, %101 %167 = fmul float %57, %104 %168 = fadd float %167, %166 %169 = fmul float %58, %107 %170 = fadd float %168, %169 %171 = fmul float %160, %160 %172 = fmul float %165, %165 %173 = fadd float %172, %171 %174 = fmul float %170, %170 %175 = fadd float %173, %174 %176 = call float @llvm.AMDGPU.rsq(float %175) %177 = fmul float %160, %176 %178 = fmul float %165, %176 %179 = fmul float %170, %176 %180 = fmul float %155, %178 %181 = fmul float %153, %179 %182 = fmul float %154, %177 %183 = fsub float -0.000000e+00, %180 %184 = fmul float %154, %179 %185 = fadd float %184, %183 %186 = fsub float -0.000000e+00, %181 %187 = fmul float %155, %177 %188 = fadd float %187, %186 %189 = fsub float -0.000000e+00, %182 %190 = fmul float %153, %178 %191 = fadd float %190, %189 %192 = fmul float %185, %59 %193 = fmul float %188, %59 %194 = fmul float %191, %59 %195 = fmul float %42, %30 %196 = fadd float %195, %32 %197 = fmul float %43, %31 %198 = fadd float %197, %33 %199 = fsub float -0.000000e+00, %27 %200 = fadd float %117, %199 %201 = fsub float -0.000000e+00, %28 %202 = fadd float %124, %201 %203 = fsub float -0.000000e+00, %29 %204 = fadd float %131, %203 %205 = fmul float %11, %200 %206 = fmul float %12, %200 %207 = fmul float %13, %200 %208 = fmul float %14, %200 %209 = fmul float %15, %202 %210 = fadd float %209, %205 %211 = fmul float %16, %202 %212 = fadd float %211, %206 %213 = fmul float %17, %202 %214 = fadd float %213, %207 %215 = fmul float %18, %202 %216 = fadd float %215, %208 %217 = fmul float %19, %204 %218 = fadd float %217, %210 %219 = fmul float %20, %204 %220 = fadd float %219, %212 %221 = fmul float %21, %204 %222 = fadd float %221, %214 %223 = fmul float %22, %204 %224 = fadd float %223, %216 %225 = fadd float %218, %23 %226 = fadd float %220, %24 %227 = fadd float %222, %25 %228 = fadd float %224, %26 %229 = fadd float %225, %228 %230 = fadd float %226, %228 %231 = fadd float %227, %228 %232 = fadd float %228, %228 %233 = fmul float %229, 5.000000e-01 %234 = fmul float %230, 5.000000e-01 %235 = fmul float %231, 5.000000e-01 %236 = fmul float %232, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %196, float %198, float %44, float %45) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %177, float %192, float %153, float %216) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %178, float %193, float %154, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %179, float %194, float %155, float %110) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %233, float %234, float %235, float %236) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %225, float %226, float %227, float %228) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000065c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000654 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000658 c2020004 bf8c007f 7e040204 be8403ff 00000650 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000050 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000054 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000058 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000050 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000054 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000058 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000050 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000054 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000058 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10102108 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1038371c 103a111c 10242112 10323719 103c2519 083a3b1e 103a0f1d c0820700 bf8c007f e00c2000 80011e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000005c e0301000 80000b0b bf8c0770 06001700 c2020110 bf8c007f 0a000004 c2020103 bf8c007f 10160004 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000005c e0301000 80000202 bf8c0770 06040503 c2020111 bf8c007f 0a040404 c2020107 bf8c007f d2820003 042e0404 1012371a 1014210d f800021f 03091d0a 10162509 1018151c 0816170c 10160f0b 7e180280 f800022f 0c190b08 bf8c070f 10141519 10101109 08101508 10080f08 4a0202ff 0000005c e0301000 80000101 bf8c0770 f800023f 011c0412 bf8c070f 1008271f d2820004 0412231e d2820004 04122918 06020304 c2020112 bf8c007f 0a020204 c202010b bf8c007f d2820003 040e0204 c202010f bf8c007f 06060604 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120404 c202010a bf8c007f d2820004 04120204 c202010e bf8c007f 06080804 060a0704 100a0af0 c2020101 bf8c007f 100c0004 c2020105 bf8c007f d2820006 041a0404 c2020109 bf8c007f d2820006 041a0204 c202010d bf8c007f 060c0c04 060e0706 100e0ef0 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020404 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f 06000000 06020700 100202f0 06040703 100404f0 f800024f 02050701 f80008cf 03040600 bf810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %3) %21 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %3) %22 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %3) %23 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %3) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %20, float %21, float %22, float %23) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } SI CODE: befe0a7e befc0306 c8020302 c8060202 c80a0102 c80e0002 f800180f 00010203 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[26..27] DCL CONST[0..20] DCL TEMP[0] DCL TEMP[1..9], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { 0.0001, 3.0000, -0.2500, 0.2450} IMM[2] FLT32 { -0.7500, -0.2500, 0.0625, 0.1250} IMM[3] FLT32 { 0.1875, 0.2500, 8.0000, 0.3125} IMM[4] FLT32 { 0.3750, 0.4375, 0.5000, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[27].xxxx, CONST[27].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].xy, IN[1].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: MOV TEMP[3].xy, IN[1].xyyy 7: TEX TEMP[3], TEMP[3], SAMP[2], 2D 8: MAD TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx, IMM[0].yyyy 9: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 10: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 11: RSQ TEMP[5].x, TEMP[4].xxxx 12: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 13: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].wwww 14: MOV TEMP[2].z, TEMP[5].xxxx 15: ADD TEMP[4].x, TEMP[3].wwww, IMM[1].xxxx 16: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 17: ABS TEMP[6].x, TEMP[5].xxxx 18: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 19: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[20].xxxx 20: ADD TEMP[7].x, IMM[0].zzzz, -CONST[20].xxxx 21: RCP TEMP[7].x, TEMP[7].xxxx 22: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 23: DP3 TEMP[7].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[7].x, TEMP[7].xxxx 25: MOV TEMP[8].xyz, -IN[2].xyzx 26: DP3 TEMP[9].x, TEMP[2].xyzz, TEMP[8].xyzz 27: MUL TEMP[9].xyz, TEMP[9].xxxx, TEMP[2].xyzz 28: MUL TEMP[9].xyz, IMM[0].xxxx, TEMP[9].xyzz 29: ADD TEMP[8].xyz, TEMP[8].xyzz, -TEMP[9].xyzz 30: DP3 TEMP[8].x, TEMP[8].xyzz, IN[3].xyzz 31: MUL_SAT TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 32: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].zzzz 33: POW TEMP[4].x, TEMP[8].xxxx, TEMP[4].xxxx 34: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].yyyy 35: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 36: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[7].xxxx 37: ABS TEMP[2].x, TEMP[2].xxxx 38: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 39: POW TEMP[2].x, TEMP[2].xxxx, CONST[18].zzzz 40: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[18].yyyy, CONST[18].xxxx 41: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 42: MUL TEMP[4].x, IMM[0].xxxx, TEMP[6].xxxx 43: ADD TEMP[4].x, IMM[1].yyyy, -TEMP[4].xxxx 44: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 45: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 46: MOV_SAT TEMP[5].x, TEMP[5].xxxx 47: MAD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[20].yyyy, TEMP[5].xxxx 48: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].xxxx 49: MUL TEMP[4].xyz, TEMP[1].xyzz, TEMP[4].xxxx 50: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xxxx, TEMP[4].xyzz 51: MOV TEMP[3].xyz, TEMP[2].xyzx 52: MOV TEMP[4].x, IMM[0].wwww 53: MUL TEMP[5], CONST[2], IN[4].xxxx 54: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 55: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 56: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 57: MOV TEMP[6].xyz, TEMP[5] 58: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 59: ABS TEMP[5].xy, TEMP[5].xyyy 60: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 61: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 62: UIF TEMP[5].xxxx :2 63: MUL TEMP[5], CONST[6], IN[4].xxxx 64: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 65: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 66: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 67: MOV TEMP[6].xyz, TEMP[5] 68: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xyyy 69: ABS TEMP[5].xy, TEMP[5].xyyy 70: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 71: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 72: UIF TEMP[5].xxxx :2 73: MUL TEMP[5], CONST[10], IN[4].xxxx 74: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 75: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 76: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 77: MOV TEMP[6], TEMP[5] 78: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yxxx 79: ABS TEMP[5].xy, TEMP[5].xyyy 80: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 81: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 82: UIF TEMP[5].xxxx :2 83: MUL TEMP[5], CONST[14], IN[4].xxxx 84: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 85: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 86: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 87: MOV TEMP[6], TEMP[5] 88: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xxxx 89: ABS TEMP[5].xy, TEMP[5].xyyy 90: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 91: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 92: UIF TEMP[5].xxxx :2 93: MOV TEMP[4].x, IMM[0].zzzz 94: ENDIF 95: ENDIF 96: ENDIF 97: ENDIF 98: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 99: UIF TEMP[5].xxxx :2 100: MOV TEMP[5].z, IMM[0].wwww 101: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].zzzz 102: MOV TEMP[7].xy, TEMP[5].xyxx 103: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 104: MOV TEMP[5].xyz, TEMP[5].xyzz 105: TEX TEMP[5], TEMP[5], SAMP[4], 3D 106: MUL TEMP[5], TEMP[5], CONST[1].wwww 107: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 108: MOV TEMP[8].xy, TEMP[8].xyyy 109: MOV TEMP[8].z, TEMP[6].zzzz 110: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 111: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 112: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 113: MOV TEMP[5].xy, TEMP[5].xyyy 114: MOV TEMP[5].z, TEMP[6].zzzz 115: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 116: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 117: MOV TEMP[7].z, IMM[2].zzzz 118: MOV TEMP[5].xyz, TEMP[7].xyzz 119: TEX TEMP[5], TEMP[5], SAMP[4], 3D 120: MUL TEMP[5], TEMP[5], CONST[1].wwww 121: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 122: MOV TEMP[8].xy, TEMP[8].xyyy 123: MOV TEMP[8].z, TEMP[6].zzzz 124: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 125: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 126: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 127: MOV TEMP[5].xy, TEMP[5].xyyy 128: MOV TEMP[5].z, TEMP[6].zzzz 129: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 130: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 131: MOV TEMP[7].z, IMM[2].wwww 132: MOV TEMP[5].xyz, TEMP[7].xyzz 133: TEX TEMP[5], TEMP[5], SAMP[4], 3D 134: MUL TEMP[5], TEMP[5], CONST[1].wwww 135: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 136: MOV TEMP[8].xy, TEMP[8].xyyy 137: MOV TEMP[8].z, TEMP[6].zzzz 138: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 139: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 140: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 141: MOV TEMP[5].xy, TEMP[5].xyyy 142: MOV TEMP[5].z, TEMP[6].zzzz 143: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 144: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 145: MOV TEMP[7].z, IMM[3].xxxx 146: MOV TEMP[5].xyz, TEMP[7].xyzz 147: TEX TEMP[5], TEMP[5], SAMP[4], 3D 148: MUL TEMP[5], TEMP[5], CONST[1].wwww 149: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 150: MOV TEMP[8].xy, TEMP[8].xyyy 151: MOV TEMP[8].z, TEMP[6].zzzz 152: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 153: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 154: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 155: MOV TEMP[7].z, IMM[3].yyyy 156: MOV TEMP[5].xy, TEMP[5].xyyy 157: MOV TEMP[5].z, TEMP[6].zzzz 158: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 159: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 160: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].wwww 161: MOV TEMP[4].x, TEMP[5].xxxx 162: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 163: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 164: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 165: UIF TEMP[8].xxxx :2 166: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].zzzz 167: MOV TEMP[5].xyz, TEMP[7].xyzz 168: TEX TEMP[5], TEMP[5], SAMP[4], 3D 169: MUL TEMP[5], TEMP[5], CONST[1].wwww 170: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 171: MOV TEMP[8].xy, TEMP[8].xyyy 172: MOV TEMP[8].z, TEMP[6].zzzz 173: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 174: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 175: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 176: MOV TEMP[5].xy, TEMP[5].xyyy 177: MOV TEMP[5].z, TEMP[6].zzzz 178: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 179: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 180: MOV TEMP[7].z, IMM[3].wwww 181: MOV TEMP[5].xyz, TEMP[7].xyzz 182: TEX TEMP[5], TEMP[5], SAMP[4], 3D 183: MUL TEMP[5], TEMP[5], CONST[1].wwww 184: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 185: MOV TEMP[8].xy, TEMP[8].xyyy 186: MOV TEMP[8].z, TEMP[6].zzzz 187: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 188: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 189: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 190: MOV TEMP[5].xy, TEMP[5].xyyy 191: MOV TEMP[5].z, TEMP[6].zzzz 192: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 193: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 194: MOV TEMP[7].z, IMM[4].xxxx 195: MOV TEMP[5].xyz, TEMP[7].xyzz 196: TEX TEMP[5], TEMP[5], SAMP[4], 3D 197: MUL TEMP[5], TEMP[5], CONST[1].wwww 198: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 199: MOV TEMP[8].xy, TEMP[8].xyyy 200: MOV TEMP[8].z, TEMP[6].zzzz 201: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 202: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 203: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 204: MOV TEMP[5].xy, TEMP[5].xyyy 205: MOV TEMP[5].z, TEMP[6].zzzz 206: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 207: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 208: MOV TEMP[7].z, IMM[4].yyyy 209: MOV TEMP[5].xyz, TEMP[7].xyzz 210: TEX TEMP[5], TEMP[5], SAMP[4], 3D 211: MUL TEMP[5], TEMP[5], CONST[1].wwww 212: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 213: MOV TEMP[8].xy, TEMP[8].xyyy 214: MOV TEMP[8].z, TEMP[6].zzzz 215: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 216: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 217: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 218: MOV TEMP[5].xy, TEMP[5].xyyy 219: MOV TEMP[5].z, TEMP[6].zzzz 220: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 221: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 222: MOV TEMP[7].z, IMM[4].zzzz 223: MOV TEMP[5].xyz, TEMP[7].xyzz 224: TEX TEMP[5], TEMP[5], SAMP[4], 3D 225: MUL TEMP[5], TEMP[5], CONST[1].wwww 226: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 227: MOV TEMP[8].xy, TEMP[8].xyyy 228: MOV TEMP[8].z, TEMP[6].zzzz 229: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 230: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 231: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 232: MOV TEMP[5].xy, TEMP[5].xyyy 233: MOV TEMP[5].z, TEMP[6].zzzz 234: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 235: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 236: MOV TEMP[7].z, IMM[4].wwww 237: MOV TEMP[5].xyz, TEMP[7].xyzz 238: TEX TEMP[5], TEMP[5], SAMP[4], 3D 239: MUL TEMP[5], TEMP[5], CONST[1].wwww 240: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 241: MOV TEMP[8].xy, TEMP[8].xyyy 242: MOV TEMP[8].z, TEMP[6].zzzz 243: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 244: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 245: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 246: MOV TEMP[5].xy, TEMP[5].xyyy 247: MOV TEMP[5].z, TEMP[6].zzzz 248: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 249: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 250: MOV TEMP[7].z, IMM[5].xxxx 251: MOV TEMP[5].xyz, TEMP[7].xyzz 252: TEX TEMP[5], TEMP[5], SAMP[4], 3D 253: MUL TEMP[5], TEMP[5], CONST[1].wwww 254: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 255: MOV TEMP[8].xy, TEMP[8].xyyy 256: MOV TEMP[8].z, TEMP[6].zzzz 257: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 258: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 259: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 260: MOV TEMP[5].xy, TEMP[5].xyyy 261: MOV TEMP[5].z, TEMP[6].zzzz 262: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 263: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 264: MOV TEMP[7].z, IMM[5].yyyy 265: MOV TEMP[5].xyz, TEMP[7].xyzz 266: TEX TEMP[5], TEMP[5], SAMP[4], 3D 267: MUL TEMP[5], TEMP[5], CONST[1].wwww 268: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 269: MOV TEMP[8].xy, TEMP[8].xyyy 270: MOV TEMP[8].z, TEMP[6].zzzz 271: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 272: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 273: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 274: MOV TEMP[5].xy, TEMP[5].xyyy 275: MOV TEMP[5].z, TEMP[6].zzzz 276: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 277: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 278: MOV TEMP[7].z, IMM[5].zzzz 279: MOV TEMP[5].xyz, TEMP[7].xyzz 280: TEX TEMP[5], TEMP[5], SAMP[4], 3D 281: MUL TEMP[5], TEMP[5], CONST[1].wwww 282: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 283: MOV TEMP[8].xy, TEMP[8].xyyy 284: MOV TEMP[8].z, TEMP[6].zzzz 285: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 286: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 287: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 288: MOV TEMP[5].xy, TEMP[5].xyyy 289: MOV TEMP[5].z, TEMP[6].zzzz 290: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 291: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 292: MOV TEMP[7].z, IMM[5].wwww 293: MOV TEMP[5].xyz, TEMP[7].xyzz 294: TEX TEMP[5], TEMP[5], SAMP[4], 3D 295: MUL TEMP[5], TEMP[5], CONST[1].wwww 296: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 297: MOV TEMP[8].xy, TEMP[8].xyyy 298: MOV TEMP[8].z, TEMP[6].zzzz 299: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 300: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 301: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 302: MOV TEMP[5].xy, TEMP[5].xyyy 303: MOV TEMP[5].z, TEMP[6].zzzz 304: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 305: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 306: MOV TEMP[7].z, IMM[6].xxxx 307: MOV TEMP[5].xyz, TEMP[7].xyzz 308: TEX TEMP[5], TEMP[5], SAMP[4], 3D 309: MUL TEMP[5], TEMP[5], CONST[1].wwww 310: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 311: MOV TEMP[8].xy, TEMP[8].xyyy 312: MOV TEMP[8].z, TEMP[6].zzzz 313: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 314: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 315: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 316: MOV TEMP[5].xy, TEMP[5].xyyy 317: MOV TEMP[5].z, TEMP[6].zzzz 318: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 319: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 320: MOV TEMP[7].z, IMM[6].yyyy 321: MOV TEMP[5].xyz, TEMP[7].xyzz 322: TEX TEMP[5], TEMP[5], SAMP[4], 3D 323: MUL TEMP[5], TEMP[5], CONST[1].wwww 324: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 325: MOV TEMP[7].xy, TEMP[7].xyyy 326: MOV TEMP[7].z, TEMP[6].zzzz 327: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 328: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 329: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 330: MOV TEMP[5].xy, TEMP[5].xyyy 331: MOV TEMP[5].z, TEMP[6].zzzz 332: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 333: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 334: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 335: ENDIF 336: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 337: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 338: ENDIF 339: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 340: MOV TEMP[2].w, TEMP[1].wwww 341: MUL TEMP[1], TEMP[2], CONST[26] 342: MOV OUT[0], TEMP[1] 343: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %120 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %121 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %122 = fmul float %13, %88 %123 = fadd float %122, %89 %124 = bitcast float %110 to i32 %125 = bitcast float %111 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %91, <16 x i8> %93, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = bitcast float %110 to i32 %134 = bitcast float %111 to i32 %135 = insertelement <2 x i32> undef, i32 %133, i32 0 %136 = insertelement <2 x i32> %135, i32 %134, i32 1 %137 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %136, <32 x i8> %95, <16 x i8> %97, i32 2) %138 = extractelement <4 x float> %137, i32 0 %139 = extractelement <4 x float> %137, i32 1 %140 = bitcast float %110 to i32 %141 = bitcast float %111 to i32 %142 = insertelement <2 x i32> undef, i32 %140, i32 0 %143 = insertelement <2 x i32> %142, i32 %141, i32 1 %144 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %143, <32 x i8> %99, <16 x i8> %101, i32 2) %145 = extractelement <4 x float> %144, i32 0 %146 = extractelement <4 x float> %144, i32 1 %147 = extractelement <4 x float> %144, i32 2 %148 = extractelement <4 x float> %144, i32 3 %149 = fmul float %138, 2.000000e+00 %150 = fadd float %149, -1.000000e+00 %151 = fmul float %139, 2.000000e+00 %152 = fadd float %151, -1.000000e+00 %153 = fmul float %150, %150 %154 = fmul float %152, %152 %155 = fadd float %153, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %159, %158 %161 = fsub float -0.000000e+00, %158 %162 = call float @llvm.AMDGPU.cndlt(float %161, float %160, float 0.000000e+00) %163 = fadd float %148, 0x3F1A36E2E0000000 %164 = fmul float %112, %150 %165 = fmul float %113, %152 %166 = fadd float %165, %164 %167 = fmul float %114, %162 %168 = fadd float %166, %167 %169 = call float @fabs(float %168) %170 = fsub float -0.000000e+00, %169 %171 = fadd float 1.000000e+00, %170 %172 = fsub float -0.000000e+00, %82 %173 = fadd float %171, %172 %174 = fsub float -0.000000e+00, %82 %175 = fadd float 1.000000e+00, %174 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %173, %176 %178 = call float @llvm.AMDIL.clamp.(float %177, float 0.000000e+00, float 1.000000e+00) %179 = fmul float %115, %115 %180 = fmul float %116, %116 %181 = fadd float %180, %179 %182 = fmul float %117, %117 %183 = fadd float %181, %182 %184 = call float @llvm.AMDGPU.rsq(float %183) %185 = fsub float -0.000000e+00, %112 %186 = fsub float -0.000000e+00, %113 %187 = fsub float -0.000000e+00, %114 %188 = fmul float %150, %185 %189 = fmul float %152, %186 %190 = fadd float %189, %188 %191 = fmul float %162, %187 %192 = fadd float %190, %191 %193 = fmul float %192, %150 %194 = fmul float %192, %152 %195 = fmul float %192, %162 %196 = fmul float 2.000000e+00, %193 %197 = fmul float 2.000000e+00, %194 %198 = fmul float 2.000000e+00, %195 %199 = fsub float -0.000000e+00, %196 %200 = fadd float %185, %199 %201 = fsub float -0.000000e+00, %197 %202 = fadd float %186, %201 %203 = fsub float -0.000000e+00, %198 %204 = fadd float %187, %203 %205 = fmul float %200, %115 %206 = fmul float %202, %116 %207 = fadd float %206, %205 %208 = fmul float %204, %117 %209 = fadd float %207, %208 %210 = fmul float %209, %184 %211 = call float @llvm.AMDIL.clamp.(float %210, float 0.000000e+00, float 1.000000e+00) %212 = fmul float %163, %81 %213 = call float @llvm.pow.f32(float %211, float %212) %214 = fmul float %213, %80 %215 = fmul float %115, %150 %216 = fmul float %116, %152 %217 = fadd float %216, %215 %218 = fmul float %117, %162 %219 = fadd float %217, %218 %220 = fmul float %219, %184 %221 = call float @fabs(float %220) %222 = fsub float -0.000000e+00, %221 %223 = fadd float 1.000000e+00, %222 %224 = call float @llvm.AMDIL.clamp.(float %223, float 0.000000e+00, float 1.000000e+00) %225 = call float @llvm.pow.f32(float %224, float %78) %226 = fmul float %225, %77 %227 = fadd float %226, %76 %228 = call float @llvm.AMDIL.clamp.(float %227, float 0.000000e+00, float 1.000000e+00) %229 = fmul float %214, %228 %230 = fmul float 2.000000e+00, %178 %231 = fsub float -0.000000e+00, %230 %232 = fadd float 3.000000e+00, %231 %233 = fmul float %178, %232 %234 = fmul float %178, %233 %235 = call float @llvm.AMDIL.clamp.(float %168, float 0.000000e+00, float 1.000000e+00) %236 = fmul float %234, %83 %237 = fadd float %236, %235 %238 = call float @llvm.AMDIL.clamp.(float %237, float 0.000000e+00, float 1.000000e+00) %239 = fmul float %238, %79 %240 = fmul float %129, %239 %241 = fmul float %130, %239 %242 = fmul float %131, %239 %243 = fmul float %145, %229 %244 = fadd float %243, %240 %245 = fmul float %146, %229 %246 = fadd float %245, %241 %247 = fmul float %147, %229 %248 = fadd float %247, %242 %249 = fmul float %28, %118 %250 = fmul float %29, %118 %251 = fmul float %30, %118 %252 = fmul float %31, %119 %253 = fadd float %252, %249 %254 = fmul float %32, %119 %255 = fadd float %254, %250 %256 = fmul float %33, %119 %257 = fadd float %256, %251 %258 = fmul float %34, %120 %259 = fadd float %258, %253 %260 = fmul float %35, %120 %261 = fadd float %260, %255 %262 = fmul float %36, %120 %263 = fadd float %262, %257 %264 = fmul float %37, %121 %265 = fadd float %264, %259 %266 = fmul float %38, %121 %267 = fadd float %266, %261 %268 = fmul float %39, %121 %269 = fadd float %268, %263 %270 = fadd float %265, -2.500000e-01 %271 = fadd float %267, -2.500000e-01 %272 = call float @fabs(float %270) %273 = call float @fabs(float %271) %274 = fcmp uge float %272, %273 %275 = select i1 %274, float %272, float %273 %276 = fcmp oge float %275, 0x3FCF5C2900000000 %277 = sext i1 %276 to i32 %278 = bitcast i32 %277 to float %279 = bitcast float %278 to i32 %280 = icmp ne i32 %279, 0 br i1 %280, label %IF, label %ENDIF IF: ; preds = %main_body %281 = fmul float %40, %118 %282 = fmul float %41, %118 %283 = fmul float %42, %118 %284 = fmul float %43, %119 %285 = fadd float %284, %281 %286 = fmul float %44, %119 %287 = fadd float %286, %282 %288 = fmul float %45, %119 %289 = fadd float %288, %283 %290 = fmul float %46, %120 %291 = fadd float %290, %285 %292 = fmul float %47, %120 %293 = fadd float %292, %287 %294 = fmul float %48, %120 %295 = fadd float %294, %289 %296 = fmul float %49, %121 %297 = fadd float %296, %291 %298 = fmul float %50, %121 %299 = fadd float %298, %293 %300 = fmul float %51, %121 %301 = fadd float %300, %295 %302 = fadd float %297, -7.500000e-01 %303 = fadd float %299, -2.500000e-01 %304 = call float @fabs(float %302) %305 = call float @fabs(float %303) %306 = fcmp uge float %304, %305 %307 = select i1 %306, float %304, float %305 %308 = fcmp oge float %307, 0x3FCF5C2900000000 %309 = sext i1 %308 to i32 %310 = bitcast i32 %309 to float %311 = bitcast float %310 to i32 %312 = icmp ne i32 %311, 0 br i1 %312, label %IF41, label %ENDIF ENDIF: ; preds = %IF44, %IF41, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF44 ], [ 0.000000e+00, %IF41 ] %temp24.0 = phi float [ %265, %main_body ], [ %297, %IF ], [ %366, %IF44 ], [ %334, %IF41 ] %temp25.0 = phi float [ %267, %main_body ], [ %299, %IF ], [ %368, %IF44 ], [ %336, %IF41 ] %temp26.0 = phi float [ %269, %main_body ], [ %301, %IF ], [ %370, %IF44 ], [ %338, %IF41 ] %313 = fcmp oeq float %temp16.0, 0.000000e+00 %314 = sext i1 %313 to i32 %315 = bitcast i32 %314 to float %316 = bitcast float %315 to i32 %317 = icmp ne i32 %316, 0 br i1 %317, label %IF50, label %ENDIF49 IF41: ; preds = %IF %318 = fmul float %52, %118 %319 = fmul float %53, %118 %320 = fmul float %54, %118 %321 = fmul float %55, %119 %322 = fadd float %321, %318 %323 = fmul float %56, %119 %324 = fadd float %323, %319 %325 = fmul float %57, %119 %326 = fadd float %325, %320 %327 = fmul float %58, %120 %328 = fadd float %327, %322 %329 = fmul float %59, %120 %330 = fadd float %329, %324 %331 = fmul float %60, %120 %332 = fadd float %331, %326 %333 = fmul float %61, %121 %334 = fadd float %333, %328 %335 = fmul float %62, %121 %336 = fadd float %335, %330 %337 = fmul float %63, %121 %338 = fadd float %337, %332 %339 = fadd float %334, -2.500000e-01 %340 = fadd float %336, -7.500000e-01 %341 = call float @fabs(float %339) %342 = call float @fabs(float %340) %343 = fcmp uge float %341, %342 %344 = select i1 %343, float %341, float %342 %345 = fcmp oge float %344, 0x3FCF5C2900000000 %346 = sext i1 %345 to i32 %347 = bitcast i32 %346 to float %348 = bitcast float %347 to i32 %349 = icmp ne i32 %348, 0 br i1 %349, label %IF44, label %ENDIF IF44: ; preds = %IF41 %350 = fmul float %64, %118 %351 = fmul float %65, %118 %352 = fmul float %66, %118 %353 = fmul float %67, %119 %354 = fadd float %353, %350 %355 = fmul float %68, %119 %356 = fadd float %355, %351 %357 = fmul float %69, %119 %358 = fadd float %357, %352 %359 = fmul float %70, %120 %360 = fadd float %359, %354 %361 = fmul float %71, %120 %362 = fadd float %361, %356 %363 = fmul float %72, %120 %364 = fadd float %363, %358 %365 = fmul float %73, %121 %366 = fadd float %365, %360 %367 = fmul float %74, %121 %368 = fadd float %367, %362 %369 = fmul float %75, %121 %370 = fadd float %369, %364 %371 = fadd float %366, -7.500000e-01 %372 = fadd float %368, -7.500000e-01 %373 = call float @fabs(float %371) %374 = call float @fabs(float %372) %375 = fcmp uge float %373, %374 %376 = select i1 %375, float %373, float %374 %377 = fcmp oge float %376, 0x3FCF5C2900000000 %378 = sext i1 %377 to i32 %379 = bitcast i32 %378 to float %380 = bitcast float %379 to i32 %381 = icmp ne i32 %380, 0 %. = select i1 %381, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF50: ; preds = %ENDIF %382 = fmul float %12, 6.250000e-02 %383 = fmul float %123, 6.250000e-02 %384 = fsub float -0.000000e+00, %26 %385 = fadd float %temp24.0, %384 %386 = fsub float -0.000000e+00, %26 %387 = fadd float %temp25.0, %386 %388 = bitcast float %382 to i32 %389 = bitcast float %383 to i32 %390 = bitcast float 0.000000e+00 to i32 %391 = insertelement <4 x i32> undef, i32 %388, i32 0 %392 = insertelement <4 x i32> %391, i32 %389, i32 1 %393 = insertelement <4 x i32> %392, i32 %390, i32 2 %394 = insertelement <4 x i32> %393, i32 undef, i32 3 %395 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %394, <32 x i8> %107, <16 x i8> %109, i32 3) %396 = extractelement <4 x float> %395, i32 0 %397 = extractelement <4 x float> %395, i32 1 %398 = extractelement <4 x float> %395, i32 2 %399 = extractelement <4 x float> %395, i32 3 %400 = fmul float %396, %27 %401 = fmul float %397, %27 %402 = fmul float %398, %27 %403 = fmul float %399, %27 %404 = fadd float %385, %400 %405 = fadd float %387, %401 %406 = bitcast float %temp26.0 to i32 %407 = bitcast float %404 to i32 %408 = bitcast float %405 to i32 %409 = insertelement <4 x i32> undef, i32 %406, i32 0 %410 = insertelement <4 x i32> %409, i32 %407, i32 1 %411 = insertelement <4 x i32> %410, i32 %408, i32 2 %412 = insertelement <4 x i32> %411, i32 undef, i32 3 %413 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %412, <32 x i8> %103, <16 x i8> %105, i32 7) %414 = extractelement <4 x float> %413, i32 0 %415 = fadd float %temp16.0, %414 %416 = fadd float %385, %402 %417 = fadd float %387, %403 %418 = bitcast float %temp26.0 to i32 %419 = bitcast float %416 to i32 %420 = bitcast float %417 to i32 %421 = insertelement <4 x i32> undef, i32 %418, i32 0 %422 = insertelement <4 x i32> %421, i32 %419, i32 1 %423 = insertelement <4 x i32> %422, i32 %420, i32 2 %424 = insertelement <4 x i32> %423, i32 undef, i32 3 %425 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %424, <32 x i8> %103, <16 x i8> %105, i32 7) %426 = extractelement <4 x float> %425, i32 0 %427 = fadd float %415, %426 %428 = bitcast float %382 to i32 %429 = bitcast float %383 to i32 %430 = bitcast float 6.250000e-02 to i32 %431 = insertelement <4 x i32> undef, i32 %428, i32 0 %432 = insertelement <4 x i32> %431, i32 %429, i32 1 %433 = insertelement <4 x i32> %432, i32 %430, i32 2 %434 = insertelement <4 x i32> %433, i32 undef, i32 3 %435 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %434, <32 x i8> %107, <16 x i8> %109, i32 3) %436 = extractelement <4 x float> %435, i32 0 %437 = extractelement <4 x float> %435, i32 1 %438 = extractelement <4 x float> %435, i32 2 %439 = extractelement <4 x float> %435, i32 3 %440 = fmul float %436, %27 %441 = fmul float %437, %27 %442 = fmul float %438, %27 %443 = fmul float %439, %27 %444 = fadd float %385, %440 %445 = fadd float %387, %441 %446 = bitcast float %temp26.0 to i32 %447 = bitcast float %444 to i32 %448 = bitcast float %445 to i32 %449 = insertelement <4 x i32> undef, i32 %446, i32 0 %450 = insertelement <4 x i32> %449, i32 %447, i32 1 %451 = insertelement <4 x i32> %450, i32 %448, i32 2 %452 = insertelement <4 x i32> %451, i32 undef, i32 3 %453 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %452, <32 x i8> %103, <16 x i8> %105, i32 7) %454 = extractelement <4 x float> %453, i32 0 %455 = fadd float %427, %454 %456 = fadd float %385, %442 %457 = fadd float %387, %443 %458 = bitcast float %temp26.0 to i32 %459 = bitcast float %456 to i32 %460 = bitcast float %457 to i32 %461 = insertelement <4 x i32> undef, i32 %458, i32 0 %462 = insertelement <4 x i32> %461, i32 %459, i32 1 %463 = insertelement <4 x i32> %462, i32 %460, i32 2 %464 = insertelement <4 x i32> %463, i32 undef, i32 3 %465 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %464, <32 x i8> %103, <16 x i8> %105, i32 7) %466 = extractelement <4 x float> %465, i32 0 %467 = fadd float %455, %466 %468 = bitcast float %382 to i32 %469 = bitcast float %383 to i32 %470 = bitcast float 1.250000e-01 to i32 %471 = insertelement <4 x i32> undef, i32 %468, i32 0 %472 = insertelement <4 x i32> %471, i32 %469, i32 1 %473 = insertelement <4 x i32> %472, i32 %470, i32 2 %474 = insertelement <4 x i32> %473, i32 undef, i32 3 %475 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %474, <32 x i8> %107, <16 x i8> %109, i32 3) %476 = extractelement <4 x float> %475, i32 0 %477 = extractelement <4 x float> %475, i32 1 %478 = extractelement <4 x float> %475, i32 2 %479 = extractelement <4 x float> %475, i32 3 %480 = fmul float %476, %27 %481 = fmul float %477, %27 %482 = fmul float %478, %27 %483 = fmul float %479, %27 %484 = fadd float %385, %480 %485 = fadd float %387, %481 %486 = bitcast float %temp26.0 to i32 %487 = bitcast float %484 to i32 %488 = bitcast float %485 to i32 %489 = insertelement <4 x i32> undef, i32 %486, i32 0 %490 = insertelement <4 x i32> %489, i32 %487, i32 1 %491 = insertelement <4 x i32> %490, i32 %488, i32 2 %492 = insertelement <4 x i32> %491, i32 undef, i32 3 %493 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %492, <32 x i8> %103, <16 x i8> %105, i32 7) %494 = extractelement <4 x float> %493, i32 0 %495 = fadd float %467, %494 %496 = fadd float %385, %482 %497 = fadd float %387, %483 %498 = bitcast float %temp26.0 to i32 %499 = bitcast float %496 to i32 %500 = bitcast float %497 to i32 %501 = insertelement <4 x i32> undef, i32 %498, i32 0 %502 = insertelement <4 x i32> %501, i32 %499, i32 1 %503 = insertelement <4 x i32> %502, i32 %500, i32 2 %504 = insertelement <4 x i32> %503, i32 undef, i32 3 %505 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %504, <32 x i8> %103, <16 x i8> %105, i32 7) %506 = extractelement <4 x float> %505, i32 0 %507 = fadd float %495, %506 %508 = bitcast float %382 to i32 %509 = bitcast float %383 to i32 %510 = bitcast float 1.875000e-01 to i32 %511 = insertelement <4 x i32> undef, i32 %508, i32 0 %512 = insertelement <4 x i32> %511, i32 %509, i32 1 %513 = insertelement <4 x i32> %512, i32 %510, i32 2 %514 = insertelement <4 x i32> %513, i32 undef, i32 3 %515 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %514, <32 x i8> %107, <16 x i8> %109, i32 3) %516 = extractelement <4 x float> %515, i32 0 %517 = extractelement <4 x float> %515, i32 1 %518 = extractelement <4 x float> %515, i32 2 %519 = extractelement <4 x float> %515, i32 3 %520 = fmul float %516, %27 %521 = fmul float %517, %27 %522 = fmul float %518, %27 %523 = fmul float %519, %27 %524 = fadd float %385, %520 %525 = fadd float %387, %521 %526 = bitcast float %temp26.0 to i32 %527 = bitcast float %524 to i32 %528 = bitcast float %525 to i32 %529 = insertelement <4 x i32> undef, i32 %526, i32 0 %530 = insertelement <4 x i32> %529, i32 %527, i32 1 %531 = insertelement <4 x i32> %530, i32 %528, i32 2 %532 = insertelement <4 x i32> %531, i32 undef, i32 3 %533 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %532, <32 x i8> %103, <16 x i8> %105, i32 7) %534 = extractelement <4 x float> %533, i32 0 %535 = fadd float %507, %534 %536 = fadd float %385, %522 %537 = fadd float %387, %523 %538 = bitcast float %temp26.0 to i32 %539 = bitcast float %536 to i32 %540 = bitcast float %537 to i32 %541 = insertelement <4 x i32> undef, i32 %538, i32 0 %542 = insertelement <4 x i32> %541, i32 %539, i32 1 %543 = insertelement <4 x i32> %542, i32 %540, i32 2 %544 = insertelement <4 x i32> %543, i32 undef, i32 3 %545 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %544, <32 x i8> %103, <16 x i8> %105, i32 7) %546 = extractelement <4 x float> %545, i32 0 %547 = fadd float %535, %546 %548 = fmul float %547, 1.250000e-01 %549 = fsub float -0.000000e+00, %548 %550 = fadd float 1.000000e+00, %549 %551 = fmul float %548, %550 %552 = fcmp une float %551, 0.000000e+00 %553 = sext i1 %552 to i32 %554 = bitcast i32 %553 to float %555 = bitcast float %554 to i32 %556 = icmp ne i32 %555, 0 br i1 %556, label %IF53, label %ENDIF52 ENDIF49: ; preds = %ENDIF, %ENDIF52 %temp12.0 = phi float [ %1048, %ENDIF52 ], [ %244, %ENDIF ] %temp13.0 = phi float [ %1049, %ENDIF52 ], [ %246, %ENDIF ] %temp14.0 = phi float [ %1050, %ENDIF52 ], [ %248, %ENDIF ] %557 = fmul float %temp12.0, %22 %558 = fmul float %temp13.0, %23 %559 = fmul float %temp14.0, %24 %560 = fmul float %557, %84 %561 = fmul float %558, %85 %562 = fmul float %559, %86 %563 = fmul float %132, %87 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %560, float %561, float %562, float %563) ret void IF53: ; preds = %IF50 %564 = fmul float %548, 8.000000e+00 %565 = bitcast float %382 to i32 %566 = bitcast float %383 to i32 %567 = bitcast float 2.500000e-01 to i32 %568 = insertelement <4 x i32> undef, i32 %565, i32 0 %569 = insertelement <4 x i32> %568, i32 %566, i32 1 %570 = insertelement <4 x i32> %569, i32 %567, i32 2 %571 = insertelement <4 x i32> %570, i32 undef, i32 3 %572 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %571, <32 x i8> %107, <16 x i8> %109, i32 3) %573 = extractelement <4 x float> %572, i32 0 %574 = extractelement <4 x float> %572, i32 1 %575 = extractelement <4 x float> %572, i32 2 %576 = extractelement <4 x float> %572, i32 3 %577 = fmul float %573, %27 %578 = fmul float %574, %27 %579 = fmul float %575, %27 %580 = fmul float %576, %27 %581 = fadd float %385, %577 %582 = fadd float %387, %578 %583 = bitcast float %temp26.0 to i32 %584 = bitcast float %581 to i32 %585 = bitcast float %582 to i32 %586 = insertelement <4 x i32> undef, i32 %583, i32 0 %587 = insertelement <4 x i32> %586, i32 %584, i32 1 %588 = insertelement <4 x i32> %587, i32 %585, i32 2 %589 = insertelement <4 x i32> %588, i32 undef, i32 3 %590 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %589, <32 x i8> %103, <16 x i8> %105, i32 7) %591 = extractelement <4 x float> %590, i32 0 %592 = fadd float %564, %591 %593 = fadd float %385, %579 %594 = fadd float %387, %580 %595 = bitcast float %temp26.0 to i32 %596 = bitcast float %593 to i32 %597 = bitcast float %594 to i32 %598 = insertelement <4 x i32> undef, i32 %595, i32 0 %599 = insertelement <4 x i32> %598, i32 %596, i32 1 %600 = insertelement <4 x i32> %599, i32 %597, i32 2 %601 = insertelement <4 x i32> %600, i32 undef, i32 3 %602 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %601, <32 x i8> %103, <16 x i8> %105, i32 7) %603 = extractelement <4 x float> %602, i32 0 %604 = fadd float %592, %603 %605 = bitcast float %382 to i32 %606 = bitcast float %383 to i32 %607 = bitcast float 3.125000e-01 to i32 %608 = insertelement <4 x i32> undef, i32 %605, i32 0 %609 = insertelement <4 x i32> %608, i32 %606, i32 1 %610 = insertelement <4 x i32> %609, i32 %607, i32 2 %611 = insertelement <4 x i32> %610, i32 undef, i32 3 %612 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %611, <32 x i8> %107, <16 x i8> %109, i32 3) %613 = extractelement <4 x float> %612, i32 0 %614 = extractelement <4 x float> %612, i32 1 %615 = extractelement <4 x float> %612, i32 2 %616 = extractelement <4 x float> %612, i32 3 %617 = fmul float %613, %27 %618 = fmul float %614, %27 %619 = fmul float %615, %27 %620 = fmul float %616, %27 %621 = fadd float %385, %617 %622 = fadd float %387, %618 %623 = bitcast float %temp26.0 to i32 %624 = bitcast float %621 to i32 %625 = bitcast float %622 to i32 %626 = insertelement <4 x i32> undef, i32 %623, i32 0 %627 = insertelement <4 x i32> %626, i32 %624, i32 1 %628 = insertelement <4 x i32> %627, i32 %625, i32 2 %629 = insertelement <4 x i32> %628, i32 undef, i32 3 %630 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %629, <32 x i8> %103, <16 x i8> %105, i32 7) %631 = extractelement <4 x float> %630, i32 0 %632 = fadd float %604, %631 %633 = fadd float %385, %619 %634 = fadd float %387, %620 %635 = bitcast float %temp26.0 to i32 %636 = bitcast float %633 to i32 %637 = bitcast float %634 to i32 %638 = insertelement <4 x i32> undef, i32 %635, i32 0 %639 = insertelement <4 x i32> %638, i32 %636, i32 1 %640 = insertelement <4 x i32> %639, i32 %637, i32 2 %641 = insertelement <4 x i32> %640, i32 undef, i32 3 %642 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %641, <32 x i8> %103, <16 x i8> %105, i32 7) %643 = extractelement <4 x float> %642, i32 0 %644 = fadd float %632, %643 %645 = bitcast float %382 to i32 %646 = bitcast float %383 to i32 %647 = bitcast float 3.750000e-01 to i32 %648 = insertelement <4 x i32> undef, i32 %645, i32 0 %649 = insertelement <4 x i32> %648, i32 %646, i32 1 %650 = insertelement <4 x i32> %649, i32 %647, i32 2 %651 = insertelement <4 x i32> %650, i32 undef, i32 3 %652 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %651, <32 x i8> %107, <16 x i8> %109, i32 3) %653 = extractelement <4 x float> %652, i32 0 %654 = extractelement <4 x float> %652, i32 1 %655 = extractelement <4 x float> %652, i32 2 %656 = extractelement <4 x float> %652, i32 3 %657 = fmul float %653, %27 %658 = fmul float %654, %27 %659 = fmul float %655, %27 %660 = fmul float %656, %27 %661 = fadd float %385, %657 %662 = fadd float %387, %658 %663 = bitcast float %temp26.0 to i32 %664 = bitcast float %661 to i32 %665 = bitcast float %662 to i32 %666 = insertelement <4 x i32> undef, i32 %663, i32 0 %667 = insertelement <4 x i32> %666, i32 %664, i32 1 %668 = insertelement <4 x i32> %667, i32 %665, i32 2 %669 = insertelement <4 x i32> %668, i32 undef, i32 3 %670 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %669, <32 x i8> %103, <16 x i8> %105, i32 7) %671 = extractelement <4 x float> %670, i32 0 %672 = fadd float %644, %671 %673 = fadd float %385, %659 %674 = fadd float %387, %660 %675 = bitcast float %temp26.0 to i32 %676 = bitcast float %673 to i32 %677 = bitcast float %674 to i32 %678 = insertelement <4 x i32> undef, i32 %675, i32 0 %679 = insertelement <4 x i32> %678, i32 %676, i32 1 %680 = insertelement <4 x i32> %679, i32 %677, i32 2 %681 = insertelement <4 x i32> %680, i32 undef, i32 3 %682 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %681, <32 x i8> %103, <16 x i8> %105, i32 7) %683 = extractelement <4 x float> %682, i32 0 %684 = fadd float %672, %683 %685 = bitcast float %382 to i32 %686 = bitcast float %383 to i32 %687 = bitcast float 4.375000e-01 to i32 %688 = insertelement <4 x i32> undef, i32 %685, i32 0 %689 = insertelement <4 x i32> %688, i32 %686, i32 1 %690 = insertelement <4 x i32> %689, i32 %687, i32 2 %691 = insertelement <4 x i32> %690, i32 undef, i32 3 %692 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %691, <32 x i8> %107, <16 x i8> %109, i32 3) %693 = extractelement <4 x float> %692, i32 0 %694 = extractelement <4 x float> %692, i32 1 %695 = extractelement <4 x float> %692, i32 2 %696 = extractelement <4 x float> %692, i32 3 %697 = fmul float %693, %27 %698 = fmul float %694, %27 %699 = fmul float %695, %27 %700 = fmul float %696, %27 %701 = fadd float %385, %697 %702 = fadd float %387, %698 %703 = bitcast float %temp26.0 to i32 %704 = bitcast float %701 to i32 %705 = bitcast float %702 to i32 %706 = insertelement <4 x i32> undef, i32 %703, i32 0 %707 = insertelement <4 x i32> %706, i32 %704, i32 1 %708 = insertelement <4 x i32> %707, i32 %705, i32 2 %709 = insertelement <4 x i32> %708, i32 undef, i32 3 %710 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %709, <32 x i8> %103, <16 x i8> %105, i32 7) %711 = extractelement <4 x float> %710, i32 0 %712 = fadd float %684, %711 %713 = fadd float %385, %699 %714 = fadd float %387, %700 %715 = bitcast float %temp26.0 to i32 %716 = bitcast float %713 to i32 %717 = bitcast float %714 to i32 %718 = insertelement <4 x i32> undef, i32 %715, i32 0 %719 = insertelement <4 x i32> %718, i32 %716, i32 1 %720 = insertelement <4 x i32> %719, i32 %717, i32 2 %721 = insertelement <4 x i32> %720, i32 undef, i32 3 %722 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %721, <32 x i8> %103, <16 x i8> %105, i32 7) %723 = extractelement <4 x float> %722, i32 0 %724 = fadd float %712, %723 %725 = bitcast float %382 to i32 %726 = bitcast float %383 to i32 %727 = bitcast float 5.000000e-01 to i32 %728 = insertelement <4 x i32> undef, i32 %725, i32 0 %729 = insertelement <4 x i32> %728, i32 %726, i32 1 %730 = insertelement <4 x i32> %729, i32 %727, i32 2 %731 = insertelement <4 x i32> %730, i32 undef, i32 3 %732 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %731, <32 x i8> %107, <16 x i8> %109, i32 3) %733 = extractelement <4 x float> %732, i32 0 %734 = extractelement <4 x float> %732, i32 1 %735 = extractelement <4 x float> %732, i32 2 %736 = extractelement <4 x float> %732, i32 3 %737 = fmul float %733, %27 %738 = fmul float %734, %27 %739 = fmul float %735, %27 %740 = fmul float %736, %27 %741 = fadd float %385, %737 %742 = fadd float %387, %738 %743 = bitcast float %temp26.0 to i32 %744 = bitcast float %741 to i32 %745 = bitcast float %742 to i32 %746 = insertelement <4 x i32> undef, i32 %743, i32 0 %747 = insertelement <4 x i32> %746, i32 %744, i32 1 %748 = insertelement <4 x i32> %747, i32 %745, i32 2 %749 = insertelement <4 x i32> %748, i32 undef, i32 3 %750 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %749, <32 x i8> %103, <16 x i8> %105, i32 7) %751 = extractelement <4 x float> %750, i32 0 %752 = fadd float %724, %751 %753 = fadd float %385, %739 %754 = fadd float %387, %740 %755 = bitcast float %temp26.0 to i32 %756 = bitcast float %753 to i32 %757 = bitcast float %754 to i32 %758 = insertelement <4 x i32> undef, i32 %755, i32 0 %759 = insertelement <4 x i32> %758, i32 %756, i32 1 %760 = insertelement <4 x i32> %759, i32 %757, i32 2 %761 = insertelement <4 x i32> %760, i32 undef, i32 3 %762 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %761, <32 x i8> %103, <16 x i8> %105, i32 7) %763 = extractelement <4 x float> %762, i32 0 %764 = fadd float %752, %763 %765 = bitcast float %382 to i32 %766 = bitcast float %383 to i32 %767 = bitcast float 5.625000e-01 to i32 %768 = insertelement <4 x i32> undef, i32 %765, i32 0 %769 = insertelement <4 x i32> %768, i32 %766, i32 1 %770 = insertelement <4 x i32> %769, i32 %767, i32 2 %771 = insertelement <4 x i32> %770, i32 undef, i32 3 %772 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %771, <32 x i8> %107, <16 x i8> %109, i32 3) %773 = extractelement <4 x float> %772, i32 0 %774 = extractelement <4 x float> %772, i32 1 %775 = extractelement <4 x float> %772, i32 2 %776 = extractelement <4 x float> %772, i32 3 %777 = fmul float %773, %27 %778 = fmul float %774, %27 %779 = fmul float %775, %27 %780 = fmul float %776, %27 %781 = fadd float %385, %777 %782 = fadd float %387, %778 %783 = bitcast float %temp26.0 to i32 %784 = bitcast float %781 to i32 %785 = bitcast float %782 to i32 %786 = insertelement <4 x i32> undef, i32 %783, i32 0 %787 = insertelement <4 x i32> %786, i32 %784, i32 1 %788 = insertelement <4 x i32> %787, i32 %785, i32 2 %789 = insertelement <4 x i32> %788, i32 undef, i32 3 %790 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %789, <32 x i8> %103, <16 x i8> %105, i32 7) %791 = extractelement <4 x float> %790, i32 0 %792 = fadd float %764, %791 %793 = fadd float %385, %779 %794 = fadd float %387, %780 %795 = bitcast float %temp26.0 to i32 %796 = bitcast float %793 to i32 %797 = bitcast float %794 to i32 %798 = insertelement <4 x i32> undef, i32 %795, i32 0 %799 = insertelement <4 x i32> %798, i32 %796, i32 1 %800 = insertelement <4 x i32> %799, i32 %797, i32 2 %801 = insertelement <4 x i32> %800, i32 undef, i32 3 %802 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %801, <32 x i8> %103, <16 x i8> %105, i32 7) %803 = extractelement <4 x float> %802, i32 0 %804 = fadd float %792, %803 %805 = bitcast float %382 to i32 %806 = bitcast float %383 to i32 %807 = bitcast float 6.250000e-01 to i32 %808 = insertelement <4 x i32> undef, i32 %805, i32 0 %809 = insertelement <4 x i32> %808, i32 %806, i32 1 %810 = insertelement <4 x i32> %809, i32 %807, i32 2 %811 = insertelement <4 x i32> %810, i32 undef, i32 3 %812 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %811, <32 x i8> %107, <16 x i8> %109, i32 3) %813 = extractelement <4 x float> %812, i32 0 %814 = extractelement <4 x float> %812, i32 1 %815 = extractelement <4 x float> %812, i32 2 %816 = extractelement <4 x float> %812, i32 3 %817 = fmul float %813, %27 %818 = fmul float %814, %27 %819 = fmul float %815, %27 %820 = fmul float %816, %27 %821 = fadd float %385, %817 %822 = fadd float %387, %818 %823 = bitcast float %temp26.0 to i32 %824 = bitcast float %821 to i32 %825 = bitcast float %822 to i32 %826 = insertelement <4 x i32> undef, i32 %823, i32 0 %827 = insertelement <4 x i32> %826, i32 %824, i32 1 %828 = insertelement <4 x i32> %827, i32 %825, i32 2 %829 = insertelement <4 x i32> %828, i32 undef, i32 3 %830 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %829, <32 x i8> %103, <16 x i8> %105, i32 7) %831 = extractelement <4 x float> %830, i32 0 %832 = fadd float %804, %831 %833 = fadd float %385, %819 %834 = fadd float %387, %820 %835 = bitcast float %temp26.0 to i32 %836 = bitcast float %833 to i32 %837 = bitcast float %834 to i32 %838 = insertelement <4 x i32> undef, i32 %835, i32 0 %839 = insertelement <4 x i32> %838, i32 %836, i32 1 %840 = insertelement <4 x i32> %839, i32 %837, i32 2 %841 = insertelement <4 x i32> %840, i32 undef, i32 3 %842 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %841, <32 x i8> %103, <16 x i8> %105, i32 7) %843 = extractelement <4 x float> %842, i32 0 %844 = fadd float %832, %843 %845 = bitcast float %382 to i32 %846 = bitcast float %383 to i32 %847 = bitcast float 6.875000e-01 to i32 %848 = insertelement <4 x i32> undef, i32 %845, i32 0 %849 = insertelement <4 x i32> %848, i32 %846, i32 1 %850 = insertelement <4 x i32> %849, i32 %847, i32 2 %851 = insertelement <4 x i32> %850, i32 undef, i32 3 %852 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %851, <32 x i8> %107, <16 x i8> %109, i32 3) %853 = extractelement <4 x float> %852, i32 0 %854 = extractelement <4 x float> %852, i32 1 %855 = extractelement <4 x float> %852, i32 2 %856 = extractelement <4 x float> %852, i32 3 %857 = fmul float %853, %27 %858 = fmul float %854, %27 %859 = fmul float %855, %27 %860 = fmul float %856, %27 %861 = fadd float %385, %857 %862 = fadd float %387, %858 %863 = bitcast float %temp26.0 to i32 %864 = bitcast float %861 to i32 %865 = bitcast float %862 to i32 %866 = insertelement <4 x i32> undef, i32 %863, i32 0 %867 = insertelement <4 x i32> %866, i32 %864, i32 1 %868 = insertelement <4 x i32> %867, i32 %865, i32 2 %869 = insertelement <4 x i32> %868, i32 undef, i32 3 %870 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %869, <32 x i8> %103, <16 x i8> %105, i32 7) %871 = extractelement <4 x float> %870, i32 0 %872 = fadd float %844, %871 %873 = fadd float %385, %859 %874 = fadd float %387, %860 %875 = bitcast float %temp26.0 to i32 %876 = bitcast float %873 to i32 %877 = bitcast float %874 to i32 %878 = insertelement <4 x i32> undef, i32 %875, i32 0 %879 = insertelement <4 x i32> %878, i32 %876, i32 1 %880 = insertelement <4 x i32> %879, i32 %877, i32 2 %881 = insertelement <4 x i32> %880, i32 undef, i32 3 %882 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %881, <32 x i8> %103, <16 x i8> %105, i32 7) %883 = extractelement <4 x float> %882, i32 0 %884 = fadd float %872, %883 %885 = bitcast float %382 to i32 %886 = bitcast float %383 to i32 %887 = bitcast float 7.500000e-01 to i32 %888 = insertelement <4 x i32> undef, i32 %885, i32 0 %889 = insertelement <4 x i32> %888, i32 %886, i32 1 %890 = insertelement <4 x i32> %889, i32 %887, i32 2 %891 = insertelement <4 x i32> %890, i32 undef, i32 3 %892 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %891, <32 x i8> %107, <16 x i8> %109, i32 3) %893 = extractelement <4 x float> %892, i32 0 %894 = extractelement <4 x float> %892, i32 1 %895 = extractelement <4 x float> %892, i32 2 %896 = extractelement <4 x float> %892, i32 3 %897 = fmul float %893, %27 %898 = fmul float %894, %27 %899 = fmul float %895, %27 %900 = fmul float %896, %27 %901 = fadd float %385, %897 %902 = fadd float %387, %898 %903 = bitcast float %temp26.0 to i32 %904 = bitcast float %901 to i32 %905 = bitcast float %902 to i32 %906 = insertelement <4 x i32> undef, i32 %903, i32 0 %907 = insertelement <4 x i32> %906, i32 %904, i32 1 %908 = insertelement <4 x i32> %907, i32 %905, i32 2 %909 = insertelement <4 x i32> %908, i32 undef, i32 3 %910 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %909, <32 x i8> %103, <16 x i8> %105, i32 7) %911 = extractelement <4 x float> %910, i32 0 %912 = fadd float %884, %911 %913 = fadd float %385, %899 %914 = fadd float %387, %900 %915 = bitcast float %temp26.0 to i32 %916 = bitcast float %913 to i32 %917 = bitcast float %914 to i32 %918 = insertelement <4 x i32> undef, i32 %915, i32 0 %919 = insertelement <4 x i32> %918, i32 %916, i32 1 %920 = insertelement <4 x i32> %919, i32 %917, i32 2 %921 = insertelement <4 x i32> %920, i32 undef, i32 3 %922 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %921, <32 x i8> %103, <16 x i8> %105, i32 7) %923 = extractelement <4 x float> %922, i32 0 %924 = fadd float %912, %923 %925 = bitcast float %382 to i32 %926 = bitcast float %383 to i32 %927 = bitcast float 8.125000e-01 to i32 %928 = insertelement <4 x i32> undef, i32 %925, i32 0 %929 = insertelement <4 x i32> %928, i32 %926, i32 1 %930 = insertelement <4 x i32> %929, i32 %927, i32 2 %931 = insertelement <4 x i32> %930, i32 undef, i32 3 %932 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %931, <32 x i8> %107, <16 x i8> %109, i32 3) %933 = extractelement <4 x float> %932, i32 0 %934 = extractelement <4 x float> %932, i32 1 %935 = extractelement <4 x float> %932, i32 2 %936 = extractelement <4 x float> %932, i32 3 %937 = fmul float %933, %27 %938 = fmul float %934, %27 %939 = fmul float %935, %27 %940 = fmul float %936, %27 %941 = fadd float %385, %937 %942 = fadd float %387, %938 %943 = bitcast float %temp26.0 to i32 %944 = bitcast float %941 to i32 %945 = bitcast float %942 to i32 %946 = insertelement <4 x i32> undef, i32 %943, i32 0 %947 = insertelement <4 x i32> %946, i32 %944, i32 1 %948 = insertelement <4 x i32> %947, i32 %945, i32 2 %949 = insertelement <4 x i32> %948, i32 undef, i32 3 %950 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %949, <32 x i8> %103, <16 x i8> %105, i32 7) %951 = extractelement <4 x float> %950, i32 0 %952 = fadd float %924, %951 %953 = fadd float %385, %939 %954 = fadd float %387, %940 %955 = bitcast float %temp26.0 to i32 %956 = bitcast float %953 to i32 %957 = bitcast float %954 to i32 %958 = insertelement <4 x i32> undef, i32 %955, i32 0 %959 = insertelement <4 x i32> %958, i32 %956, i32 1 %960 = insertelement <4 x i32> %959, i32 %957, i32 2 %961 = insertelement <4 x i32> %960, i32 undef, i32 3 %962 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %961, <32 x i8> %103, <16 x i8> %105, i32 7) %963 = extractelement <4 x float> %962, i32 0 %964 = fadd float %952, %963 %965 = bitcast float %382 to i32 %966 = bitcast float %383 to i32 %967 = bitcast float 8.750000e-01 to i32 %968 = insertelement <4 x i32> undef, i32 %965, i32 0 %969 = insertelement <4 x i32> %968, i32 %966, i32 1 %970 = insertelement <4 x i32> %969, i32 %967, i32 2 %971 = insertelement <4 x i32> %970, i32 undef, i32 3 %972 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %971, <32 x i8> %107, <16 x i8> %109, i32 3) %973 = extractelement <4 x float> %972, i32 0 %974 = extractelement <4 x float> %972, i32 1 %975 = extractelement <4 x float> %972, i32 2 %976 = extractelement <4 x float> %972, i32 3 %977 = fmul float %973, %27 %978 = fmul float %974, %27 %979 = fmul float %975, %27 %980 = fmul float %976, %27 %981 = fadd float %385, %977 %982 = fadd float %387, %978 %983 = bitcast float %temp26.0 to i32 %984 = bitcast float %981 to i32 %985 = bitcast float %982 to i32 %986 = insertelement <4 x i32> undef, i32 %983, i32 0 %987 = insertelement <4 x i32> %986, i32 %984, i32 1 %988 = insertelement <4 x i32> %987, i32 %985, i32 2 %989 = insertelement <4 x i32> %988, i32 undef, i32 3 %990 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %989, <32 x i8> %103, <16 x i8> %105, i32 7) %991 = extractelement <4 x float> %990, i32 0 %992 = fadd float %964, %991 %993 = fadd float %385, %979 %994 = fadd float %387, %980 %995 = bitcast float %temp26.0 to i32 %996 = bitcast float %993 to i32 %997 = bitcast float %994 to i32 %998 = insertelement <4 x i32> undef, i32 %995, i32 0 %999 = insertelement <4 x i32> %998, i32 %996, i32 1 %1000 = insertelement <4 x i32> %999, i32 %997, i32 2 %1001 = insertelement <4 x i32> %1000, i32 undef, i32 3 %1002 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1001, <32 x i8> %103, <16 x i8> %105, i32 7) %1003 = extractelement <4 x float> %1002, i32 0 %1004 = fadd float %992, %1003 %1005 = bitcast float %382 to i32 %1006 = bitcast float %383 to i32 %1007 = bitcast float 9.375000e-01 to i32 %1008 = insertelement <4 x i32> undef, i32 %1005, i32 0 %1009 = insertelement <4 x i32> %1008, i32 %1006, i32 1 %1010 = insertelement <4 x i32> %1009, i32 %1007, i32 2 %1011 = insertelement <4 x i32> %1010, i32 undef, i32 3 %1012 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1011, <32 x i8> %107, <16 x i8> %109, i32 3) %1013 = extractelement <4 x float> %1012, i32 0 %1014 = extractelement <4 x float> %1012, i32 1 %1015 = extractelement <4 x float> %1012, i32 2 %1016 = extractelement <4 x float> %1012, i32 3 %1017 = fmul float %1013, %27 %1018 = fmul float %1014, %27 %1019 = fmul float %1015, %27 %1020 = fmul float %1016, %27 %1021 = fadd float %385, %1017 %1022 = fadd float %387, %1018 %1023 = bitcast float %temp26.0 to i32 %1024 = bitcast float %1021 to i32 %1025 = bitcast float %1022 to i32 %1026 = insertelement <4 x i32> undef, i32 %1023, i32 0 %1027 = insertelement <4 x i32> %1026, i32 %1024, i32 1 %1028 = insertelement <4 x i32> %1027, i32 %1025, i32 2 %1029 = insertelement <4 x i32> %1028, i32 undef, i32 3 %1030 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1029, <32 x i8> %103, <16 x i8> %105, i32 7) %1031 = extractelement <4 x float> %1030, i32 0 %1032 = fadd float %1004, %1031 %1033 = fadd float %385, %1019 %1034 = fadd float %387, %1020 %1035 = bitcast float %temp26.0 to i32 %1036 = bitcast float %1033 to i32 %1037 = bitcast float %1034 to i32 %1038 = insertelement <4 x i32> undef, i32 %1035, i32 0 %1039 = insertelement <4 x i32> %1038, i32 %1036, i32 1 %1040 = insertelement <4 x i32> %1039, i32 %1037, i32 2 %1041 = insertelement <4 x i32> %1040, i32 undef, i32 3 %1042 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1041, <32 x i8> %103, <16 x i8> %105, i32 7) %1043 = extractelement <4 x float> %1042, i32 0 %1044 = fadd float %1032, %1043 %1045 = fmul float %1044, 3.125000e-02 br label %ENDIF52 ENDIF52: ; preds = %IF50, %IF53 %temp16.4 = phi float [ %1045, %IF53 ], [ %548, %IF50 ] %1046 = fadd float %temp16.4, %25 %1047 = call float @llvm.AMDIL.clamp.(float %1046, float 0.000000e+00, float 1.000000e+00) %1048 = fmul float %244, %1047 %1049 = fmul float %246, %1047 %1050 = fmul float %248, %1047 br label %ENDIF49 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8140100 c8150101 c8100000 c8110001 c0840304 c0c60508 bf8c007f f0800300 00430604 bf8c0770 06100d06 061010f3 060c0f07 060c0cf3 100e0d06 d2820007 041e1108 080e0ef2 d2060807 02010107 7e125b07 10120f09 d2060007 22010107 d0080008 02020e80 d2000007 00221280 c8240600 c8250601 10141307 c82c0400 c82d0401 10181708 c8340500 c8350501 d206000e 2201010d 101e1d06 081e190f 0814150f 101e0d0a d282000f 043e0d0a 081c1f0e 101e110a d282000f 043e110a d206000b 2201010b 08161f0b c83c0800 c83d0801 10161f0b c8400900 c8410901 d282000b 042e210e 101c0f0a d282000a 043a0f0a d206000e 22010109 0814150e c8380a00 c8390a01 d282000a 042e1d0a 10161f0f d282000b 042e2110 d282000b 042e1d0e 7e165b0b 1014170a d206080a 0201010a 7e144f0a c0840308 c0c60510 bf8c007f f0800f00 00431104 7e2a02ff 38d1b717 bf8c0770 062a2b14 c0840100 bf8c007f c200094e bf8c007f 102a2a00 0e141515 7e144b0a c200094d bf8c007f 10141400 1010110f d2820008 04220d10 d2820008 04220f0e 10101708 d2060108 02010108 081010f2 d2060808 02010108 7e104f08 c200094a bf8c007f 0e101000 7e104b08 c2000949 c2008948 bf8c007f 7e160201 d2820008 042c0108 d2060808 02010108 1014110a d2820006 04320d0d d2820006 041a1307 d2060107 02010106 080e0ef2 c2000950 bf8c007f 0a0e0e00 d2080008 020000f2 7e105508 100e1107 d2060807 02010107 06100f07 081010ff 40400000 10101107 100e1107 d2060806 02010106 c2000951 bf8c007f d2820006 04180107 d2060806 02010106 c200094c bf8c007f 10160c00 c0860300 c0c80500 bf8c007f f0800f00 00640404 bf8c0770 10101706 d2820008 04221513 10121705 d2820009 04261512 10161704 d282000a 042e1511 c83c0d00 c83d0d01 c8400c00 c8410c01 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440e00 c8450e01 c2000911 bf8c007f d282000b 042e2200 c8480f00 c8490f01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c203096c c203896d bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c0310 c0ce0520 c086030c c0c80518 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c202896b c202096a c2018969 c2010968 c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 d2100001 02020309 10020203 d2100000 0202010a 10000002 f800180f 03020100 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..104] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+8] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+8] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+8] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 20: MOV TEMP[3].y, TEMP[5].xxxx 21: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 22: MOV TEMP[3].z, TEMP[5].xxxx 23: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 24: RSQ TEMP[5].x, TEMP[5].xxxx 25: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 26: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 27: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 28: MOV TEMP[1].y, TEMP[2].xxxx 29: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 30: MOV TEMP[1].z, TEMP[0].xxxx 31: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 32: RSQ TEMP[0].x, TEMP[0].xxxx 33: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 34: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 35: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 36: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 37: MOV TEMP[2].zw, IN[1].wwzw 38: MAD TEMP[2].xy, IN[1].xyyy, CONST[104].xyyy, CONST[104].zwww 39: ADD TEMP[5].xyz, TEMP[4].xyzz, -CONST[5].xyzz 40: MUL TEMP[6], CONST[0], TEMP[5].xxxx 41: MAD TEMP[6], CONST[1], TEMP[5].yyyy, TEMP[6] 42: MAD TEMP[5], CONST[2], TEMP[5].zzzz, TEMP[6] 43: ADD TEMP[5], TEMP[5], CONST[3] 44: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[0].xyzz 45: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[1].xyzz 46: MOV TEMP[6].y, TEMP[7].xxxx 47: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[3].xyzz 48: MUL TEMP[7].x, TEMP[7].xxxx, CONST[7].xxxx 49: MOV TEMP[6].z, TEMP[7].xxxx 50: ADD TEMP[7].xyz, CONST[4].xyzz, -TEMP[4].xyzz 51: DP3 TEMP[0].x, TEMP[7].xyzz, TEMP[0].xyzz 52: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[1].xyzz 53: MOV TEMP[0].y, TEMP[1].xxxx 54: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[3].xyzz 55: MUL TEMP[1].x, TEMP[1].xxxx, CONST[7].xxxx 56: MOV TEMP[0].z, TEMP[1].xxxx 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[6] 59: MOV OUT[3], TEMP[0] 60: MOV OUT[4], TEMP[4] 61: MOV OUT[0], TEMP[5] 62: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1676) %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %61 = load <16 x i8> addrspace(2)* %60, !tbaa !0 %62 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %61, i32 0, i32 %5) %63 = extractelement <4 x float> %62, i32 0 %64 = extractelement <4 x float> %62, i32 1 %65 = extractelement <4 x float> %62, i32 2 %66 = extractelement <4 x float> %62, i32 3 %67 = add i32 %8, %4 %68 = mul i32 %67, 3 %69 = bitcast i32 %68 to float %70 = bitcast float %69 to i32 %71 = add i32 %70, 0 %72 = bitcast float %69 to i32 %73 = add i32 %72, 1 %74 = bitcast float %69 to i32 %75 = add i32 %74, 2 %76 = bitcast i32 %71 to float %77 = bitcast i32 %73 to float %78 = bitcast i32 %75 to float %79 = bitcast float %76 to i32 %80 = shl i32 %79, 4 %81 = add i32 %80, 128 %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %81) %83 = shl i32 %79, 4 %84 = add i32 %83, 132 %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %84) %86 = shl i32 %79, 4 %87 = add i32 %86, 136 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %79, 4 %90 = add i32 %89, 140 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = bitcast float %77 to i32 %93 = shl i32 %92, 4 %94 = add i32 %93, 128 %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %94) %96 = shl i32 %92, 4 %97 = add i32 %96, 132 %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %97) %99 = shl i32 %92, 4 %100 = add i32 %99, 136 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %92, 4 %103 = add i32 %102, 140 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = bitcast float %78 to i32 %106 = shl i32 %105, 4 %107 = add i32 %106, 128 %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %107) %109 = shl i32 %105, 4 %110 = add i32 %109, 132 %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %110) %112 = shl i32 %105, 4 %113 = add i32 %112, 136 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %105, 4 %116 = add i32 %115, 140 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = fmul float %44, %82 %119 = fmul float %45, %85 %120 = fadd float %118, %119 %121 = fmul float %59, %88 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %91 %124 = fadd float %122, %123 %125 = fmul float %44, %95 %126 = fmul float %45, %98 %127 = fadd float %125, %126 %128 = fmul float %59, %101 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %104 %131 = fadd float %129, %130 %132 = fmul float %44, %108 %133 = fmul float %45, %111 %134 = fadd float %132, %133 %135 = fmul float %59, %114 %136 = fadd float %134, %135 %137 = fmul float 1.000000e+00, %117 %138 = fadd float %136, %137 %139 = fmul float %56, %82 %140 = fmul float %57, %85 %141 = fadd float %140, %139 %142 = fmul float %58, %88 %143 = fadd float %141, %142 %144 = fmul float %56, %95 %145 = fmul float %57, %98 %146 = fadd float %145, %144 %147 = fmul float %58, %101 %148 = fadd float %146, %147 %149 = fmul float %56, %108 %150 = fmul float %57, %111 %151 = fadd float %150, %149 %152 = fmul float %58, %114 %153 = fadd float %151, %152 %154 = fmul float %143, %143 %155 = fmul float %148, %148 %156 = fadd float %155, %154 %157 = fmul float %153, %153 %158 = fadd float %156, %157 %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %143, %159 %161 = fmul float %148, %159 %162 = fmul float %153, %159 %163 = fmul float %63, %82 %164 = fmul float %64, %85 %165 = fadd float %164, %163 %166 = fmul float %65, %88 %167 = fadd float %165, %166 %168 = fmul float %63, %95 %169 = fmul float %64, %98 %170 = fadd float %169, %168 %171 = fmul float %65, %101 %172 = fadd float %170, %171 %173 = fmul float %63, %108 %174 = fmul float %64, %111 %175 = fadd float %174, %173 %176 = fmul float %65, %114 %177 = fadd float %175, %176 %178 = fmul float %167, %167 %179 = fmul float %172, %172 %180 = fadd float %179, %178 %181 = fmul float %177, %177 %182 = fadd float %180, %181 %183 = call float @llvm.AMDGPU.rsq(float %182) %184 = fmul float %167, %183 %185 = fmul float %172, %183 %186 = fmul float %177, %183 %187 = fmul float %162, %185 %188 = fmul float %160, %186 %189 = fmul float %161, %184 %190 = fsub float -0.000000e+00, %187 %191 = fmul float %161, %186 %192 = fadd float %191, %190 %193 = fsub float -0.000000e+00, %188 %194 = fmul float %162, %184 %195 = fadd float %194, %193 %196 = fsub float -0.000000e+00, %189 %197 = fmul float %160, %185 %198 = fadd float %197, %196 %199 = fmul float %192, %66 %200 = fmul float %195, %66 %201 = fmul float %198, %66 %202 = fmul float %49, %37 %203 = fadd float %202, %39 %204 = fmul float %50, %38 %205 = fadd float %204, %40 %206 = fsub float -0.000000e+00, %30 %207 = fadd float %124, %206 %208 = fsub float -0.000000e+00, %31 %209 = fadd float %131, %208 %210 = fsub float -0.000000e+00, %32 %211 = fadd float %138, %210 %212 = fmul float %11, %207 %213 = fmul float %12, %207 %214 = fmul float %13, %207 %215 = fmul float %14, %207 %216 = fmul float %15, %209 %217 = fadd float %216, %212 %218 = fmul float %16, %209 %219 = fadd float %218, %213 %220 = fmul float %17, %209 %221 = fadd float %220, %214 %222 = fmul float %18, %209 %223 = fadd float %222, %215 %224 = fmul float %19, %211 %225 = fadd float %224, %217 %226 = fmul float %20, %211 %227 = fadd float %226, %219 %228 = fmul float %21, %211 %229 = fadd float %228, %221 %230 = fmul float %22, %211 %231 = fadd float %230, %223 %232 = fadd float %225, %23 %233 = fadd float %227, %24 %234 = fadd float %229, %25 %235 = fadd float %231, %26 %236 = fmul float %33, %184 %237 = fmul float %34, %185 %238 = fadd float %237, %236 %239 = fmul float %35, %186 %240 = fadd float %238, %239 %241 = fmul float %33, %199 %242 = fmul float %34, %200 %243 = fadd float %242, %241 %244 = fmul float %35, %201 %245 = fadd float %243, %244 %246 = fmul float %33, %160 %247 = fmul float %34, %161 %248 = fadd float %247, %246 %249 = fmul float %35, %162 %250 = fadd float %248, %249 %251 = fmul float %250, %36 %252 = fsub float -0.000000e+00, %124 %253 = fadd float %27, %252 %254 = fsub float -0.000000e+00, %131 %255 = fadd float %28, %254 %256 = fsub float -0.000000e+00, %138 %257 = fadd float %29, %256 %258 = fmul float %253, %184 %259 = fmul float %255, %185 %260 = fadd float %259, %258 %261 = fmul float %257, %186 %262 = fadd float %260, %261 %263 = fmul float %253, %199 %264 = fmul float %255, %200 %265 = fadd float %264, %263 %266 = fmul float %257, %201 %267 = fadd float %265, %266 %268 = fmul float %253, %160 %269 = fmul float %255, %161 %270 = fadd float %269, %268 %271 = fmul float %257, %162 %272 = fadd float %270, %271 %273 = fmul float %272, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %203, float %205, float %51, float %52) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %240, float %245, float %251, float %223) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %267, float %273, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %124, float %131, float %138, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %232, float %233, float %234, float %235) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000068c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000684 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000688 c2020004 bf8c007f 7e040204 be8403ff 00000680 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000080 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000084 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000088 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000080 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000084 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000088 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000080 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000084 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000088 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 c2020118 bf8c007f 10362004 c2028119 bf8c007f d282001b 046e3a05 103c1b19 103e111a 083c3d1f 10080f1e c204011a bf8c007f d2820005 046e0808 100c1a04 d2820006 041a1005 d2820006 041a2408 100e3404 d2820007 041e3205 d2820007 041e3808 c202011c bf8c007f 100e0e04 c0840700 bf8c007f e00c2000 80021e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000008c e0301000 80000b0b bf8c0770 06001700 c2028114 bf8c007f 0a160005 c2028103 bf8c007f 10181605 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000008c e0301000 80000202 bf8c0770 06040503 c2028115 bf8c007f 0a060405 c2028107 bf8c007f d2820009 04320605 f800021f 09070506 c2028110 bf8c000f 080a0005 100c2105 c2028111 bf8c007f 080e0405 d2820006 041a3b07 1014271f d282000a 042a231e d282000a 042a2918 4a0202ff 0000008c e0301000 80000101 bf8c0770 0614030a c2028112 bf8c007f 08181405 d2820004 041a090c 100c1b05 d2820006 041a1107 d2820006 041a250c 100a3505 d2820005 04163307 d2820005 0416390c 100a0a04 f800022f 01050406 bf8c070f 7e0202f2 f800023f 010a0200 c2020116 bf8c000f 0a001404 c202010b bf8c007f d2820001 04260004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10041604 c2020106 bf8c007f d2820002 040a0604 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 c2020101 bf8c007f 10081604 c2020105 bf8c007f d2820004 04120604 c2020109 bf8c007f d2820004 04120004 c202010d bf8c007f 06080804 c2020100 bf8c007f 100a1604 c2020104 bf8c007f d2820003 04160604 c2020108 bf8c007f d2820000 040e0004 c200010c bf8c007f 06000000 f80008cf 01020400 bf810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } SI CODE: 7e000280 f8001800 00000000 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[26..27] DCL CONST[0..20] DCL TEMP[0] DCL TEMP[1..9], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { 0.0001, 3.0000, -0.2500, 0.2450} IMM[2] FLT32 { -0.7500, -0.2500, 0.0625, 0.1250} IMM[3] FLT32 { 0.1875, 0.2500, 8.0000, 0.3125} IMM[4] FLT32 { 0.3750, 0.4375, 0.5000, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[27].xxxx, CONST[27].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].xy, IN[1].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: MOV TEMP[3].xy, IN[1].xyyy 7: TEX TEMP[3], TEMP[3], SAMP[2], 2D 8: MAD TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx, IMM[0].yyyy 9: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 10: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 11: RSQ TEMP[5].x, TEMP[4].xxxx 12: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 13: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].wwww 14: MOV TEMP[2].z, TEMP[5].xxxx 15: ADD TEMP[4].x, TEMP[3].wwww, IMM[1].xxxx 16: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 17: ABS TEMP[6].x, TEMP[5].xxxx 18: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 19: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[20].xxxx 20: ADD TEMP[7].x, IMM[0].zzzz, -CONST[20].xxxx 21: RCP TEMP[7].x, TEMP[7].xxxx 22: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 23: DP3 TEMP[7].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[7].x, TEMP[7].xxxx 25: MOV TEMP[8].xyz, -IN[2].xyzx 26: DP3 TEMP[9].x, TEMP[2].xyzz, TEMP[8].xyzz 27: MUL TEMP[9].xyz, TEMP[9].xxxx, TEMP[2].xyzz 28: MUL TEMP[9].xyz, IMM[0].xxxx, TEMP[9].xyzz 29: ADD TEMP[8].xyz, TEMP[8].xyzz, -TEMP[9].xyzz 30: DP3 TEMP[8].x, TEMP[8].xyzz, IN[3].xyzz 31: MUL_SAT TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 32: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].zzzz 33: POW TEMP[4].x, TEMP[8].xxxx, TEMP[4].xxxx 34: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].yyyy 35: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 36: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[7].xxxx 37: ABS TEMP[2].x, TEMP[2].xxxx 38: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 39: POW TEMP[2].x, TEMP[2].xxxx, CONST[18].zzzz 40: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[18].yyyy, CONST[18].xxxx 41: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 42: MUL TEMP[4].x, IMM[0].xxxx, TEMP[6].xxxx 43: ADD TEMP[4].x, IMM[1].yyyy, -TEMP[4].xxxx 44: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 45: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 46: MOV_SAT TEMP[5].x, TEMP[5].xxxx 47: MAD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[20].yyyy, TEMP[5].xxxx 48: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].xxxx 49: MUL TEMP[4].xyz, TEMP[1].xyzz, TEMP[4].xxxx 50: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xxxx, TEMP[4].xyzz 51: MOV TEMP[3].xyz, TEMP[2].xyzx 52: MOV TEMP[4].x, IMM[0].wwww 53: MUL TEMP[5], CONST[2], IN[4].xxxx 54: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 55: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 56: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 57: MOV TEMP[6].xyz, TEMP[5] 58: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 59: ABS TEMP[5].xy, TEMP[5].xyyy 60: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 61: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 62: UIF TEMP[5].xxxx :2 63: MUL TEMP[5], CONST[6], IN[4].xxxx 64: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 65: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 66: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 67: MOV TEMP[6].xyz, TEMP[5] 68: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xyyy 69: ABS TEMP[5].xy, TEMP[5].xyyy 70: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 71: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 72: UIF TEMP[5].xxxx :2 73: MUL TEMP[5], CONST[10], IN[4].xxxx 74: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 75: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 76: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 77: MOV TEMP[6], TEMP[5] 78: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yxxx 79: ABS TEMP[5].xy, TEMP[5].xyyy 80: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 81: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 82: UIF TEMP[5].xxxx :2 83: MUL TEMP[5], CONST[14], IN[4].xxxx 84: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 85: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 86: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 87: MOV TEMP[6], TEMP[5] 88: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xxxx 89: ABS TEMP[5].xy, TEMP[5].xyyy 90: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 91: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 92: UIF TEMP[5].xxxx :2 93: MOV TEMP[4].x, IMM[0].zzzz 94: ENDIF 95: ENDIF 96: ENDIF 97: ENDIF 98: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 99: UIF TEMP[5].xxxx :2 100: MOV TEMP[5].z, IMM[0].wwww 101: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].zzzz 102: MOV TEMP[7].xy, TEMP[5].xyxx 103: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 104: MOV TEMP[5].xyz, TEMP[5].xyzz 105: TEX TEMP[5], TEMP[5], SAMP[4], 3D 106: MUL TEMP[5], TEMP[5], CONST[1].wwww 107: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 108: MOV TEMP[8].xy, TEMP[8].xyyy 109: MOV TEMP[8].z, TEMP[6].zzzz 110: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 111: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 112: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 113: MOV TEMP[5].xy, TEMP[5].xyyy 114: MOV TEMP[5].z, TEMP[6].zzzz 115: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 116: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 117: MOV TEMP[7].z, IMM[2].zzzz 118: MOV TEMP[5].xyz, TEMP[7].xyzz 119: TEX TEMP[5], TEMP[5], SAMP[4], 3D 120: MUL TEMP[5], TEMP[5], CONST[1].wwww 121: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 122: MOV TEMP[8].xy, TEMP[8].xyyy 123: MOV TEMP[8].z, TEMP[6].zzzz 124: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 125: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 126: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 127: MOV TEMP[5].xy, TEMP[5].xyyy 128: MOV TEMP[5].z, TEMP[6].zzzz 129: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 130: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 131: MOV TEMP[7].z, IMM[2].wwww 132: MOV TEMP[5].xyz, TEMP[7].xyzz 133: TEX TEMP[5], TEMP[5], SAMP[4], 3D 134: MUL TEMP[5], TEMP[5], CONST[1].wwww 135: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 136: MOV TEMP[8].xy, TEMP[8].xyyy 137: MOV TEMP[8].z, TEMP[6].zzzz 138: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 139: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 140: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 141: MOV TEMP[5].xy, TEMP[5].xyyy 142: MOV TEMP[5].z, TEMP[6].zzzz 143: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 144: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 145: MOV TEMP[7].z, IMM[3].xxxx 146: MOV TEMP[5].xyz, TEMP[7].xyzz 147: TEX TEMP[5], TEMP[5], SAMP[4], 3D 148: MUL TEMP[5], TEMP[5], CONST[1].wwww 149: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 150: MOV TEMP[8].xy, TEMP[8].xyyy 151: MOV TEMP[8].z, TEMP[6].zzzz 152: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 153: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 154: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 155: MOV TEMP[7].z, IMM[3].yyyy 156: MOV TEMP[5].xy, TEMP[5].xyyy 157: MOV TEMP[5].z, TEMP[6].zzzz 158: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 159: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 160: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].wwww 161: MOV TEMP[4].x, TEMP[5].xxxx 162: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 163: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 164: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 165: UIF TEMP[8].xxxx :2 166: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].zzzz 167: MOV TEMP[5].xyz, TEMP[7].xyzz 168: TEX TEMP[5], TEMP[5], SAMP[4], 3D 169: MUL TEMP[5], TEMP[5], CONST[1].wwww 170: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 171: MOV TEMP[8].xy, TEMP[8].xyyy 172: MOV TEMP[8].z, TEMP[6].zzzz 173: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 174: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 175: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 176: MOV TEMP[5].xy, TEMP[5].xyyy 177: MOV TEMP[5].z, TEMP[6].zzzz 178: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 179: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 180: MOV TEMP[7].z, IMM[3].wwww 181: MOV TEMP[5].xyz, TEMP[7].xyzz 182: TEX TEMP[5], TEMP[5], SAMP[4], 3D 183: MUL TEMP[5], TEMP[5], CONST[1].wwww 184: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 185: MOV TEMP[8].xy, TEMP[8].xyyy 186: MOV TEMP[8].z, TEMP[6].zzzz 187: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 188: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 189: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 190: MOV TEMP[5].xy, TEMP[5].xyyy 191: MOV TEMP[5].z, TEMP[6].zzzz 192: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 193: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 194: MOV TEMP[7].z, IMM[4].xxxx 195: MOV TEMP[5].xyz, TEMP[7].xyzz 196: TEX TEMP[5], TEMP[5], SAMP[4], 3D 197: MUL TEMP[5], TEMP[5], CONST[1].wwww 198: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 199: MOV TEMP[8].xy, TEMP[8].xyyy 200: MOV TEMP[8].z, TEMP[6].zzzz 201: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 202: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 203: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 204: MOV TEMP[5].xy, TEMP[5].xyyy 205: MOV TEMP[5].z, TEMP[6].zzzz 206: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 207: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 208: MOV TEMP[7].z, IMM[4].yyyy 209: MOV TEMP[5].xyz, TEMP[7].xyzz 210: TEX TEMP[5], TEMP[5], SAMP[4], 3D 211: MUL TEMP[5], TEMP[5], CONST[1].wwww 212: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 213: MOV TEMP[8].xy, TEMP[8].xyyy 214: MOV TEMP[8].z, TEMP[6].zzzz 215: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 216: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 217: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 218: MOV TEMP[5].xy, TEMP[5].xyyy 219: MOV TEMP[5].z, TEMP[6].zzzz 220: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 221: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 222: MOV TEMP[7].z, IMM[4].zzzz 223: MOV TEMP[5].xyz, TEMP[7].xyzz 224: TEX TEMP[5], TEMP[5], SAMP[4], 3D 225: MUL TEMP[5], TEMP[5], CONST[1].wwww 226: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 227: MOV TEMP[8].xy, TEMP[8].xyyy 228: MOV TEMP[8].z, TEMP[6].zzzz 229: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 230: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 231: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 232: MOV TEMP[5].xy, TEMP[5].xyyy 233: MOV TEMP[5].z, TEMP[6].zzzz 234: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 235: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 236: MOV TEMP[7].z, IMM[4].wwww 237: MOV TEMP[5].xyz, TEMP[7].xyzz 238: TEX TEMP[5], TEMP[5], SAMP[4], 3D 239: MUL TEMP[5], TEMP[5], CONST[1].wwww 240: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 241: MOV TEMP[8].xy, TEMP[8].xyyy 242: MOV TEMP[8].z, TEMP[6].zzzz 243: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 244: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 245: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 246: MOV TEMP[5].xy, TEMP[5].xyyy 247: MOV TEMP[5].z, TEMP[6].zzzz 248: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 249: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 250: MOV TEMP[7].z, IMM[5].xxxx 251: MOV TEMP[5].xyz, TEMP[7].xyzz 252: TEX TEMP[5], TEMP[5], SAMP[4], 3D 253: MUL TEMP[5], TEMP[5], CONST[1].wwww 254: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 255: MOV TEMP[8].xy, TEMP[8].xyyy 256: MOV TEMP[8].z, TEMP[6].zzzz 257: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 258: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 259: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 260: MOV TEMP[5].xy, TEMP[5].xyyy 261: MOV TEMP[5].z, TEMP[6].zzzz 262: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 263: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 264: MOV TEMP[7].z, IMM[5].yyyy 265: MOV TEMP[5].xyz, TEMP[7].xyzz 266: TEX TEMP[5], TEMP[5], SAMP[4], 3D 267: MUL TEMP[5], TEMP[5], CONST[1].wwww 268: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 269: MOV TEMP[8].xy, TEMP[8].xyyy 270: MOV TEMP[8].z, TEMP[6].zzzz 271: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 272: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 273: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 274: MOV TEMP[5].xy, TEMP[5].xyyy 275: MOV TEMP[5].z, TEMP[6].zzzz 276: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 277: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 278: MOV TEMP[7].z, IMM[5].zzzz 279: MOV TEMP[5].xyz, TEMP[7].xyzz 280: TEX TEMP[5], TEMP[5], SAMP[4], 3D 281: MUL TEMP[5], TEMP[5], CONST[1].wwww 282: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 283: MOV TEMP[8].xy, TEMP[8].xyyy 284: MOV TEMP[8].z, TEMP[6].zzzz 285: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 286: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 287: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 288: MOV TEMP[5].xy, TEMP[5].xyyy 289: MOV TEMP[5].z, TEMP[6].zzzz 290: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 291: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 292: MOV TEMP[7].z, IMM[5].wwww 293: MOV TEMP[5].xyz, TEMP[7].xyzz 294: TEX TEMP[5], TEMP[5], SAMP[4], 3D 295: MUL TEMP[5], TEMP[5], CONST[1].wwww 296: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 297: MOV TEMP[8].xy, TEMP[8].xyyy 298: MOV TEMP[8].z, TEMP[6].zzzz 299: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 300: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 301: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 302: MOV TEMP[5].xy, TEMP[5].xyyy 303: MOV TEMP[5].z, TEMP[6].zzzz 304: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 305: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 306: MOV TEMP[7].z, IMM[6].xxxx 307: MOV TEMP[5].xyz, TEMP[7].xyzz 308: TEX TEMP[5], TEMP[5], SAMP[4], 3D 309: MUL TEMP[5], TEMP[5], CONST[1].wwww 310: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 311: MOV TEMP[8].xy, TEMP[8].xyyy 312: MOV TEMP[8].z, TEMP[6].zzzz 313: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 314: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 315: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 316: MOV TEMP[5].xy, TEMP[5].xyyy 317: MOV TEMP[5].z, TEMP[6].zzzz 318: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 319: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 320: MOV TEMP[7].z, IMM[6].yyyy 321: MOV TEMP[5].xyz, TEMP[7].xyzz 322: TEX TEMP[5], TEMP[5], SAMP[4], 3D 323: MUL TEMP[5], TEMP[5], CONST[1].wwww 324: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 325: MOV TEMP[7].xy, TEMP[7].xyyy 326: MOV TEMP[7].z, TEMP[6].zzzz 327: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 328: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 329: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 330: MOV TEMP[5].xy, TEMP[5].xyyy 331: MOV TEMP[5].z, TEMP[6].zzzz 332: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 333: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 334: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 335: ENDIF 336: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 337: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 338: ENDIF 339: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 340: MOV TEMP[2].w, TEMP[1].wwww 341: MUL TEMP[1], TEMP[2], CONST[26] 342: MOV OUT[0], TEMP[1] 343: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %120 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %121 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %122 = fmul float %13, %88 %123 = fadd float %122, %89 %124 = bitcast float %110 to i32 %125 = bitcast float %111 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %91, <16 x i8> %93, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = bitcast float %110 to i32 %134 = bitcast float %111 to i32 %135 = insertelement <2 x i32> undef, i32 %133, i32 0 %136 = insertelement <2 x i32> %135, i32 %134, i32 1 %137 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %136, <32 x i8> %95, <16 x i8> %97, i32 2) %138 = extractelement <4 x float> %137, i32 0 %139 = extractelement <4 x float> %137, i32 1 %140 = bitcast float %110 to i32 %141 = bitcast float %111 to i32 %142 = insertelement <2 x i32> undef, i32 %140, i32 0 %143 = insertelement <2 x i32> %142, i32 %141, i32 1 %144 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %143, <32 x i8> %99, <16 x i8> %101, i32 2) %145 = extractelement <4 x float> %144, i32 0 %146 = extractelement <4 x float> %144, i32 1 %147 = extractelement <4 x float> %144, i32 2 %148 = extractelement <4 x float> %144, i32 3 %149 = fmul float %138, 2.000000e+00 %150 = fadd float %149, -1.000000e+00 %151 = fmul float %139, 2.000000e+00 %152 = fadd float %151, -1.000000e+00 %153 = fmul float %150, %150 %154 = fmul float %152, %152 %155 = fadd float %153, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %159, %158 %161 = fsub float -0.000000e+00, %158 %162 = call float @llvm.AMDGPU.cndlt(float %161, float %160, float 0.000000e+00) %163 = fadd float %148, 0x3F1A36E2E0000000 %164 = fmul float %112, %150 %165 = fmul float %113, %152 %166 = fadd float %165, %164 %167 = fmul float %114, %162 %168 = fadd float %166, %167 %169 = call float @fabs(float %168) %170 = fsub float -0.000000e+00, %169 %171 = fadd float 1.000000e+00, %170 %172 = fsub float -0.000000e+00, %82 %173 = fadd float %171, %172 %174 = fsub float -0.000000e+00, %82 %175 = fadd float 1.000000e+00, %174 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %173, %176 %178 = call float @llvm.AMDIL.clamp.(float %177, float 0.000000e+00, float 1.000000e+00) %179 = fmul float %115, %115 %180 = fmul float %116, %116 %181 = fadd float %180, %179 %182 = fmul float %117, %117 %183 = fadd float %181, %182 %184 = call float @llvm.AMDGPU.rsq(float %183) %185 = fsub float -0.000000e+00, %112 %186 = fsub float -0.000000e+00, %113 %187 = fsub float -0.000000e+00, %114 %188 = fmul float %150, %185 %189 = fmul float %152, %186 %190 = fadd float %189, %188 %191 = fmul float %162, %187 %192 = fadd float %190, %191 %193 = fmul float %192, %150 %194 = fmul float %192, %152 %195 = fmul float %192, %162 %196 = fmul float 2.000000e+00, %193 %197 = fmul float 2.000000e+00, %194 %198 = fmul float 2.000000e+00, %195 %199 = fsub float -0.000000e+00, %196 %200 = fadd float %185, %199 %201 = fsub float -0.000000e+00, %197 %202 = fadd float %186, %201 %203 = fsub float -0.000000e+00, %198 %204 = fadd float %187, %203 %205 = fmul float %200, %115 %206 = fmul float %202, %116 %207 = fadd float %206, %205 %208 = fmul float %204, %117 %209 = fadd float %207, %208 %210 = fmul float %209, %184 %211 = call float @llvm.AMDIL.clamp.(float %210, float 0.000000e+00, float 1.000000e+00) %212 = fmul float %163, %81 %213 = call float @llvm.pow.f32(float %211, float %212) %214 = fmul float %213, %80 %215 = fmul float %115, %150 %216 = fmul float %116, %152 %217 = fadd float %216, %215 %218 = fmul float %117, %162 %219 = fadd float %217, %218 %220 = fmul float %219, %184 %221 = call float @fabs(float %220) %222 = fsub float -0.000000e+00, %221 %223 = fadd float 1.000000e+00, %222 %224 = call float @llvm.AMDIL.clamp.(float %223, float 0.000000e+00, float 1.000000e+00) %225 = call float @llvm.pow.f32(float %224, float %78) %226 = fmul float %225, %77 %227 = fadd float %226, %76 %228 = call float @llvm.AMDIL.clamp.(float %227, float 0.000000e+00, float 1.000000e+00) %229 = fmul float %214, %228 %230 = fmul float 2.000000e+00, %178 %231 = fsub float -0.000000e+00, %230 %232 = fadd float 3.000000e+00, %231 %233 = fmul float %178, %232 %234 = fmul float %178, %233 %235 = call float @llvm.AMDIL.clamp.(float %168, float 0.000000e+00, float 1.000000e+00) %236 = fmul float %234, %83 %237 = fadd float %236, %235 %238 = call float @llvm.AMDIL.clamp.(float %237, float 0.000000e+00, float 1.000000e+00) %239 = fmul float %238, %79 %240 = fmul float %129, %239 %241 = fmul float %130, %239 %242 = fmul float %131, %239 %243 = fmul float %145, %229 %244 = fadd float %243, %240 %245 = fmul float %146, %229 %246 = fadd float %245, %241 %247 = fmul float %147, %229 %248 = fadd float %247, %242 %249 = fmul float %28, %118 %250 = fmul float %29, %118 %251 = fmul float %30, %118 %252 = fmul float %31, %119 %253 = fadd float %252, %249 %254 = fmul float %32, %119 %255 = fadd float %254, %250 %256 = fmul float %33, %119 %257 = fadd float %256, %251 %258 = fmul float %34, %120 %259 = fadd float %258, %253 %260 = fmul float %35, %120 %261 = fadd float %260, %255 %262 = fmul float %36, %120 %263 = fadd float %262, %257 %264 = fmul float %37, %121 %265 = fadd float %264, %259 %266 = fmul float %38, %121 %267 = fadd float %266, %261 %268 = fmul float %39, %121 %269 = fadd float %268, %263 %270 = fadd float %265, -2.500000e-01 %271 = fadd float %267, -2.500000e-01 %272 = call float @fabs(float %270) %273 = call float @fabs(float %271) %274 = fcmp uge float %272, %273 %275 = select i1 %274, float %272, float %273 %276 = fcmp oge float %275, 0x3FCF5C2900000000 %277 = sext i1 %276 to i32 %278 = bitcast i32 %277 to float %279 = bitcast float %278 to i32 %280 = icmp ne i32 %279, 0 br i1 %280, label %IF, label %ENDIF IF: ; preds = %main_body %281 = fmul float %40, %118 %282 = fmul float %41, %118 %283 = fmul float %42, %118 %284 = fmul float %43, %119 %285 = fadd float %284, %281 %286 = fmul float %44, %119 %287 = fadd float %286, %282 %288 = fmul float %45, %119 %289 = fadd float %288, %283 %290 = fmul float %46, %120 %291 = fadd float %290, %285 %292 = fmul float %47, %120 %293 = fadd float %292, %287 %294 = fmul float %48, %120 %295 = fadd float %294, %289 %296 = fmul float %49, %121 %297 = fadd float %296, %291 %298 = fmul float %50, %121 %299 = fadd float %298, %293 %300 = fmul float %51, %121 %301 = fadd float %300, %295 %302 = fadd float %297, -7.500000e-01 %303 = fadd float %299, -2.500000e-01 %304 = call float @fabs(float %302) %305 = call float @fabs(float %303) %306 = fcmp uge float %304, %305 %307 = select i1 %306, float %304, float %305 %308 = fcmp oge float %307, 0x3FCF5C2900000000 %309 = sext i1 %308 to i32 %310 = bitcast i32 %309 to float %311 = bitcast float %310 to i32 %312 = icmp ne i32 %311, 0 br i1 %312, label %IF41, label %ENDIF ENDIF: ; preds = %IF44, %IF41, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF44 ], [ 0.000000e+00, %IF41 ] %temp24.0 = phi float [ %265, %main_body ], [ %297, %IF ], [ %366, %IF44 ], [ %334, %IF41 ] %temp25.0 = phi float [ %267, %main_body ], [ %299, %IF ], [ %368, %IF44 ], [ %336, %IF41 ] %temp26.0 = phi float [ %269, %main_body ], [ %301, %IF ], [ %370, %IF44 ], [ %338, %IF41 ] %313 = fcmp oeq float %temp16.0, 0.000000e+00 %314 = sext i1 %313 to i32 %315 = bitcast i32 %314 to float %316 = bitcast float %315 to i32 %317 = icmp ne i32 %316, 0 br i1 %317, label %IF50, label %ENDIF49 IF41: ; preds = %IF %318 = fmul float %52, %118 %319 = fmul float %53, %118 %320 = fmul float %54, %118 %321 = fmul float %55, %119 %322 = fadd float %321, %318 %323 = fmul float %56, %119 %324 = fadd float %323, %319 %325 = fmul float %57, %119 %326 = fadd float %325, %320 %327 = fmul float %58, %120 %328 = fadd float %327, %322 %329 = fmul float %59, %120 %330 = fadd float %329, %324 %331 = fmul float %60, %120 %332 = fadd float %331, %326 %333 = fmul float %61, %121 %334 = fadd float %333, %328 %335 = fmul float %62, %121 %336 = fadd float %335, %330 %337 = fmul float %63, %121 %338 = fadd float %337, %332 %339 = fadd float %334, -2.500000e-01 %340 = fadd float %336, -7.500000e-01 %341 = call float @fabs(float %339) %342 = call float @fabs(float %340) %343 = fcmp uge float %341, %342 %344 = select i1 %343, float %341, float %342 %345 = fcmp oge float %344, 0x3FCF5C2900000000 %346 = sext i1 %345 to i32 %347 = bitcast i32 %346 to float %348 = bitcast float %347 to i32 %349 = icmp ne i32 %348, 0 br i1 %349, label %IF44, label %ENDIF IF44: ; preds = %IF41 %350 = fmul float %64, %118 %351 = fmul float %65, %118 %352 = fmul float %66, %118 %353 = fmul float %67, %119 %354 = fadd float %353, %350 %355 = fmul float %68, %119 %356 = fadd float %355, %351 %357 = fmul float %69, %119 %358 = fadd float %357, %352 %359 = fmul float %70, %120 %360 = fadd float %359, %354 %361 = fmul float %71, %120 %362 = fadd float %361, %356 %363 = fmul float %72, %120 %364 = fadd float %363, %358 %365 = fmul float %73, %121 %366 = fadd float %365, %360 %367 = fmul float %74, %121 %368 = fadd float %367, %362 %369 = fmul float %75, %121 %370 = fadd float %369, %364 %371 = fadd float %366, -7.500000e-01 %372 = fadd float %368, -7.500000e-01 %373 = call float @fabs(float %371) %374 = call float @fabs(float %372) %375 = fcmp uge float %373, %374 %376 = select i1 %375, float %373, float %374 %377 = fcmp oge float %376, 0x3FCF5C2900000000 %378 = sext i1 %377 to i32 %379 = bitcast i32 %378 to float %380 = bitcast float %379 to i32 %381 = icmp ne i32 %380, 0 %. = select i1 %381, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF50: ; preds = %ENDIF %382 = fmul float %12, 6.250000e-02 %383 = fmul float %123, 6.250000e-02 %384 = fsub float -0.000000e+00, %26 %385 = fadd float %temp24.0, %384 %386 = fsub float -0.000000e+00, %26 %387 = fadd float %temp25.0, %386 %388 = bitcast float %382 to i32 %389 = bitcast float %383 to i32 %390 = bitcast float 0.000000e+00 to i32 %391 = insertelement <4 x i32> undef, i32 %388, i32 0 %392 = insertelement <4 x i32> %391, i32 %389, i32 1 %393 = insertelement <4 x i32> %392, i32 %390, i32 2 %394 = insertelement <4 x i32> %393, i32 undef, i32 3 %395 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %394, <32 x i8> %107, <16 x i8> %109, i32 3) %396 = extractelement <4 x float> %395, i32 0 %397 = extractelement <4 x float> %395, i32 1 %398 = extractelement <4 x float> %395, i32 2 %399 = extractelement <4 x float> %395, i32 3 %400 = fmul float %396, %27 %401 = fmul float %397, %27 %402 = fmul float %398, %27 %403 = fmul float %399, %27 %404 = fadd float %385, %400 %405 = fadd float %387, %401 %406 = bitcast float %temp26.0 to i32 %407 = bitcast float %404 to i32 %408 = bitcast float %405 to i32 %409 = insertelement <4 x i32> undef, i32 %406, i32 0 %410 = insertelement <4 x i32> %409, i32 %407, i32 1 %411 = insertelement <4 x i32> %410, i32 %408, i32 2 %412 = insertelement <4 x i32> %411, i32 undef, i32 3 %413 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %412, <32 x i8> %103, <16 x i8> %105, i32 7) %414 = extractelement <4 x float> %413, i32 0 %415 = fadd float %temp16.0, %414 %416 = fadd float %385, %402 %417 = fadd float %387, %403 %418 = bitcast float %temp26.0 to i32 %419 = bitcast float %416 to i32 %420 = bitcast float %417 to i32 %421 = insertelement <4 x i32> undef, i32 %418, i32 0 %422 = insertelement <4 x i32> %421, i32 %419, i32 1 %423 = insertelement <4 x i32> %422, i32 %420, i32 2 %424 = insertelement <4 x i32> %423, i32 undef, i32 3 %425 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %424, <32 x i8> %103, <16 x i8> %105, i32 7) %426 = extractelement <4 x float> %425, i32 0 %427 = fadd float %415, %426 %428 = bitcast float %382 to i32 %429 = bitcast float %383 to i32 %430 = bitcast float 6.250000e-02 to i32 %431 = insertelement <4 x i32> undef, i32 %428, i32 0 %432 = insertelement <4 x i32> %431, i32 %429, i32 1 %433 = insertelement <4 x i32> %432, i32 %430, i32 2 %434 = insertelement <4 x i32> %433, i32 undef, i32 3 %435 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %434, <32 x i8> %107, <16 x i8> %109, i32 3) %436 = extractelement <4 x float> %435, i32 0 %437 = extractelement <4 x float> %435, i32 1 %438 = extractelement <4 x float> %435, i32 2 %439 = extractelement <4 x float> %435, i32 3 %440 = fmul float %436, %27 %441 = fmul float %437, %27 %442 = fmul float %438, %27 %443 = fmul float %439, %27 %444 = fadd float %385, %440 %445 = fadd float %387, %441 %446 = bitcast float %temp26.0 to i32 %447 = bitcast float %444 to i32 %448 = bitcast float %445 to i32 %449 = insertelement <4 x i32> undef, i32 %446, i32 0 %450 = insertelement <4 x i32> %449, i32 %447, i32 1 %451 = insertelement <4 x i32> %450, i32 %448, i32 2 %452 = insertelement <4 x i32> %451, i32 undef, i32 3 %453 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %452, <32 x i8> %103, <16 x i8> %105, i32 7) %454 = extractelement <4 x float> %453, i32 0 %455 = fadd float %427, %454 %456 = fadd float %385, %442 %457 = fadd float %387, %443 %458 = bitcast float %temp26.0 to i32 %459 = bitcast float %456 to i32 %460 = bitcast float %457 to i32 %461 = insertelement <4 x i32> undef, i32 %458, i32 0 %462 = insertelement <4 x i32> %461, i32 %459, i32 1 %463 = insertelement <4 x i32> %462, i32 %460, i32 2 %464 = insertelement <4 x i32> %463, i32 undef, i32 3 %465 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %464, <32 x i8> %103, <16 x i8> %105, i32 7) %466 = extractelement <4 x float> %465, i32 0 %467 = fadd float %455, %466 %468 = bitcast float %382 to i32 %469 = bitcast float %383 to i32 %470 = bitcast float 1.250000e-01 to i32 %471 = insertelement <4 x i32> undef, i32 %468, i32 0 %472 = insertelement <4 x i32> %471, i32 %469, i32 1 %473 = insertelement <4 x i32> %472, i32 %470, i32 2 %474 = insertelement <4 x i32> %473, i32 undef, i32 3 %475 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %474, <32 x i8> %107, <16 x i8> %109, i32 3) %476 = extractelement <4 x float> %475, i32 0 %477 = extractelement <4 x float> %475, i32 1 %478 = extractelement <4 x float> %475, i32 2 %479 = extractelement <4 x float> %475, i32 3 %480 = fmul float %476, %27 %481 = fmul float %477, %27 %482 = fmul float %478, %27 %483 = fmul float %479, %27 %484 = fadd float %385, %480 %485 = fadd float %387, %481 %486 = bitcast float %temp26.0 to i32 %487 = bitcast float %484 to i32 %488 = bitcast float %485 to i32 %489 = insertelement <4 x i32> undef, i32 %486, i32 0 %490 = insertelement <4 x i32> %489, i32 %487, i32 1 %491 = insertelement <4 x i32> %490, i32 %488, i32 2 %492 = insertelement <4 x i32> %491, i32 undef, i32 3 %493 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %492, <32 x i8> %103, <16 x i8> %105, i32 7) %494 = extractelement <4 x float> %493, i32 0 %495 = fadd float %467, %494 %496 = fadd float %385, %482 %497 = fadd float %387, %483 %498 = bitcast float %temp26.0 to i32 %499 = bitcast float %496 to i32 %500 = bitcast float %497 to i32 %501 = insertelement <4 x i32> undef, i32 %498, i32 0 %502 = insertelement <4 x i32> %501, i32 %499, i32 1 %503 = insertelement <4 x i32> %502, i32 %500, i32 2 %504 = insertelement <4 x i32> %503, i32 undef, i32 3 %505 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %504, <32 x i8> %103, <16 x i8> %105, i32 7) %506 = extractelement <4 x float> %505, i32 0 %507 = fadd float %495, %506 %508 = bitcast float %382 to i32 %509 = bitcast float %383 to i32 %510 = bitcast float 1.875000e-01 to i32 %511 = insertelement <4 x i32> undef, i32 %508, i32 0 %512 = insertelement <4 x i32> %511, i32 %509, i32 1 %513 = insertelement <4 x i32> %512, i32 %510, i32 2 %514 = insertelement <4 x i32> %513, i32 undef, i32 3 %515 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %514, <32 x i8> %107, <16 x i8> %109, i32 3) %516 = extractelement <4 x float> %515, i32 0 %517 = extractelement <4 x float> %515, i32 1 %518 = extractelement <4 x float> %515, i32 2 %519 = extractelement <4 x float> %515, i32 3 %520 = fmul float %516, %27 %521 = fmul float %517, %27 %522 = fmul float %518, %27 %523 = fmul float %519, %27 %524 = fadd float %385, %520 %525 = fadd float %387, %521 %526 = bitcast float %temp26.0 to i32 %527 = bitcast float %524 to i32 %528 = bitcast float %525 to i32 %529 = insertelement <4 x i32> undef, i32 %526, i32 0 %530 = insertelement <4 x i32> %529, i32 %527, i32 1 %531 = insertelement <4 x i32> %530, i32 %528, i32 2 %532 = insertelement <4 x i32> %531, i32 undef, i32 3 %533 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %532, <32 x i8> %103, <16 x i8> %105, i32 7) %534 = extractelement <4 x float> %533, i32 0 %535 = fadd float %507, %534 %536 = fadd float %385, %522 %537 = fadd float %387, %523 %538 = bitcast float %temp26.0 to i32 %539 = bitcast float %536 to i32 %540 = bitcast float %537 to i32 %541 = insertelement <4 x i32> undef, i32 %538, i32 0 %542 = insertelement <4 x i32> %541, i32 %539, i32 1 %543 = insertelement <4 x i32> %542, i32 %540, i32 2 %544 = insertelement <4 x i32> %543, i32 undef, i32 3 %545 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %544, <32 x i8> %103, <16 x i8> %105, i32 7) %546 = extractelement <4 x float> %545, i32 0 %547 = fadd float %535, %546 %548 = fmul float %547, 1.250000e-01 %549 = fsub float -0.000000e+00, %548 %550 = fadd float 1.000000e+00, %549 %551 = fmul float %548, %550 %552 = fcmp une float %551, 0.000000e+00 %553 = sext i1 %552 to i32 %554 = bitcast i32 %553 to float %555 = bitcast float %554 to i32 %556 = icmp ne i32 %555, 0 br i1 %556, label %IF53, label %ENDIF52 ENDIF49: ; preds = %ENDIF, %ENDIF52 %temp12.0 = phi float [ %1052, %ENDIF52 ], [ %244, %ENDIF ] %temp13.0 = phi float [ %1053, %ENDIF52 ], [ %246, %ENDIF ] %temp14.0 = phi float [ %1054, %ENDIF52 ], [ %248, %ENDIF ] %557 = fmul float %temp12.0, %22 %558 = fmul float %temp13.0, %23 %559 = fmul float %temp14.0, %24 %560 = fmul float %557, %84 %561 = fmul float %558, %85 %562 = fmul float %559, %86 %563 = fmul float %132, %87 %564 = call i32 @llvm.SI.packf16(float %560, float %561) %565 = bitcast i32 %564 to float %566 = call i32 @llvm.SI.packf16(float %562, float %563) %567 = bitcast i32 %566 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %565, float %567, float %565, float %567) ret void IF53: ; preds = %IF50 %568 = fmul float %548, 8.000000e+00 %569 = bitcast float %382 to i32 %570 = bitcast float %383 to i32 %571 = bitcast float 2.500000e-01 to i32 %572 = insertelement <4 x i32> undef, i32 %569, i32 0 %573 = insertelement <4 x i32> %572, i32 %570, i32 1 %574 = insertelement <4 x i32> %573, i32 %571, i32 2 %575 = insertelement <4 x i32> %574, i32 undef, i32 3 %576 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %575, <32 x i8> %107, <16 x i8> %109, i32 3) %577 = extractelement <4 x float> %576, i32 0 %578 = extractelement <4 x float> %576, i32 1 %579 = extractelement <4 x float> %576, i32 2 %580 = extractelement <4 x float> %576, i32 3 %581 = fmul float %577, %27 %582 = fmul float %578, %27 %583 = fmul float %579, %27 %584 = fmul float %580, %27 %585 = fadd float %385, %581 %586 = fadd float %387, %582 %587 = bitcast float %temp26.0 to i32 %588 = bitcast float %585 to i32 %589 = bitcast float %586 to i32 %590 = insertelement <4 x i32> undef, i32 %587, i32 0 %591 = insertelement <4 x i32> %590, i32 %588, i32 1 %592 = insertelement <4 x i32> %591, i32 %589, i32 2 %593 = insertelement <4 x i32> %592, i32 undef, i32 3 %594 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %593, <32 x i8> %103, <16 x i8> %105, i32 7) %595 = extractelement <4 x float> %594, i32 0 %596 = fadd float %568, %595 %597 = fadd float %385, %583 %598 = fadd float %387, %584 %599 = bitcast float %temp26.0 to i32 %600 = bitcast float %597 to i32 %601 = bitcast float %598 to i32 %602 = insertelement <4 x i32> undef, i32 %599, i32 0 %603 = insertelement <4 x i32> %602, i32 %600, i32 1 %604 = insertelement <4 x i32> %603, i32 %601, i32 2 %605 = insertelement <4 x i32> %604, i32 undef, i32 3 %606 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %605, <32 x i8> %103, <16 x i8> %105, i32 7) %607 = extractelement <4 x float> %606, i32 0 %608 = fadd float %596, %607 %609 = bitcast float %382 to i32 %610 = bitcast float %383 to i32 %611 = bitcast float 3.125000e-01 to i32 %612 = insertelement <4 x i32> undef, i32 %609, i32 0 %613 = insertelement <4 x i32> %612, i32 %610, i32 1 %614 = insertelement <4 x i32> %613, i32 %611, i32 2 %615 = insertelement <4 x i32> %614, i32 undef, i32 3 %616 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %615, <32 x i8> %107, <16 x i8> %109, i32 3) %617 = extractelement <4 x float> %616, i32 0 %618 = extractelement <4 x float> %616, i32 1 %619 = extractelement <4 x float> %616, i32 2 %620 = extractelement <4 x float> %616, i32 3 %621 = fmul float %617, %27 %622 = fmul float %618, %27 %623 = fmul float %619, %27 %624 = fmul float %620, %27 %625 = fadd float %385, %621 %626 = fadd float %387, %622 %627 = bitcast float %temp26.0 to i32 %628 = bitcast float %625 to i32 %629 = bitcast float %626 to i32 %630 = insertelement <4 x i32> undef, i32 %627, i32 0 %631 = insertelement <4 x i32> %630, i32 %628, i32 1 %632 = insertelement <4 x i32> %631, i32 %629, i32 2 %633 = insertelement <4 x i32> %632, i32 undef, i32 3 %634 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %633, <32 x i8> %103, <16 x i8> %105, i32 7) %635 = extractelement <4 x float> %634, i32 0 %636 = fadd float %608, %635 %637 = fadd float %385, %623 %638 = fadd float %387, %624 %639 = bitcast float %temp26.0 to i32 %640 = bitcast float %637 to i32 %641 = bitcast float %638 to i32 %642 = insertelement <4 x i32> undef, i32 %639, i32 0 %643 = insertelement <4 x i32> %642, i32 %640, i32 1 %644 = insertelement <4 x i32> %643, i32 %641, i32 2 %645 = insertelement <4 x i32> %644, i32 undef, i32 3 %646 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %645, <32 x i8> %103, <16 x i8> %105, i32 7) %647 = extractelement <4 x float> %646, i32 0 %648 = fadd float %636, %647 %649 = bitcast float %382 to i32 %650 = bitcast float %383 to i32 %651 = bitcast float 3.750000e-01 to i32 %652 = insertelement <4 x i32> undef, i32 %649, i32 0 %653 = insertelement <4 x i32> %652, i32 %650, i32 1 %654 = insertelement <4 x i32> %653, i32 %651, i32 2 %655 = insertelement <4 x i32> %654, i32 undef, i32 3 %656 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %655, <32 x i8> %107, <16 x i8> %109, i32 3) %657 = extractelement <4 x float> %656, i32 0 %658 = extractelement <4 x float> %656, i32 1 %659 = extractelement <4 x float> %656, i32 2 %660 = extractelement <4 x float> %656, i32 3 %661 = fmul float %657, %27 %662 = fmul float %658, %27 %663 = fmul float %659, %27 %664 = fmul float %660, %27 %665 = fadd float %385, %661 %666 = fadd float %387, %662 %667 = bitcast float %temp26.0 to i32 %668 = bitcast float %665 to i32 %669 = bitcast float %666 to i32 %670 = insertelement <4 x i32> undef, i32 %667, i32 0 %671 = insertelement <4 x i32> %670, i32 %668, i32 1 %672 = insertelement <4 x i32> %671, i32 %669, i32 2 %673 = insertelement <4 x i32> %672, i32 undef, i32 3 %674 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %673, <32 x i8> %103, <16 x i8> %105, i32 7) %675 = extractelement <4 x float> %674, i32 0 %676 = fadd float %648, %675 %677 = fadd float %385, %663 %678 = fadd float %387, %664 %679 = bitcast float %temp26.0 to i32 %680 = bitcast float %677 to i32 %681 = bitcast float %678 to i32 %682 = insertelement <4 x i32> undef, i32 %679, i32 0 %683 = insertelement <4 x i32> %682, i32 %680, i32 1 %684 = insertelement <4 x i32> %683, i32 %681, i32 2 %685 = insertelement <4 x i32> %684, i32 undef, i32 3 %686 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %685, <32 x i8> %103, <16 x i8> %105, i32 7) %687 = extractelement <4 x float> %686, i32 0 %688 = fadd float %676, %687 %689 = bitcast float %382 to i32 %690 = bitcast float %383 to i32 %691 = bitcast float 4.375000e-01 to i32 %692 = insertelement <4 x i32> undef, i32 %689, i32 0 %693 = insertelement <4 x i32> %692, i32 %690, i32 1 %694 = insertelement <4 x i32> %693, i32 %691, i32 2 %695 = insertelement <4 x i32> %694, i32 undef, i32 3 %696 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %695, <32 x i8> %107, <16 x i8> %109, i32 3) %697 = extractelement <4 x float> %696, i32 0 %698 = extractelement <4 x float> %696, i32 1 %699 = extractelement <4 x float> %696, i32 2 %700 = extractelement <4 x float> %696, i32 3 %701 = fmul float %697, %27 %702 = fmul float %698, %27 %703 = fmul float %699, %27 %704 = fmul float %700, %27 %705 = fadd float %385, %701 %706 = fadd float %387, %702 %707 = bitcast float %temp26.0 to i32 %708 = bitcast float %705 to i32 %709 = bitcast float %706 to i32 %710 = insertelement <4 x i32> undef, i32 %707, i32 0 %711 = insertelement <4 x i32> %710, i32 %708, i32 1 %712 = insertelement <4 x i32> %711, i32 %709, i32 2 %713 = insertelement <4 x i32> %712, i32 undef, i32 3 %714 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %713, <32 x i8> %103, <16 x i8> %105, i32 7) %715 = extractelement <4 x float> %714, i32 0 %716 = fadd float %688, %715 %717 = fadd float %385, %703 %718 = fadd float %387, %704 %719 = bitcast float %temp26.0 to i32 %720 = bitcast float %717 to i32 %721 = bitcast float %718 to i32 %722 = insertelement <4 x i32> undef, i32 %719, i32 0 %723 = insertelement <4 x i32> %722, i32 %720, i32 1 %724 = insertelement <4 x i32> %723, i32 %721, i32 2 %725 = insertelement <4 x i32> %724, i32 undef, i32 3 %726 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %725, <32 x i8> %103, <16 x i8> %105, i32 7) %727 = extractelement <4 x float> %726, i32 0 %728 = fadd float %716, %727 %729 = bitcast float %382 to i32 %730 = bitcast float %383 to i32 %731 = bitcast float 5.000000e-01 to i32 %732 = insertelement <4 x i32> undef, i32 %729, i32 0 %733 = insertelement <4 x i32> %732, i32 %730, i32 1 %734 = insertelement <4 x i32> %733, i32 %731, i32 2 %735 = insertelement <4 x i32> %734, i32 undef, i32 3 %736 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %735, <32 x i8> %107, <16 x i8> %109, i32 3) %737 = extractelement <4 x float> %736, i32 0 %738 = extractelement <4 x float> %736, i32 1 %739 = extractelement <4 x float> %736, i32 2 %740 = extractelement <4 x float> %736, i32 3 %741 = fmul float %737, %27 %742 = fmul float %738, %27 %743 = fmul float %739, %27 %744 = fmul float %740, %27 %745 = fadd float %385, %741 %746 = fadd float %387, %742 %747 = bitcast float %temp26.0 to i32 %748 = bitcast float %745 to i32 %749 = bitcast float %746 to i32 %750 = insertelement <4 x i32> undef, i32 %747, i32 0 %751 = insertelement <4 x i32> %750, i32 %748, i32 1 %752 = insertelement <4 x i32> %751, i32 %749, i32 2 %753 = insertelement <4 x i32> %752, i32 undef, i32 3 %754 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %753, <32 x i8> %103, <16 x i8> %105, i32 7) %755 = extractelement <4 x float> %754, i32 0 %756 = fadd float %728, %755 %757 = fadd float %385, %743 %758 = fadd float %387, %744 %759 = bitcast float %temp26.0 to i32 %760 = bitcast float %757 to i32 %761 = bitcast float %758 to i32 %762 = insertelement <4 x i32> undef, i32 %759, i32 0 %763 = insertelement <4 x i32> %762, i32 %760, i32 1 %764 = insertelement <4 x i32> %763, i32 %761, i32 2 %765 = insertelement <4 x i32> %764, i32 undef, i32 3 %766 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %765, <32 x i8> %103, <16 x i8> %105, i32 7) %767 = extractelement <4 x float> %766, i32 0 %768 = fadd float %756, %767 %769 = bitcast float %382 to i32 %770 = bitcast float %383 to i32 %771 = bitcast float 5.625000e-01 to i32 %772 = insertelement <4 x i32> undef, i32 %769, i32 0 %773 = insertelement <4 x i32> %772, i32 %770, i32 1 %774 = insertelement <4 x i32> %773, i32 %771, i32 2 %775 = insertelement <4 x i32> %774, i32 undef, i32 3 %776 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %775, <32 x i8> %107, <16 x i8> %109, i32 3) %777 = extractelement <4 x float> %776, i32 0 %778 = extractelement <4 x float> %776, i32 1 %779 = extractelement <4 x float> %776, i32 2 %780 = extractelement <4 x float> %776, i32 3 %781 = fmul float %777, %27 %782 = fmul float %778, %27 %783 = fmul float %779, %27 %784 = fmul float %780, %27 %785 = fadd float %385, %781 %786 = fadd float %387, %782 %787 = bitcast float %temp26.0 to i32 %788 = bitcast float %785 to i32 %789 = bitcast float %786 to i32 %790 = insertelement <4 x i32> undef, i32 %787, i32 0 %791 = insertelement <4 x i32> %790, i32 %788, i32 1 %792 = insertelement <4 x i32> %791, i32 %789, i32 2 %793 = insertelement <4 x i32> %792, i32 undef, i32 3 %794 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %793, <32 x i8> %103, <16 x i8> %105, i32 7) %795 = extractelement <4 x float> %794, i32 0 %796 = fadd float %768, %795 %797 = fadd float %385, %783 %798 = fadd float %387, %784 %799 = bitcast float %temp26.0 to i32 %800 = bitcast float %797 to i32 %801 = bitcast float %798 to i32 %802 = insertelement <4 x i32> undef, i32 %799, i32 0 %803 = insertelement <4 x i32> %802, i32 %800, i32 1 %804 = insertelement <4 x i32> %803, i32 %801, i32 2 %805 = insertelement <4 x i32> %804, i32 undef, i32 3 %806 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %805, <32 x i8> %103, <16 x i8> %105, i32 7) %807 = extractelement <4 x float> %806, i32 0 %808 = fadd float %796, %807 %809 = bitcast float %382 to i32 %810 = bitcast float %383 to i32 %811 = bitcast float 6.250000e-01 to i32 %812 = insertelement <4 x i32> undef, i32 %809, i32 0 %813 = insertelement <4 x i32> %812, i32 %810, i32 1 %814 = insertelement <4 x i32> %813, i32 %811, i32 2 %815 = insertelement <4 x i32> %814, i32 undef, i32 3 %816 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %815, <32 x i8> %107, <16 x i8> %109, i32 3) %817 = extractelement <4 x float> %816, i32 0 %818 = extractelement <4 x float> %816, i32 1 %819 = extractelement <4 x float> %816, i32 2 %820 = extractelement <4 x float> %816, i32 3 %821 = fmul float %817, %27 %822 = fmul float %818, %27 %823 = fmul float %819, %27 %824 = fmul float %820, %27 %825 = fadd float %385, %821 %826 = fadd float %387, %822 %827 = bitcast float %temp26.0 to i32 %828 = bitcast float %825 to i32 %829 = bitcast float %826 to i32 %830 = insertelement <4 x i32> undef, i32 %827, i32 0 %831 = insertelement <4 x i32> %830, i32 %828, i32 1 %832 = insertelement <4 x i32> %831, i32 %829, i32 2 %833 = insertelement <4 x i32> %832, i32 undef, i32 3 %834 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %833, <32 x i8> %103, <16 x i8> %105, i32 7) %835 = extractelement <4 x float> %834, i32 0 %836 = fadd float %808, %835 %837 = fadd float %385, %823 %838 = fadd float %387, %824 %839 = bitcast float %temp26.0 to i32 %840 = bitcast float %837 to i32 %841 = bitcast float %838 to i32 %842 = insertelement <4 x i32> undef, i32 %839, i32 0 %843 = insertelement <4 x i32> %842, i32 %840, i32 1 %844 = insertelement <4 x i32> %843, i32 %841, i32 2 %845 = insertelement <4 x i32> %844, i32 undef, i32 3 %846 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %845, <32 x i8> %103, <16 x i8> %105, i32 7) %847 = extractelement <4 x float> %846, i32 0 %848 = fadd float %836, %847 %849 = bitcast float %382 to i32 %850 = bitcast float %383 to i32 %851 = bitcast float 6.875000e-01 to i32 %852 = insertelement <4 x i32> undef, i32 %849, i32 0 %853 = insertelement <4 x i32> %852, i32 %850, i32 1 %854 = insertelement <4 x i32> %853, i32 %851, i32 2 %855 = insertelement <4 x i32> %854, i32 undef, i32 3 %856 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %855, <32 x i8> %107, <16 x i8> %109, i32 3) %857 = extractelement <4 x float> %856, i32 0 %858 = extractelement <4 x float> %856, i32 1 %859 = extractelement <4 x float> %856, i32 2 %860 = extractelement <4 x float> %856, i32 3 %861 = fmul float %857, %27 %862 = fmul float %858, %27 %863 = fmul float %859, %27 %864 = fmul float %860, %27 %865 = fadd float %385, %861 %866 = fadd float %387, %862 %867 = bitcast float %temp26.0 to i32 %868 = bitcast float %865 to i32 %869 = bitcast float %866 to i32 %870 = insertelement <4 x i32> undef, i32 %867, i32 0 %871 = insertelement <4 x i32> %870, i32 %868, i32 1 %872 = insertelement <4 x i32> %871, i32 %869, i32 2 %873 = insertelement <4 x i32> %872, i32 undef, i32 3 %874 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %873, <32 x i8> %103, <16 x i8> %105, i32 7) %875 = extractelement <4 x float> %874, i32 0 %876 = fadd float %848, %875 %877 = fadd float %385, %863 %878 = fadd float %387, %864 %879 = bitcast float %temp26.0 to i32 %880 = bitcast float %877 to i32 %881 = bitcast float %878 to i32 %882 = insertelement <4 x i32> undef, i32 %879, i32 0 %883 = insertelement <4 x i32> %882, i32 %880, i32 1 %884 = insertelement <4 x i32> %883, i32 %881, i32 2 %885 = insertelement <4 x i32> %884, i32 undef, i32 3 %886 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %885, <32 x i8> %103, <16 x i8> %105, i32 7) %887 = extractelement <4 x float> %886, i32 0 %888 = fadd float %876, %887 %889 = bitcast float %382 to i32 %890 = bitcast float %383 to i32 %891 = bitcast float 7.500000e-01 to i32 %892 = insertelement <4 x i32> undef, i32 %889, i32 0 %893 = insertelement <4 x i32> %892, i32 %890, i32 1 %894 = insertelement <4 x i32> %893, i32 %891, i32 2 %895 = insertelement <4 x i32> %894, i32 undef, i32 3 %896 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %895, <32 x i8> %107, <16 x i8> %109, i32 3) %897 = extractelement <4 x float> %896, i32 0 %898 = extractelement <4 x float> %896, i32 1 %899 = extractelement <4 x float> %896, i32 2 %900 = extractelement <4 x float> %896, i32 3 %901 = fmul float %897, %27 %902 = fmul float %898, %27 %903 = fmul float %899, %27 %904 = fmul float %900, %27 %905 = fadd float %385, %901 %906 = fadd float %387, %902 %907 = bitcast float %temp26.0 to i32 %908 = bitcast float %905 to i32 %909 = bitcast float %906 to i32 %910 = insertelement <4 x i32> undef, i32 %907, i32 0 %911 = insertelement <4 x i32> %910, i32 %908, i32 1 %912 = insertelement <4 x i32> %911, i32 %909, i32 2 %913 = insertelement <4 x i32> %912, i32 undef, i32 3 %914 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %913, <32 x i8> %103, <16 x i8> %105, i32 7) %915 = extractelement <4 x float> %914, i32 0 %916 = fadd float %888, %915 %917 = fadd float %385, %903 %918 = fadd float %387, %904 %919 = bitcast float %temp26.0 to i32 %920 = bitcast float %917 to i32 %921 = bitcast float %918 to i32 %922 = insertelement <4 x i32> undef, i32 %919, i32 0 %923 = insertelement <4 x i32> %922, i32 %920, i32 1 %924 = insertelement <4 x i32> %923, i32 %921, i32 2 %925 = insertelement <4 x i32> %924, i32 undef, i32 3 %926 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %925, <32 x i8> %103, <16 x i8> %105, i32 7) %927 = extractelement <4 x float> %926, i32 0 %928 = fadd float %916, %927 %929 = bitcast float %382 to i32 %930 = bitcast float %383 to i32 %931 = bitcast float 8.125000e-01 to i32 %932 = insertelement <4 x i32> undef, i32 %929, i32 0 %933 = insertelement <4 x i32> %932, i32 %930, i32 1 %934 = insertelement <4 x i32> %933, i32 %931, i32 2 %935 = insertelement <4 x i32> %934, i32 undef, i32 3 %936 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %935, <32 x i8> %107, <16 x i8> %109, i32 3) %937 = extractelement <4 x float> %936, i32 0 %938 = extractelement <4 x float> %936, i32 1 %939 = extractelement <4 x float> %936, i32 2 %940 = extractelement <4 x float> %936, i32 3 %941 = fmul float %937, %27 %942 = fmul float %938, %27 %943 = fmul float %939, %27 %944 = fmul float %940, %27 %945 = fadd float %385, %941 %946 = fadd float %387, %942 %947 = bitcast float %temp26.0 to i32 %948 = bitcast float %945 to i32 %949 = bitcast float %946 to i32 %950 = insertelement <4 x i32> undef, i32 %947, i32 0 %951 = insertelement <4 x i32> %950, i32 %948, i32 1 %952 = insertelement <4 x i32> %951, i32 %949, i32 2 %953 = insertelement <4 x i32> %952, i32 undef, i32 3 %954 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %953, <32 x i8> %103, <16 x i8> %105, i32 7) %955 = extractelement <4 x float> %954, i32 0 %956 = fadd float %928, %955 %957 = fadd float %385, %943 %958 = fadd float %387, %944 %959 = bitcast float %temp26.0 to i32 %960 = bitcast float %957 to i32 %961 = bitcast float %958 to i32 %962 = insertelement <4 x i32> undef, i32 %959, i32 0 %963 = insertelement <4 x i32> %962, i32 %960, i32 1 %964 = insertelement <4 x i32> %963, i32 %961, i32 2 %965 = insertelement <4 x i32> %964, i32 undef, i32 3 %966 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %965, <32 x i8> %103, <16 x i8> %105, i32 7) %967 = extractelement <4 x float> %966, i32 0 %968 = fadd float %956, %967 %969 = bitcast float %382 to i32 %970 = bitcast float %383 to i32 %971 = bitcast float 8.750000e-01 to i32 %972 = insertelement <4 x i32> undef, i32 %969, i32 0 %973 = insertelement <4 x i32> %972, i32 %970, i32 1 %974 = insertelement <4 x i32> %973, i32 %971, i32 2 %975 = insertelement <4 x i32> %974, i32 undef, i32 3 %976 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %975, <32 x i8> %107, <16 x i8> %109, i32 3) %977 = extractelement <4 x float> %976, i32 0 %978 = extractelement <4 x float> %976, i32 1 %979 = extractelement <4 x float> %976, i32 2 %980 = extractelement <4 x float> %976, i32 3 %981 = fmul float %977, %27 %982 = fmul float %978, %27 %983 = fmul float %979, %27 %984 = fmul float %980, %27 %985 = fadd float %385, %981 %986 = fadd float %387, %982 %987 = bitcast float %temp26.0 to i32 %988 = bitcast float %985 to i32 %989 = bitcast float %986 to i32 %990 = insertelement <4 x i32> undef, i32 %987, i32 0 %991 = insertelement <4 x i32> %990, i32 %988, i32 1 %992 = insertelement <4 x i32> %991, i32 %989, i32 2 %993 = insertelement <4 x i32> %992, i32 undef, i32 3 %994 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %993, <32 x i8> %103, <16 x i8> %105, i32 7) %995 = extractelement <4 x float> %994, i32 0 %996 = fadd float %968, %995 %997 = fadd float %385, %983 %998 = fadd float %387, %984 %999 = bitcast float %temp26.0 to i32 %1000 = bitcast float %997 to i32 %1001 = bitcast float %998 to i32 %1002 = insertelement <4 x i32> undef, i32 %999, i32 0 %1003 = insertelement <4 x i32> %1002, i32 %1000, i32 1 %1004 = insertelement <4 x i32> %1003, i32 %1001, i32 2 %1005 = insertelement <4 x i32> %1004, i32 undef, i32 3 %1006 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1005, <32 x i8> %103, <16 x i8> %105, i32 7) %1007 = extractelement <4 x float> %1006, i32 0 %1008 = fadd float %996, %1007 %1009 = bitcast float %382 to i32 %1010 = bitcast float %383 to i32 %1011 = bitcast float 9.375000e-01 to i32 %1012 = insertelement <4 x i32> undef, i32 %1009, i32 0 %1013 = insertelement <4 x i32> %1012, i32 %1010, i32 1 %1014 = insertelement <4 x i32> %1013, i32 %1011, i32 2 %1015 = insertelement <4 x i32> %1014, i32 undef, i32 3 %1016 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1015, <32 x i8> %107, <16 x i8> %109, i32 3) %1017 = extractelement <4 x float> %1016, i32 0 %1018 = extractelement <4 x float> %1016, i32 1 %1019 = extractelement <4 x float> %1016, i32 2 %1020 = extractelement <4 x float> %1016, i32 3 %1021 = fmul float %1017, %27 %1022 = fmul float %1018, %27 %1023 = fmul float %1019, %27 %1024 = fmul float %1020, %27 %1025 = fadd float %385, %1021 %1026 = fadd float %387, %1022 %1027 = bitcast float %temp26.0 to i32 %1028 = bitcast float %1025 to i32 %1029 = bitcast float %1026 to i32 %1030 = insertelement <4 x i32> undef, i32 %1027, i32 0 %1031 = insertelement <4 x i32> %1030, i32 %1028, i32 1 %1032 = insertelement <4 x i32> %1031, i32 %1029, i32 2 %1033 = insertelement <4 x i32> %1032, i32 undef, i32 3 %1034 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1033, <32 x i8> %103, <16 x i8> %105, i32 7) %1035 = extractelement <4 x float> %1034, i32 0 %1036 = fadd float %1008, %1035 %1037 = fadd float %385, %1023 %1038 = fadd float %387, %1024 %1039 = bitcast float %temp26.0 to i32 %1040 = bitcast float %1037 to i32 %1041 = bitcast float %1038 to i32 %1042 = insertelement <4 x i32> undef, i32 %1039, i32 0 %1043 = insertelement <4 x i32> %1042, i32 %1040, i32 1 %1044 = insertelement <4 x i32> %1043, i32 %1041, i32 2 %1045 = insertelement <4 x i32> %1044, i32 undef, i32 3 %1046 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1045, <32 x i8> %103, <16 x i8> %105, i32 7) %1047 = extractelement <4 x float> %1046, i32 0 %1048 = fadd float %1036, %1047 %1049 = fmul float %1048, 3.125000e-02 br label %ENDIF52 ENDIF52: ; preds = %IF50, %IF53 %temp16.4 = phi float [ %1049, %IF53 ], [ %548, %IF50 ] %1050 = fadd float %temp16.4, %25 %1051 = call float @llvm.AMDIL.clamp.(float %1050, float 0.000000e+00, float 1.000000e+00) %1052 = fmul float %244, %1051 %1053 = fmul float %246, %1051 %1054 = fmul float %248, %1051 br label %ENDIF49 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8140100 c8150101 c8100000 c8110001 c0840304 c0c60508 bf8c007f f0800300 00430604 bf8c0770 06100d06 061010f3 060c0f07 060c0cf3 100e0d06 d2820007 041e1108 080e0ef2 d2060807 02010107 7e125b07 10120f09 d2060007 22010107 d0080008 02020e80 d2000007 00221280 c8240600 c8250601 10141307 c82c0400 c82d0401 10181708 c8340500 c8350501 d206000e 2201010d 101e1d06 081e190f 0814150f 101e0d0a d282000f 043e0d0a 081c1f0e 101e110a d282000f 043e110a d206000b 2201010b 08161f0b c83c0800 c83d0801 10161f0b c8400900 c8410901 d282000b 042e210e 101c0f0a d282000a 043a0f0a d206000e 22010109 0814150e c8380a00 c8390a01 d282000a 042e1d0a 10161f0f d282000b 042e2110 d282000b 042e1d0e 7e165b0b 1014170a d206080a 0201010a 7e144f0a c0840308 c0c60510 bf8c007f f0800f00 00431104 7e2a02ff 38d1b717 bf8c0770 062a2b14 c0840100 bf8c007f c200094e bf8c007f 102a2a00 0e141515 7e144b0a c200094d bf8c007f 10141400 1010110f d2820008 04220d10 d2820008 04220f0e 10101708 d2060108 02010108 081010f2 d2060808 02010108 7e104f08 c200094a bf8c007f 0e101000 7e104b08 c2000949 c2008948 bf8c007f 7e160201 d2820008 042c0108 d2060808 02010108 1014110a d2820006 04320d0d d2820006 041a1307 d2060107 02010106 080e0ef2 c2000950 bf8c007f 0a0e0e00 d2080008 020000f2 7e105508 100e1107 d2060807 02010107 06100f07 081010ff 40400000 10101107 100e1107 d2060806 02010106 c2000951 bf8c007f d2820006 04180107 d2060806 02010106 c200094c bf8c007f 10160c00 c0860300 c0c80500 bf8c007f f0800f00 00640404 bf8c0770 10101706 d2820008 04221513 10121705 d2820009 04261512 10161704 d282000a 042e1511 c83c0d00 c83d0d01 c8400c00 c8410c01 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440e00 c8450e01 c2000911 bf8c007f d282000b 042e2200 c8480f00 c8490f01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c203096c c203896d bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c0310 c0ce0520 c086030c c0c80518 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c202896b c202096a c2018969 c2010968 c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[26..27] DCL CONST[0..20] DCL TEMP[0] DCL TEMP[1..9], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { 0.0001, 3.0000, -0.2500, 0.2450} IMM[2] FLT32 { -0.7500, -0.2500, 0.0625, 0.1250} IMM[3] FLT32 { 0.1875, 0.2500, 8.0000, 0.3125} IMM[4] FLT32 { 0.3750, 0.4375, 0.5000, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[27].xxxx, CONST[27].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].xy, IN[1].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: MOV TEMP[3].xy, IN[1].xyyy 7: TEX TEMP[3], TEMP[3], SAMP[2], 2D 8: MAD TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx, IMM[0].yyyy 9: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 10: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 11: RSQ TEMP[5].x, TEMP[4].xxxx 12: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 13: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].wwww 14: MOV TEMP[2].z, TEMP[5].xxxx 15: ADD TEMP[4].x, TEMP[3].wwww, IMM[1].xxxx 16: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 17: ABS TEMP[6].x, TEMP[5].xxxx 18: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 19: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[20].xxxx 20: ADD TEMP[7].x, IMM[0].zzzz, -CONST[20].xxxx 21: RCP TEMP[7].x, TEMP[7].xxxx 22: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 23: DP3 TEMP[7].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[7].x, TEMP[7].xxxx 25: MOV TEMP[8].xyz, -IN[2].xyzx 26: DP3 TEMP[9].x, TEMP[2].xyzz, TEMP[8].xyzz 27: MUL TEMP[9].xyz, TEMP[9].xxxx, TEMP[2].xyzz 28: MUL TEMP[9].xyz, IMM[0].xxxx, TEMP[9].xyzz 29: ADD TEMP[8].xyz, TEMP[8].xyzz, -TEMP[9].xyzz 30: DP3 TEMP[8].x, TEMP[8].xyzz, IN[3].xyzz 31: MUL_SAT TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 32: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].zzzz 33: POW TEMP[4].x, TEMP[8].xxxx, TEMP[4].xxxx 34: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].yyyy 35: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 36: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[7].xxxx 37: ABS TEMP[2].x, TEMP[2].xxxx 38: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 39: POW TEMP[2].x, TEMP[2].xxxx, CONST[18].zzzz 40: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[18].yyyy, CONST[18].xxxx 41: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 42: MUL TEMP[4].x, IMM[0].xxxx, TEMP[6].xxxx 43: ADD TEMP[4].x, IMM[1].yyyy, -TEMP[4].xxxx 44: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 45: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 46: MOV_SAT TEMP[5].x, TEMP[5].xxxx 47: MAD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[20].yyyy, TEMP[5].xxxx 48: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].xxxx 49: MUL TEMP[4].xyz, TEMP[1].xyzz, TEMP[4].xxxx 50: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xxxx, TEMP[4].xyzz 51: MOV TEMP[3].xyz, TEMP[2].xyzx 52: MOV TEMP[4].x, IMM[0].wwww 53: MUL TEMP[5], CONST[2], IN[4].xxxx 54: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 55: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 56: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 57: MOV TEMP[6].xyz, TEMP[5] 58: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 59: ABS TEMP[5].xy, TEMP[5].xyyy 60: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 61: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 62: UIF TEMP[5].xxxx :2 63: MUL TEMP[5], CONST[6], IN[4].xxxx 64: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 65: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 66: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 67: MOV TEMP[6].xyz, TEMP[5] 68: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xyyy 69: ABS TEMP[5].xy, TEMP[5].xyyy 70: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 71: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 72: UIF TEMP[5].xxxx :2 73: MUL TEMP[5], CONST[10], IN[4].xxxx 74: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 75: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 76: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 77: MOV TEMP[6], TEMP[5] 78: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yxxx 79: ABS TEMP[5].xy, TEMP[5].xyyy 80: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 81: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 82: UIF TEMP[5].xxxx :2 83: MUL TEMP[5], CONST[14], IN[4].xxxx 84: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 85: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 86: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 87: MOV TEMP[6], TEMP[5] 88: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xxxx 89: ABS TEMP[5].xy, TEMP[5].xyyy 90: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 91: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 92: UIF TEMP[5].xxxx :2 93: MOV TEMP[4].x, IMM[0].zzzz 94: ENDIF 95: ENDIF 96: ENDIF 97: ENDIF 98: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 99: UIF TEMP[5].xxxx :2 100: MOV TEMP[5].z, IMM[0].wwww 101: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].zzzz 102: MOV TEMP[7].xy, TEMP[5].xyxx 103: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 104: MOV TEMP[5].xyz, TEMP[5].xyzz 105: TEX TEMP[5], TEMP[5], SAMP[4], 3D 106: MUL TEMP[5], TEMP[5], CONST[1].wwww 107: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 108: MOV TEMP[8].xy, TEMP[8].xyyy 109: MOV TEMP[8].z, TEMP[6].zzzz 110: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 111: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 112: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 113: MOV TEMP[5].xy, TEMP[5].xyyy 114: MOV TEMP[5].z, TEMP[6].zzzz 115: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 116: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 117: MOV TEMP[7].z, IMM[2].zzzz 118: MOV TEMP[5].xyz, TEMP[7].xyzz 119: TEX TEMP[5], TEMP[5], SAMP[4], 3D 120: MUL TEMP[5], TEMP[5], CONST[1].wwww 121: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 122: MOV TEMP[8].xy, TEMP[8].xyyy 123: MOV TEMP[8].z, TEMP[6].zzzz 124: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 125: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 126: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 127: MOV TEMP[5].xy, TEMP[5].xyyy 128: MOV TEMP[5].z, TEMP[6].zzzz 129: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 130: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 131: MOV TEMP[7].z, IMM[2].wwww 132: MOV TEMP[5].xyz, TEMP[7].xyzz 133: TEX TEMP[5], TEMP[5], SAMP[4], 3D 134: MUL TEMP[5], TEMP[5], CONST[1].wwww 135: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 136: MOV TEMP[8].xy, TEMP[8].xyyy 137: MOV TEMP[8].z, TEMP[6].zzzz 138: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 139: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 140: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 141: MOV TEMP[5].xy, TEMP[5].xyyy 142: MOV TEMP[5].z, TEMP[6].zzzz 143: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 144: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 145: MOV TEMP[7].z, IMM[3].xxxx 146: MOV TEMP[5].xyz, TEMP[7].xyzz 147: TEX TEMP[5], TEMP[5], SAMP[4], 3D 148: MUL TEMP[5], TEMP[5], CONST[1].wwww 149: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 150: MOV TEMP[8].xy, TEMP[8].xyyy 151: MOV TEMP[8].z, TEMP[6].zzzz 152: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 153: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 154: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 155: MOV TEMP[7].z, IMM[3].yyyy 156: MOV TEMP[5].xy, TEMP[5].xyyy 157: MOV TEMP[5].z, TEMP[6].zzzz 158: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 159: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 160: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].wwww 161: MOV TEMP[4].x, TEMP[5].xxxx 162: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 163: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 164: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 165: UIF TEMP[8].xxxx :2 166: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].zzzz 167: MOV TEMP[5].xyz, TEMP[7].xyzz 168: TEX TEMP[5], TEMP[5], SAMP[4], 3D 169: MUL TEMP[5], TEMP[5], CONST[1].wwww 170: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 171: MOV TEMP[8].xy, TEMP[8].xyyy 172: MOV TEMP[8].z, TEMP[6].zzzz 173: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 174: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 175: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 176: MOV TEMP[5].xy, TEMP[5].xyyy 177: MOV TEMP[5].z, TEMP[6].zzzz 178: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 179: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 180: MOV TEMP[7].z, IMM[3].wwww 181: MOV TEMP[5].xyz, TEMP[7].xyzz 182: TEX TEMP[5], TEMP[5], SAMP[4], 3D 183: MUL TEMP[5], TEMP[5], CONST[1].wwww 184: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 185: MOV TEMP[8].xy, TEMP[8].xyyy 186: MOV TEMP[8].z, TEMP[6].zzzz 187: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 188: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 189: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 190: MOV TEMP[5].xy, TEMP[5].xyyy 191: MOV TEMP[5].z, TEMP[6].zzzz 192: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 193: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 194: MOV TEMP[7].z, IMM[4].xxxx 195: MOV TEMP[5].xyz, TEMP[7].xyzz 196: TEX TEMP[5], TEMP[5], SAMP[4], 3D 197: MUL TEMP[5], TEMP[5], CONST[1].wwww 198: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 199: MOV TEMP[8].xy, TEMP[8].xyyy 200: MOV TEMP[8].z, TEMP[6].zzzz 201: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 202: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 203: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 204: MOV TEMP[5].xy, TEMP[5].xyyy 205: MOV TEMP[5].z, TEMP[6].zzzz 206: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 207: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 208: MOV TEMP[7].z, IMM[4].yyyy 209: MOV TEMP[5].xyz, TEMP[7].xyzz 210: TEX TEMP[5], TEMP[5], SAMP[4], 3D 211: MUL TEMP[5], TEMP[5], CONST[1].wwww 212: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 213: MOV TEMP[8].xy, TEMP[8].xyyy 214: MOV TEMP[8].z, TEMP[6].zzzz 215: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 216: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 217: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 218: MOV TEMP[5].xy, TEMP[5].xyyy 219: MOV TEMP[5].z, TEMP[6].zzzz 220: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 221: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 222: MOV TEMP[7].z, IMM[4].zzzz 223: MOV TEMP[5].xyz, TEMP[7].xyzz 224: TEX TEMP[5], TEMP[5], SAMP[4], 3D 225: MUL TEMP[5], TEMP[5], CONST[1].wwww 226: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 227: MOV TEMP[8].xy, TEMP[8].xyyy 228: MOV TEMP[8].z, TEMP[6].zzzz 229: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 230: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 231: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 232: MOV TEMP[5].xy, TEMP[5].xyyy 233: MOV TEMP[5].z, TEMP[6].zzzz 234: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 235: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 236: MOV TEMP[7].z, IMM[4].wwww 237: MOV TEMP[5].xyz, TEMP[7].xyzz 238: TEX TEMP[5], TEMP[5], SAMP[4], 3D 239: MUL TEMP[5], TEMP[5], CONST[1].wwww 240: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 241: MOV TEMP[8].xy, TEMP[8].xyyy 242: MOV TEMP[8].z, TEMP[6].zzzz 243: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 244: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 245: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 246: MOV TEMP[5].xy, TEMP[5].xyyy 247: MOV TEMP[5].z, TEMP[6].zzzz 248: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 249: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 250: MOV TEMP[7].z, IMM[5].xxxx 251: MOV TEMP[5].xyz, TEMP[7].xyzz 252: TEX TEMP[5], TEMP[5], SAMP[4], 3D 253: MUL TEMP[5], TEMP[5], CONST[1].wwww 254: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 255: MOV TEMP[8].xy, TEMP[8].xyyy 256: MOV TEMP[8].z, TEMP[6].zzzz 257: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 258: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 259: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 260: MOV TEMP[5].xy, TEMP[5].xyyy 261: MOV TEMP[5].z, TEMP[6].zzzz 262: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 263: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 264: MOV TEMP[7].z, IMM[5].yyyy 265: MOV TEMP[5].xyz, TEMP[7].xyzz 266: TEX TEMP[5], TEMP[5], SAMP[4], 3D 267: MUL TEMP[5], TEMP[5], CONST[1].wwww 268: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 269: MOV TEMP[8].xy, TEMP[8].xyyy 270: MOV TEMP[8].z, TEMP[6].zzzz 271: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 272: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 273: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 274: MOV TEMP[5].xy, TEMP[5].xyyy 275: MOV TEMP[5].z, TEMP[6].zzzz 276: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 277: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 278: MOV TEMP[7].z, IMM[5].zzzz 279: MOV TEMP[5].xyz, TEMP[7].xyzz 280: TEX TEMP[5], TEMP[5], SAMP[4], 3D 281: MUL TEMP[5], TEMP[5], CONST[1].wwww 282: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 283: MOV TEMP[8].xy, TEMP[8].xyyy 284: MOV TEMP[8].z, TEMP[6].zzzz 285: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 286: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 287: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 288: MOV TEMP[5].xy, TEMP[5].xyyy 289: MOV TEMP[5].z, TEMP[6].zzzz 290: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 291: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 292: MOV TEMP[7].z, IMM[5].wwww 293: MOV TEMP[5].xyz, TEMP[7].xyzz 294: TEX TEMP[5], TEMP[5], SAMP[4], 3D 295: MUL TEMP[5], TEMP[5], CONST[1].wwww 296: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 297: MOV TEMP[8].xy, TEMP[8].xyyy 298: MOV TEMP[8].z, TEMP[6].zzzz 299: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 300: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 301: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 302: MOV TEMP[5].xy, TEMP[5].xyyy 303: MOV TEMP[5].z, TEMP[6].zzzz 304: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 305: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 306: MOV TEMP[7].z, IMM[6].xxxx 307: MOV TEMP[5].xyz, TEMP[7].xyzz 308: TEX TEMP[5], TEMP[5], SAMP[4], 3D 309: MUL TEMP[5], TEMP[5], CONST[1].wwww 310: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 311: MOV TEMP[8].xy, TEMP[8].xyyy 312: MOV TEMP[8].z, TEMP[6].zzzz 313: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 314: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 315: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 316: MOV TEMP[5].xy, TEMP[5].xyyy 317: MOV TEMP[5].z, TEMP[6].zzzz 318: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 319: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 320: MOV TEMP[7].z, IMM[6].yyyy 321: MOV TEMP[5].xyz, TEMP[7].xyzz 322: TEX TEMP[5], TEMP[5], SAMP[4], 3D 323: MUL TEMP[5], TEMP[5], CONST[1].wwww 324: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 325: MOV TEMP[7].xy, TEMP[7].xyyy 326: MOV TEMP[7].z, TEMP[6].zzzz 327: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 328: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 329: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 330: MOV TEMP[5].xy, TEMP[5].xyyy 331: MOV TEMP[5].z, TEMP[6].zzzz 332: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 333: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 334: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 335: ENDIF 336: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 337: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 338: ENDIF 339: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 340: MOV TEMP[2].w, TEMP[1].wwww 341: MUL TEMP[1], TEMP[2], CONST[26] 342: MOV OUT[0], TEMP[1] 343: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %120 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %121 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %122 = fmul float %13, %88 %123 = fadd float %122, %89 %124 = bitcast float %110 to i32 %125 = bitcast float %111 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %91, <16 x i8> %93, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = bitcast float %110 to i32 %134 = bitcast float %111 to i32 %135 = insertelement <2 x i32> undef, i32 %133, i32 0 %136 = insertelement <2 x i32> %135, i32 %134, i32 1 %137 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %136, <32 x i8> %95, <16 x i8> %97, i32 2) %138 = extractelement <4 x float> %137, i32 0 %139 = extractelement <4 x float> %137, i32 1 %140 = bitcast float %110 to i32 %141 = bitcast float %111 to i32 %142 = insertelement <2 x i32> undef, i32 %140, i32 0 %143 = insertelement <2 x i32> %142, i32 %141, i32 1 %144 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %143, <32 x i8> %99, <16 x i8> %101, i32 2) %145 = extractelement <4 x float> %144, i32 0 %146 = extractelement <4 x float> %144, i32 1 %147 = extractelement <4 x float> %144, i32 2 %148 = extractelement <4 x float> %144, i32 3 %149 = fmul float %138, 2.000000e+00 %150 = fadd float %149, -1.000000e+00 %151 = fmul float %139, 2.000000e+00 %152 = fadd float %151, -1.000000e+00 %153 = fmul float %150, %150 %154 = fmul float %152, %152 %155 = fadd float %153, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %159, %158 %161 = fsub float -0.000000e+00, %158 %162 = call float @llvm.AMDGPU.cndlt(float %161, float %160, float 0.000000e+00) %163 = fadd float %148, 0x3F1A36E2E0000000 %164 = fmul float %112, %150 %165 = fmul float %113, %152 %166 = fadd float %165, %164 %167 = fmul float %114, %162 %168 = fadd float %166, %167 %169 = call float @fabs(float %168) %170 = fsub float -0.000000e+00, %169 %171 = fadd float 1.000000e+00, %170 %172 = fsub float -0.000000e+00, %82 %173 = fadd float %171, %172 %174 = fsub float -0.000000e+00, %82 %175 = fadd float 1.000000e+00, %174 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %173, %176 %178 = call float @llvm.AMDIL.clamp.(float %177, float 0.000000e+00, float 1.000000e+00) %179 = fmul float %115, %115 %180 = fmul float %116, %116 %181 = fadd float %180, %179 %182 = fmul float %117, %117 %183 = fadd float %181, %182 %184 = call float @llvm.AMDGPU.rsq(float %183) %185 = fsub float -0.000000e+00, %112 %186 = fsub float -0.000000e+00, %113 %187 = fsub float -0.000000e+00, %114 %188 = fmul float %150, %185 %189 = fmul float %152, %186 %190 = fadd float %189, %188 %191 = fmul float %162, %187 %192 = fadd float %190, %191 %193 = fmul float %192, %150 %194 = fmul float %192, %152 %195 = fmul float %192, %162 %196 = fmul float 2.000000e+00, %193 %197 = fmul float 2.000000e+00, %194 %198 = fmul float 2.000000e+00, %195 %199 = fsub float -0.000000e+00, %196 %200 = fadd float %185, %199 %201 = fsub float -0.000000e+00, %197 %202 = fadd float %186, %201 %203 = fsub float -0.000000e+00, %198 %204 = fadd float %187, %203 %205 = fmul float %200, %115 %206 = fmul float %202, %116 %207 = fadd float %206, %205 %208 = fmul float %204, %117 %209 = fadd float %207, %208 %210 = fmul float %209, %184 %211 = call float @llvm.AMDIL.clamp.(float %210, float 0.000000e+00, float 1.000000e+00) %212 = fmul float %163, %81 %213 = call float @llvm.pow.f32(float %211, float %212) %214 = fmul float %213, %80 %215 = fmul float %115, %150 %216 = fmul float %116, %152 %217 = fadd float %216, %215 %218 = fmul float %117, %162 %219 = fadd float %217, %218 %220 = fmul float %219, %184 %221 = call float @fabs(float %220) %222 = fsub float -0.000000e+00, %221 %223 = fadd float 1.000000e+00, %222 %224 = call float @llvm.AMDIL.clamp.(float %223, float 0.000000e+00, float 1.000000e+00) %225 = call float @llvm.pow.f32(float %224, float %78) %226 = fmul float %225, %77 %227 = fadd float %226, %76 %228 = call float @llvm.AMDIL.clamp.(float %227, float 0.000000e+00, float 1.000000e+00) %229 = fmul float %214, %228 %230 = fmul float 2.000000e+00, %178 %231 = fsub float -0.000000e+00, %230 %232 = fadd float 3.000000e+00, %231 %233 = fmul float %178, %232 %234 = fmul float %178, %233 %235 = call float @llvm.AMDIL.clamp.(float %168, float 0.000000e+00, float 1.000000e+00) %236 = fmul float %234, %83 %237 = fadd float %236, %235 %238 = call float @llvm.AMDIL.clamp.(float %237, float 0.000000e+00, float 1.000000e+00) %239 = fmul float %238, %79 %240 = fmul float %129, %239 %241 = fmul float %130, %239 %242 = fmul float %131, %239 %243 = fmul float %145, %229 %244 = fadd float %243, %240 %245 = fmul float %146, %229 %246 = fadd float %245, %241 %247 = fmul float %147, %229 %248 = fadd float %247, %242 %249 = fmul float %28, %118 %250 = fmul float %29, %118 %251 = fmul float %30, %118 %252 = fmul float %31, %119 %253 = fadd float %252, %249 %254 = fmul float %32, %119 %255 = fadd float %254, %250 %256 = fmul float %33, %119 %257 = fadd float %256, %251 %258 = fmul float %34, %120 %259 = fadd float %258, %253 %260 = fmul float %35, %120 %261 = fadd float %260, %255 %262 = fmul float %36, %120 %263 = fadd float %262, %257 %264 = fmul float %37, %121 %265 = fadd float %264, %259 %266 = fmul float %38, %121 %267 = fadd float %266, %261 %268 = fmul float %39, %121 %269 = fadd float %268, %263 %270 = fadd float %265, -2.500000e-01 %271 = fadd float %267, -2.500000e-01 %272 = call float @fabs(float %270) %273 = call float @fabs(float %271) %274 = fcmp uge float %272, %273 %275 = select i1 %274, float %272, float %273 %276 = fcmp oge float %275, 0x3FCF5C2900000000 %277 = sext i1 %276 to i32 %278 = bitcast i32 %277 to float %279 = bitcast float %278 to i32 %280 = icmp ne i32 %279, 0 br i1 %280, label %IF, label %ENDIF IF: ; preds = %main_body %281 = fmul float %40, %118 %282 = fmul float %41, %118 %283 = fmul float %42, %118 %284 = fmul float %43, %119 %285 = fadd float %284, %281 %286 = fmul float %44, %119 %287 = fadd float %286, %282 %288 = fmul float %45, %119 %289 = fadd float %288, %283 %290 = fmul float %46, %120 %291 = fadd float %290, %285 %292 = fmul float %47, %120 %293 = fadd float %292, %287 %294 = fmul float %48, %120 %295 = fadd float %294, %289 %296 = fmul float %49, %121 %297 = fadd float %296, %291 %298 = fmul float %50, %121 %299 = fadd float %298, %293 %300 = fmul float %51, %121 %301 = fadd float %300, %295 %302 = fadd float %297, -7.500000e-01 %303 = fadd float %299, -2.500000e-01 %304 = call float @fabs(float %302) %305 = call float @fabs(float %303) %306 = fcmp uge float %304, %305 %307 = select i1 %306, float %304, float %305 %308 = fcmp oge float %307, 0x3FCF5C2900000000 %309 = sext i1 %308 to i32 %310 = bitcast i32 %309 to float %311 = bitcast float %310 to i32 %312 = icmp ne i32 %311, 0 br i1 %312, label %IF41, label %ENDIF ENDIF: ; preds = %IF44, %IF41, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF44 ], [ 0.000000e+00, %IF41 ] %temp24.0 = phi float [ %265, %main_body ], [ %297, %IF ], [ %366, %IF44 ], [ %334, %IF41 ] %temp25.0 = phi float [ %267, %main_body ], [ %299, %IF ], [ %368, %IF44 ], [ %336, %IF41 ] %temp26.0 = phi float [ %269, %main_body ], [ %301, %IF ], [ %370, %IF44 ], [ %338, %IF41 ] %313 = fcmp oeq float %temp16.0, 0.000000e+00 %314 = sext i1 %313 to i32 %315 = bitcast i32 %314 to float %316 = bitcast float %315 to i32 %317 = icmp ne i32 %316, 0 br i1 %317, label %IF50, label %ENDIF49 IF41: ; preds = %IF %318 = fmul float %52, %118 %319 = fmul float %53, %118 %320 = fmul float %54, %118 %321 = fmul float %55, %119 %322 = fadd float %321, %318 %323 = fmul float %56, %119 %324 = fadd float %323, %319 %325 = fmul float %57, %119 %326 = fadd float %325, %320 %327 = fmul float %58, %120 %328 = fadd float %327, %322 %329 = fmul float %59, %120 %330 = fadd float %329, %324 %331 = fmul float %60, %120 %332 = fadd float %331, %326 %333 = fmul float %61, %121 %334 = fadd float %333, %328 %335 = fmul float %62, %121 %336 = fadd float %335, %330 %337 = fmul float %63, %121 %338 = fadd float %337, %332 %339 = fadd float %334, -2.500000e-01 %340 = fadd float %336, -7.500000e-01 %341 = call float @fabs(float %339) %342 = call float @fabs(float %340) %343 = fcmp uge float %341, %342 %344 = select i1 %343, float %341, float %342 %345 = fcmp oge float %344, 0x3FCF5C2900000000 %346 = sext i1 %345 to i32 %347 = bitcast i32 %346 to float %348 = bitcast float %347 to i32 %349 = icmp ne i32 %348, 0 br i1 %349, label %IF44, label %ENDIF IF44: ; preds = %IF41 %350 = fmul float %64, %118 %351 = fmul float %65, %118 %352 = fmul float %66, %118 %353 = fmul float %67, %119 %354 = fadd float %353, %350 %355 = fmul float %68, %119 %356 = fadd float %355, %351 %357 = fmul float %69, %119 %358 = fadd float %357, %352 %359 = fmul float %70, %120 %360 = fadd float %359, %354 %361 = fmul float %71, %120 %362 = fadd float %361, %356 %363 = fmul float %72, %120 %364 = fadd float %363, %358 %365 = fmul float %73, %121 %366 = fadd float %365, %360 %367 = fmul float %74, %121 %368 = fadd float %367, %362 %369 = fmul float %75, %121 %370 = fadd float %369, %364 %371 = fadd float %366, -7.500000e-01 %372 = fadd float %368, -7.500000e-01 %373 = call float @fabs(float %371) %374 = call float @fabs(float %372) %375 = fcmp uge float %373, %374 %376 = select i1 %375, float %373, float %374 %377 = fcmp oge float %376, 0x3FCF5C2900000000 %378 = sext i1 %377 to i32 %379 = bitcast i32 %378 to float %380 = bitcast float %379 to i32 %381 = icmp ne i32 %380, 0 %. = select i1 %381, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF50: ; preds = %ENDIF %382 = fmul float %12, 6.250000e-02 %383 = fmul float %123, 6.250000e-02 %384 = fsub float -0.000000e+00, %26 %385 = fadd float %temp24.0, %384 %386 = fsub float -0.000000e+00, %26 %387 = fadd float %temp25.0, %386 %388 = bitcast float %382 to i32 %389 = bitcast float %383 to i32 %390 = bitcast float 0.000000e+00 to i32 %391 = insertelement <4 x i32> undef, i32 %388, i32 0 %392 = insertelement <4 x i32> %391, i32 %389, i32 1 %393 = insertelement <4 x i32> %392, i32 %390, i32 2 %394 = insertelement <4 x i32> %393, i32 undef, i32 3 %395 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %394, <32 x i8> %107, <16 x i8> %109, i32 3) %396 = extractelement <4 x float> %395, i32 0 %397 = extractelement <4 x float> %395, i32 1 %398 = extractelement <4 x float> %395, i32 2 %399 = extractelement <4 x float> %395, i32 3 %400 = fmul float %396, %27 %401 = fmul float %397, %27 %402 = fmul float %398, %27 %403 = fmul float %399, %27 %404 = fadd float %385, %400 %405 = fadd float %387, %401 %406 = bitcast float %temp26.0 to i32 %407 = bitcast float %404 to i32 %408 = bitcast float %405 to i32 %409 = insertelement <4 x i32> undef, i32 %406, i32 0 %410 = insertelement <4 x i32> %409, i32 %407, i32 1 %411 = insertelement <4 x i32> %410, i32 %408, i32 2 %412 = insertelement <4 x i32> %411, i32 undef, i32 3 %413 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %412, <32 x i8> %103, <16 x i8> %105, i32 7) %414 = extractelement <4 x float> %413, i32 0 %415 = fadd float %temp16.0, %414 %416 = fadd float %385, %402 %417 = fadd float %387, %403 %418 = bitcast float %temp26.0 to i32 %419 = bitcast float %416 to i32 %420 = bitcast float %417 to i32 %421 = insertelement <4 x i32> undef, i32 %418, i32 0 %422 = insertelement <4 x i32> %421, i32 %419, i32 1 %423 = insertelement <4 x i32> %422, i32 %420, i32 2 %424 = insertelement <4 x i32> %423, i32 undef, i32 3 %425 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %424, <32 x i8> %103, <16 x i8> %105, i32 7) %426 = extractelement <4 x float> %425, i32 0 %427 = fadd float %415, %426 %428 = bitcast float %382 to i32 %429 = bitcast float %383 to i32 %430 = bitcast float 6.250000e-02 to i32 %431 = insertelement <4 x i32> undef, i32 %428, i32 0 %432 = insertelement <4 x i32> %431, i32 %429, i32 1 %433 = insertelement <4 x i32> %432, i32 %430, i32 2 %434 = insertelement <4 x i32> %433, i32 undef, i32 3 %435 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %434, <32 x i8> %107, <16 x i8> %109, i32 3) %436 = extractelement <4 x float> %435, i32 0 %437 = extractelement <4 x float> %435, i32 1 %438 = extractelement <4 x float> %435, i32 2 %439 = extractelement <4 x float> %435, i32 3 %440 = fmul float %436, %27 %441 = fmul float %437, %27 %442 = fmul float %438, %27 %443 = fmul float %439, %27 %444 = fadd float %385, %440 %445 = fadd float %387, %441 %446 = bitcast float %temp26.0 to i32 %447 = bitcast float %444 to i32 %448 = bitcast float %445 to i32 %449 = insertelement <4 x i32> undef, i32 %446, i32 0 %450 = insertelement <4 x i32> %449, i32 %447, i32 1 %451 = insertelement <4 x i32> %450, i32 %448, i32 2 %452 = insertelement <4 x i32> %451, i32 undef, i32 3 %453 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %452, <32 x i8> %103, <16 x i8> %105, i32 7) %454 = extractelement <4 x float> %453, i32 0 %455 = fadd float %427, %454 %456 = fadd float %385, %442 %457 = fadd float %387, %443 %458 = bitcast float %temp26.0 to i32 %459 = bitcast float %456 to i32 %460 = bitcast float %457 to i32 %461 = insertelement <4 x i32> undef, i32 %458, i32 0 %462 = insertelement <4 x i32> %461, i32 %459, i32 1 %463 = insertelement <4 x i32> %462, i32 %460, i32 2 %464 = insertelement <4 x i32> %463, i32 undef, i32 3 %465 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %464, <32 x i8> %103, <16 x i8> %105, i32 7) %466 = extractelement <4 x float> %465, i32 0 %467 = fadd float %455, %466 %468 = bitcast float %382 to i32 %469 = bitcast float %383 to i32 %470 = bitcast float 1.250000e-01 to i32 %471 = insertelement <4 x i32> undef, i32 %468, i32 0 %472 = insertelement <4 x i32> %471, i32 %469, i32 1 %473 = insertelement <4 x i32> %472, i32 %470, i32 2 %474 = insertelement <4 x i32> %473, i32 undef, i32 3 %475 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %474, <32 x i8> %107, <16 x i8> %109, i32 3) %476 = extractelement <4 x float> %475, i32 0 %477 = extractelement <4 x float> %475, i32 1 %478 = extractelement <4 x float> %475, i32 2 %479 = extractelement <4 x float> %475, i32 3 %480 = fmul float %476, %27 %481 = fmul float %477, %27 %482 = fmul float %478, %27 %483 = fmul float %479, %27 %484 = fadd float %385, %480 %485 = fadd float %387, %481 %486 = bitcast float %temp26.0 to i32 %487 = bitcast float %484 to i32 %488 = bitcast float %485 to i32 %489 = insertelement <4 x i32> undef, i32 %486, i32 0 %490 = insertelement <4 x i32> %489, i32 %487, i32 1 %491 = insertelement <4 x i32> %490, i32 %488, i32 2 %492 = insertelement <4 x i32> %491, i32 undef, i32 3 %493 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %492, <32 x i8> %103, <16 x i8> %105, i32 7) %494 = extractelement <4 x float> %493, i32 0 %495 = fadd float %467, %494 %496 = fadd float %385, %482 %497 = fadd float %387, %483 %498 = bitcast float %temp26.0 to i32 %499 = bitcast float %496 to i32 %500 = bitcast float %497 to i32 %501 = insertelement <4 x i32> undef, i32 %498, i32 0 %502 = insertelement <4 x i32> %501, i32 %499, i32 1 %503 = insertelement <4 x i32> %502, i32 %500, i32 2 %504 = insertelement <4 x i32> %503, i32 undef, i32 3 %505 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %504, <32 x i8> %103, <16 x i8> %105, i32 7) %506 = extractelement <4 x float> %505, i32 0 %507 = fadd float %495, %506 %508 = bitcast float %382 to i32 %509 = bitcast float %383 to i32 %510 = bitcast float 1.875000e-01 to i32 %511 = insertelement <4 x i32> undef, i32 %508, i32 0 %512 = insertelement <4 x i32> %511, i32 %509, i32 1 %513 = insertelement <4 x i32> %512, i32 %510, i32 2 %514 = insertelement <4 x i32> %513, i32 undef, i32 3 %515 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %514, <32 x i8> %107, <16 x i8> %109, i32 3) %516 = extractelement <4 x float> %515, i32 0 %517 = extractelement <4 x float> %515, i32 1 %518 = extractelement <4 x float> %515, i32 2 %519 = extractelement <4 x float> %515, i32 3 %520 = fmul float %516, %27 %521 = fmul float %517, %27 %522 = fmul float %518, %27 %523 = fmul float %519, %27 %524 = fadd float %385, %520 %525 = fadd float %387, %521 %526 = bitcast float %temp26.0 to i32 %527 = bitcast float %524 to i32 %528 = bitcast float %525 to i32 %529 = insertelement <4 x i32> undef, i32 %526, i32 0 %530 = insertelement <4 x i32> %529, i32 %527, i32 1 %531 = insertelement <4 x i32> %530, i32 %528, i32 2 %532 = insertelement <4 x i32> %531, i32 undef, i32 3 %533 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %532, <32 x i8> %103, <16 x i8> %105, i32 7) %534 = extractelement <4 x float> %533, i32 0 %535 = fadd float %507, %534 %536 = fadd float %385, %522 %537 = fadd float %387, %523 %538 = bitcast float %temp26.0 to i32 %539 = bitcast float %536 to i32 %540 = bitcast float %537 to i32 %541 = insertelement <4 x i32> undef, i32 %538, i32 0 %542 = insertelement <4 x i32> %541, i32 %539, i32 1 %543 = insertelement <4 x i32> %542, i32 %540, i32 2 %544 = insertelement <4 x i32> %543, i32 undef, i32 3 %545 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %544, <32 x i8> %103, <16 x i8> %105, i32 7) %546 = extractelement <4 x float> %545, i32 0 %547 = fadd float %535, %546 %548 = fmul float %547, 1.250000e-01 %549 = fsub float -0.000000e+00, %548 %550 = fadd float 1.000000e+00, %549 %551 = fmul float %548, %550 %552 = fcmp une float %551, 0.000000e+00 %553 = sext i1 %552 to i32 %554 = bitcast i32 %553 to float %555 = bitcast float %554 to i32 %556 = icmp ne i32 %555, 0 br i1 %556, label %IF53, label %ENDIF52 ENDIF49: ; preds = %ENDIF, %ENDIF52 %temp12.0 = phi float [ %1052, %ENDIF52 ], [ %244, %ENDIF ] %temp13.0 = phi float [ %1053, %ENDIF52 ], [ %246, %ENDIF ] %temp14.0 = phi float [ %1054, %ENDIF52 ], [ %248, %ENDIF ] %557 = fmul float %temp12.0, %22 %558 = fmul float %temp13.0, %23 %559 = fmul float %temp14.0, %24 %560 = fmul float %557, %84 %561 = fmul float %558, %85 %562 = fmul float %559, %86 %563 = fmul float %132, %87 %564 = call i32 @llvm.SI.packf16(float %560, float %561) %565 = bitcast i32 %564 to float %566 = call i32 @llvm.SI.packf16(float %562, float %563) %567 = bitcast i32 %566 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %565, float %567, float %565, float %567) ret void IF53: ; preds = %IF50 %568 = fmul float %548, 8.000000e+00 %569 = bitcast float %382 to i32 %570 = bitcast float %383 to i32 %571 = bitcast float 2.500000e-01 to i32 %572 = insertelement <4 x i32> undef, i32 %569, i32 0 %573 = insertelement <4 x i32> %572, i32 %570, i32 1 %574 = insertelement <4 x i32> %573, i32 %571, i32 2 %575 = insertelement <4 x i32> %574, i32 undef, i32 3 %576 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %575, <32 x i8> %107, <16 x i8> %109, i32 3) %577 = extractelement <4 x float> %576, i32 0 %578 = extractelement <4 x float> %576, i32 1 %579 = extractelement <4 x float> %576, i32 2 %580 = extractelement <4 x float> %576, i32 3 %581 = fmul float %577, %27 %582 = fmul float %578, %27 %583 = fmul float %579, %27 %584 = fmul float %580, %27 %585 = fadd float %385, %581 %586 = fadd float %387, %582 %587 = bitcast float %temp26.0 to i32 %588 = bitcast float %585 to i32 %589 = bitcast float %586 to i32 %590 = insertelement <4 x i32> undef, i32 %587, i32 0 %591 = insertelement <4 x i32> %590, i32 %588, i32 1 %592 = insertelement <4 x i32> %591, i32 %589, i32 2 %593 = insertelement <4 x i32> %592, i32 undef, i32 3 %594 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %593, <32 x i8> %103, <16 x i8> %105, i32 7) %595 = extractelement <4 x float> %594, i32 0 %596 = fadd float %568, %595 %597 = fadd float %385, %583 %598 = fadd float %387, %584 %599 = bitcast float %temp26.0 to i32 %600 = bitcast float %597 to i32 %601 = bitcast float %598 to i32 %602 = insertelement <4 x i32> undef, i32 %599, i32 0 %603 = insertelement <4 x i32> %602, i32 %600, i32 1 %604 = insertelement <4 x i32> %603, i32 %601, i32 2 %605 = insertelement <4 x i32> %604, i32 undef, i32 3 %606 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %605, <32 x i8> %103, <16 x i8> %105, i32 7) %607 = extractelement <4 x float> %606, i32 0 %608 = fadd float %596, %607 %609 = bitcast float %382 to i32 %610 = bitcast float %383 to i32 %611 = bitcast float 3.125000e-01 to i32 %612 = insertelement <4 x i32> undef, i32 %609, i32 0 %613 = insertelement <4 x i32> %612, i32 %610, i32 1 %614 = insertelement <4 x i32> %613, i32 %611, i32 2 %615 = insertelement <4 x i32> %614, i32 undef, i32 3 %616 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %615, <32 x i8> %107, <16 x i8> %109, i32 3) %617 = extractelement <4 x float> %616, i32 0 %618 = extractelement <4 x float> %616, i32 1 %619 = extractelement <4 x float> %616, i32 2 %620 = extractelement <4 x float> %616, i32 3 %621 = fmul float %617, %27 %622 = fmul float %618, %27 %623 = fmul float %619, %27 %624 = fmul float %620, %27 %625 = fadd float %385, %621 %626 = fadd float %387, %622 %627 = bitcast float %temp26.0 to i32 %628 = bitcast float %625 to i32 %629 = bitcast float %626 to i32 %630 = insertelement <4 x i32> undef, i32 %627, i32 0 %631 = insertelement <4 x i32> %630, i32 %628, i32 1 %632 = insertelement <4 x i32> %631, i32 %629, i32 2 %633 = insertelement <4 x i32> %632, i32 undef, i32 3 %634 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %633, <32 x i8> %103, <16 x i8> %105, i32 7) %635 = extractelement <4 x float> %634, i32 0 %636 = fadd float %608, %635 %637 = fadd float %385, %623 %638 = fadd float %387, %624 %639 = bitcast float %temp26.0 to i32 %640 = bitcast float %637 to i32 %641 = bitcast float %638 to i32 %642 = insertelement <4 x i32> undef, i32 %639, i32 0 %643 = insertelement <4 x i32> %642, i32 %640, i32 1 %644 = insertelement <4 x i32> %643, i32 %641, i32 2 %645 = insertelement <4 x i32> %644, i32 undef, i32 3 %646 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %645, <32 x i8> %103, <16 x i8> %105, i32 7) %647 = extractelement <4 x float> %646, i32 0 %648 = fadd float %636, %647 %649 = bitcast float %382 to i32 %650 = bitcast float %383 to i32 %651 = bitcast float 3.750000e-01 to i32 %652 = insertelement <4 x i32> undef, i32 %649, i32 0 %653 = insertelement <4 x i32> %652, i32 %650, i32 1 %654 = insertelement <4 x i32> %653, i32 %651, i32 2 %655 = insertelement <4 x i32> %654, i32 undef, i32 3 %656 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %655, <32 x i8> %107, <16 x i8> %109, i32 3) %657 = extractelement <4 x float> %656, i32 0 %658 = extractelement <4 x float> %656, i32 1 %659 = extractelement <4 x float> %656, i32 2 %660 = extractelement <4 x float> %656, i32 3 %661 = fmul float %657, %27 %662 = fmul float %658, %27 %663 = fmul float %659, %27 %664 = fmul float %660, %27 %665 = fadd float %385, %661 %666 = fadd float %387, %662 %667 = bitcast float %temp26.0 to i32 %668 = bitcast float %665 to i32 %669 = bitcast float %666 to i32 %670 = insertelement <4 x i32> undef, i32 %667, i32 0 %671 = insertelement <4 x i32> %670, i32 %668, i32 1 %672 = insertelement <4 x i32> %671, i32 %669, i32 2 %673 = insertelement <4 x i32> %672, i32 undef, i32 3 %674 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %673, <32 x i8> %103, <16 x i8> %105, i32 7) %675 = extractelement <4 x float> %674, i32 0 %676 = fadd float %648, %675 %677 = fadd float %385, %663 %678 = fadd float %387, %664 %679 = bitcast float %temp26.0 to i32 %680 = bitcast float %677 to i32 %681 = bitcast float %678 to i32 %682 = insertelement <4 x i32> undef, i32 %679, i32 0 %683 = insertelement <4 x i32> %682, i32 %680, i32 1 %684 = insertelement <4 x i32> %683, i32 %681, i32 2 %685 = insertelement <4 x i32> %684, i32 undef, i32 3 %686 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %685, <32 x i8> %103, <16 x i8> %105, i32 7) %687 = extractelement <4 x float> %686, i32 0 %688 = fadd float %676, %687 %689 = bitcast float %382 to i32 %690 = bitcast float %383 to i32 %691 = bitcast float 4.375000e-01 to i32 %692 = insertelement <4 x i32> undef, i32 %689, i32 0 %693 = insertelement <4 x i32> %692, i32 %690, i32 1 %694 = insertelement <4 x i32> %693, i32 %691, i32 2 %695 = insertelement <4 x i32> %694, i32 undef, i32 3 %696 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %695, <32 x i8> %107, <16 x i8> %109, i32 3) %697 = extractelement <4 x float> %696, i32 0 %698 = extractelement <4 x float> %696, i32 1 %699 = extractelement <4 x float> %696, i32 2 %700 = extractelement <4 x float> %696, i32 3 %701 = fmul float %697, %27 %702 = fmul float %698, %27 %703 = fmul float %699, %27 %704 = fmul float %700, %27 %705 = fadd float %385, %701 %706 = fadd float %387, %702 %707 = bitcast float %temp26.0 to i32 %708 = bitcast float %705 to i32 %709 = bitcast float %706 to i32 %710 = insertelement <4 x i32> undef, i32 %707, i32 0 %711 = insertelement <4 x i32> %710, i32 %708, i32 1 %712 = insertelement <4 x i32> %711, i32 %709, i32 2 %713 = insertelement <4 x i32> %712, i32 undef, i32 3 %714 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %713, <32 x i8> %103, <16 x i8> %105, i32 7) %715 = extractelement <4 x float> %714, i32 0 %716 = fadd float %688, %715 %717 = fadd float %385, %703 %718 = fadd float %387, %704 %719 = bitcast float %temp26.0 to i32 %720 = bitcast float %717 to i32 %721 = bitcast float %718 to i32 %722 = insertelement <4 x i32> undef, i32 %719, i32 0 %723 = insertelement <4 x i32> %722, i32 %720, i32 1 %724 = insertelement <4 x i32> %723, i32 %721, i32 2 %725 = insertelement <4 x i32> %724, i32 undef, i32 3 %726 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %725, <32 x i8> %103, <16 x i8> %105, i32 7) %727 = extractelement <4 x float> %726, i32 0 %728 = fadd float %716, %727 %729 = bitcast float %382 to i32 %730 = bitcast float %383 to i32 %731 = bitcast float 5.000000e-01 to i32 %732 = insertelement <4 x i32> undef, i32 %729, i32 0 %733 = insertelement <4 x i32> %732, i32 %730, i32 1 %734 = insertelement <4 x i32> %733, i32 %731, i32 2 %735 = insertelement <4 x i32> %734, i32 undef, i32 3 %736 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %735, <32 x i8> %107, <16 x i8> %109, i32 3) %737 = extractelement <4 x float> %736, i32 0 %738 = extractelement <4 x float> %736, i32 1 %739 = extractelement <4 x float> %736, i32 2 %740 = extractelement <4 x float> %736, i32 3 %741 = fmul float %737, %27 %742 = fmul float %738, %27 %743 = fmul float %739, %27 %744 = fmul float %740, %27 %745 = fadd float %385, %741 %746 = fadd float %387, %742 %747 = bitcast float %temp26.0 to i32 %748 = bitcast float %745 to i32 %749 = bitcast float %746 to i32 %750 = insertelement <4 x i32> undef, i32 %747, i32 0 %751 = insertelement <4 x i32> %750, i32 %748, i32 1 %752 = insertelement <4 x i32> %751, i32 %749, i32 2 %753 = insertelement <4 x i32> %752, i32 undef, i32 3 %754 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %753, <32 x i8> %103, <16 x i8> %105, i32 7) %755 = extractelement <4 x float> %754, i32 0 %756 = fadd float %728, %755 %757 = fadd float %385, %743 %758 = fadd float %387, %744 %759 = bitcast float %temp26.0 to i32 %760 = bitcast float %757 to i32 %761 = bitcast float %758 to i32 %762 = insertelement <4 x i32> undef, i32 %759, i32 0 %763 = insertelement <4 x i32> %762, i32 %760, i32 1 %764 = insertelement <4 x i32> %763, i32 %761, i32 2 %765 = insertelement <4 x i32> %764, i32 undef, i32 3 %766 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %765, <32 x i8> %103, <16 x i8> %105, i32 7) %767 = extractelement <4 x float> %766, i32 0 %768 = fadd float %756, %767 %769 = bitcast float %382 to i32 %770 = bitcast float %383 to i32 %771 = bitcast float 5.625000e-01 to i32 %772 = insertelement <4 x i32> undef, i32 %769, i32 0 %773 = insertelement <4 x i32> %772, i32 %770, i32 1 %774 = insertelement <4 x i32> %773, i32 %771, i32 2 %775 = insertelement <4 x i32> %774, i32 undef, i32 3 %776 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %775, <32 x i8> %107, <16 x i8> %109, i32 3) %777 = extractelement <4 x float> %776, i32 0 %778 = extractelement <4 x float> %776, i32 1 %779 = extractelement <4 x float> %776, i32 2 %780 = extractelement <4 x float> %776, i32 3 %781 = fmul float %777, %27 %782 = fmul float %778, %27 %783 = fmul float %779, %27 %784 = fmul float %780, %27 %785 = fadd float %385, %781 %786 = fadd float %387, %782 %787 = bitcast float %temp26.0 to i32 %788 = bitcast float %785 to i32 %789 = bitcast float %786 to i32 %790 = insertelement <4 x i32> undef, i32 %787, i32 0 %791 = insertelement <4 x i32> %790, i32 %788, i32 1 %792 = insertelement <4 x i32> %791, i32 %789, i32 2 %793 = insertelement <4 x i32> %792, i32 undef, i32 3 %794 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %793, <32 x i8> %103, <16 x i8> %105, i32 7) %795 = extractelement <4 x float> %794, i32 0 %796 = fadd float %768, %795 %797 = fadd float %385, %783 %798 = fadd float %387, %784 %799 = bitcast float %temp26.0 to i32 %800 = bitcast float %797 to i32 %801 = bitcast float %798 to i32 %802 = insertelement <4 x i32> undef, i32 %799, i32 0 %803 = insertelement <4 x i32> %802, i32 %800, i32 1 %804 = insertelement <4 x i32> %803, i32 %801, i32 2 %805 = insertelement <4 x i32> %804, i32 undef, i32 3 %806 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %805, <32 x i8> %103, <16 x i8> %105, i32 7) %807 = extractelement <4 x float> %806, i32 0 %808 = fadd float %796, %807 %809 = bitcast float %382 to i32 %810 = bitcast float %383 to i32 %811 = bitcast float 6.250000e-01 to i32 %812 = insertelement <4 x i32> undef, i32 %809, i32 0 %813 = insertelement <4 x i32> %812, i32 %810, i32 1 %814 = insertelement <4 x i32> %813, i32 %811, i32 2 %815 = insertelement <4 x i32> %814, i32 undef, i32 3 %816 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %815, <32 x i8> %107, <16 x i8> %109, i32 3) %817 = extractelement <4 x float> %816, i32 0 %818 = extractelement <4 x float> %816, i32 1 %819 = extractelement <4 x float> %816, i32 2 %820 = extractelement <4 x float> %816, i32 3 %821 = fmul float %817, %27 %822 = fmul float %818, %27 %823 = fmul float %819, %27 %824 = fmul float %820, %27 %825 = fadd float %385, %821 %826 = fadd float %387, %822 %827 = bitcast float %temp26.0 to i32 %828 = bitcast float %825 to i32 %829 = bitcast float %826 to i32 %830 = insertelement <4 x i32> undef, i32 %827, i32 0 %831 = insertelement <4 x i32> %830, i32 %828, i32 1 %832 = insertelement <4 x i32> %831, i32 %829, i32 2 %833 = insertelement <4 x i32> %832, i32 undef, i32 3 %834 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %833, <32 x i8> %103, <16 x i8> %105, i32 7) %835 = extractelement <4 x float> %834, i32 0 %836 = fadd float %808, %835 %837 = fadd float %385, %823 %838 = fadd float %387, %824 %839 = bitcast float %temp26.0 to i32 %840 = bitcast float %837 to i32 %841 = bitcast float %838 to i32 %842 = insertelement <4 x i32> undef, i32 %839, i32 0 %843 = insertelement <4 x i32> %842, i32 %840, i32 1 %844 = insertelement <4 x i32> %843, i32 %841, i32 2 %845 = insertelement <4 x i32> %844, i32 undef, i32 3 %846 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %845, <32 x i8> %103, <16 x i8> %105, i32 7) %847 = extractelement <4 x float> %846, i32 0 %848 = fadd float %836, %847 %849 = bitcast float %382 to i32 %850 = bitcast float %383 to i32 %851 = bitcast float 6.875000e-01 to i32 %852 = insertelement <4 x i32> undef, i32 %849, i32 0 %853 = insertelement <4 x i32> %852, i32 %850, i32 1 %854 = insertelement <4 x i32> %853, i32 %851, i32 2 %855 = insertelement <4 x i32> %854, i32 undef, i32 3 %856 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %855, <32 x i8> %107, <16 x i8> %109, i32 3) %857 = extractelement <4 x float> %856, i32 0 %858 = extractelement <4 x float> %856, i32 1 %859 = extractelement <4 x float> %856, i32 2 %860 = extractelement <4 x float> %856, i32 3 %861 = fmul float %857, %27 %862 = fmul float %858, %27 %863 = fmul float %859, %27 %864 = fmul float %860, %27 %865 = fadd float %385, %861 %866 = fadd float %387, %862 %867 = bitcast float %temp26.0 to i32 %868 = bitcast float %865 to i32 %869 = bitcast float %866 to i32 %870 = insertelement <4 x i32> undef, i32 %867, i32 0 %871 = insertelement <4 x i32> %870, i32 %868, i32 1 %872 = insertelement <4 x i32> %871, i32 %869, i32 2 %873 = insertelement <4 x i32> %872, i32 undef, i32 3 %874 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %873, <32 x i8> %103, <16 x i8> %105, i32 7) %875 = extractelement <4 x float> %874, i32 0 %876 = fadd float %848, %875 %877 = fadd float %385, %863 %878 = fadd float %387, %864 %879 = bitcast float %temp26.0 to i32 %880 = bitcast float %877 to i32 %881 = bitcast float %878 to i32 %882 = insertelement <4 x i32> undef, i32 %879, i32 0 %883 = insertelement <4 x i32> %882, i32 %880, i32 1 %884 = insertelement <4 x i32> %883, i32 %881, i32 2 %885 = insertelement <4 x i32> %884, i32 undef, i32 3 %886 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %885, <32 x i8> %103, <16 x i8> %105, i32 7) %887 = extractelement <4 x float> %886, i32 0 %888 = fadd float %876, %887 %889 = bitcast float %382 to i32 %890 = bitcast float %383 to i32 %891 = bitcast float 7.500000e-01 to i32 %892 = insertelement <4 x i32> undef, i32 %889, i32 0 %893 = insertelement <4 x i32> %892, i32 %890, i32 1 %894 = insertelement <4 x i32> %893, i32 %891, i32 2 %895 = insertelement <4 x i32> %894, i32 undef, i32 3 %896 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %895, <32 x i8> %107, <16 x i8> %109, i32 3) %897 = extractelement <4 x float> %896, i32 0 %898 = extractelement <4 x float> %896, i32 1 %899 = extractelement <4 x float> %896, i32 2 %900 = extractelement <4 x float> %896, i32 3 %901 = fmul float %897, %27 %902 = fmul float %898, %27 %903 = fmul float %899, %27 %904 = fmul float %900, %27 %905 = fadd float %385, %901 %906 = fadd float %387, %902 %907 = bitcast float %temp26.0 to i32 %908 = bitcast float %905 to i32 %909 = bitcast float %906 to i32 %910 = insertelement <4 x i32> undef, i32 %907, i32 0 %911 = insertelement <4 x i32> %910, i32 %908, i32 1 %912 = insertelement <4 x i32> %911, i32 %909, i32 2 %913 = insertelement <4 x i32> %912, i32 undef, i32 3 %914 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %913, <32 x i8> %103, <16 x i8> %105, i32 7) %915 = extractelement <4 x float> %914, i32 0 %916 = fadd float %888, %915 %917 = fadd float %385, %903 %918 = fadd float %387, %904 %919 = bitcast float %temp26.0 to i32 %920 = bitcast float %917 to i32 %921 = bitcast float %918 to i32 %922 = insertelement <4 x i32> undef, i32 %919, i32 0 %923 = insertelement <4 x i32> %922, i32 %920, i32 1 %924 = insertelement <4 x i32> %923, i32 %921, i32 2 %925 = insertelement <4 x i32> %924, i32 undef, i32 3 %926 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %925, <32 x i8> %103, <16 x i8> %105, i32 7) %927 = extractelement <4 x float> %926, i32 0 %928 = fadd float %916, %927 %929 = bitcast float %382 to i32 %930 = bitcast float %383 to i32 %931 = bitcast float 8.125000e-01 to i32 %932 = insertelement <4 x i32> undef, i32 %929, i32 0 %933 = insertelement <4 x i32> %932, i32 %930, i32 1 %934 = insertelement <4 x i32> %933, i32 %931, i32 2 %935 = insertelement <4 x i32> %934, i32 undef, i32 3 %936 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %935, <32 x i8> %107, <16 x i8> %109, i32 3) %937 = extractelement <4 x float> %936, i32 0 %938 = extractelement <4 x float> %936, i32 1 %939 = extractelement <4 x float> %936, i32 2 %940 = extractelement <4 x float> %936, i32 3 %941 = fmul float %937, %27 %942 = fmul float %938, %27 %943 = fmul float %939, %27 %944 = fmul float %940, %27 %945 = fadd float %385, %941 %946 = fadd float %387, %942 %947 = bitcast float %temp26.0 to i32 %948 = bitcast float %945 to i32 %949 = bitcast float %946 to i32 %950 = insertelement <4 x i32> undef, i32 %947, i32 0 %951 = insertelement <4 x i32> %950, i32 %948, i32 1 %952 = insertelement <4 x i32> %951, i32 %949, i32 2 %953 = insertelement <4 x i32> %952, i32 undef, i32 3 %954 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %953, <32 x i8> %103, <16 x i8> %105, i32 7) %955 = extractelement <4 x float> %954, i32 0 %956 = fadd float %928, %955 %957 = fadd float %385, %943 %958 = fadd float %387, %944 %959 = bitcast float %temp26.0 to i32 %960 = bitcast float %957 to i32 %961 = bitcast float %958 to i32 %962 = insertelement <4 x i32> undef, i32 %959, i32 0 %963 = insertelement <4 x i32> %962, i32 %960, i32 1 %964 = insertelement <4 x i32> %963, i32 %961, i32 2 %965 = insertelement <4 x i32> %964, i32 undef, i32 3 %966 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %965, <32 x i8> %103, <16 x i8> %105, i32 7) %967 = extractelement <4 x float> %966, i32 0 %968 = fadd float %956, %967 %969 = bitcast float %382 to i32 %970 = bitcast float %383 to i32 %971 = bitcast float 8.750000e-01 to i32 %972 = insertelement <4 x i32> undef, i32 %969, i32 0 %973 = insertelement <4 x i32> %972, i32 %970, i32 1 %974 = insertelement <4 x i32> %973, i32 %971, i32 2 %975 = insertelement <4 x i32> %974, i32 undef, i32 3 %976 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %975, <32 x i8> %107, <16 x i8> %109, i32 3) %977 = extractelement <4 x float> %976, i32 0 %978 = extractelement <4 x float> %976, i32 1 %979 = extractelement <4 x float> %976, i32 2 %980 = extractelement <4 x float> %976, i32 3 %981 = fmul float %977, %27 %982 = fmul float %978, %27 %983 = fmul float %979, %27 %984 = fmul float %980, %27 %985 = fadd float %385, %981 %986 = fadd float %387, %982 %987 = bitcast float %temp26.0 to i32 %988 = bitcast float %985 to i32 %989 = bitcast float %986 to i32 %990 = insertelement <4 x i32> undef, i32 %987, i32 0 %991 = insertelement <4 x i32> %990, i32 %988, i32 1 %992 = insertelement <4 x i32> %991, i32 %989, i32 2 %993 = insertelement <4 x i32> %992, i32 undef, i32 3 %994 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %993, <32 x i8> %103, <16 x i8> %105, i32 7) %995 = extractelement <4 x float> %994, i32 0 %996 = fadd float %968, %995 %997 = fadd float %385, %983 %998 = fadd float %387, %984 %999 = bitcast float %temp26.0 to i32 %1000 = bitcast float %997 to i32 %1001 = bitcast float %998 to i32 %1002 = insertelement <4 x i32> undef, i32 %999, i32 0 %1003 = insertelement <4 x i32> %1002, i32 %1000, i32 1 %1004 = insertelement <4 x i32> %1003, i32 %1001, i32 2 %1005 = insertelement <4 x i32> %1004, i32 undef, i32 3 %1006 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1005, <32 x i8> %103, <16 x i8> %105, i32 7) %1007 = extractelement <4 x float> %1006, i32 0 %1008 = fadd float %996, %1007 %1009 = bitcast float %382 to i32 %1010 = bitcast float %383 to i32 %1011 = bitcast float 9.375000e-01 to i32 %1012 = insertelement <4 x i32> undef, i32 %1009, i32 0 %1013 = insertelement <4 x i32> %1012, i32 %1010, i32 1 %1014 = insertelement <4 x i32> %1013, i32 %1011, i32 2 %1015 = insertelement <4 x i32> %1014, i32 undef, i32 3 %1016 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1015, <32 x i8> %107, <16 x i8> %109, i32 3) %1017 = extractelement <4 x float> %1016, i32 0 %1018 = extractelement <4 x float> %1016, i32 1 %1019 = extractelement <4 x float> %1016, i32 2 %1020 = extractelement <4 x float> %1016, i32 3 %1021 = fmul float %1017, %27 %1022 = fmul float %1018, %27 %1023 = fmul float %1019, %27 %1024 = fmul float %1020, %27 %1025 = fadd float %385, %1021 %1026 = fadd float %387, %1022 %1027 = bitcast float %temp26.0 to i32 %1028 = bitcast float %1025 to i32 %1029 = bitcast float %1026 to i32 %1030 = insertelement <4 x i32> undef, i32 %1027, i32 0 %1031 = insertelement <4 x i32> %1030, i32 %1028, i32 1 %1032 = insertelement <4 x i32> %1031, i32 %1029, i32 2 %1033 = insertelement <4 x i32> %1032, i32 undef, i32 3 %1034 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1033, <32 x i8> %103, <16 x i8> %105, i32 7) %1035 = extractelement <4 x float> %1034, i32 0 %1036 = fadd float %1008, %1035 %1037 = fadd float %385, %1023 %1038 = fadd float %387, %1024 %1039 = bitcast float %temp26.0 to i32 %1040 = bitcast float %1037 to i32 %1041 = bitcast float %1038 to i32 %1042 = insertelement <4 x i32> undef, i32 %1039, i32 0 %1043 = insertelement <4 x i32> %1042, i32 %1040, i32 1 %1044 = insertelement <4 x i32> %1043, i32 %1041, i32 2 %1045 = insertelement <4 x i32> %1044, i32 undef, i32 3 %1046 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1045, <32 x i8> %103, <16 x i8> %105, i32 7) %1047 = extractelement <4 x float> %1046, i32 0 %1048 = fadd float %1036, %1047 %1049 = fmul float %1048, 3.125000e-02 br label %ENDIF52 ENDIF52: ; preds = %IF50, %IF53 %temp16.4 = phi float [ %1049, %IF53 ], [ %548, %IF50 ] %1050 = fadd float %temp16.4, %25 %1051 = call float @llvm.AMDIL.clamp.(float %1050, float 0.000000e+00, float 1.000000e+00) %1052 = fmul float %244, %1051 %1053 = fmul float %246, %1051 %1054 = fmul float %248, %1051 br label %ENDIF49 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8140100 c8150101 c8100000 c8110001 c0840304 c0c60508 bf8c007f f0800300 00430604 bf8c0770 06100d06 061010f3 060c0f07 060c0cf3 100e0d06 d2820007 041e1108 080e0ef2 d2060807 02010107 7e125b07 10120f09 d2060007 22010107 d0080008 02020e80 d2000007 00221280 c8240600 c8250601 10141307 c82c0400 c82d0401 10181708 c8340500 c8350501 d206000e 2201010d 101e1d06 081e190f 0814150f 101e0d0a d282000f 043e0d0a 081c1f0e 101e110a d282000f 043e110a d206000b 2201010b 08161f0b c83c0800 c83d0801 10161f0b c8400900 c8410901 d282000b 042e210e 101c0f0a d282000a 043a0f0a d206000e 22010109 0814150e c8380a00 c8390a01 d282000a 042e1d0a 10161f0f d282000b 042e2110 d282000b 042e1d0e 7e165b0b 1014170a d206080a 0201010a 7e144f0a c0840308 c0c60510 bf8c007f f0800f00 00431104 7e2a02ff 38d1b717 bf8c0770 062a2b14 c0840100 bf8c007f c200094e bf8c007f 102a2a00 0e141515 7e144b0a c200094d bf8c007f 10141400 1010110f d2820008 04220d10 d2820008 04220f0e 10101708 d2060108 02010108 081010f2 d2060808 02010108 7e104f08 c200094a bf8c007f 0e101000 7e104b08 c2000949 c2008948 bf8c007f 7e160201 d2820008 042c0108 d2060808 02010108 1014110a d2820006 04320d0d d2820006 041a1307 d2060107 02010106 080e0ef2 c2000950 bf8c007f 0a0e0e00 d2080008 020000f2 7e105508 100e1107 d2060807 02010107 06100f07 081010ff 40400000 10101107 100e1107 d2060806 02010106 c2000951 bf8c007f d2820006 04180107 d2060806 02010106 c200094c bf8c007f 10160c00 c0860300 c0c80500 bf8c007f f0800f00 00640404 bf8c0770 10101706 d2820008 04221513 10121705 d2820009 04261512 10161704 d282000a 042e1511 c83c0d00 c83d0d01 c8400c00 c8410c01 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440e00 c8450e01 c2000911 bf8c007f d282000b 042e2200 c8480f00 c8490f01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c203096c c203896d bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c0310 c0ce0520 c086030c c0c80518 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c202896b c202096a c2018969 c2010968 c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..106] DCL TEMP[0..8], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+8] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+8] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+8] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].zw, TEMP[4].wwzw 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[6].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[5].y, TEMP[6].xxxx 22: DP3 TEMP[6].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[5].z, TEMP[6].xxxx 24: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz 25: RSQ TEMP[6].x, TEMP[6].xxxx 26: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 27: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 28: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 29: MOV TEMP[1].y, TEMP[2].xxxx 30: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 31: MOV TEMP[1].z, TEMP[0].xxxx 32: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 33: RSQ TEMP[0].x, TEMP[0].xxxx 34: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 35: MUL TEMP[1].xyz, TEMP[5].zxyy, TEMP[0].yzxx 36: MAD TEMP[1].xyz, TEMP[5].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 37: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 38: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz 39: RSQ TEMP[2].x, TEMP[2].xxxx 40: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 41: MOV TEMP[2].zw, IN[1].wwzw 42: MAD TEMP[2].xy, IN[1].xyyy, CONST[104].xyyy, CONST[104].zwww 43: MAD TEMP[6].xy, TEMP[4].xyyy, CONST[105].xyyy, CONST[106].xyyy 44: MUL TEMP[7].x, TEMP[6].xxxx, IMM[1].yyyy 45: SIN TEMP[7].x, TEMP[7].xxxx 46: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].zzzz 47: COS TEMP[8].x, TEMP[8].xxxx 48: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx 49: MUL TEMP[8].x, TEMP[6].yyyy, IMM[1].yyyy 50: COS TEMP[8].x, TEMP[8].xxxx 51: MUL TEMP[6].x, TEMP[6].yyyy, IMM[1].zzzz 52: SIN TEMP[6].x, TEMP[6].xxxx 53: MUL TEMP[6].x, TEMP[8].xxxx, TEMP[6].xxxx 54: MOV TEMP[7].y, TEMP[6].xxxx 55: MUL TEMP[6].x, IN[2].wwww, CONST[105].zzzz 56: MAX TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 57: MAD TEMP[3].xy, TEMP[7].xyyy, TEMP[6].xxxx, TEMP[4].xyyy 58: ADD TEMP[4].xyz, TEMP[3].xyzz, -CONST[5].xyzz 59: MUL TEMP[6], CONST[0], TEMP[4].xxxx 60: MAD TEMP[6], CONST[1], TEMP[4].yyyy, TEMP[6] 61: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[6] 62: ADD TEMP[4], TEMP[4], CONST[3] 63: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[0].xyzz 64: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[1].xyzz 65: MOV TEMP[6].y, TEMP[7].xxxx 66: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[5].xyzz 67: MUL TEMP[7].x, TEMP[7].xxxx, CONST[7].xxxx 68: MOV TEMP[6].z, TEMP[7].xxxx 69: ADD TEMP[7].xyz, CONST[4].xyzz, -TEMP[3].xyzz 70: DP3 TEMP[0].x, TEMP[7].xyzz, TEMP[0].xyzz 71: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[1].xyzz 72: MOV TEMP[0].y, TEMP[1].xxxx 73: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[5].xyzz 74: MUL TEMP[1].x, TEMP[1].xxxx, CONST[7].xxxx 75: MOV TEMP[0].z, TEMP[1].xxxx 76: MOV OUT[1], TEMP[2] 77: MOV OUT[2], TEMP[6] 78: MOV OUT[3], TEMP[0] 79: MOV OUT[4], TEMP[3] 80: MOV OUT[0], TEMP[4] 81: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1676) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1680) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1684) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1688) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1696) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1700) %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %52 = load <16 x i8> addrspace(2)* %51, !tbaa !0 %53 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %52, i32 0, i32 %5) %54 = extractelement <4 x float> %53, i32 0 %55 = extractelement <4 x float> %53, i32 1 %56 = extractelement <4 x float> %53, i32 2 %57 = extractelement <4 x float> %53, i32 3 %58 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %59, i32 0, i32 %5) %61 = extractelement <4 x float> %60, i32 0 %62 = extractelement <4 x float> %60, i32 1 %63 = extractelement <4 x float> %60, i32 2 %64 = extractelement <4 x float> %60, i32 3 %65 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %66 = load <16 x i8> addrspace(2)* %65, !tbaa !0 %67 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %66, i32 0, i32 %5) %68 = extractelement <4 x float> %67, i32 0 %69 = extractelement <4 x float> %67, i32 1 %70 = extractelement <4 x float> %67, i32 2 %71 = extractelement <4 x float> %67, i32 3 %72 = add i32 %8, %4 %73 = mul i32 %72, 3 %74 = bitcast i32 %73 to float %75 = bitcast float %74 to i32 %76 = add i32 %75, 0 %77 = bitcast float %74 to i32 %78 = add i32 %77, 1 %79 = bitcast float %74 to i32 %80 = add i32 %79, 2 %81 = bitcast i32 %76 to float %82 = bitcast i32 %78 to float %83 = bitcast i32 %80 to float %84 = bitcast float %81 to i32 %85 = shl i32 %84, 4 %86 = add i32 %85, 128 %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %86) %88 = shl i32 %84, 4 %89 = add i32 %88, 132 %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %89) %91 = shl i32 %84, 4 %92 = add i32 %91, 136 %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %92) %94 = shl i32 %84, 4 %95 = add i32 %94, 140 %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %95) %97 = bitcast float %82 to i32 %98 = shl i32 %97, 4 %99 = add i32 %98, 128 %100 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %99) %101 = shl i32 %97, 4 %102 = add i32 %101, 132 %103 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %102) %104 = shl i32 %97, 4 %105 = add i32 %104, 136 %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %105) %107 = shl i32 %97, 4 %108 = add i32 %107, 140 %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %108) %110 = bitcast float %83 to i32 %111 = shl i32 %110, 4 %112 = add i32 %111, 128 %113 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %112) %114 = shl i32 %110, 4 %115 = add i32 %114, 132 %116 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %115) %117 = shl i32 %110, 4 %118 = add i32 %117, 136 %119 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %118) %120 = shl i32 %110, 4 %121 = add i32 %120, 140 %122 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %121) %123 = fmul float %49, %87 %124 = fmul float %50, %90 %125 = fadd float %123, %124 %126 = fmul float %64, %93 %127 = fadd float %125, %126 %128 = fmul float 1.000000e+00, %96 %129 = fadd float %127, %128 %130 = fmul float %49, %100 %131 = fmul float %50, %103 %132 = fadd float %130, %131 %133 = fmul float %64, %106 %134 = fadd float %132, %133 %135 = fmul float 1.000000e+00, %109 %136 = fadd float %134, %135 %137 = fmul float %49, %113 %138 = fmul float %50, %116 %139 = fadd float %137, %138 %140 = fmul float %64, %119 %141 = fadd float %139, %140 %142 = fmul float 1.000000e+00, %122 %143 = fadd float %141, %142 %144 = fmul float %61, %87 %145 = fmul float %62, %90 %146 = fadd float %145, %144 %147 = fmul float %63, %93 %148 = fadd float %146, %147 %149 = fmul float %61, %100 %150 = fmul float %62, %103 %151 = fadd float %150, %149 %152 = fmul float %63, %106 %153 = fadd float %151, %152 %154 = fmul float %61, %113 %155 = fmul float %62, %116 %156 = fadd float %155, %154 %157 = fmul float %63, %119 %158 = fadd float %156, %157 %159 = fmul float %148, %148 %160 = fmul float %153, %153 %161 = fadd float %160, %159 %162 = fmul float %158, %158 %163 = fadd float %161, %162 %164 = call float @llvm.AMDGPU.rsq(float %163) %165 = fmul float %148, %164 %166 = fmul float %153, %164 %167 = fmul float %158, %164 %168 = fmul float %68, %87 %169 = fmul float %69, %90 %170 = fadd float %169, %168 %171 = fmul float %70, %93 %172 = fadd float %170, %171 %173 = fmul float %68, %100 %174 = fmul float %69, %103 %175 = fadd float %174, %173 %176 = fmul float %70, %106 %177 = fadd float %175, %176 %178 = fmul float %68, %113 %179 = fmul float %69, %116 %180 = fadd float %179, %178 %181 = fmul float %70, %119 %182 = fadd float %180, %181 %183 = fmul float %172, %172 %184 = fmul float %177, %177 %185 = fadd float %184, %183 %186 = fmul float %182, %182 %187 = fadd float %185, %186 %188 = call float @llvm.AMDGPU.rsq(float %187) %189 = fmul float %172, %188 %190 = fmul float %177, %188 %191 = fmul float %182, %188 %192 = fmul float %167, %190 %193 = fmul float %165, %191 %194 = fmul float %166, %189 %195 = fsub float -0.000000e+00, %192 %196 = fmul float %166, %191 %197 = fadd float %196, %195 %198 = fsub float -0.000000e+00, %193 %199 = fmul float %167, %189 %200 = fadd float %199, %198 %201 = fsub float -0.000000e+00, %194 %202 = fmul float %165, %190 %203 = fadd float %202, %201 %204 = fmul float %197, %71 %205 = fmul float %200, %71 %206 = fmul float %203, %71 %207 = fmul float %204, %204 %208 = fmul float %205, %205 %209 = fadd float %208, %207 %210 = fmul float %206, %206 %211 = fadd float %209, %210 %212 = call float @llvm.AMDGPU.rsq(float %211) %213 = fmul float %204, %212 %214 = fmul float %205, %212 %215 = fmul float %206, %212 %216 = fmul float %54, %37 %217 = fadd float %216, %39 %218 = fmul float %55, %38 %219 = fadd float %218, %40 %220 = fmul float %129, %41 %221 = fadd float %220, %44 %222 = fmul float %136, %42 %223 = fadd float %222, %45 %224 = fmul float %221, 0x3FECCCCCC0000000 %225 = call float @llvm.sin.f32(float %224) %226 = fmul float %221, 0x3FD3333340000000 %227 = call float @llvm.cos.f32(float %226) %228 = fmul float %225, %227 %229 = fmul float %223, 0x3FECCCCCC0000000 %230 = call float @llvm.cos.f32(float %229) %231 = fmul float %223, 0x3FD3333340000000 %232 = call float @llvm.sin.f32(float %231) %233 = fmul float %230, %232 %234 = fmul float %64, %43 %235 = fcmp uge float %234, 0.000000e+00 %236 = select i1 %235, float %234, float 0.000000e+00 %237 = fmul float %228, %236 %238 = fadd float %237, %129 %239 = fmul float %233, %236 %240 = fadd float %239, %136 %241 = fsub float -0.000000e+00, %30 %242 = fadd float %238, %241 %243 = fsub float -0.000000e+00, %31 %244 = fadd float %240, %243 %245 = fsub float -0.000000e+00, %32 %246 = fadd float %143, %245 %247 = fmul float %11, %242 %248 = fmul float %12, %242 %249 = fmul float %13, %242 %250 = fmul float %14, %242 %251 = fmul float %15, %244 %252 = fadd float %251, %247 %253 = fmul float %16, %244 %254 = fadd float %253, %248 %255 = fmul float %17, %244 %256 = fadd float %255, %249 %257 = fmul float %18, %244 %258 = fadd float %257, %250 %259 = fmul float %19, %246 %260 = fadd float %259, %252 %261 = fmul float %20, %246 %262 = fadd float %261, %254 %263 = fmul float %21, %246 %264 = fadd float %263, %256 %265 = fmul float %22, %246 %266 = fadd float %265, %258 %267 = fadd float %260, %23 %268 = fadd float %262, %24 %269 = fadd float %264, %25 %270 = fadd float %266, %26 %271 = fmul float %33, %189 %272 = fmul float %34, %190 %273 = fadd float %272, %271 %274 = fmul float %35, %191 %275 = fadd float %273, %274 %276 = fmul float %33, %213 %277 = fmul float %34, %214 %278 = fadd float %277, %276 %279 = fmul float %35, %215 %280 = fadd float %278, %279 %281 = fmul float %33, %165 %282 = fmul float %34, %166 %283 = fadd float %282, %281 %284 = fmul float %35, %167 %285 = fadd float %283, %284 %286 = fmul float %285, %36 %287 = fsub float -0.000000e+00, %238 %288 = fadd float %27, %287 %289 = fsub float -0.000000e+00, %240 %290 = fadd float %28, %289 %291 = fsub float -0.000000e+00, %143 %292 = fadd float %29, %291 %293 = fmul float %288, %189 %294 = fmul float %290, %190 %295 = fadd float %294, %293 %296 = fmul float %292, %191 %297 = fadd float %295, %296 %298 = fmul float %288, %213 %299 = fmul float %290, %214 %300 = fadd float %299, %298 %301 = fmul float %292, %215 %302 = fadd float %300, %301 %303 = fmul float %288, %165 %304 = fmul float %290, %166 %305 = fadd float %304, %303 %306 = fmul float %292, %167 %307 = fadd float %305, %306 %308 = fmul float %307, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %217, float %219, float %56, float %57) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %275, float %280, float %286, float %258) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %297, float %302, float %308, float %122) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %238, float %240, float %143, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %267, float %268, float %269, float %270) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000068c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000684 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000688 c2020004 bf8c007f 7e040204 be8403ff 00000680 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000080 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000084 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000088 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000080 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000084 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000088 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000080 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000084 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000088 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 10362110 d282001b 046e3b1d 103c1b19 103e111a 083c3d1f 10080f1e d2820005 046e0904 7e0a5b05 100c0b1d 100e0b10 c2020118 bf8c007f 10200e04 c2028119 bf8c007f d2820010 04420c05 10080b04 c204011a bf8c007f d2820005 04420808 be8903ff 00000698 c2048009 bf8c007f 7e200209 d2100010 02022118 d00c000a 02010110 d2000010 002a2080 c0860700 bf8c007f e00c2000 80031d00 bf8c0770 10001d1e d2820000 0402191d d2820000 04021f18 4a1616ff 0000008c e0301000 80000b0b bf8c0770 06001700 be8603ff 00000690 c2030006 be8703ff 000006a0 c2038007 bf8c007f 7e160207 d282000b 042c0d00 101816ff 3e99999a 101818ff 3e22f983 7e186d0c 101616ff 3f666666 101616ff 3e22f983 7e166b0b 1016190b d2820000 0402210b c2030114 bf8c007f 0a160006 c2030103 bf8c007f 10181606 1012131e d2820003 0426071d d2820003 040e1518 4a0404ff 0000008c e0301000 80000202 bf8c0770 06040503 be8603ff 00000694 c2030006 be8703ff 000006a4 c2038007 bf8c007f 7e060207 d2820003 040c0d02 101206ff 3e99999a 101212ff 3e22f983 7e126b09 100606ff 3f666666 100606ff 3e22f983 7e066d03 10061303 d2820002 040a2103 c2030115 bf8c007f 0a060406 c2030107 bf8c007f d2820009 04320606 10141a04 d282000a 042a1005 d282000a 042a2408 10183404 d282000c 04323205 d282000c 04323808 c202011c bf8c007f 10181804 f800021f 090c050a c2028110 bf8c000f 080a0005 100e0f05 c2028111 bf8c007f 08140405 d2820006 041e0d0a 100e271e d2820007 041e231d d2820007 041e2918 4a0202ff 0000008c e0301000 80000101 bf8c0770 060e0307 c2028112 bf8c007f 08180e05 d2820004 041a090c 100c1b05 d2820006 041a110a d2820006 041a250c 100a3505 d2820005 0416330a d2820005 0416390c 100a0a04 f800022f 01050406 bf8c070f 7e0202f2 f800023f 01070200 c2020116 bf8c000f 0a000e04 c202010b bf8c007f d2820001 04260004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10041604 c2020106 bf8c007f d2820002 040a0604 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 c2020101 bf8c007f 10081604 c2020105 bf8c007f d2820004 04120604 c2020109 bf8c007f d2820004 04120004 c202010d bf8c007f 06080804 c2020100 bf8c007f 100a1604 c2020104 bf8c007f d2820003 04160604 c2020108 bf8c007f d2820000 040e0004 c200010c bf8c007f 06000000 f80008cf 01020400 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[4], PERSPECTIVE DCL IN[4], GENERIC[6], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[28..29] DCL CONST[0..18] DCL CONST[25..27] DCL TEMP[0] DCL TEMP[1..7], LOCAL IMM[0] FLT32 { 0.0000, 2.0000, -1.0000, 1.0000} IMM[1] FLT32 { -0.2500, 0.2450, -0.7500, 0.0625} IMM[2] FLT32 { 0.1250, 0.1875, 0.2500, 8.0000} IMM[3] FLT32 { 0.3125, 0.3750, 0.4375, 0.5000} IMM[4] FLT32 { 0.5625, 0.6250, 0.6875, 0.7500} IMM[5] FLT32 { 0.8125, 0.8750, 0.9375, 0.0312} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[29].xxxx, CONST[29].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].y, IMM[0].xxxx 5: MOV TEMP[3].xyz, IN[4].xyzz 6: TEX TEMP[3].x, TEMP[3], SAMP[2], 3D 7: MOV TEMP[2].x, TEMP[3].xxxx 8: MOV TEMP[2].xy, TEMP[2].xyyy 9: TEX TEMP[2].xyz, TEMP[2], SAMP[3], 2D 10: MAD TEMP[2].xyz, TEMP[2].xyzz, IMM[0].yyyy, IMM[0].zzzz 11: MAD_SAT TEMP[2].xyz, TEMP[2].xyzz, CONST[27].xxxx, TEMP[1].xyzz 12: MOV TEMP[3].xy, IN[1].xyyy 13: TEX TEMP[3].x, TEMP[3], SAMP[1], 2D 14: MUL TEMP[3].x, TEMP[3].xxxx, CONST[26].xxxx 15: ADD_SAT TEMP[3].x, CONST[25].xxxx, -TEMP[3].xxxx 16: ADD TEMP[4].x, IMM[0].wwww, -TEMP[3].xxxx 17: MAD_SAT TEMP[3].x, IN[2].zzzz, TEMP[4].xxxx, TEMP[3].xxxx 18: MUL TEMP[3].x, TEMP[3].xxxx, CONST[18].xxxx 19: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xxxx 20: MOV TEMP[3].x, IMM[0].xxxx 21: MUL TEMP[4], CONST[2], IN[3].xxxx 22: MAD TEMP[4], CONST[3], IN[3].yyyy, TEMP[4] 23: MAD TEMP[4], CONST[4], IN[3].zzzz, TEMP[4] 24: MAD TEMP[4], CONST[5], IN[3].wwww, TEMP[4] 25: MOV TEMP[5].xyz, TEMP[4] 26: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].xxxx 27: ABS TEMP[4].xy, TEMP[4].xyyy 28: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 29: FSGE TEMP[4].x, TEMP[4].xxxx, IMM[1].yyyy 30: UIF TEMP[4].xxxx :2 31: MUL TEMP[4], CONST[6], IN[3].xxxx 32: MAD TEMP[4], CONST[7], IN[3].yyyy, TEMP[4] 33: MAD TEMP[4], CONST[8], IN[3].zzzz, TEMP[4] 34: MAD TEMP[4], CONST[9], IN[3].wwww, TEMP[4] 35: MOV TEMP[5].xyz, TEMP[4] 36: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zxxx 37: ABS TEMP[4].xy, TEMP[4].xyyy 38: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 39: FSGE TEMP[4].x, TEMP[4].xxxx, IMM[1].yyyy 40: UIF TEMP[4].xxxx :2 41: MUL TEMP[4], CONST[10], IN[3].xxxx 42: MAD TEMP[4], CONST[11], IN[3].yyyy, TEMP[4] 43: MAD TEMP[4], CONST[12], IN[3].zzzz, TEMP[4] 44: MAD TEMP[4], CONST[13], IN[3].wwww, TEMP[4] 45: MOV TEMP[5], TEMP[4] 46: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].xzzz 47: ABS TEMP[4].xy, TEMP[4].xyyy 48: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 49: FSGE TEMP[4].x, TEMP[4].xxxx, IMM[1].yyyy 50: UIF TEMP[4].xxxx :2 51: MUL TEMP[4], CONST[14], IN[3].xxxx 52: MAD TEMP[4], CONST[15], IN[3].yyyy, TEMP[4] 53: MAD TEMP[4], CONST[16], IN[3].zzzz, TEMP[4] 54: MAD TEMP[4], CONST[17], IN[3].wwww, TEMP[4] 55: MOV TEMP[5], TEMP[4] 56: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz 57: ABS TEMP[4].xy, TEMP[4].xyyy 58: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 59: FSGE TEMP[4].x, TEMP[4].xxxx, IMM[1].yyyy 60: UIF TEMP[4].xxxx :2 61: MOV TEMP[3].x, IMM[0].wwww 62: ENDIF 63: ENDIF 64: ENDIF 65: ENDIF 66: FSEQ TEMP[4].x, TEMP[3].xxxx, IMM[0].xxxx 67: UIF TEMP[4].xxxx :2 68: MOV TEMP[4].z, IMM[0].xxxx 69: MUL TEMP[4].xy, TEMP[0].xyyy, IMM[1].wwww 70: MOV TEMP[6].xy, TEMP[4].xyxx 71: ADD TEMP[5].xy, TEMP[5].xyyy, -CONST[1].zzzz 72: MOV TEMP[4].xyz, TEMP[4].xyzz 73: TEX TEMP[4], TEMP[4], SAMP[5], 3D 74: MUL TEMP[4], TEMP[4], CONST[1].wwww 75: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 76: MOV TEMP[7].xy, TEMP[7].xyyy 77: MOV TEMP[7].z, TEMP[5].zzzz 78: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 79: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 80: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 81: MOV TEMP[4].xy, TEMP[4].xyyy 82: MOV TEMP[4].z, TEMP[5].zzzz 83: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 84: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 85: MOV TEMP[6].z, IMM[1].wwww 86: MOV TEMP[4].xyz, TEMP[6].xyzz 87: TEX TEMP[4], TEMP[4], SAMP[5], 3D 88: MUL TEMP[4], TEMP[4], CONST[1].wwww 89: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 90: MOV TEMP[7].xy, TEMP[7].xyyy 91: MOV TEMP[7].z, TEMP[5].zzzz 92: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 93: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 94: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 95: MOV TEMP[4].xy, TEMP[4].xyyy 96: MOV TEMP[4].z, TEMP[5].zzzz 97: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 98: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 99: MOV TEMP[6].z, IMM[2].xxxx 100: MOV TEMP[4].xyz, TEMP[6].xyzz 101: TEX TEMP[4], TEMP[4], SAMP[5], 3D 102: MUL TEMP[4], TEMP[4], CONST[1].wwww 103: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 104: MOV TEMP[7].xy, TEMP[7].xyyy 105: MOV TEMP[7].z, TEMP[5].zzzz 106: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 107: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 108: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 109: MOV TEMP[4].xy, TEMP[4].xyyy 110: MOV TEMP[4].z, TEMP[5].zzzz 111: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 112: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 113: MOV TEMP[6].z, IMM[2].yyyy 114: MOV TEMP[4].xyz, TEMP[6].xyzz 115: TEX TEMP[4], TEMP[4], SAMP[5], 3D 116: MUL TEMP[4], TEMP[4], CONST[1].wwww 117: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 118: MOV TEMP[7].xy, TEMP[7].xyyy 119: MOV TEMP[7].z, TEMP[5].zzzz 120: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 121: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 122: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 123: MOV TEMP[6].z, IMM[2].zzzz 124: MOV TEMP[4].xy, TEMP[4].xyyy 125: MOV TEMP[4].z, TEMP[5].zzzz 126: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 127: ADD TEMP[4].x, TEMP[3].xxxx, TEMP[4].xxxx 128: MUL TEMP[4].x, TEMP[4].xxxx, IMM[2].xxxx 129: MOV TEMP[3].x, TEMP[4].xxxx 130: ADD TEMP[7].x, IMM[0].wwww, -TEMP[4].xxxx 131: MUL TEMP[7].x, TEMP[4].xxxx, TEMP[7].xxxx 132: FSNE TEMP[7].x, TEMP[7].xxxx, IMM[0].xxxx 133: UIF TEMP[7].xxxx :2 134: MUL TEMP[3].x, TEMP[4].xxxx, IMM[2].wwww 135: MOV TEMP[4].xyz, TEMP[6].xyzz 136: TEX TEMP[4], TEMP[4], SAMP[5], 3D 137: MUL TEMP[4], TEMP[4], CONST[1].wwww 138: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 139: MOV TEMP[7].xy, TEMP[7].xyyy 140: MOV TEMP[7].z, TEMP[5].zzzz 141: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 142: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 143: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 144: MOV TEMP[4].xy, TEMP[4].xyyy 145: MOV TEMP[4].z, TEMP[5].zzzz 146: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 147: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 148: MOV TEMP[6].z, IMM[3].xxxx 149: MOV TEMP[4].xyz, TEMP[6].xyzz 150: TEX TEMP[4], TEMP[4], SAMP[5], 3D 151: MUL TEMP[4], TEMP[4], CONST[1].wwww 152: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 153: MOV TEMP[7].xy, TEMP[7].xyyy 154: MOV TEMP[7].z, TEMP[5].zzzz 155: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 156: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 157: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 158: MOV TEMP[4].xy, TEMP[4].xyyy 159: MOV TEMP[4].z, TEMP[5].zzzz 160: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 161: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 162: MOV TEMP[6].z, IMM[3].yyyy 163: MOV TEMP[4].xyz, TEMP[6].xyzz 164: TEX TEMP[4], TEMP[4], SAMP[5], 3D 165: MUL TEMP[4], TEMP[4], CONST[1].wwww 166: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 167: MOV TEMP[7].xy, TEMP[7].xyyy 168: MOV TEMP[7].z, TEMP[5].zzzz 169: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 170: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 171: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 172: MOV TEMP[4].xy, TEMP[4].xyyy 173: MOV TEMP[4].z, TEMP[5].zzzz 174: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 175: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 176: MOV TEMP[6].z, IMM[3].zzzz 177: MOV TEMP[4].xyz, TEMP[6].xyzz 178: TEX TEMP[4], TEMP[4], SAMP[5], 3D 179: MUL TEMP[4], TEMP[4], CONST[1].wwww 180: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 181: MOV TEMP[7].xy, TEMP[7].xyyy 182: MOV TEMP[7].z, TEMP[5].zzzz 183: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 184: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 185: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 186: MOV TEMP[4].xy, TEMP[4].xyyy 187: MOV TEMP[4].z, TEMP[5].zzzz 188: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 189: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 190: MOV TEMP[6].z, IMM[3].wwww 191: MOV TEMP[4].xyz, TEMP[6].xyzz 192: TEX TEMP[4], TEMP[4], SAMP[5], 3D 193: MUL TEMP[4], TEMP[4], CONST[1].wwww 194: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 195: MOV TEMP[7].xy, TEMP[7].xyyy 196: MOV TEMP[7].z, TEMP[5].zzzz 197: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 198: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 199: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 200: MOV TEMP[4].xy, TEMP[4].xyyy 201: MOV TEMP[4].z, TEMP[5].zzzz 202: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 203: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 204: MOV TEMP[6].z, IMM[4].xxxx 205: MOV TEMP[4].xyz, TEMP[6].xyzz 206: TEX TEMP[4], TEMP[4], SAMP[5], 3D 207: MUL TEMP[4], TEMP[4], CONST[1].wwww 208: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 209: MOV TEMP[7].xy, TEMP[7].xyyy 210: MOV TEMP[7].z, TEMP[5].zzzz 211: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 212: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 213: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 214: MOV TEMP[4].xy, TEMP[4].xyyy 215: MOV TEMP[4].z, TEMP[5].zzzz 216: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 217: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 218: MOV TEMP[6].z, IMM[4].yyyy 219: MOV TEMP[4].xyz, TEMP[6].xyzz 220: TEX TEMP[4], TEMP[4], SAMP[5], 3D 221: MUL TEMP[4], TEMP[4], CONST[1].wwww 222: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 223: MOV TEMP[7].xy, TEMP[7].xyyy 224: MOV TEMP[7].z, TEMP[5].zzzz 225: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 226: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 227: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 228: MOV TEMP[4].xy, TEMP[4].xyyy 229: MOV TEMP[4].z, TEMP[5].zzzz 230: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 231: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 232: MOV TEMP[6].z, IMM[4].zzzz 233: MOV TEMP[4].xyz, TEMP[6].xyzz 234: TEX TEMP[4], TEMP[4], SAMP[5], 3D 235: MUL TEMP[4], TEMP[4], CONST[1].wwww 236: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 237: MOV TEMP[7].xy, TEMP[7].xyyy 238: MOV TEMP[7].z, TEMP[5].zzzz 239: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 240: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 241: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 242: MOV TEMP[4].xy, TEMP[4].xyyy 243: MOV TEMP[4].z, TEMP[5].zzzz 244: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 245: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 246: MOV TEMP[6].z, IMM[4].wwww 247: MOV TEMP[4].xyz, TEMP[6].xyzz 248: TEX TEMP[4], TEMP[4], SAMP[5], 3D 249: MUL TEMP[4], TEMP[4], CONST[1].wwww 250: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 251: MOV TEMP[7].xy, TEMP[7].xyyy 252: MOV TEMP[7].z, TEMP[5].zzzz 253: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 254: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 255: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 256: MOV TEMP[4].xy, TEMP[4].xyyy 257: MOV TEMP[4].z, TEMP[5].zzzz 258: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 259: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 260: MOV TEMP[6].z, IMM[5].xxxx 261: MOV TEMP[4].xyz, TEMP[6].xyzz 262: TEX TEMP[4], TEMP[4], SAMP[5], 3D 263: MUL TEMP[4], TEMP[4], CONST[1].wwww 264: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 265: MOV TEMP[7].xy, TEMP[7].xyyy 266: MOV TEMP[7].z, TEMP[5].zzzz 267: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 268: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 269: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 270: MOV TEMP[4].xy, TEMP[4].xyyy 271: MOV TEMP[4].z, TEMP[5].zzzz 272: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 273: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 274: MOV TEMP[6].z, IMM[5].yyyy 275: MOV TEMP[4].xyz, TEMP[6].xyzz 276: TEX TEMP[4], TEMP[4], SAMP[5], 3D 277: MUL TEMP[4], TEMP[4], CONST[1].wwww 278: ADD TEMP[7].xy, TEMP[5].xyyy, TEMP[4].xyyy 279: MOV TEMP[7].xy, TEMP[7].xyyy 280: MOV TEMP[7].z, TEMP[5].zzzz 281: TEX TEMP[7].x, TEMP[7], SAMP[4], SHADOW2D 282: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[7].xxxx 283: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 284: MOV TEMP[4].xy, TEMP[4].xyyy 285: MOV TEMP[4].z, TEMP[5].zzzz 286: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 287: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 288: MOV TEMP[6].z, IMM[5].zzzz 289: MOV TEMP[4].xyz, TEMP[6].xyzz 290: TEX TEMP[4], TEMP[4], SAMP[5], 3D 291: MUL TEMP[4], TEMP[4], CONST[1].wwww 292: ADD TEMP[6].xy, TEMP[5].xyyy, TEMP[4].xyyy 293: MOV TEMP[6].xy, TEMP[6].xyyy 294: MOV TEMP[6].z, TEMP[5].zzzz 295: TEX TEMP[6].x, TEMP[6], SAMP[4], SHADOW2D 296: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[6].xxxx 297: ADD TEMP[4].xy, TEMP[5].xyyy, TEMP[4].zwww 298: MOV TEMP[4].xy, TEMP[4].xyyy 299: MOV TEMP[4].z, TEMP[5].zzzz 300: TEX TEMP[4].x, TEMP[4], SAMP[4], SHADOW2D 301: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 302: MUL TEMP[3].x, TEMP[3].xxxx, IMM[5].wwww 303: ENDIF 304: ADD_SAT TEMP[3].x, TEMP[3].xxxx, CONST[1].yyyy 305: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xxxx 306: ENDIF 307: MUL TEMP[2].xyz, TEMP[2].xyzz, CONST[0].xyzz 308: MOV TEMP[2].w, TEMP[1].wwww 309: MUL TEMP[1], TEMP[2], CONST[28] 310: MOV OUT[0], TEMP[1] 311: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 400) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 448) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 452) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 456) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 460) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 464) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 468) %86 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %87 = load <32 x i8> addrspace(2)* %86, !tbaa !0 %88 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %89 = load <16 x i8> addrspace(2)* %88, !tbaa !0 %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %120 = fmul float %13, %84 %121 = fadd float %120, %85 %122 = bitcast float %110 to i32 %123 = bitcast float %111 to i32 %124 = insertelement <2 x i32> undef, i32 %122, i32 0 %125 = insertelement <2 x i32> %124, i32 %123, i32 1 %126 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %125, <32 x i8> %87, <16 x i8> %89, i32 2) %127 = extractelement <4 x float> %126, i32 0 %128 = extractelement <4 x float> %126, i32 1 %129 = extractelement <4 x float> %126, i32 2 %130 = extractelement <4 x float> %126, i32 3 %131 = bitcast float %117 to i32 %132 = bitcast float %118 to i32 %133 = bitcast float %119 to i32 %134 = insertelement <4 x i32> undef, i32 %131, i32 0 %135 = insertelement <4 x i32> %134, i32 %132, i32 1 %136 = insertelement <4 x i32> %135, i32 %133, i32 2 %137 = insertelement <4 x i32> %136, i32 undef, i32 3 %138 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %137, <32 x i8> %95, <16 x i8> %97, i32 3) %139 = extractelement <4 x float> %138, i32 0 %140 = bitcast float %139 to i32 %141 = bitcast float 0.000000e+00 to i32 %142 = insertelement <2 x i32> undef, i32 %140, i32 0 %143 = insertelement <2 x i32> %142, i32 %141, i32 1 %144 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %143, <32 x i8> %99, <16 x i8> %101, i32 2) %145 = extractelement <4 x float> %144, i32 0 %146 = extractelement <4 x float> %144, i32 1 %147 = extractelement <4 x float> %144, i32 2 %148 = fmul float %145, 2.000000e+00 %149 = fadd float %148, -1.000000e+00 %150 = fmul float %146, 2.000000e+00 %151 = fadd float %150, -1.000000e+00 %152 = fmul float %147, 2.000000e+00 %153 = fadd float %152, -1.000000e+00 %154 = fmul float %149, %79 %155 = fadd float %154, %127 %156 = fmul float %151, %79 %157 = fadd float %156, %128 %158 = fmul float %153, %79 %159 = fadd float %158, %129 %160 = call float @llvm.AMDIL.clamp.(float %155, float 0.000000e+00, float 1.000000e+00) %161 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %162 = call float @llvm.AMDIL.clamp.(float %159, float 0.000000e+00, float 1.000000e+00) %163 = bitcast float %110 to i32 %164 = bitcast float %111 to i32 %165 = insertelement <2 x i32> undef, i32 %163, i32 0 %166 = insertelement <2 x i32> %165, i32 %164, i32 1 %167 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %166, <32 x i8> %91, <16 x i8> %93, i32 2) %168 = extractelement <4 x float> %167, i32 0 %169 = fmul float %168, %78 %170 = fsub float -0.000000e+00, %169 %171 = fadd float %77, %170 %172 = call float @llvm.AMDIL.clamp.(float %171, float 0.000000e+00, float 1.000000e+00) %173 = fsub float -0.000000e+00, %172 %174 = fadd float 1.000000e+00, %173 %175 = fmul float %112, %174 %176 = fadd float %175, %172 %177 = call float @llvm.AMDIL.clamp.(float %176, float 0.000000e+00, float 1.000000e+00) %178 = fmul float %177, %76 %179 = fmul float %160, %178 %180 = fmul float %161, %178 %181 = fmul float %162, %178 %182 = fmul float %28, %113 %183 = fmul float %29, %113 %184 = fmul float %30, %113 %185 = fmul float %31, %114 %186 = fadd float %185, %182 %187 = fmul float %32, %114 %188 = fadd float %187, %183 %189 = fmul float %33, %114 %190 = fadd float %189, %184 %191 = fmul float %34, %115 %192 = fadd float %191, %186 %193 = fmul float %35, %115 %194 = fadd float %193, %188 %195 = fmul float %36, %115 %196 = fadd float %195, %190 %197 = fmul float %37, %116 %198 = fadd float %197, %192 %199 = fmul float %38, %116 %200 = fadd float %199, %194 %201 = fmul float %39, %116 %202 = fadd float %201, %196 %203 = fadd float %198, -2.500000e-01 %204 = fadd float %200, -2.500000e-01 %205 = call float @fabs(float %203) %206 = call float @fabs(float %204) %207 = fcmp uge float %205, %206 %208 = select i1 %207, float %205, float %206 %209 = fcmp oge float %208, 0x3FCF5C2900000000 %210 = sext i1 %209 to i32 %211 = bitcast i32 %210 to float %212 = bitcast float %211 to i32 %213 = icmp ne i32 %212, 0 br i1 %213, label %IF, label %ENDIF IF: ; preds = %main_body %214 = fmul float %40, %113 %215 = fmul float %41, %113 %216 = fmul float %42, %113 %217 = fmul float %43, %114 %218 = fadd float %217, %214 %219 = fmul float %44, %114 %220 = fadd float %219, %215 %221 = fmul float %45, %114 %222 = fadd float %221, %216 %223 = fmul float %46, %115 %224 = fadd float %223, %218 %225 = fmul float %47, %115 %226 = fadd float %225, %220 %227 = fmul float %48, %115 %228 = fadd float %227, %222 %229 = fmul float %49, %116 %230 = fadd float %229, %224 %231 = fmul float %50, %116 %232 = fadd float %231, %226 %233 = fmul float %51, %116 %234 = fadd float %233, %228 %235 = fadd float %230, -7.500000e-01 %236 = fadd float %232, -2.500000e-01 %237 = call float @fabs(float %235) %238 = call float @fabs(float %236) %239 = fcmp uge float %237, %238 %240 = select i1 %239, float %237, float %238 %241 = fcmp oge float %240, 0x3FCF5C2900000000 %242 = sext i1 %241 to i32 %243 = bitcast i32 %242 to float %244 = bitcast float %243 to i32 %245 = icmp ne i32 %244, 0 br i1 %245, label %IF33, label %ENDIF ENDIF: ; preds = %IF36, %IF33, %IF, %main_body %temp12.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF36 ], [ 0.000000e+00, %IF33 ] %temp20.0 = phi float [ %198, %main_body ], [ %230, %IF ], [ %299, %IF36 ], [ %267, %IF33 ] %temp21.0 = phi float [ %200, %main_body ], [ %232, %IF ], [ %301, %IF36 ], [ %269, %IF33 ] %temp22.0 = phi float [ %202, %main_body ], [ %234, %IF ], [ %303, %IF36 ], [ %271, %IF33 ] %246 = fcmp oeq float %temp12.0, 0.000000e+00 %247 = sext i1 %246 to i32 %248 = bitcast i32 %247 to float %249 = bitcast float %248 to i32 %250 = icmp ne i32 %249, 0 br i1 %250, label %IF42, label %ENDIF41 IF33: ; preds = %IF %251 = fmul float %52, %113 %252 = fmul float %53, %113 %253 = fmul float %54, %113 %254 = fmul float %55, %114 %255 = fadd float %254, %251 %256 = fmul float %56, %114 %257 = fadd float %256, %252 %258 = fmul float %57, %114 %259 = fadd float %258, %253 %260 = fmul float %58, %115 %261 = fadd float %260, %255 %262 = fmul float %59, %115 %263 = fadd float %262, %257 %264 = fmul float %60, %115 %265 = fadd float %264, %259 %266 = fmul float %61, %116 %267 = fadd float %266, %261 %268 = fmul float %62, %116 %269 = fadd float %268, %263 %270 = fmul float %63, %116 %271 = fadd float %270, %265 %272 = fadd float %267, -2.500000e-01 %273 = fadd float %269, -7.500000e-01 %274 = call float @fabs(float %272) %275 = call float @fabs(float %273) %276 = fcmp uge float %274, %275 %277 = select i1 %276, float %274, float %275 %278 = fcmp oge float %277, 0x3FCF5C2900000000 %279 = sext i1 %278 to i32 %280 = bitcast i32 %279 to float %281 = bitcast float %280 to i32 %282 = icmp ne i32 %281, 0 br i1 %282, label %IF36, label %ENDIF IF36: ; preds = %IF33 %283 = fmul float %64, %113 %284 = fmul float %65, %113 %285 = fmul float %66, %113 %286 = fmul float %67, %114 %287 = fadd float %286, %283 %288 = fmul float %68, %114 %289 = fadd float %288, %284 %290 = fmul float %69, %114 %291 = fadd float %290, %285 %292 = fmul float %70, %115 %293 = fadd float %292, %287 %294 = fmul float %71, %115 %295 = fadd float %294, %289 %296 = fmul float %72, %115 %297 = fadd float %296, %291 %298 = fmul float %73, %116 %299 = fadd float %298, %293 %300 = fmul float %74, %116 %301 = fadd float %300, %295 %302 = fmul float %75, %116 %303 = fadd float %302, %297 %304 = fadd float %299, -7.500000e-01 %305 = fadd float %301, -7.500000e-01 %306 = call float @fabs(float %304) %307 = call float @fabs(float %305) %308 = fcmp uge float %306, %307 %309 = select i1 %308, float %306, float %307 %310 = fcmp oge float %309, 0x3FCF5C2900000000 %311 = sext i1 %310 to i32 %312 = bitcast i32 %311 to float %313 = bitcast float %312 to i32 %314 = icmp ne i32 %313, 0 %. = select i1 %314, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF42: ; preds = %ENDIF %315 = fmul float %12, 6.250000e-02 %316 = fmul float %121, 6.250000e-02 %317 = fsub float -0.000000e+00, %26 %318 = fadd float %temp20.0, %317 %319 = fsub float -0.000000e+00, %26 %320 = fadd float %temp21.0, %319 %321 = bitcast float %315 to i32 %322 = bitcast float %316 to i32 %323 = bitcast float 0.000000e+00 to i32 %324 = insertelement <4 x i32> undef, i32 %321, i32 0 %325 = insertelement <4 x i32> %324, i32 %322, i32 1 %326 = insertelement <4 x i32> %325, i32 %323, i32 2 %327 = insertelement <4 x i32> %326, i32 undef, i32 3 %328 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %327, <32 x i8> %107, <16 x i8> %109, i32 3) %329 = extractelement <4 x float> %328, i32 0 %330 = extractelement <4 x float> %328, i32 1 %331 = extractelement <4 x float> %328, i32 2 %332 = extractelement <4 x float> %328, i32 3 %333 = fmul float %329, %27 %334 = fmul float %330, %27 %335 = fmul float %331, %27 %336 = fmul float %332, %27 %337 = fadd float %318, %333 %338 = fadd float %320, %334 %339 = bitcast float %temp22.0 to i32 %340 = bitcast float %337 to i32 %341 = bitcast float %338 to i32 %342 = insertelement <4 x i32> undef, i32 %339, i32 0 %343 = insertelement <4 x i32> %342, i32 %340, i32 1 %344 = insertelement <4 x i32> %343, i32 %341, i32 2 %345 = insertelement <4 x i32> %344, i32 undef, i32 3 %346 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %345, <32 x i8> %103, <16 x i8> %105, i32 7) %347 = extractelement <4 x float> %346, i32 0 %348 = fadd float %temp12.0, %347 %349 = fadd float %318, %335 %350 = fadd float %320, %336 %351 = bitcast float %temp22.0 to i32 %352 = bitcast float %349 to i32 %353 = bitcast float %350 to i32 %354 = insertelement <4 x i32> undef, i32 %351, i32 0 %355 = insertelement <4 x i32> %354, i32 %352, i32 1 %356 = insertelement <4 x i32> %355, i32 %353, i32 2 %357 = insertelement <4 x i32> %356, i32 undef, i32 3 %358 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %357, <32 x i8> %103, <16 x i8> %105, i32 7) %359 = extractelement <4 x float> %358, i32 0 %360 = fadd float %348, %359 %361 = bitcast float %315 to i32 %362 = bitcast float %316 to i32 %363 = bitcast float 6.250000e-02 to i32 %364 = insertelement <4 x i32> undef, i32 %361, i32 0 %365 = insertelement <4 x i32> %364, i32 %362, i32 1 %366 = insertelement <4 x i32> %365, i32 %363, i32 2 %367 = insertelement <4 x i32> %366, i32 undef, i32 3 %368 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %367, <32 x i8> %107, <16 x i8> %109, i32 3) %369 = extractelement <4 x float> %368, i32 0 %370 = extractelement <4 x float> %368, i32 1 %371 = extractelement <4 x float> %368, i32 2 %372 = extractelement <4 x float> %368, i32 3 %373 = fmul float %369, %27 %374 = fmul float %370, %27 %375 = fmul float %371, %27 %376 = fmul float %372, %27 %377 = fadd float %318, %373 %378 = fadd float %320, %374 %379 = bitcast float %temp22.0 to i32 %380 = bitcast float %377 to i32 %381 = bitcast float %378 to i32 %382 = insertelement <4 x i32> undef, i32 %379, i32 0 %383 = insertelement <4 x i32> %382, i32 %380, i32 1 %384 = insertelement <4 x i32> %383, i32 %381, i32 2 %385 = insertelement <4 x i32> %384, i32 undef, i32 3 %386 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %385, <32 x i8> %103, <16 x i8> %105, i32 7) %387 = extractelement <4 x float> %386, i32 0 %388 = fadd float %360, %387 %389 = fadd float %318, %375 %390 = fadd float %320, %376 %391 = bitcast float %temp22.0 to i32 %392 = bitcast float %389 to i32 %393 = bitcast float %390 to i32 %394 = insertelement <4 x i32> undef, i32 %391, i32 0 %395 = insertelement <4 x i32> %394, i32 %392, i32 1 %396 = insertelement <4 x i32> %395, i32 %393, i32 2 %397 = insertelement <4 x i32> %396, i32 undef, i32 3 %398 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %397, <32 x i8> %103, <16 x i8> %105, i32 7) %399 = extractelement <4 x float> %398, i32 0 %400 = fadd float %388, %399 %401 = bitcast float %315 to i32 %402 = bitcast float %316 to i32 %403 = bitcast float 1.250000e-01 to i32 %404 = insertelement <4 x i32> undef, i32 %401, i32 0 %405 = insertelement <4 x i32> %404, i32 %402, i32 1 %406 = insertelement <4 x i32> %405, i32 %403, i32 2 %407 = insertelement <4 x i32> %406, i32 undef, i32 3 %408 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %407, <32 x i8> %107, <16 x i8> %109, i32 3) %409 = extractelement <4 x float> %408, i32 0 %410 = extractelement <4 x float> %408, i32 1 %411 = extractelement <4 x float> %408, i32 2 %412 = extractelement <4 x float> %408, i32 3 %413 = fmul float %409, %27 %414 = fmul float %410, %27 %415 = fmul float %411, %27 %416 = fmul float %412, %27 %417 = fadd float %318, %413 %418 = fadd float %320, %414 %419 = bitcast float %temp22.0 to i32 %420 = bitcast float %417 to i32 %421 = bitcast float %418 to i32 %422 = insertelement <4 x i32> undef, i32 %419, i32 0 %423 = insertelement <4 x i32> %422, i32 %420, i32 1 %424 = insertelement <4 x i32> %423, i32 %421, i32 2 %425 = insertelement <4 x i32> %424, i32 undef, i32 3 %426 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %425, <32 x i8> %103, <16 x i8> %105, i32 7) %427 = extractelement <4 x float> %426, i32 0 %428 = fadd float %400, %427 %429 = fadd float %318, %415 %430 = fadd float %320, %416 %431 = bitcast float %temp22.0 to i32 %432 = bitcast float %429 to i32 %433 = bitcast float %430 to i32 %434 = insertelement <4 x i32> undef, i32 %431, i32 0 %435 = insertelement <4 x i32> %434, i32 %432, i32 1 %436 = insertelement <4 x i32> %435, i32 %433, i32 2 %437 = insertelement <4 x i32> %436, i32 undef, i32 3 %438 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %437, <32 x i8> %103, <16 x i8> %105, i32 7) %439 = extractelement <4 x float> %438, i32 0 %440 = fadd float %428, %439 %441 = bitcast float %315 to i32 %442 = bitcast float %316 to i32 %443 = bitcast float 1.875000e-01 to i32 %444 = insertelement <4 x i32> undef, i32 %441, i32 0 %445 = insertelement <4 x i32> %444, i32 %442, i32 1 %446 = insertelement <4 x i32> %445, i32 %443, i32 2 %447 = insertelement <4 x i32> %446, i32 undef, i32 3 %448 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %447, <32 x i8> %107, <16 x i8> %109, i32 3) %449 = extractelement <4 x float> %448, i32 0 %450 = extractelement <4 x float> %448, i32 1 %451 = extractelement <4 x float> %448, i32 2 %452 = extractelement <4 x float> %448, i32 3 %453 = fmul float %449, %27 %454 = fmul float %450, %27 %455 = fmul float %451, %27 %456 = fmul float %452, %27 %457 = fadd float %318, %453 %458 = fadd float %320, %454 %459 = bitcast float %temp22.0 to i32 %460 = bitcast float %457 to i32 %461 = bitcast float %458 to i32 %462 = insertelement <4 x i32> undef, i32 %459, i32 0 %463 = insertelement <4 x i32> %462, i32 %460, i32 1 %464 = insertelement <4 x i32> %463, i32 %461, i32 2 %465 = insertelement <4 x i32> %464, i32 undef, i32 3 %466 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %465, <32 x i8> %103, <16 x i8> %105, i32 7) %467 = extractelement <4 x float> %466, i32 0 %468 = fadd float %440, %467 %469 = fadd float %318, %455 %470 = fadd float %320, %456 %471 = bitcast float %temp22.0 to i32 %472 = bitcast float %469 to i32 %473 = bitcast float %470 to i32 %474 = insertelement <4 x i32> undef, i32 %471, i32 0 %475 = insertelement <4 x i32> %474, i32 %472, i32 1 %476 = insertelement <4 x i32> %475, i32 %473, i32 2 %477 = insertelement <4 x i32> %476, i32 undef, i32 3 %478 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %477, <32 x i8> %103, <16 x i8> %105, i32 7) %479 = extractelement <4 x float> %478, i32 0 %480 = fadd float %468, %479 %481 = fmul float %480, 1.250000e-01 %482 = fsub float -0.000000e+00, %481 %483 = fadd float 1.000000e+00, %482 %484 = fmul float %481, %483 %485 = fcmp une float %484, 0.000000e+00 %486 = sext i1 %485 to i32 %487 = bitcast i32 %486 to float %488 = bitcast float %487 to i32 %489 = icmp ne i32 %488, 0 br i1 %489, label %IF45, label %ENDIF44 ENDIF41: ; preds = %ENDIF, %ENDIF44 %temp8.0 = phi float [ %985, %ENDIF44 ], [ %179, %ENDIF ] %temp9.0 = phi float [ %986, %ENDIF44 ], [ %180, %ENDIF ] %temp10.0 = phi float [ %987, %ENDIF44 ], [ %181, %ENDIF ] %490 = fmul float %temp8.0, %22 %491 = fmul float %temp9.0, %23 %492 = fmul float %temp10.0, %24 %493 = fmul float %490, %80 %494 = fmul float %491, %81 %495 = fmul float %492, %82 %496 = fmul float %130, %83 %497 = call i32 @llvm.SI.packf16(float %493, float %494) %498 = bitcast i32 %497 to float %499 = call i32 @llvm.SI.packf16(float %495, float %496) %500 = bitcast i32 %499 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %498, float %500, float %498, float %500) ret void IF45: ; preds = %IF42 %501 = fmul float %481, 8.000000e+00 %502 = bitcast float %315 to i32 %503 = bitcast float %316 to i32 %504 = bitcast float 2.500000e-01 to i32 %505 = insertelement <4 x i32> undef, i32 %502, i32 0 %506 = insertelement <4 x i32> %505, i32 %503, i32 1 %507 = insertelement <4 x i32> %506, i32 %504, i32 2 %508 = insertelement <4 x i32> %507, i32 undef, i32 3 %509 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %508, <32 x i8> %107, <16 x i8> %109, i32 3) %510 = extractelement <4 x float> %509, i32 0 %511 = extractelement <4 x float> %509, i32 1 %512 = extractelement <4 x float> %509, i32 2 %513 = extractelement <4 x float> %509, i32 3 %514 = fmul float %510, %27 %515 = fmul float %511, %27 %516 = fmul float %512, %27 %517 = fmul float %513, %27 %518 = fadd float %318, %514 %519 = fadd float %320, %515 %520 = bitcast float %temp22.0 to i32 %521 = bitcast float %518 to i32 %522 = bitcast float %519 to i32 %523 = insertelement <4 x i32> undef, i32 %520, i32 0 %524 = insertelement <4 x i32> %523, i32 %521, i32 1 %525 = insertelement <4 x i32> %524, i32 %522, i32 2 %526 = insertelement <4 x i32> %525, i32 undef, i32 3 %527 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %526, <32 x i8> %103, <16 x i8> %105, i32 7) %528 = extractelement <4 x float> %527, i32 0 %529 = fadd float %501, %528 %530 = fadd float %318, %516 %531 = fadd float %320, %517 %532 = bitcast float %temp22.0 to i32 %533 = bitcast float %530 to i32 %534 = bitcast float %531 to i32 %535 = insertelement <4 x i32> undef, i32 %532, i32 0 %536 = insertelement <4 x i32> %535, i32 %533, i32 1 %537 = insertelement <4 x i32> %536, i32 %534, i32 2 %538 = insertelement <4 x i32> %537, i32 undef, i32 3 %539 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %538, <32 x i8> %103, <16 x i8> %105, i32 7) %540 = extractelement <4 x float> %539, i32 0 %541 = fadd float %529, %540 %542 = bitcast float %315 to i32 %543 = bitcast float %316 to i32 %544 = bitcast float 3.125000e-01 to i32 %545 = insertelement <4 x i32> undef, i32 %542, i32 0 %546 = insertelement <4 x i32> %545, i32 %543, i32 1 %547 = insertelement <4 x i32> %546, i32 %544, i32 2 %548 = insertelement <4 x i32> %547, i32 undef, i32 3 %549 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %548, <32 x i8> %107, <16 x i8> %109, i32 3) %550 = extractelement <4 x float> %549, i32 0 %551 = extractelement <4 x float> %549, i32 1 %552 = extractelement <4 x float> %549, i32 2 %553 = extractelement <4 x float> %549, i32 3 %554 = fmul float %550, %27 %555 = fmul float %551, %27 %556 = fmul float %552, %27 %557 = fmul float %553, %27 %558 = fadd float %318, %554 %559 = fadd float %320, %555 %560 = bitcast float %temp22.0 to i32 %561 = bitcast float %558 to i32 %562 = bitcast float %559 to i32 %563 = insertelement <4 x i32> undef, i32 %560, i32 0 %564 = insertelement <4 x i32> %563, i32 %561, i32 1 %565 = insertelement <4 x i32> %564, i32 %562, i32 2 %566 = insertelement <4 x i32> %565, i32 undef, i32 3 %567 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %566, <32 x i8> %103, <16 x i8> %105, i32 7) %568 = extractelement <4 x float> %567, i32 0 %569 = fadd float %541, %568 %570 = fadd float %318, %556 %571 = fadd float %320, %557 %572 = bitcast float %temp22.0 to i32 %573 = bitcast float %570 to i32 %574 = bitcast float %571 to i32 %575 = insertelement <4 x i32> undef, i32 %572, i32 0 %576 = insertelement <4 x i32> %575, i32 %573, i32 1 %577 = insertelement <4 x i32> %576, i32 %574, i32 2 %578 = insertelement <4 x i32> %577, i32 undef, i32 3 %579 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %578, <32 x i8> %103, <16 x i8> %105, i32 7) %580 = extractelement <4 x float> %579, i32 0 %581 = fadd float %569, %580 %582 = bitcast float %315 to i32 %583 = bitcast float %316 to i32 %584 = bitcast float 3.750000e-01 to i32 %585 = insertelement <4 x i32> undef, i32 %582, i32 0 %586 = insertelement <4 x i32> %585, i32 %583, i32 1 %587 = insertelement <4 x i32> %586, i32 %584, i32 2 %588 = insertelement <4 x i32> %587, i32 undef, i32 3 %589 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %588, <32 x i8> %107, <16 x i8> %109, i32 3) %590 = extractelement <4 x float> %589, i32 0 %591 = extractelement <4 x float> %589, i32 1 %592 = extractelement <4 x float> %589, i32 2 %593 = extractelement <4 x float> %589, i32 3 %594 = fmul float %590, %27 %595 = fmul float %591, %27 %596 = fmul float %592, %27 %597 = fmul float %593, %27 %598 = fadd float %318, %594 %599 = fadd float %320, %595 %600 = bitcast float %temp22.0 to i32 %601 = bitcast float %598 to i32 %602 = bitcast float %599 to i32 %603 = insertelement <4 x i32> undef, i32 %600, i32 0 %604 = insertelement <4 x i32> %603, i32 %601, i32 1 %605 = insertelement <4 x i32> %604, i32 %602, i32 2 %606 = insertelement <4 x i32> %605, i32 undef, i32 3 %607 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %606, <32 x i8> %103, <16 x i8> %105, i32 7) %608 = extractelement <4 x float> %607, i32 0 %609 = fadd float %581, %608 %610 = fadd float %318, %596 %611 = fadd float %320, %597 %612 = bitcast float %temp22.0 to i32 %613 = bitcast float %610 to i32 %614 = bitcast float %611 to i32 %615 = insertelement <4 x i32> undef, i32 %612, i32 0 %616 = insertelement <4 x i32> %615, i32 %613, i32 1 %617 = insertelement <4 x i32> %616, i32 %614, i32 2 %618 = insertelement <4 x i32> %617, i32 undef, i32 3 %619 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %618, <32 x i8> %103, <16 x i8> %105, i32 7) %620 = extractelement <4 x float> %619, i32 0 %621 = fadd float %609, %620 %622 = bitcast float %315 to i32 %623 = bitcast float %316 to i32 %624 = bitcast float 4.375000e-01 to i32 %625 = insertelement <4 x i32> undef, i32 %622, i32 0 %626 = insertelement <4 x i32> %625, i32 %623, i32 1 %627 = insertelement <4 x i32> %626, i32 %624, i32 2 %628 = insertelement <4 x i32> %627, i32 undef, i32 3 %629 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %628, <32 x i8> %107, <16 x i8> %109, i32 3) %630 = extractelement <4 x float> %629, i32 0 %631 = extractelement <4 x float> %629, i32 1 %632 = extractelement <4 x float> %629, i32 2 %633 = extractelement <4 x float> %629, i32 3 %634 = fmul float %630, %27 %635 = fmul float %631, %27 %636 = fmul float %632, %27 %637 = fmul float %633, %27 %638 = fadd float %318, %634 %639 = fadd float %320, %635 %640 = bitcast float %temp22.0 to i32 %641 = bitcast float %638 to i32 %642 = bitcast float %639 to i32 %643 = insertelement <4 x i32> undef, i32 %640, i32 0 %644 = insertelement <4 x i32> %643, i32 %641, i32 1 %645 = insertelement <4 x i32> %644, i32 %642, i32 2 %646 = insertelement <4 x i32> %645, i32 undef, i32 3 %647 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %646, <32 x i8> %103, <16 x i8> %105, i32 7) %648 = extractelement <4 x float> %647, i32 0 %649 = fadd float %621, %648 %650 = fadd float %318, %636 %651 = fadd float %320, %637 %652 = bitcast float %temp22.0 to i32 %653 = bitcast float %650 to i32 %654 = bitcast float %651 to i32 %655 = insertelement <4 x i32> undef, i32 %652, i32 0 %656 = insertelement <4 x i32> %655, i32 %653, i32 1 %657 = insertelement <4 x i32> %656, i32 %654, i32 2 %658 = insertelement <4 x i32> %657, i32 undef, i32 3 %659 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %658, <32 x i8> %103, <16 x i8> %105, i32 7) %660 = extractelement <4 x float> %659, i32 0 %661 = fadd float %649, %660 %662 = bitcast float %315 to i32 %663 = bitcast float %316 to i32 %664 = bitcast float 5.000000e-01 to i32 %665 = insertelement <4 x i32> undef, i32 %662, i32 0 %666 = insertelement <4 x i32> %665, i32 %663, i32 1 %667 = insertelement <4 x i32> %666, i32 %664, i32 2 %668 = insertelement <4 x i32> %667, i32 undef, i32 3 %669 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %668, <32 x i8> %107, <16 x i8> %109, i32 3) %670 = extractelement <4 x float> %669, i32 0 %671 = extractelement <4 x float> %669, i32 1 %672 = extractelement <4 x float> %669, i32 2 %673 = extractelement <4 x float> %669, i32 3 %674 = fmul float %670, %27 %675 = fmul float %671, %27 %676 = fmul float %672, %27 %677 = fmul float %673, %27 %678 = fadd float %318, %674 %679 = fadd float %320, %675 %680 = bitcast float %temp22.0 to i32 %681 = bitcast float %678 to i32 %682 = bitcast float %679 to i32 %683 = insertelement <4 x i32> undef, i32 %680, i32 0 %684 = insertelement <4 x i32> %683, i32 %681, i32 1 %685 = insertelement <4 x i32> %684, i32 %682, i32 2 %686 = insertelement <4 x i32> %685, i32 undef, i32 3 %687 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %686, <32 x i8> %103, <16 x i8> %105, i32 7) %688 = extractelement <4 x float> %687, i32 0 %689 = fadd float %661, %688 %690 = fadd float %318, %676 %691 = fadd float %320, %677 %692 = bitcast float %temp22.0 to i32 %693 = bitcast float %690 to i32 %694 = bitcast float %691 to i32 %695 = insertelement <4 x i32> undef, i32 %692, i32 0 %696 = insertelement <4 x i32> %695, i32 %693, i32 1 %697 = insertelement <4 x i32> %696, i32 %694, i32 2 %698 = insertelement <4 x i32> %697, i32 undef, i32 3 %699 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %698, <32 x i8> %103, <16 x i8> %105, i32 7) %700 = extractelement <4 x float> %699, i32 0 %701 = fadd float %689, %700 %702 = bitcast float %315 to i32 %703 = bitcast float %316 to i32 %704 = bitcast float 5.625000e-01 to i32 %705 = insertelement <4 x i32> undef, i32 %702, i32 0 %706 = insertelement <4 x i32> %705, i32 %703, i32 1 %707 = insertelement <4 x i32> %706, i32 %704, i32 2 %708 = insertelement <4 x i32> %707, i32 undef, i32 3 %709 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %708, <32 x i8> %107, <16 x i8> %109, i32 3) %710 = extractelement <4 x float> %709, i32 0 %711 = extractelement <4 x float> %709, i32 1 %712 = extractelement <4 x float> %709, i32 2 %713 = extractelement <4 x float> %709, i32 3 %714 = fmul float %710, %27 %715 = fmul float %711, %27 %716 = fmul float %712, %27 %717 = fmul float %713, %27 %718 = fadd float %318, %714 %719 = fadd float %320, %715 %720 = bitcast float %temp22.0 to i32 %721 = bitcast float %718 to i32 %722 = bitcast float %719 to i32 %723 = insertelement <4 x i32> undef, i32 %720, i32 0 %724 = insertelement <4 x i32> %723, i32 %721, i32 1 %725 = insertelement <4 x i32> %724, i32 %722, i32 2 %726 = insertelement <4 x i32> %725, i32 undef, i32 3 %727 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %726, <32 x i8> %103, <16 x i8> %105, i32 7) %728 = extractelement <4 x float> %727, i32 0 %729 = fadd float %701, %728 %730 = fadd float %318, %716 %731 = fadd float %320, %717 %732 = bitcast float %temp22.0 to i32 %733 = bitcast float %730 to i32 %734 = bitcast float %731 to i32 %735 = insertelement <4 x i32> undef, i32 %732, i32 0 %736 = insertelement <4 x i32> %735, i32 %733, i32 1 %737 = insertelement <4 x i32> %736, i32 %734, i32 2 %738 = insertelement <4 x i32> %737, i32 undef, i32 3 %739 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %738, <32 x i8> %103, <16 x i8> %105, i32 7) %740 = extractelement <4 x float> %739, i32 0 %741 = fadd float %729, %740 %742 = bitcast float %315 to i32 %743 = bitcast float %316 to i32 %744 = bitcast float 6.250000e-01 to i32 %745 = insertelement <4 x i32> undef, i32 %742, i32 0 %746 = insertelement <4 x i32> %745, i32 %743, i32 1 %747 = insertelement <4 x i32> %746, i32 %744, i32 2 %748 = insertelement <4 x i32> %747, i32 undef, i32 3 %749 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %748, <32 x i8> %107, <16 x i8> %109, i32 3) %750 = extractelement <4 x float> %749, i32 0 %751 = extractelement <4 x float> %749, i32 1 %752 = extractelement <4 x float> %749, i32 2 %753 = extractelement <4 x float> %749, i32 3 %754 = fmul float %750, %27 %755 = fmul float %751, %27 %756 = fmul float %752, %27 %757 = fmul float %753, %27 %758 = fadd float %318, %754 %759 = fadd float %320, %755 %760 = bitcast float %temp22.0 to i32 %761 = bitcast float %758 to i32 %762 = bitcast float %759 to i32 %763 = insertelement <4 x i32> undef, i32 %760, i32 0 %764 = insertelement <4 x i32> %763, i32 %761, i32 1 %765 = insertelement <4 x i32> %764, i32 %762, i32 2 %766 = insertelement <4 x i32> %765, i32 undef, i32 3 %767 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %766, <32 x i8> %103, <16 x i8> %105, i32 7) %768 = extractelement <4 x float> %767, i32 0 %769 = fadd float %741, %768 %770 = fadd float %318, %756 %771 = fadd float %320, %757 %772 = bitcast float %temp22.0 to i32 %773 = bitcast float %770 to i32 %774 = bitcast float %771 to i32 %775 = insertelement <4 x i32> undef, i32 %772, i32 0 %776 = insertelement <4 x i32> %775, i32 %773, i32 1 %777 = insertelement <4 x i32> %776, i32 %774, i32 2 %778 = insertelement <4 x i32> %777, i32 undef, i32 3 %779 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %778, <32 x i8> %103, <16 x i8> %105, i32 7) %780 = extractelement <4 x float> %779, i32 0 %781 = fadd float %769, %780 %782 = bitcast float %315 to i32 %783 = bitcast float %316 to i32 %784 = bitcast float 6.875000e-01 to i32 %785 = insertelement <4 x i32> undef, i32 %782, i32 0 %786 = insertelement <4 x i32> %785, i32 %783, i32 1 %787 = insertelement <4 x i32> %786, i32 %784, i32 2 %788 = insertelement <4 x i32> %787, i32 undef, i32 3 %789 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %788, <32 x i8> %107, <16 x i8> %109, i32 3) %790 = extractelement <4 x float> %789, i32 0 %791 = extractelement <4 x float> %789, i32 1 %792 = extractelement <4 x float> %789, i32 2 %793 = extractelement <4 x float> %789, i32 3 %794 = fmul float %790, %27 %795 = fmul float %791, %27 %796 = fmul float %792, %27 %797 = fmul float %793, %27 %798 = fadd float %318, %794 %799 = fadd float %320, %795 %800 = bitcast float %temp22.0 to i32 %801 = bitcast float %798 to i32 %802 = bitcast float %799 to i32 %803 = insertelement <4 x i32> undef, i32 %800, i32 0 %804 = insertelement <4 x i32> %803, i32 %801, i32 1 %805 = insertelement <4 x i32> %804, i32 %802, i32 2 %806 = insertelement <4 x i32> %805, i32 undef, i32 3 %807 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %806, <32 x i8> %103, <16 x i8> %105, i32 7) %808 = extractelement <4 x float> %807, i32 0 %809 = fadd float %781, %808 %810 = fadd float %318, %796 %811 = fadd float %320, %797 %812 = bitcast float %temp22.0 to i32 %813 = bitcast float %810 to i32 %814 = bitcast float %811 to i32 %815 = insertelement <4 x i32> undef, i32 %812, i32 0 %816 = insertelement <4 x i32> %815, i32 %813, i32 1 %817 = insertelement <4 x i32> %816, i32 %814, i32 2 %818 = insertelement <4 x i32> %817, i32 undef, i32 3 %819 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %818, <32 x i8> %103, <16 x i8> %105, i32 7) %820 = extractelement <4 x float> %819, i32 0 %821 = fadd float %809, %820 %822 = bitcast float %315 to i32 %823 = bitcast float %316 to i32 %824 = bitcast float 7.500000e-01 to i32 %825 = insertelement <4 x i32> undef, i32 %822, i32 0 %826 = insertelement <4 x i32> %825, i32 %823, i32 1 %827 = insertelement <4 x i32> %826, i32 %824, i32 2 %828 = insertelement <4 x i32> %827, i32 undef, i32 3 %829 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %828, <32 x i8> %107, <16 x i8> %109, i32 3) %830 = extractelement <4 x float> %829, i32 0 %831 = extractelement <4 x float> %829, i32 1 %832 = extractelement <4 x float> %829, i32 2 %833 = extractelement <4 x float> %829, i32 3 %834 = fmul float %830, %27 %835 = fmul float %831, %27 %836 = fmul float %832, %27 %837 = fmul float %833, %27 %838 = fadd float %318, %834 %839 = fadd float %320, %835 %840 = bitcast float %temp22.0 to i32 %841 = bitcast float %838 to i32 %842 = bitcast float %839 to i32 %843 = insertelement <4 x i32> undef, i32 %840, i32 0 %844 = insertelement <4 x i32> %843, i32 %841, i32 1 %845 = insertelement <4 x i32> %844, i32 %842, i32 2 %846 = insertelement <4 x i32> %845, i32 undef, i32 3 %847 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %846, <32 x i8> %103, <16 x i8> %105, i32 7) %848 = extractelement <4 x float> %847, i32 0 %849 = fadd float %821, %848 %850 = fadd float %318, %836 %851 = fadd float %320, %837 %852 = bitcast float %temp22.0 to i32 %853 = bitcast float %850 to i32 %854 = bitcast float %851 to i32 %855 = insertelement <4 x i32> undef, i32 %852, i32 0 %856 = insertelement <4 x i32> %855, i32 %853, i32 1 %857 = insertelement <4 x i32> %856, i32 %854, i32 2 %858 = insertelement <4 x i32> %857, i32 undef, i32 3 %859 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %858, <32 x i8> %103, <16 x i8> %105, i32 7) %860 = extractelement <4 x float> %859, i32 0 %861 = fadd float %849, %860 %862 = bitcast float %315 to i32 %863 = bitcast float %316 to i32 %864 = bitcast float 8.125000e-01 to i32 %865 = insertelement <4 x i32> undef, i32 %862, i32 0 %866 = insertelement <4 x i32> %865, i32 %863, i32 1 %867 = insertelement <4 x i32> %866, i32 %864, i32 2 %868 = insertelement <4 x i32> %867, i32 undef, i32 3 %869 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %868, <32 x i8> %107, <16 x i8> %109, i32 3) %870 = extractelement <4 x float> %869, i32 0 %871 = extractelement <4 x float> %869, i32 1 %872 = extractelement <4 x float> %869, i32 2 %873 = extractelement <4 x float> %869, i32 3 %874 = fmul float %870, %27 %875 = fmul float %871, %27 %876 = fmul float %872, %27 %877 = fmul float %873, %27 %878 = fadd float %318, %874 %879 = fadd float %320, %875 %880 = bitcast float %temp22.0 to i32 %881 = bitcast float %878 to i32 %882 = bitcast float %879 to i32 %883 = insertelement <4 x i32> undef, i32 %880, i32 0 %884 = insertelement <4 x i32> %883, i32 %881, i32 1 %885 = insertelement <4 x i32> %884, i32 %882, i32 2 %886 = insertelement <4 x i32> %885, i32 undef, i32 3 %887 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %886, <32 x i8> %103, <16 x i8> %105, i32 7) %888 = extractelement <4 x float> %887, i32 0 %889 = fadd float %861, %888 %890 = fadd float %318, %876 %891 = fadd float %320, %877 %892 = bitcast float %temp22.0 to i32 %893 = bitcast float %890 to i32 %894 = bitcast float %891 to i32 %895 = insertelement <4 x i32> undef, i32 %892, i32 0 %896 = insertelement <4 x i32> %895, i32 %893, i32 1 %897 = insertelement <4 x i32> %896, i32 %894, i32 2 %898 = insertelement <4 x i32> %897, i32 undef, i32 3 %899 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %898, <32 x i8> %103, <16 x i8> %105, i32 7) %900 = extractelement <4 x float> %899, i32 0 %901 = fadd float %889, %900 %902 = bitcast float %315 to i32 %903 = bitcast float %316 to i32 %904 = bitcast float 8.750000e-01 to i32 %905 = insertelement <4 x i32> undef, i32 %902, i32 0 %906 = insertelement <4 x i32> %905, i32 %903, i32 1 %907 = insertelement <4 x i32> %906, i32 %904, i32 2 %908 = insertelement <4 x i32> %907, i32 undef, i32 3 %909 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %908, <32 x i8> %107, <16 x i8> %109, i32 3) %910 = extractelement <4 x float> %909, i32 0 %911 = extractelement <4 x float> %909, i32 1 %912 = extractelement <4 x float> %909, i32 2 %913 = extractelement <4 x float> %909, i32 3 %914 = fmul float %910, %27 %915 = fmul float %911, %27 %916 = fmul float %912, %27 %917 = fmul float %913, %27 %918 = fadd float %318, %914 %919 = fadd float %320, %915 %920 = bitcast float %temp22.0 to i32 %921 = bitcast float %918 to i32 %922 = bitcast float %919 to i32 %923 = insertelement <4 x i32> undef, i32 %920, i32 0 %924 = insertelement <4 x i32> %923, i32 %921, i32 1 %925 = insertelement <4 x i32> %924, i32 %922, i32 2 %926 = insertelement <4 x i32> %925, i32 undef, i32 3 %927 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %926, <32 x i8> %103, <16 x i8> %105, i32 7) %928 = extractelement <4 x float> %927, i32 0 %929 = fadd float %901, %928 %930 = fadd float %318, %916 %931 = fadd float %320, %917 %932 = bitcast float %temp22.0 to i32 %933 = bitcast float %930 to i32 %934 = bitcast float %931 to i32 %935 = insertelement <4 x i32> undef, i32 %932, i32 0 %936 = insertelement <4 x i32> %935, i32 %933, i32 1 %937 = insertelement <4 x i32> %936, i32 %934, i32 2 %938 = insertelement <4 x i32> %937, i32 undef, i32 3 %939 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %938, <32 x i8> %103, <16 x i8> %105, i32 7) %940 = extractelement <4 x float> %939, i32 0 %941 = fadd float %929, %940 %942 = bitcast float %315 to i32 %943 = bitcast float %316 to i32 %944 = bitcast float 9.375000e-01 to i32 %945 = insertelement <4 x i32> undef, i32 %942, i32 0 %946 = insertelement <4 x i32> %945, i32 %943, i32 1 %947 = insertelement <4 x i32> %946, i32 %944, i32 2 %948 = insertelement <4 x i32> %947, i32 undef, i32 3 %949 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %948, <32 x i8> %107, <16 x i8> %109, i32 3) %950 = extractelement <4 x float> %949, i32 0 %951 = extractelement <4 x float> %949, i32 1 %952 = extractelement <4 x float> %949, i32 2 %953 = extractelement <4 x float> %949, i32 3 %954 = fmul float %950, %27 %955 = fmul float %951, %27 %956 = fmul float %952, %27 %957 = fmul float %953, %27 %958 = fadd float %318, %954 %959 = fadd float %320, %955 %960 = bitcast float %temp22.0 to i32 %961 = bitcast float %958 to i32 %962 = bitcast float %959 to i32 %963 = insertelement <4 x i32> undef, i32 %960, i32 0 %964 = insertelement <4 x i32> %963, i32 %961, i32 1 %965 = insertelement <4 x i32> %964, i32 %962, i32 2 %966 = insertelement <4 x i32> %965, i32 undef, i32 3 %967 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %966, <32 x i8> %103, <16 x i8> %105, i32 7) %968 = extractelement <4 x float> %967, i32 0 %969 = fadd float %941, %968 %970 = fadd float %318, %956 %971 = fadd float %320, %957 %972 = bitcast float %temp22.0 to i32 %973 = bitcast float %970 to i32 %974 = bitcast float %971 to i32 %975 = insertelement <4 x i32> undef, i32 %972, i32 0 %976 = insertelement <4 x i32> %975, i32 %973, i32 1 %977 = insertelement <4 x i32> %976, i32 %974, i32 2 %978 = insertelement <4 x i32> %977, i32 undef, i32 3 %979 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %978, <32 x i8> %103, <16 x i8> %105, i32 7) %980 = extractelement <4 x float> %979, i32 0 %981 = fadd float %969, %980 %982 = fmul float %981, 3.125000e-02 br label %ENDIF44 ENDIF44: ; preds = %IF42, %IF45 %temp12.4 = phi float [ %982, %IF45 ], [ %481, %IF42 ] %983 = fadd float %temp12.4, %25 %984 = call float @llvm.AMDIL.clamp.(float %983, float 0.000000e+00, float 1.000000e+00) %985 = fmul float %179, %984 %986 = fmul float %180, %984 %987 = fmul float %181, %984 br label %ENDIF41 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8140100 c8150101 c8100000 c8110001 c0840304 c0c60508 bf8c007f f0800100 00430604 c0840100 bf8c0070 c2000968 bf8c007f 100c0c00 c2000964 bf8c007f 080c0c00 d2060806 02010106 080e0cf2 c8200600 c8210601 d2820006 041a0f08 d2060806 02010106 c2000948 bf8c007f 10140c00 c8200e00 c8210e01 c81c0d00 c81d0d01 c8180c00 c8190c01 c0860308 c0c80510 bf8c007f f0800100 00640606 bf8c0770 7e0e0280 c086030c c0c80518 bf8c007f f0800700 00640b06 bf8c0770 060c1b0d 06100cf3 c0860300 c0c80500 bf8c007f f0800f00 00640404 c200096c bf8c0070 d2820008 04180108 d2060808 02010108 10101508 0612190c 061212f3 d2820009 04140109 d2060809 02010109 10121509 0616170b 061616f3 d282000b 0410010b d206080b 0201010b 1014150b c83c0900 c83d0901 c8400800 c8410801 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440a00 c8450a01 c2000911 bf8c007f d282000b 042e2200 c8480b00 c8490b01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c2030974 c2038975 bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c0314 c0ce0528 c0860310 c0c80520 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c2028973 c2020972 c2018971 c2010970 c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[4] DCL OUT[4], GENERIC[6] DCL CONST[0..106] DCL TEMP[0..9], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.9000, 0.3000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+7] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+7] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+7] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: MOV TEMP[3].zw, TEMP[4].wwzw 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[1].xyzz 20: DP3 TEMP[6].x, IN[2].xyzz, TEMP[2].xyzz 21: MOV TEMP[5].y, TEMP[6].xxxx 22: DP3 TEMP[6].x, IN[2].xyzz, TEMP[0].xyzz 23: MOV TEMP[5].z, TEMP[6].xxxx 24: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz 25: RSQ TEMP[6].x, TEMP[6].xxxx 26: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 27: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 28: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 29: MOV TEMP[1].y, TEMP[2].xxxx 30: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 31: MOV TEMP[1].z, TEMP[0].xxxx 32: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 33: RSQ TEMP[0].x, TEMP[0].xxxx 34: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 35: MUL TEMP[1].xyz, TEMP[5].zxyy, TEMP[0].yzxx 36: MAD TEMP[1].xyz, TEMP[5].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 37: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 38: MUL TEMP[2].xyz, TEMP[4].xyzz, CONST[106].xyzz 39: MOV TEMP[6].zw, IN[1].wwzw 40: MAD TEMP[6].xy, IN[1].xyyy, CONST[103].xyyy, CONST[103].zwww 41: MAD TEMP[7].xy, TEMP[4].xyyy, CONST[104].xyyy, CONST[105].xyyy 42: MUL TEMP[8].x, TEMP[7].xxxx, IMM[1].yyyy 43: SIN TEMP[8].x, TEMP[8].xxxx 44: MUL TEMP[9].x, TEMP[7].xxxx, IMM[1].zzzz 45: COS TEMP[9].x, TEMP[9].xxxx 46: MUL TEMP[8].x, TEMP[8].xxxx, TEMP[9].xxxx 47: MUL TEMP[9].x, TEMP[7].yyyy, IMM[1].yyyy 48: COS TEMP[9].x, TEMP[9].xxxx 49: MUL TEMP[7].x, TEMP[7].yyyy, IMM[1].zzzz 50: SIN TEMP[7].x, TEMP[7].xxxx 51: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 52: MOV TEMP[8].y, TEMP[7].xxxx 53: MUL TEMP[7].x, IN[2].wwww, CONST[104].zzzz 54: MAX TEMP[7].x, TEMP[7].xxxx, IMM[1].wwww 55: MAD TEMP[3].xy, TEMP[8].xyyy, TEMP[7].xxxx, TEMP[4].xyyy 56: ADD TEMP[4].xyz, TEMP[3].xyzz, -CONST[4].xyzz 57: MUL TEMP[7], CONST[0], TEMP[4].xxxx 58: MAD TEMP[7], CONST[1], TEMP[4].yyyy, TEMP[7] 59: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[7] 60: ADD TEMP[4], TEMP[4], CONST[3] 61: DP3 TEMP[0].x, CONST[5].xyzz, TEMP[0].xyzz 62: DP3 TEMP[7].x, TEMP[1].xyzz, TEMP[1].xyzz 63: RSQ TEMP[7].x, TEMP[7].xxxx 64: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[7].xxxx 65: DP3 TEMP[1].x, CONST[5].xyzz, TEMP[1].xyzz 66: MOV TEMP[0].y, TEMP[1].xxxx 67: DP3 TEMP[1].x, CONST[5].xyzz, TEMP[5].xyzz 68: MUL TEMP[1].x, TEMP[1].xxxx, CONST[6].xxxx 69: MOV TEMP[0].z, TEMP[1].xxxx 70: MOV OUT[1], TEMP[6] 71: MOV OUT[2], TEMP[0] 72: MOV OUT[3], TEMP[3] 73: MOV OUT[0], TEMP[4] 74: MOV OUT[4], TEMP[2] 75: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1648) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1652) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1656) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1660) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1680) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1684) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1696) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1700) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1704) %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %52 = load <16 x i8> addrspace(2)* %51, !tbaa !0 %53 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %52, i32 0, i32 %5) %54 = extractelement <4 x float> %53, i32 0 %55 = extractelement <4 x float> %53, i32 1 %56 = extractelement <4 x float> %53, i32 2 %57 = extractelement <4 x float> %53, i32 3 %58 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %59, i32 0, i32 %5) %61 = extractelement <4 x float> %60, i32 0 %62 = extractelement <4 x float> %60, i32 1 %63 = extractelement <4 x float> %60, i32 2 %64 = extractelement <4 x float> %60, i32 3 %65 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %66 = load <16 x i8> addrspace(2)* %65, !tbaa !0 %67 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %66, i32 0, i32 %5) %68 = extractelement <4 x float> %67, i32 0 %69 = extractelement <4 x float> %67, i32 1 %70 = extractelement <4 x float> %67, i32 2 %71 = extractelement <4 x float> %67, i32 3 %72 = add i32 %8, %4 %73 = mul i32 %72, 3 %74 = bitcast i32 %73 to float %75 = bitcast float %74 to i32 %76 = add i32 %75, 0 %77 = bitcast float %74 to i32 %78 = add i32 %77, 1 %79 = bitcast float %74 to i32 %80 = add i32 %79, 2 %81 = bitcast i32 %76 to float %82 = bitcast i32 %78 to float %83 = bitcast i32 %80 to float %84 = bitcast float %81 to i32 %85 = shl i32 %84, 4 %86 = add i32 %85, 112 %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %86) %88 = shl i32 %84, 4 %89 = add i32 %88, 116 %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %89) %91 = shl i32 %84, 4 %92 = add i32 %91, 120 %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %92) %94 = shl i32 %84, 4 %95 = add i32 %94, 124 %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %95) %97 = bitcast float %82 to i32 %98 = shl i32 %97, 4 %99 = add i32 %98, 112 %100 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %99) %101 = shl i32 %97, 4 %102 = add i32 %101, 116 %103 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %102) %104 = shl i32 %97, 4 %105 = add i32 %104, 120 %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %105) %107 = shl i32 %97, 4 %108 = add i32 %107, 124 %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %108) %110 = bitcast float %83 to i32 %111 = shl i32 %110, 4 %112 = add i32 %111, 112 %113 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %112) %114 = shl i32 %110, 4 %115 = add i32 %114, 116 %116 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %115) %117 = shl i32 %110, 4 %118 = add i32 %117, 120 %119 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %118) %120 = shl i32 %110, 4 %121 = add i32 %120, 124 %122 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %121) %123 = fmul float %49, %87 %124 = fmul float %50, %90 %125 = fadd float %123, %124 %126 = fmul float %64, %93 %127 = fadd float %125, %126 %128 = fmul float 1.000000e+00, %96 %129 = fadd float %127, %128 %130 = fmul float %49, %100 %131 = fmul float %50, %103 %132 = fadd float %130, %131 %133 = fmul float %64, %106 %134 = fadd float %132, %133 %135 = fmul float 1.000000e+00, %109 %136 = fadd float %134, %135 %137 = fmul float %49, %113 %138 = fmul float %50, %116 %139 = fadd float %137, %138 %140 = fmul float %64, %119 %141 = fadd float %139, %140 %142 = fmul float 1.000000e+00, %122 %143 = fadd float %141, %142 %144 = fmul float %61, %87 %145 = fmul float %62, %90 %146 = fadd float %145, %144 %147 = fmul float %63, %93 %148 = fadd float %146, %147 %149 = fmul float %61, %100 %150 = fmul float %62, %103 %151 = fadd float %150, %149 %152 = fmul float %63, %106 %153 = fadd float %151, %152 %154 = fmul float %61, %113 %155 = fmul float %62, %116 %156 = fadd float %155, %154 %157 = fmul float %63, %119 %158 = fadd float %156, %157 %159 = fmul float %148, %148 %160 = fmul float %153, %153 %161 = fadd float %160, %159 %162 = fmul float %158, %158 %163 = fadd float %161, %162 %164 = call float @llvm.AMDGPU.rsq(float %163) %165 = fmul float %148, %164 %166 = fmul float %153, %164 %167 = fmul float %158, %164 %168 = fmul float %68, %87 %169 = fmul float %69, %90 %170 = fadd float %169, %168 %171 = fmul float %70, %93 %172 = fadd float %170, %171 %173 = fmul float %68, %100 %174 = fmul float %69, %103 %175 = fadd float %174, %173 %176 = fmul float %70, %106 %177 = fadd float %175, %176 %178 = fmul float %68, %113 %179 = fmul float %69, %116 %180 = fadd float %179, %178 %181 = fmul float %70, %119 %182 = fadd float %180, %181 %183 = fmul float %172, %172 %184 = fmul float %177, %177 %185 = fadd float %184, %183 %186 = fmul float %182, %182 %187 = fadd float %185, %186 %188 = call float @llvm.AMDGPU.rsq(float %187) %189 = fmul float %172, %188 %190 = fmul float %177, %188 %191 = fmul float %182, %188 %192 = fmul float %167, %190 %193 = fmul float %165, %191 %194 = fmul float %166, %189 %195 = fsub float -0.000000e+00, %192 %196 = fmul float %166, %191 %197 = fadd float %196, %195 %198 = fsub float -0.000000e+00, %193 %199 = fmul float %167, %189 %200 = fadd float %199, %198 %201 = fsub float -0.000000e+00, %194 %202 = fmul float %165, %190 %203 = fadd float %202, %201 %204 = fmul float %197, %71 %205 = fmul float %200, %71 %206 = fmul float %203, %71 %207 = fmul float %129, %43 %208 = fmul float %136, %44 %209 = fmul float %143, %45 %210 = fmul float %54, %34 %211 = fadd float %210, %36 %212 = fmul float %55, %35 %213 = fadd float %212, %37 %214 = fmul float %129, %38 %215 = fadd float %214, %41 %216 = fmul float %136, %39 %217 = fadd float %216, %42 %218 = fmul float %215, 0x3FECCCCCC0000000 %219 = call float @llvm.sin.f32(float %218) %220 = fmul float %215, 0x3FD3333340000000 %221 = call float @llvm.cos.f32(float %220) %222 = fmul float %219, %221 %223 = fmul float %217, 0x3FECCCCCC0000000 %224 = call float @llvm.cos.f32(float %223) %225 = fmul float %217, 0x3FD3333340000000 %226 = call float @llvm.sin.f32(float %225) %227 = fmul float %224, %226 %228 = fmul float %64, %40 %229 = fcmp uge float %228, 0.000000e+00 %230 = select i1 %229, float %228, float 0.000000e+00 %231 = fmul float %222, %230 %232 = fadd float %231, %129 %233 = fmul float %227, %230 %234 = fadd float %233, %136 %235 = fsub float -0.000000e+00, %27 %236 = fadd float %232, %235 %237 = fsub float -0.000000e+00, %28 %238 = fadd float %234, %237 %239 = fsub float -0.000000e+00, %29 %240 = fadd float %143, %239 %241 = fmul float %11, %236 %242 = fmul float %12, %236 %243 = fmul float %13, %236 %244 = fmul float %14, %236 %245 = fmul float %15, %238 %246 = fadd float %245, %241 %247 = fmul float %16, %238 %248 = fadd float %247, %242 %249 = fmul float %17, %238 %250 = fadd float %249, %243 %251 = fmul float %18, %238 %252 = fadd float %251, %244 %253 = fmul float %19, %240 %254 = fadd float %253, %246 %255 = fmul float %20, %240 %256 = fadd float %255, %248 %257 = fmul float %21, %240 %258 = fadd float %257, %250 %259 = fmul float %22, %240 %260 = fadd float %259, %252 %261 = fadd float %254, %23 %262 = fadd float %256, %24 %263 = fadd float %258, %25 %264 = fadd float %260, %26 %265 = fmul float %30, %189 %266 = fmul float %31, %190 %267 = fadd float %266, %265 %268 = fmul float %32, %191 %269 = fadd float %267, %268 %270 = fmul float %204, %204 %271 = fmul float %205, %205 %272 = fadd float %271, %270 %273 = fmul float %206, %206 %274 = fadd float %272, %273 %275 = call float @llvm.AMDGPU.rsq(float %274) %276 = fmul float %204, %275 %277 = fmul float %205, %275 %278 = fmul float %206, %275 %279 = fmul float %30, %276 %280 = fmul float %31, %277 %281 = fadd float %280, %279 %282 = fmul float %32, %278 %283 = fadd float %281, %282 %284 = fmul float %30, %165 %285 = fmul float %31, %166 %286 = fadd float %285, %284 %287 = fmul float %32, %167 %288 = fadd float %286, %287 %289 = fmul float %288, %33 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %211, float %213, float %56, float %57) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %269, float %283, float %289, float %122) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %232, float %234, float %143, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %207, float %208, float %209, float %109) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %261, float %262, float %263, float %264) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000067c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000674 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000678 c2020004 bf8c007f 7e040204 be8403ff 00000670 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000070 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000074 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000078 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000070 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000074 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000078 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000070 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000074 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000078 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 10362110 d282001b 046e3b1d 103c1b19 103e111a 083c3d1f 10080f1e d2820005 046e0904 7e0a5b05 100c0b1d 100e0b10 c2020114 bf8c007f 100e0e04 c2028115 bf8c007f d2820006 041e0c05 10080b04 c2040116 bf8c007f d2820004 041a0808 100a1a04 d2820005 04161005 d2820005 04162408 100c3404 d2820006 041a3205 d2820006 041a3808 c2020118 bf8c007f 100c0c04 4a0202ff 0000007c e0301000 80000101 bf8c0770 f800021f 01060405 be8403ff 00000688 c2020004 bf8c000f 7e080204 d2100004 02020918 d00c0004 02010104 d2000004 00120880 c0820700 bf8c007f e00c2000 80010500 bf8c0770 10001d06 d2820000 04021905 d2820000 04021f18 4a1616ff 0000007c e0301000 80000b0b bf8c0770 06001700 be8403ff 00000680 c2020004 be8503ff 00000690 c2028005 bf8c007f 7e160205 d282000b 042c0900 101816ff 3e99999a 101818ff 3e22f983 7e186d0c 101616ff 3f666666 101616ff 3e22f983 7e166b0b 1016190b d282000b 0402090b 10121306 d2820003 04260705 d2820003 040e1518 4a0404ff 0000007c e0301000 80000202 bf8c0770 06060503 be8403ff 00000684 c2020004 be8503ff 00000694 c2028005 bf8c007f 7e120205 d2820009 04240903 101412ff 3e99999a 101414ff 3e22f983 7e146b0a 101212ff 3f666666 101212ff 3e22f983 7e126d09 10121509 d2820004 040e0909 10122706 d2820005 04262305 d2820005 04162918 06020305 7e0a02f2 f800022f 0501040b be8403ff 000006a0 c2020004 bf8c000f 10000004 be8403ff 000006a8 c2020004 bf8c007f 100a0204 be8403ff 000006a4 c2020004 bf8c007f 10060604 f800023f 02050300 c2020110 bf8c000f 0a001604 c2020103 bf8c007f 10040004 c2020111 bf8c007f 0a060804 c2020107 bf8c007f d2820002 040a0604 c2020112 bf8c007f 0a020204 c202010b bf8c007f d2820002 040a0204 c202010f bf8c007f 06040404 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120604 c202010a bf8c007f d2820004 04120204 c202010e bf8c007f 06080804 c2020101 bf8c007f 100a0004 c2020105 bf8c007f d2820005 04160604 c2020109 bf8c007f d2820005 04160204 c202010d bf8c007f 060a0a04 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020604 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f 06000000 f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[26..27] DCL CONST[0..20] DCL TEMP[0] DCL TEMP[1..9], LOCAL IMM[0] FLT32 { 0.5000, 2.0000, -1.0000, 1.0000} IMM[1] FLT32 { 0.0000, 0.0001, 3.0000, -0.2500} IMM[2] FLT32 { 0.2450, -0.7500, -0.2500, 0.0625} IMM[3] FLT32 { 0.1250, 0.1875, 0.2500, 8.0000} IMM[4] FLT32 { 0.3125, 0.3750, 0.4375, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[27].xxxx, CONST[27].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: FSGE TEMP[2].x, IMM[0].xxxx, TEMP[1].wwww 5: UIF TEMP[2].xxxx :2 6: KILL 7: ENDIF 8: MOV TEMP[2].xy, IN[1].xyyy 9: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 10: MOV TEMP[3].xy, IN[1].xyyy 11: TEX TEMP[3], TEMP[3], SAMP[2], 2D 12: MAD TEMP[2].xy, TEMP[2].xyyy, IMM[0].yyyy, IMM[0].zzzz 13: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 14: ADD_SAT TEMP[4].x, IMM[0].wwww, -TEMP[4].xxxx 15: RSQ TEMP[5].x, TEMP[4].xxxx 16: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 17: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[1].xxxx 18: MOV TEMP[2].z, TEMP[5].xxxx 19: ADD TEMP[4].x, TEMP[3].wwww, IMM[1].yyyy 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 21: ABS TEMP[6].x, TEMP[5].xxxx 22: ADD TEMP[6].x, IMM[0].wwww, -TEMP[6].xxxx 23: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[20].xxxx 24: ADD TEMP[7].x, IMM[0].wwww, -CONST[20].xxxx 25: RCP TEMP[7].x, TEMP[7].xxxx 26: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 27: DP3 TEMP[7].x, IN[3].xyzz, IN[3].xyzz 28: RSQ TEMP[7].x, TEMP[7].xxxx 29: MOV TEMP[8].xyz, -IN[2].xyzx 30: DP3 TEMP[9].x, TEMP[2].xyzz, TEMP[8].xyzz 31: MUL TEMP[9].xyz, TEMP[9].xxxx, TEMP[2].xyzz 32: MUL TEMP[9].xyz, IMM[0].yyyy, TEMP[9].xyzz 33: ADD TEMP[8].xyz, TEMP[8].xyzz, -TEMP[9].xyzz 34: DP3 TEMP[8].x, TEMP[8].xyzz, IN[3].xyzz 35: MUL_SAT TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 36: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].zzzz 37: POW TEMP[4].x, TEMP[8].xxxx, TEMP[4].xxxx 38: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].yyyy 39: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 40: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[7].xxxx 41: ABS TEMP[2].x, TEMP[2].xxxx 42: ADD_SAT TEMP[2].x, IMM[0].wwww, -TEMP[2].xxxx 43: POW TEMP[2].x, TEMP[2].xxxx, CONST[18].zzzz 44: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[18].yyyy, CONST[18].xxxx 45: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 46: MUL TEMP[4].x, IMM[0].yyyy, TEMP[6].xxxx 47: ADD TEMP[4].x, IMM[1].zzzz, -TEMP[4].xxxx 48: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 49: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 50: MOV_SAT TEMP[5].x, TEMP[5].xxxx 51: MAD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[20].yyyy, TEMP[5].xxxx 52: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].xxxx 53: MUL TEMP[4].xyz, TEMP[1].xyzz, TEMP[4].xxxx 54: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xxxx, TEMP[4].xyzz 55: MOV TEMP[3].xyz, TEMP[2].xyzx 56: MOV TEMP[4].x, IMM[1].xxxx 57: MUL TEMP[5], CONST[2], IN[4].xxxx 58: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 59: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 60: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 61: MOV TEMP[6].xyz, TEMP[5] 62: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 63: ABS TEMP[5].xy, TEMP[5].xyyy 64: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 65: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 66: UIF TEMP[5].xxxx :2 67: MUL TEMP[5], CONST[6], IN[4].xxxx 68: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 69: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 70: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 71: MOV TEMP[6].xyz, TEMP[5] 72: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yzzz 73: ABS TEMP[5].xy, TEMP[5].xyyy 74: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 75: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 76: UIF TEMP[5].xxxx :2 77: MUL TEMP[5], CONST[10], IN[4].xxxx 78: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 79: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 80: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 81: MOV TEMP[6], TEMP[5] 82: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].zyyy 83: ABS TEMP[5].xy, TEMP[5].xyyy 84: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 85: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 86: UIF TEMP[5].xxxx :2 87: MUL TEMP[5], CONST[14], IN[4].xxxx 88: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 89: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 90: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 91: MOV TEMP[6], TEMP[5] 92: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yyyy 93: ABS TEMP[5].xy, TEMP[5].xyyy 94: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 95: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 96: UIF TEMP[5].xxxx :2 97: MOV TEMP[4].x, IMM[0].wwww 98: ENDIF 99: ENDIF 100: ENDIF 101: ENDIF 102: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[1].xxxx 103: UIF TEMP[5].xxxx :2 104: MOV TEMP[5].z, IMM[1].xxxx 105: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].wwww 106: MOV TEMP[7].xy, TEMP[5].xyxx 107: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 108: MOV TEMP[5].xyz, TEMP[5].xyzz 109: TEX TEMP[5], TEMP[5], SAMP[4], 3D 110: MUL TEMP[5], TEMP[5], CONST[1].wwww 111: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 112: MOV TEMP[8].xy, TEMP[8].xyyy 113: MOV TEMP[8].z, TEMP[6].zzzz 114: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 115: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 116: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 117: MOV TEMP[5].xy, TEMP[5].xyyy 118: MOV TEMP[5].z, TEMP[6].zzzz 119: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 120: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 121: MOV TEMP[7].z, IMM[2].wwww 122: MOV TEMP[5].xyz, TEMP[7].xyzz 123: TEX TEMP[5], TEMP[5], SAMP[4], 3D 124: MUL TEMP[5], TEMP[5], CONST[1].wwww 125: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 126: MOV TEMP[8].xy, TEMP[8].xyyy 127: MOV TEMP[8].z, TEMP[6].zzzz 128: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 129: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 130: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 131: MOV TEMP[5].xy, TEMP[5].xyyy 132: MOV TEMP[5].z, TEMP[6].zzzz 133: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 134: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 135: MOV TEMP[7].z, IMM[3].xxxx 136: MOV TEMP[5].xyz, TEMP[7].xyzz 137: TEX TEMP[5], TEMP[5], SAMP[4], 3D 138: MUL TEMP[5], TEMP[5], CONST[1].wwww 139: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 140: MOV TEMP[8].xy, TEMP[8].xyyy 141: MOV TEMP[8].z, TEMP[6].zzzz 142: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 143: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 144: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 145: MOV TEMP[5].xy, TEMP[5].xyyy 146: MOV TEMP[5].z, TEMP[6].zzzz 147: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 148: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 149: MOV TEMP[7].z, IMM[3].yyyy 150: MOV TEMP[5].xyz, TEMP[7].xyzz 151: TEX TEMP[5], TEMP[5], SAMP[4], 3D 152: MUL TEMP[5], TEMP[5], CONST[1].wwww 153: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 154: MOV TEMP[8].xy, TEMP[8].xyyy 155: MOV TEMP[8].z, TEMP[6].zzzz 156: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 157: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 158: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 159: MOV TEMP[7].z, IMM[3].zzzz 160: MOV TEMP[5].xy, TEMP[5].xyyy 161: MOV TEMP[5].z, TEMP[6].zzzz 162: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 163: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 164: MUL TEMP[5].x, TEMP[5].xxxx, IMM[3].xxxx 165: MOV TEMP[4].x, TEMP[5].xxxx 166: ADD TEMP[8].x, IMM[0].wwww, -TEMP[5].xxxx 167: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 168: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[1].xxxx 169: UIF TEMP[8].xxxx :2 170: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].wwww 171: MOV TEMP[5].xyz, TEMP[7].xyzz 172: TEX TEMP[5], TEMP[5], SAMP[4], 3D 173: MUL TEMP[5], TEMP[5], CONST[1].wwww 174: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 175: MOV TEMP[8].xy, TEMP[8].xyyy 176: MOV TEMP[8].z, TEMP[6].zzzz 177: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 178: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 179: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 180: MOV TEMP[5].xy, TEMP[5].xyyy 181: MOV TEMP[5].z, TEMP[6].zzzz 182: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 183: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 184: MOV TEMP[7].z, IMM[4].xxxx 185: MOV TEMP[5].xyz, TEMP[7].xyzz 186: TEX TEMP[5], TEMP[5], SAMP[4], 3D 187: MUL TEMP[5], TEMP[5], CONST[1].wwww 188: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 189: MOV TEMP[8].xy, TEMP[8].xyyy 190: MOV TEMP[8].z, TEMP[6].zzzz 191: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 192: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 193: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 194: MOV TEMP[5].xy, TEMP[5].xyyy 195: MOV TEMP[5].z, TEMP[6].zzzz 196: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 197: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 198: MOV TEMP[7].z, IMM[4].yyyy 199: MOV TEMP[5].xyz, TEMP[7].xyzz 200: TEX TEMP[5], TEMP[5], SAMP[4], 3D 201: MUL TEMP[5], TEMP[5], CONST[1].wwww 202: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 203: MOV TEMP[8].xy, TEMP[8].xyyy 204: MOV TEMP[8].z, TEMP[6].zzzz 205: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 206: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 207: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 208: MOV TEMP[5].xy, TEMP[5].xyyy 209: MOV TEMP[5].z, TEMP[6].zzzz 210: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 211: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 212: MOV TEMP[7].z, IMM[4].zzzz 213: MOV TEMP[5].xyz, TEMP[7].xyzz 214: TEX TEMP[5], TEMP[5], SAMP[4], 3D 215: MUL TEMP[5], TEMP[5], CONST[1].wwww 216: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 217: MOV TEMP[8].xy, TEMP[8].xyyy 218: MOV TEMP[8].z, TEMP[6].zzzz 219: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 220: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 221: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 222: MOV TEMP[5].xy, TEMP[5].xyyy 223: MOV TEMP[5].z, TEMP[6].zzzz 224: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 225: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 226: MOV TEMP[7].z, IMM[0].xxxx 227: MOV TEMP[5].xyz, TEMP[7].xyzz 228: TEX TEMP[5], TEMP[5], SAMP[4], 3D 229: MUL TEMP[5], TEMP[5], CONST[1].wwww 230: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 231: MOV TEMP[8].xy, TEMP[8].xyyy 232: MOV TEMP[8].z, TEMP[6].zzzz 233: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 234: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 235: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 236: MOV TEMP[5].xy, TEMP[5].xyyy 237: MOV TEMP[5].z, TEMP[6].zzzz 238: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 239: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 240: MOV TEMP[7].z, IMM[4].wwww 241: MOV TEMP[5].xyz, TEMP[7].xyzz 242: TEX TEMP[5], TEMP[5], SAMP[4], 3D 243: MUL TEMP[5], TEMP[5], CONST[1].wwww 244: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 245: MOV TEMP[8].xy, TEMP[8].xyyy 246: MOV TEMP[8].z, TEMP[6].zzzz 247: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 248: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 249: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 250: MOV TEMP[5].xy, TEMP[5].xyyy 251: MOV TEMP[5].z, TEMP[6].zzzz 252: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 253: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 254: MOV TEMP[7].z, IMM[5].xxxx 255: MOV TEMP[5].xyz, TEMP[7].xyzz 256: TEX TEMP[5], TEMP[5], SAMP[4], 3D 257: MUL TEMP[5], TEMP[5], CONST[1].wwww 258: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 259: MOV TEMP[8].xy, TEMP[8].xyyy 260: MOV TEMP[8].z, TEMP[6].zzzz 261: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 262: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 263: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 264: MOV TEMP[5].xy, TEMP[5].xyyy 265: MOV TEMP[5].z, TEMP[6].zzzz 266: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 267: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 268: MOV TEMP[7].z, IMM[5].yyyy 269: MOV TEMP[5].xyz, TEMP[7].xyzz 270: TEX TEMP[5], TEMP[5], SAMP[4], 3D 271: MUL TEMP[5], TEMP[5], CONST[1].wwww 272: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 273: MOV TEMP[8].xy, TEMP[8].xyyy 274: MOV TEMP[8].z, TEMP[6].zzzz 275: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 276: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 277: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 278: MOV TEMP[5].xy, TEMP[5].xyyy 279: MOV TEMP[5].z, TEMP[6].zzzz 280: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 281: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 282: MOV TEMP[7].z, IMM[5].zzzz 283: MOV TEMP[5].xyz, TEMP[7].xyzz 284: TEX TEMP[5], TEMP[5], SAMP[4], 3D 285: MUL TEMP[5], TEMP[5], CONST[1].wwww 286: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 287: MOV TEMP[8].xy, TEMP[8].xyyy 288: MOV TEMP[8].z, TEMP[6].zzzz 289: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 290: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 291: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 292: MOV TEMP[5].xy, TEMP[5].xyyy 293: MOV TEMP[5].z, TEMP[6].zzzz 294: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 295: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 296: MOV TEMP[7].z, IMM[5].wwww 297: MOV TEMP[5].xyz, TEMP[7].xyzz 298: TEX TEMP[5], TEMP[5], SAMP[4], 3D 299: MUL TEMP[5], TEMP[5], CONST[1].wwww 300: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 301: MOV TEMP[8].xy, TEMP[8].xyyy 302: MOV TEMP[8].z, TEMP[6].zzzz 303: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 304: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 305: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 306: MOV TEMP[5].xy, TEMP[5].xyyy 307: MOV TEMP[5].z, TEMP[6].zzzz 308: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 309: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 310: MOV TEMP[7].z, IMM[6].xxxx 311: MOV TEMP[5].xyz, TEMP[7].xyzz 312: TEX TEMP[5], TEMP[5], SAMP[4], 3D 313: MUL TEMP[5], TEMP[5], CONST[1].wwww 314: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 315: MOV TEMP[8].xy, TEMP[8].xyyy 316: MOV TEMP[8].z, TEMP[6].zzzz 317: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 318: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 319: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 320: MOV TEMP[5].xy, TEMP[5].xyyy 321: MOV TEMP[5].z, TEMP[6].zzzz 322: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 323: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 324: MOV TEMP[7].z, IMM[6].yyyy 325: MOV TEMP[5].xyz, TEMP[7].xyzz 326: TEX TEMP[5], TEMP[5], SAMP[4], 3D 327: MUL TEMP[5], TEMP[5], CONST[1].wwww 328: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 329: MOV TEMP[7].xy, TEMP[7].xyyy 330: MOV TEMP[7].z, TEMP[6].zzzz 331: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 332: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 333: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 334: MOV TEMP[5].xy, TEMP[5].xyyy 335: MOV TEMP[5].z, TEMP[6].zzzz 336: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 337: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 338: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 339: ENDIF 340: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 341: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 342: ENDIF 343: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 344: MOV TEMP[2].w, TEMP[1].wwww 345: MUL TEMP[1], TEMP[2], CONST[26] 346: MOV OUT[0], TEMP[1] 347: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %120 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %121 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %122 = fmul float %13, %88 %123 = fadd float %122, %89 %124 = bitcast float %110 to i32 %125 = bitcast float %111 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %91, <16 x i8> %93, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = fcmp oge float 5.000000e-01, %132 %134 = sext i1 %133 to i32 %135 = bitcast i32 %134 to float %136 = bitcast float %135 to i32 %137 = icmp ne i32 %136, 0 br i1 %137, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %138 = bitcast float %110 to i32 %139 = bitcast float %111 to i32 %140 = insertelement <2 x i32> undef, i32 %138, i32 0 %141 = insertelement <2 x i32> %140, i32 %139, i32 1 %142 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %141, <32 x i8> %95, <16 x i8> %97, i32 2) %143 = extractelement <4 x float> %142, i32 0 %144 = extractelement <4 x float> %142, i32 1 %145 = bitcast float %110 to i32 %146 = bitcast float %111 to i32 %147 = insertelement <2 x i32> undef, i32 %145, i32 0 %148 = insertelement <2 x i32> %147, i32 %146, i32 1 %149 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %148, <32 x i8> %99, <16 x i8> %101, i32 2) %150 = extractelement <4 x float> %149, i32 0 %151 = extractelement <4 x float> %149, i32 1 %152 = extractelement <4 x float> %149, i32 2 %153 = extractelement <4 x float> %149, i32 3 %154 = fmul float %143, 2.000000e+00 %155 = fadd float %154, -1.000000e+00 %156 = fmul float %144, 2.000000e+00 %157 = fadd float %156, -1.000000e+00 %158 = fmul float %155, %155 %159 = fmul float %157, %157 %160 = fadd float %158, %159 %161 = fsub float -0.000000e+00, %160 %162 = fadd float 1.000000e+00, %161 %163 = call float @llvm.AMDIL.clamp.(float %162, float 0.000000e+00, float 1.000000e+00) %164 = call float @llvm.AMDGPU.rsq(float %163) %165 = fmul float %164, %163 %166 = fsub float -0.000000e+00, %163 %167 = call float @llvm.AMDGPU.cndlt(float %166, float %165, float 0.000000e+00) %168 = fadd float %153, 0x3F1A36E2E0000000 %169 = fmul float %112, %155 %170 = fmul float %113, %157 %171 = fadd float %170, %169 %172 = fmul float %114, %167 %173 = fadd float %171, %172 %174 = call float @fabs(float %173) %175 = fsub float -0.000000e+00, %174 %176 = fadd float 1.000000e+00, %175 %177 = fsub float -0.000000e+00, %82 %178 = fadd float %176, %177 %179 = fsub float -0.000000e+00, %82 %180 = fadd float 1.000000e+00, %179 %181 = fdiv float 1.000000e+00, %180 %182 = fmul float %178, %181 %183 = call float @llvm.AMDIL.clamp.(float %182, float 0.000000e+00, float 1.000000e+00) %184 = fmul float %115, %115 %185 = fmul float %116, %116 %186 = fadd float %185, %184 %187 = fmul float %117, %117 %188 = fadd float %186, %187 %189 = call float @llvm.AMDGPU.rsq(float %188) %190 = fsub float -0.000000e+00, %112 %191 = fsub float -0.000000e+00, %113 %192 = fsub float -0.000000e+00, %114 %193 = fmul float %155, %190 %194 = fmul float %157, %191 %195 = fadd float %194, %193 %196 = fmul float %167, %192 %197 = fadd float %195, %196 %198 = fmul float %197, %155 %199 = fmul float %197, %157 %200 = fmul float %197, %167 %201 = fmul float 2.000000e+00, %198 %202 = fmul float 2.000000e+00, %199 %203 = fmul float 2.000000e+00, %200 %204 = fsub float -0.000000e+00, %201 %205 = fadd float %190, %204 %206 = fsub float -0.000000e+00, %202 %207 = fadd float %191, %206 %208 = fsub float -0.000000e+00, %203 %209 = fadd float %192, %208 %210 = fmul float %205, %115 %211 = fmul float %207, %116 %212 = fadd float %211, %210 %213 = fmul float %209, %117 %214 = fadd float %212, %213 %215 = fmul float %214, %189 %216 = call float @llvm.AMDIL.clamp.(float %215, float 0.000000e+00, float 1.000000e+00) %217 = fmul float %168, %81 %218 = call float @llvm.pow.f32(float %216, float %217) %219 = fmul float %218, %80 %220 = fmul float %115, %155 %221 = fmul float %116, %157 %222 = fadd float %221, %220 %223 = fmul float %117, %167 %224 = fadd float %222, %223 %225 = fmul float %224, %189 %226 = call float @fabs(float %225) %227 = fsub float -0.000000e+00, %226 %228 = fadd float 1.000000e+00, %227 %229 = call float @llvm.AMDIL.clamp.(float %228, float 0.000000e+00, float 1.000000e+00) %230 = call float @llvm.pow.f32(float %229, float %78) %231 = fmul float %230, %77 %232 = fadd float %231, %76 %233 = call float @llvm.AMDIL.clamp.(float %232, float 0.000000e+00, float 1.000000e+00) %234 = fmul float %219, %233 %235 = fmul float 2.000000e+00, %183 %236 = fsub float -0.000000e+00, %235 %237 = fadd float 3.000000e+00, %236 %238 = fmul float %183, %237 %239 = fmul float %183, %238 %240 = call float @llvm.AMDIL.clamp.(float %173, float 0.000000e+00, float 1.000000e+00) %241 = fmul float %239, %83 %242 = fadd float %241, %240 %243 = call float @llvm.AMDIL.clamp.(float %242, float 0.000000e+00, float 1.000000e+00) %244 = fmul float %243, %79 %245 = fmul float %129, %244 %246 = fmul float %130, %244 %247 = fmul float %131, %244 %248 = fmul float %150, %234 %249 = fadd float %248, %245 %250 = fmul float %151, %234 %251 = fadd float %250, %246 %252 = fmul float %152, %234 %253 = fadd float %252, %247 %254 = fmul float %28, %118 %255 = fmul float %29, %118 %256 = fmul float %30, %118 %257 = fmul float %31, %119 %258 = fadd float %257, %254 %259 = fmul float %32, %119 %260 = fadd float %259, %255 %261 = fmul float %33, %119 %262 = fadd float %261, %256 %263 = fmul float %34, %120 %264 = fadd float %263, %258 %265 = fmul float %35, %120 %266 = fadd float %265, %260 %267 = fmul float %36, %120 %268 = fadd float %267, %262 %269 = fmul float %37, %121 %270 = fadd float %269, %264 %271 = fmul float %38, %121 %272 = fadd float %271, %266 %273 = fmul float %39, %121 %274 = fadd float %273, %268 %275 = fadd float %270, -2.500000e-01 %276 = fadd float %272, -2.500000e-01 %277 = call float @fabs(float %275) %278 = call float @fabs(float %276) %279 = fcmp uge float %277, %278 %280 = select i1 %279, float %277, float %278 %281 = fcmp oge float %280, 0x3FCF5C2900000000 %282 = sext i1 %281 to i32 %283 = bitcast i32 %282 to float %284 = bitcast float %283 to i32 %285 = icmp ne i32 %284, 0 br i1 %285, label %IF41, label %ENDIF40 IF41: ; preds = %ENDIF %286 = fmul float %40, %118 %287 = fmul float %41, %118 %288 = fmul float %42, %118 %289 = fmul float %43, %119 %290 = fadd float %289, %286 %291 = fmul float %44, %119 %292 = fadd float %291, %287 %293 = fmul float %45, %119 %294 = fadd float %293, %288 %295 = fmul float %46, %120 %296 = fadd float %295, %290 %297 = fmul float %47, %120 %298 = fadd float %297, %292 %299 = fmul float %48, %120 %300 = fadd float %299, %294 %301 = fmul float %49, %121 %302 = fadd float %301, %296 %303 = fmul float %50, %121 %304 = fadd float %303, %298 %305 = fmul float %51, %121 %306 = fadd float %305, %300 %307 = fadd float %302, -7.500000e-01 %308 = fadd float %304, -2.500000e-01 %309 = call float @fabs(float %307) %310 = call float @fabs(float %308) %311 = fcmp uge float %309, %310 %312 = select i1 %311, float %309, float %310 %313 = fcmp oge float %312, 0x3FCF5C2900000000 %314 = sext i1 %313 to i32 %315 = bitcast i32 %314 to float %316 = bitcast float %315 to i32 %317 = icmp ne i32 %316, 0 br i1 %317, label %IF44, label %ENDIF40 ENDIF40: ; preds = %IF47, %IF44, %IF41, %ENDIF %temp16.0 = phi float [ 0.000000e+00, %ENDIF ], [ 0.000000e+00, %IF41 ], [ %., %IF47 ], [ 0.000000e+00, %IF44 ] %temp24.0 = phi float [ %270, %ENDIF ], [ %302, %IF41 ], [ %371, %IF47 ], [ %339, %IF44 ] %temp25.0 = phi float [ %272, %ENDIF ], [ %304, %IF41 ], [ %373, %IF47 ], [ %341, %IF44 ] %temp26.0 = phi float [ %274, %ENDIF ], [ %306, %IF41 ], [ %375, %IF47 ], [ %343, %IF44 ] %318 = fcmp oeq float %temp16.0, 0.000000e+00 %319 = sext i1 %318 to i32 %320 = bitcast i32 %319 to float %321 = bitcast float %320 to i32 %322 = icmp ne i32 %321, 0 br i1 %322, label %IF53, label %ENDIF52 IF44: ; preds = %IF41 %323 = fmul float %52, %118 %324 = fmul float %53, %118 %325 = fmul float %54, %118 %326 = fmul float %55, %119 %327 = fadd float %326, %323 %328 = fmul float %56, %119 %329 = fadd float %328, %324 %330 = fmul float %57, %119 %331 = fadd float %330, %325 %332 = fmul float %58, %120 %333 = fadd float %332, %327 %334 = fmul float %59, %120 %335 = fadd float %334, %329 %336 = fmul float %60, %120 %337 = fadd float %336, %331 %338 = fmul float %61, %121 %339 = fadd float %338, %333 %340 = fmul float %62, %121 %341 = fadd float %340, %335 %342 = fmul float %63, %121 %343 = fadd float %342, %337 %344 = fadd float %339, -2.500000e-01 %345 = fadd float %341, -7.500000e-01 %346 = call float @fabs(float %344) %347 = call float @fabs(float %345) %348 = fcmp uge float %346, %347 %349 = select i1 %348, float %346, float %347 %350 = fcmp oge float %349, 0x3FCF5C2900000000 %351 = sext i1 %350 to i32 %352 = bitcast i32 %351 to float %353 = bitcast float %352 to i32 %354 = icmp ne i32 %353, 0 br i1 %354, label %IF47, label %ENDIF40 IF47: ; preds = %IF44 %355 = fmul float %64, %118 %356 = fmul float %65, %118 %357 = fmul float %66, %118 %358 = fmul float %67, %119 %359 = fadd float %358, %355 %360 = fmul float %68, %119 %361 = fadd float %360, %356 %362 = fmul float %69, %119 %363 = fadd float %362, %357 %364 = fmul float %70, %120 %365 = fadd float %364, %359 %366 = fmul float %71, %120 %367 = fadd float %366, %361 %368 = fmul float %72, %120 %369 = fadd float %368, %363 %370 = fmul float %73, %121 %371 = fadd float %370, %365 %372 = fmul float %74, %121 %373 = fadd float %372, %367 %374 = fmul float %75, %121 %375 = fadd float %374, %369 %376 = fadd float %371, -7.500000e-01 %377 = fadd float %373, -7.500000e-01 %378 = call float @fabs(float %376) %379 = call float @fabs(float %377) %380 = fcmp uge float %378, %379 %381 = select i1 %380, float %378, float %379 %382 = fcmp oge float %381, 0x3FCF5C2900000000 %383 = sext i1 %382 to i32 %384 = bitcast i32 %383 to float %385 = bitcast float %384 to i32 %386 = icmp ne i32 %385, 0 %. = select i1 %386, float 1.000000e+00, float 0.000000e+00 br label %ENDIF40 IF53: ; preds = %ENDIF40 %387 = fmul float %12, 6.250000e-02 %388 = fmul float %123, 6.250000e-02 %389 = fsub float -0.000000e+00, %26 %390 = fadd float %temp24.0, %389 %391 = fsub float -0.000000e+00, %26 %392 = fadd float %temp25.0, %391 %393 = bitcast float %387 to i32 %394 = bitcast float %388 to i32 %395 = bitcast float 0.000000e+00 to i32 %396 = insertelement <4 x i32> undef, i32 %393, i32 0 %397 = insertelement <4 x i32> %396, i32 %394, i32 1 %398 = insertelement <4 x i32> %397, i32 %395, i32 2 %399 = insertelement <4 x i32> %398, i32 undef, i32 3 %400 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %399, <32 x i8> %107, <16 x i8> %109, i32 3) %401 = extractelement <4 x float> %400, i32 0 %402 = extractelement <4 x float> %400, i32 1 %403 = extractelement <4 x float> %400, i32 2 %404 = extractelement <4 x float> %400, i32 3 %405 = fmul float %401, %27 %406 = fmul float %402, %27 %407 = fmul float %403, %27 %408 = fmul float %404, %27 %409 = fadd float %390, %405 %410 = fadd float %392, %406 %411 = bitcast float %temp26.0 to i32 %412 = bitcast float %409 to i32 %413 = bitcast float %410 to i32 %414 = insertelement <4 x i32> undef, i32 %411, i32 0 %415 = insertelement <4 x i32> %414, i32 %412, i32 1 %416 = insertelement <4 x i32> %415, i32 %413, i32 2 %417 = insertelement <4 x i32> %416, i32 undef, i32 3 %418 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %417, <32 x i8> %103, <16 x i8> %105, i32 7) %419 = extractelement <4 x float> %418, i32 0 %420 = fadd float %temp16.0, %419 %421 = fadd float %390, %407 %422 = fadd float %392, %408 %423 = bitcast float %temp26.0 to i32 %424 = bitcast float %421 to i32 %425 = bitcast float %422 to i32 %426 = insertelement <4 x i32> undef, i32 %423, i32 0 %427 = insertelement <4 x i32> %426, i32 %424, i32 1 %428 = insertelement <4 x i32> %427, i32 %425, i32 2 %429 = insertelement <4 x i32> %428, i32 undef, i32 3 %430 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %429, <32 x i8> %103, <16 x i8> %105, i32 7) %431 = extractelement <4 x float> %430, i32 0 %432 = fadd float %420, %431 %433 = bitcast float %387 to i32 %434 = bitcast float %388 to i32 %435 = bitcast float 6.250000e-02 to i32 %436 = insertelement <4 x i32> undef, i32 %433, i32 0 %437 = insertelement <4 x i32> %436, i32 %434, i32 1 %438 = insertelement <4 x i32> %437, i32 %435, i32 2 %439 = insertelement <4 x i32> %438, i32 undef, i32 3 %440 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %439, <32 x i8> %107, <16 x i8> %109, i32 3) %441 = extractelement <4 x float> %440, i32 0 %442 = extractelement <4 x float> %440, i32 1 %443 = extractelement <4 x float> %440, i32 2 %444 = extractelement <4 x float> %440, i32 3 %445 = fmul float %441, %27 %446 = fmul float %442, %27 %447 = fmul float %443, %27 %448 = fmul float %444, %27 %449 = fadd float %390, %445 %450 = fadd float %392, %446 %451 = bitcast float %temp26.0 to i32 %452 = bitcast float %449 to i32 %453 = bitcast float %450 to i32 %454 = insertelement <4 x i32> undef, i32 %451, i32 0 %455 = insertelement <4 x i32> %454, i32 %452, i32 1 %456 = insertelement <4 x i32> %455, i32 %453, i32 2 %457 = insertelement <4 x i32> %456, i32 undef, i32 3 %458 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %457, <32 x i8> %103, <16 x i8> %105, i32 7) %459 = extractelement <4 x float> %458, i32 0 %460 = fadd float %432, %459 %461 = fadd float %390, %447 %462 = fadd float %392, %448 %463 = bitcast float %temp26.0 to i32 %464 = bitcast float %461 to i32 %465 = bitcast float %462 to i32 %466 = insertelement <4 x i32> undef, i32 %463, i32 0 %467 = insertelement <4 x i32> %466, i32 %464, i32 1 %468 = insertelement <4 x i32> %467, i32 %465, i32 2 %469 = insertelement <4 x i32> %468, i32 undef, i32 3 %470 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %469, <32 x i8> %103, <16 x i8> %105, i32 7) %471 = extractelement <4 x float> %470, i32 0 %472 = fadd float %460, %471 %473 = bitcast float %387 to i32 %474 = bitcast float %388 to i32 %475 = bitcast float 1.250000e-01 to i32 %476 = insertelement <4 x i32> undef, i32 %473, i32 0 %477 = insertelement <4 x i32> %476, i32 %474, i32 1 %478 = insertelement <4 x i32> %477, i32 %475, i32 2 %479 = insertelement <4 x i32> %478, i32 undef, i32 3 %480 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %479, <32 x i8> %107, <16 x i8> %109, i32 3) %481 = extractelement <4 x float> %480, i32 0 %482 = extractelement <4 x float> %480, i32 1 %483 = extractelement <4 x float> %480, i32 2 %484 = extractelement <4 x float> %480, i32 3 %485 = fmul float %481, %27 %486 = fmul float %482, %27 %487 = fmul float %483, %27 %488 = fmul float %484, %27 %489 = fadd float %390, %485 %490 = fadd float %392, %486 %491 = bitcast float %temp26.0 to i32 %492 = bitcast float %489 to i32 %493 = bitcast float %490 to i32 %494 = insertelement <4 x i32> undef, i32 %491, i32 0 %495 = insertelement <4 x i32> %494, i32 %492, i32 1 %496 = insertelement <4 x i32> %495, i32 %493, i32 2 %497 = insertelement <4 x i32> %496, i32 undef, i32 3 %498 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %497, <32 x i8> %103, <16 x i8> %105, i32 7) %499 = extractelement <4 x float> %498, i32 0 %500 = fadd float %472, %499 %501 = fadd float %390, %487 %502 = fadd float %392, %488 %503 = bitcast float %temp26.0 to i32 %504 = bitcast float %501 to i32 %505 = bitcast float %502 to i32 %506 = insertelement <4 x i32> undef, i32 %503, i32 0 %507 = insertelement <4 x i32> %506, i32 %504, i32 1 %508 = insertelement <4 x i32> %507, i32 %505, i32 2 %509 = insertelement <4 x i32> %508, i32 undef, i32 3 %510 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %509, <32 x i8> %103, <16 x i8> %105, i32 7) %511 = extractelement <4 x float> %510, i32 0 %512 = fadd float %500, %511 %513 = bitcast float %387 to i32 %514 = bitcast float %388 to i32 %515 = bitcast float 1.875000e-01 to i32 %516 = insertelement <4 x i32> undef, i32 %513, i32 0 %517 = insertelement <4 x i32> %516, i32 %514, i32 1 %518 = insertelement <4 x i32> %517, i32 %515, i32 2 %519 = insertelement <4 x i32> %518, i32 undef, i32 3 %520 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %519, <32 x i8> %107, <16 x i8> %109, i32 3) %521 = extractelement <4 x float> %520, i32 0 %522 = extractelement <4 x float> %520, i32 1 %523 = extractelement <4 x float> %520, i32 2 %524 = extractelement <4 x float> %520, i32 3 %525 = fmul float %521, %27 %526 = fmul float %522, %27 %527 = fmul float %523, %27 %528 = fmul float %524, %27 %529 = fadd float %390, %525 %530 = fadd float %392, %526 %531 = bitcast float %temp26.0 to i32 %532 = bitcast float %529 to i32 %533 = bitcast float %530 to i32 %534 = insertelement <4 x i32> undef, i32 %531, i32 0 %535 = insertelement <4 x i32> %534, i32 %532, i32 1 %536 = insertelement <4 x i32> %535, i32 %533, i32 2 %537 = insertelement <4 x i32> %536, i32 undef, i32 3 %538 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %537, <32 x i8> %103, <16 x i8> %105, i32 7) %539 = extractelement <4 x float> %538, i32 0 %540 = fadd float %512, %539 %541 = fadd float %390, %527 %542 = fadd float %392, %528 %543 = bitcast float %temp26.0 to i32 %544 = bitcast float %541 to i32 %545 = bitcast float %542 to i32 %546 = insertelement <4 x i32> undef, i32 %543, i32 0 %547 = insertelement <4 x i32> %546, i32 %544, i32 1 %548 = insertelement <4 x i32> %547, i32 %545, i32 2 %549 = insertelement <4 x i32> %548, i32 undef, i32 3 %550 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %549, <32 x i8> %103, <16 x i8> %105, i32 7) %551 = extractelement <4 x float> %550, i32 0 %552 = fadd float %540, %551 %553 = fmul float %552, 1.250000e-01 %554 = fsub float -0.000000e+00, %553 %555 = fadd float 1.000000e+00, %554 %556 = fmul float %553, %555 %557 = fcmp une float %556, 0.000000e+00 %558 = sext i1 %557 to i32 %559 = bitcast i32 %558 to float %560 = bitcast float %559 to i32 %561 = icmp ne i32 %560, 0 br i1 %561, label %IF56, label %ENDIF55 ENDIF52: ; preds = %ENDIF40, %ENDIF55 %temp12.0 = phi float [ %1057, %ENDIF55 ], [ %249, %ENDIF40 ] %temp13.0 = phi float [ %1058, %ENDIF55 ], [ %251, %ENDIF40 ] %temp14.0 = phi float [ %1059, %ENDIF55 ], [ %253, %ENDIF40 ] %562 = fmul float %temp12.0, %22 %563 = fmul float %temp13.0, %23 %564 = fmul float %temp14.0, %24 %565 = fmul float %562, %84 %566 = fmul float %563, %85 %567 = fmul float %564, %86 %568 = fmul float %132, %87 %569 = call i32 @llvm.SI.packf16(float %565, float %566) %570 = bitcast i32 %569 to float %571 = call i32 @llvm.SI.packf16(float %567, float %568) %572 = bitcast i32 %571 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %570, float %572, float %570, float %572) ret void IF56: ; preds = %IF53 %573 = fmul float %553, 8.000000e+00 %574 = bitcast float %387 to i32 %575 = bitcast float %388 to i32 %576 = bitcast float 2.500000e-01 to i32 %577 = insertelement <4 x i32> undef, i32 %574, i32 0 %578 = insertelement <4 x i32> %577, i32 %575, i32 1 %579 = insertelement <4 x i32> %578, i32 %576, i32 2 %580 = insertelement <4 x i32> %579, i32 undef, i32 3 %581 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %580, <32 x i8> %107, <16 x i8> %109, i32 3) %582 = extractelement <4 x float> %581, i32 0 %583 = extractelement <4 x float> %581, i32 1 %584 = extractelement <4 x float> %581, i32 2 %585 = extractelement <4 x float> %581, i32 3 %586 = fmul float %582, %27 %587 = fmul float %583, %27 %588 = fmul float %584, %27 %589 = fmul float %585, %27 %590 = fadd float %390, %586 %591 = fadd float %392, %587 %592 = bitcast float %temp26.0 to i32 %593 = bitcast float %590 to i32 %594 = bitcast float %591 to i32 %595 = insertelement <4 x i32> undef, i32 %592, i32 0 %596 = insertelement <4 x i32> %595, i32 %593, i32 1 %597 = insertelement <4 x i32> %596, i32 %594, i32 2 %598 = insertelement <4 x i32> %597, i32 undef, i32 3 %599 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %598, <32 x i8> %103, <16 x i8> %105, i32 7) %600 = extractelement <4 x float> %599, i32 0 %601 = fadd float %573, %600 %602 = fadd float %390, %588 %603 = fadd float %392, %589 %604 = bitcast float %temp26.0 to i32 %605 = bitcast float %602 to i32 %606 = bitcast float %603 to i32 %607 = insertelement <4 x i32> undef, i32 %604, i32 0 %608 = insertelement <4 x i32> %607, i32 %605, i32 1 %609 = insertelement <4 x i32> %608, i32 %606, i32 2 %610 = insertelement <4 x i32> %609, i32 undef, i32 3 %611 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %610, <32 x i8> %103, <16 x i8> %105, i32 7) %612 = extractelement <4 x float> %611, i32 0 %613 = fadd float %601, %612 %614 = bitcast float %387 to i32 %615 = bitcast float %388 to i32 %616 = bitcast float 3.125000e-01 to i32 %617 = insertelement <4 x i32> undef, i32 %614, i32 0 %618 = insertelement <4 x i32> %617, i32 %615, i32 1 %619 = insertelement <4 x i32> %618, i32 %616, i32 2 %620 = insertelement <4 x i32> %619, i32 undef, i32 3 %621 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %620, <32 x i8> %107, <16 x i8> %109, i32 3) %622 = extractelement <4 x float> %621, i32 0 %623 = extractelement <4 x float> %621, i32 1 %624 = extractelement <4 x float> %621, i32 2 %625 = extractelement <4 x float> %621, i32 3 %626 = fmul float %622, %27 %627 = fmul float %623, %27 %628 = fmul float %624, %27 %629 = fmul float %625, %27 %630 = fadd float %390, %626 %631 = fadd float %392, %627 %632 = bitcast float %temp26.0 to i32 %633 = bitcast float %630 to i32 %634 = bitcast float %631 to i32 %635 = insertelement <4 x i32> undef, i32 %632, i32 0 %636 = insertelement <4 x i32> %635, i32 %633, i32 1 %637 = insertelement <4 x i32> %636, i32 %634, i32 2 %638 = insertelement <4 x i32> %637, i32 undef, i32 3 %639 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %638, <32 x i8> %103, <16 x i8> %105, i32 7) %640 = extractelement <4 x float> %639, i32 0 %641 = fadd float %613, %640 %642 = fadd float %390, %628 %643 = fadd float %392, %629 %644 = bitcast float %temp26.0 to i32 %645 = bitcast float %642 to i32 %646 = bitcast float %643 to i32 %647 = insertelement <4 x i32> undef, i32 %644, i32 0 %648 = insertelement <4 x i32> %647, i32 %645, i32 1 %649 = insertelement <4 x i32> %648, i32 %646, i32 2 %650 = insertelement <4 x i32> %649, i32 undef, i32 3 %651 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %650, <32 x i8> %103, <16 x i8> %105, i32 7) %652 = extractelement <4 x float> %651, i32 0 %653 = fadd float %641, %652 %654 = bitcast float %387 to i32 %655 = bitcast float %388 to i32 %656 = bitcast float 3.750000e-01 to i32 %657 = insertelement <4 x i32> undef, i32 %654, i32 0 %658 = insertelement <4 x i32> %657, i32 %655, i32 1 %659 = insertelement <4 x i32> %658, i32 %656, i32 2 %660 = insertelement <4 x i32> %659, i32 undef, i32 3 %661 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %660, <32 x i8> %107, <16 x i8> %109, i32 3) %662 = extractelement <4 x float> %661, i32 0 %663 = extractelement <4 x float> %661, i32 1 %664 = extractelement <4 x float> %661, i32 2 %665 = extractelement <4 x float> %661, i32 3 %666 = fmul float %662, %27 %667 = fmul float %663, %27 %668 = fmul float %664, %27 %669 = fmul float %665, %27 %670 = fadd float %390, %666 %671 = fadd float %392, %667 %672 = bitcast float %temp26.0 to i32 %673 = bitcast float %670 to i32 %674 = bitcast float %671 to i32 %675 = insertelement <4 x i32> undef, i32 %672, i32 0 %676 = insertelement <4 x i32> %675, i32 %673, i32 1 %677 = insertelement <4 x i32> %676, i32 %674, i32 2 %678 = insertelement <4 x i32> %677, i32 undef, i32 3 %679 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %678, <32 x i8> %103, <16 x i8> %105, i32 7) %680 = extractelement <4 x float> %679, i32 0 %681 = fadd float %653, %680 %682 = fadd float %390, %668 %683 = fadd float %392, %669 %684 = bitcast float %temp26.0 to i32 %685 = bitcast float %682 to i32 %686 = bitcast float %683 to i32 %687 = insertelement <4 x i32> undef, i32 %684, i32 0 %688 = insertelement <4 x i32> %687, i32 %685, i32 1 %689 = insertelement <4 x i32> %688, i32 %686, i32 2 %690 = insertelement <4 x i32> %689, i32 undef, i32 3 %691 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %690, <32 x i8> %103, <16 x i8> %105, i32 7) %692 = extractelement <4 x float> %691, i32 0 %693 = fadd float %681, %692 %694 = bitcast float %387 to i32 %695 = bitcast float %388 to i32 %696 = bitcast float 4.375000e-01 to i32 %697 = insertelement <4 x i32> undef, i32 %694, i32 0 %698 = insertelement <4 x i32> %697, i32 %695, i32 1 %699 = insertelement <4 x i32> %698, i32 %696, i32 2 %700 = insertelement <4 x i32> %699, i32 undef, i32 3 %701 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %700, <32 x i8> %107, <16 x i8> %109, i32 3) %702 = extractelement <4 x float> %701, i32 0 %703 = extractelement <4 x float> %701, i32 1 %704 = extractelement <4 x float> %701, i32 2 %705 = extractelement <4 x float> %701, i32 3 %706 = fmul float %702, %27 %707 = fmul float %703, %27 %708 = fmul float %704, %27 %709 = fmul float %705, %27 %710 = fadd float %390, %706 %711 = fadd float %392, %707 %712 = bitcast float %temp26.0 to i32 %713 = bitcast float %710 to i32 %714 = bitcast float %711 to i32 %715 = insertelement <4 x i32> undef, i32 %712, i32 0 %716 = insertelement <4 x i32> %715, i32 %713, i32 1 %717 = insertelement <4 x i32> %716, i32 %714, i32 2 %718 = insertelement <4 x i32> %717, i32 undef, i32 3 %719 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %718, <32 x i8> %103, <16 x i8> %105, i32 7) %720 = extractelement <4 x float> %719, i32 0 %721 = fadd float %693, %720 %722 = fadd float %390, %708 %723 = fadd float %392, %709 %724 = bitcast float %temp26.0 to i32 %725 = bitcast float %722 to i32 %726 = bitcast float %723 to i32 %727 = insertelement <4 x i32> undef, i32 %724, i32 0 %728 = insertelement <4 x i32> %727, i32 %725, i32 1 %729 = insertelement <4 x i32> %728, i32 %726, i32 2 %730 = insertelement <4 x i32> %729, i32 undef, i32 3 %731 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %730, <32 x i8> %103, <16 x i8> %105, i32 7) %732 = extractelement <4 x float> %731, i32 0 %733 = fadd float %721, %732 %734 = bitcast float %387 to i32 %735 = bitcast float %388 to i32 %736 = bitcast float 5.000000e-01 to i32 %737 = insertelement <4 x i32> undef, i32 %734, i32 0 %738 = insertelement <4 x i32> %737, i32 %735, i32 1 %739 = insertelement <4 x i32> %738, i32 %736, i32 2 %740 = insertelement <4 x i32> %739, i32 undef, i32 3 %741 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %740, <32 x i8> %107, <16 x i8> %109, i32 3) %742 = extractelement <4 x float> %741, i32 0 %743 = extractelement <4 x float> %741, i32 1 %744 = extractelement <4 x float> %741, i32 2 %745 = extractelement <4 x float> %741, i32 3 %746 = fmul float %742, %27 %747 = fmul float %743, %27 %748 = fmul float %744, %27 %749 = fmul float %745, %27 %750 = fadd float %390, %746 %751 = fadd float %392, %747 %752 = bitcast float %temp26.0 to i32 %753 = bitcast float %750 to i32 %754 = bitcast float %751 to i32 %755 = insertelement <4 x i32> undef, i32 %752, i32 0 %756 = insertelement <4 x i32> %755, i32 %753, i32 1 %757 = insertelement <4 x i32> %756, i32 %754, i32 2 %758 = insertelement <4 x i32> %757, i32 undef, i32 3 %759 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %758, <32 x i8> %103, <16 x i8> %105, i32 7) %760 = extractelement <4 x float> %759, i32 0 %761 = fadd float %733, %760 %762 = fadd float %390, %748 %763 = fadd float %392, %749 %764 = bitcast float %temp26.0 to i32 %765 = bitcast float %762 to i32 %766 = bitcast float %763 to i32 %767 = insertelement <4 x i32> undef, i32 %764, i32 0 %768 = insertelement <4 x i32> %767, i32 %765, i32 1 %769 = insertelement <4 x i32> %768, i32 %766, i32 2 %770 = insertelement <4 x i32> %769, i32 undef, i32 3 %771 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %770, <32 x i8> %103, <16 x i8> %105, i32 7) %772 = extractelement <4 x float> %771, i32 0 %773 = fadd float %761, %772 %774 = bitcast float %387 to i32 %775 = bitcast float %388 to i32 %776 = bitcast float 5.625000e-01 to i32 %777 = insertelement <4 x i32> undef, i32 %774, i32 0 %778 = insertelement <4 x i32> %777, i32 %775, i32 1 %779 = insertelement <4 x i32> %778, i32 %776, i32 2 %780 = insertelement <4 x i32> %779, i32 undef, i32 3 %781 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %780, <32 x i8> %107, <16 x i8> %109, i32 3) %782 = extractelement <4 x float> %781, i32 0 %783 = extractelement <4 x float> %781, i32 1 %784 = extractelement <4 x float> %781, i32 2 %785 = extractelement <4 x float> %781, i32 3 %786 = fmul float %782, %27 %787 = fmul float %783, %27 %788 = fmul float %784, %27 %789 = fmul float %785, %27 %790 = fadd float %390, %786 %791 = fadd float %392, %787 %792 = bitcast float %temp26.0 to i32 %793 = bitcast float %790 to i32 %794 = bitcast float %791 to i32 %795 = insertelement <4 x i32> undef, i32 %792, i32 0 %796 = insertelement <4 x i32> %795, i32 %793, i32 1 %797 = insertelement <4 x i32> %796, i32 %794, i32 2 %798 = insertelement <4 x i32> %797, i32 undef, i32 3 %799 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %798, <32 x i8> %103, <16 x i8> %105, i32 7) %800 = extractelement <4 x float> %799, i32 0 %801 = fadd float %773, %800 %802 = fadd float %390, %788 %803 = fadd float %392, %789 %804 = bitcast float %temp26.0 to i32 %805 = bitcast float %802 to i32 %806 = bitcast float %803 to i32 %807 = insertelement <4 x i32> undef, i32 %804, i32 0 %808 = insertelement <4 x i32> %807, i32 %805, i32 1 %809 = insertelement <4 x i32> %808, i32 %806, i32 2 %810 = insertelement <4 x i32> %809, i32 undef, i32 3 %811 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %810, <32 x i8> %103, <16 x i8> %105, i32 7) %812 = extractelement <4 x float> %811, i32 0 %813 = fadd float %801, %812 %814 = bitcast float %387 to i32 %815 = bitcast float %388 to i32 %816 = bitcast float 6.250000e-01 to i32 %817 = insertelement <4 x i32> undef, i32 %814, i32 0 %818 = insertelement <4 x i32> %817, i32 %815, i32 1 %819 = insertelement <4 x i32> %818, i32 %816, i32 2 %820 = insertelement <4 x i32> %819, i32 undef, i32 3 %821 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %820, <32 x i8> %107, <16 x i8> %109, i32 3) %822 = extractelement <4 x float> %821, i32 0 %823 = extractelement <4 x float> %821, i32 1 %824 = extractelement <4 x float> %821, i32 2 %825 = extractelement <4 x float> %821, i32 3 %826 = fmul float %822, %27 %827 = fmul float %823, %27 %828 = fmul float %824, %27 %829 = fmul float %825, %27 %830 = fadd float %390, %826 %831 = fadd float %392, %827 %832 = bitcast float %temp26.0 to i32 %833 = bitcast float %830 to i32 %834 = bitcast float %831 to i32 %835 = insertelement <4 x i32> undef, i32 %832, i32 0 %836 = insertelement <4 x i32> %835, i32 %833, i32 1 %837 = insertelement <4 x i32> %836, i32 %834, i32 2 %838 = insertelement <4 x i32> %837, i32 undef, i32 3 %839 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %838, <32 x i8> %103, <16 x i8> %105, i32 7) %840 = extractelement <4 x float> %839, i32 0 %841 = fadd float %813, %840 %842 = fadd float %390, %828 %843 = fadd float %392, %829 %844 = bitcast float %temp26.0 to i32 %845 = bitcast float %842 to i32 %846 = bitcast float %843 to i32 %847 = insertelement <4 x i32> undef, i32 %844, i32 0 %848 = insertelement <4 x i32> %847, i32 %845, i32 1 %849 = insertelement <4 x i32> %848, i32 %846, i32 2 %850 = insertelement <4 x i32> %849, i32 undef, i32 3 %851 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %850, <32 x i8> %103, <16 x i8> %105, i32 7) %852 = extractelement <4 x float> %851, i32 0 %853 = fadd float %841, %852 %854 = bitcast float %387 to i32 %855 = bitcast float %388 to i32 %856 = bitcast float 6.875000e-01 to i32 %857 = insertelement <4 x i32> undef, i32 %854, i32 0 %858 = insertelement <4 x i32> %857, i32 %855, i32 1 %859 = insertelement <4 x i32> %858, i32 %856, i32 2 %860 = insertelement <4 x i32> %859, i32 undef, i32 3 %861 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %860, <32 x i8> %107, <16 x i8> %109, i32 3) %862 = extractelement <4 x float> %861, i32 0 %863 = extractelement <4 x float> %861, i32 1 %864 = extractelement <4 x float> %861, i32 2 %865 = extractelement <4 x float> %861, i32 3 %866 = fmul float %862, %27 %867 = fmul float %863, %27 %868 = fmul float %864, %27 %869 = fmul float %865, %27 %870 = fadd float %390, %866 %871 = fadd float %392, %867 %872 = bitcast float %temp26.0 to i32 %873 = bitcast float %870 to i32 %874 = bitcast float %871 to i32 %875 = insertelement <4 x i32> undef, i32 %872, i32 0 %876 = insertelement <4 x i32> %875, i32 %873, i32 1 %877 = insertelement <4 x i32> %876, i32 %874, i32 2 %878 = insertelement <4 x i32> %877, i32 undef, i32 3 %879 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %878, <32 x i8> %103, <16 x i8> %105, i32 7) %880 = extractelement <4 x float> %879, i32 0 %881 = fadd float %853, %880 %882 = fadd float %390, %868 %883 = fadd float %392, %869 %884 = bitcast float %temp26.0 to i32 %885 = bitcast float %882 to i32 %886 = bitcast float %883 to i32 %887 = insertelement <4 x i32> undef, i32 %884, i32 0 %888 = insertelement <4 x i32> %887, i32 %885, i32 1 %889 = insertelement <4 x i32> %888, i32 %886, i32 2 %890 = insertelement <4 x i32> %889, i32 undef, i32 3 %891 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %890, <32 x i8> %103, <16 x i8> %105, i32 7) %892 = extractelement <4 x float> %891, i32 0 %893 = fadd float %881, %892 %894 = bitcast float %387 to i32 %895 = bitcast float %388 to i32 %896 = bitcast float 7.500000e-01 to i32 %897 = insertelement <4 x i32> undef, i32 %894, i32 0 %898 = insertelement <4 x i32> %897, i32 %895, i32 1 %899 = insertelement <4 x i32> %898, i32 %896, i32 2 %900 = insertelement <4 x i32> %899, i32 undef, i32 3 %901 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %900, <32 x i8> %107, <16 x i8> %109, i32 3) %902 = extractelement <4 x float> %901, i32 0 %903 = extractelement <4 x float> %901, i32 1 %904 = extractelement <4 x float> %901, i32 2 %905 = extractelement <4 x float> %901, i32 3 %906 = fmul float %902, %27 %907 = fmul float %903, %27 %908 = fmul float %904, %27 %909 = fmul float %905, %27 %910 = fadd float %390, %906 %911 = fadd float %392, %907 %912 = bitcast float %temp26.0 to i32 %913 = bitcast float %910 to i32 %914 = bitcast float %911 to i32 %915 = insertelement <4 x i32> undef, i32 %912, i32 0 %916 = insertelement <4 x i32> %915, i32 %913, i32 1 %917 = insertelement <4 x i32> %916, i32 %914, i32 2 %918 = insertelement <4 x i32> %917, i32 undef, i32 3 %919 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %918, <32 x i8> %103, <16 x i8> %105, i32 7) %920 = extractelement <4 x float> %919, i32 0 %921 = fadd float %893, %920 %922 = fadd float %390, %908 %923 = fadd float %392, %909 %924 = bitcast float %temp26.0 to i32 %925 = bitcast float %922 to i32 %926 = bitcast float %923 to i32 %927 = insertelement <4 x i32> undef, i32 %924, i32 0 %928 = insertelement <4 x i32> %927, i32 %925, i32 1 %929 = insertelement <4 x i32> %928, i32 %926, i32 2 %930 = insertelement <4 x i32> %929, i32 undef, i32 3 %931 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %930, <32 x i8> %103, <16 x i8> %105, i32 7) %932 = extractelement <4 x float> %931, i32 0 %933 = fadd float %921, %932 %934 = bitcast float %387 to i32 %935 = bitcast float %388 to i32 %936 = bitcast float 8.125000e-01 to i32 %937 = insertelement <4 x i32> undef, i32 %934, i32 0 %938 = insertelement <4 x i32> %937, i32 %935, i32 1 %939 = insertelement <4 x i32> %938, i32 %936, i32 2 %940 = insertelement <4 x i32> %939, i32 undef, i32 3 %941 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %940, <32 x i8> %107, <16 x i8> %109, i32 3) %942 = extractelement <4 x float> %941, i32 0 %943 = extractelement <4 x float> %941, i32 1 %944 = extractelement <4 x float> %941, i32 2 %945 = extractelement <4 x float> %941, i32 3 %946 = fmul float %942, %27 %947 = fmul float %943, %27 %948 = fmul float %944, %27 %949 = fmul float %945, %27 %950 = fadd float %390, %946 %951 = fadd float %392, %947 %952 = bitcast float %temp26.0 to i32 %953 = bitcast float %950 to i32 %954 = bitcast float %951 to i32 %955 = insertelement <4 x i32> undef, i32 %952, i32 0 %956 = insertelement <4 x i32> %955, i32 %953, i32 1 %957 = insertelement <4 x i32> %956, i32 %954, i32 2 %958 = insertelement <4 x i32> %957, i32 undef, i32 3 %959 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %958, <32 x i8> %103, <16 x i8> %105, i32 7) %960 = extractelement <4 x float> %959, i32 0 %961 = fadd float %933, %960 %962 = fadd float %390, %948 %963 = fadd float %392, %949 %964 = bitcast float %temp26.0 to i32 %965 = bitcast float %962 to i32 %966 = bitcast float %963 to i32 %967 = insertelement <4 x i32> undef, i32 %964, i32 0 %968 = insertelement <4 x i32> %967, i32 %965, i32 1 %969 = insertelement <4 x i32> %968, i32 %966, i32 2 %970 = insertelement <4 x i32> %969, i32 undef, i32 3 %971 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %970, <32 x i8> %103, <16 x i8> %105, i32 7) %972 = extractelement <4 x float> %971, i32 0 %973 = fadd float %961, %972 %974 = bitcast float %387 to i32 %975 = bitcast float %388 to i32 %976 = bitcast float 8.750000e-01 to i32 %977 = insertelement <4 x i32> undef, i32 %974, i32 0 %978 = insertelement <4 x i32> %977, i32 %975, i32 1 %979 = insertelement <4 x i32> %978, i32 %976, i32 2 %980 = insertelement <4 x i32> %979, i32 undef, i32 3 %981 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %980, <32 x i8> %107, <16 x i8> %109, i32 3) %982 = extractelement <4 x float> %981, i32 0 %983 = extractelement <4 x float> %981, i32 1 %984 = extractelement <4 x float> %981, i32 2 %985 = extractelement <4 x float> %981, i32 3 %986 = fmul float %982, %27 %987 = fmul float %983, %27 %988 = fmul float %984, %27 %989 = fmul float %985, %27 %990 = fadd float %390, %986 %991 = fadd float %392, %987 %992 = bitcast float %temp26.0 to i32 %993 = bitcast float %990 to i32 %994 = bitcast float %991 to i32 %995 = insertelement <4 x i32> undef, i32 %992, i32 0 %996 = insertelement <4 x i32> %995, i32 %993, i32 1 %997 = insertelement <4 x i32> %996, i32 %994, i32 2 %998 = insertelement <4 x i32> %997, i32 undef, i32 3 %999 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %998, <32 x i8> %103, <16 x i8> %105, i32 7) %1000 = extractelement <4 x float> %999, i32 0 %1001 = fadd float %973, %1000 %1002 = fadd float %390, %988 %1003 = fadd float %392, %989 %1004 = bitcast float %temp26.0 to i32 %1005 = bitcast float %1002 to i32 %1006 = bitcast float %1003 to i32 %1007 = insertelement <4 x i32> undef, i32 %1004, i32 0 %1008 = insertelement <4 x i32> %1007, i32 %1005, i32 1 %1009 = insertelement <4 x i32> %1008, i32 %1006, i32 2 %1010 = insertelement <4 x i32> %1009, i32 undef, i32 3 %1011 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1010, <32 x i8> %103, <16 x i8> %105, i32 7) %1012 = extractelement <4 x float> %1011, i32 0 %1013 = fadd float %1001, %1012 %1014 = bitcast float %387 to i32 %1015 = bitcast float %388 to i32 %1016 = bitcast float 9.375000e-01 to i32 %1017 = insertelement <4 x i32> undef, i32 %1014, i32 0 %1018 = insertelement <4 x i32> %1017, i32 %1015, i32 1 %1019 = insertelement <4 x i32> %1018, i32 %1016, i32 2 %1020 = insertelement <4 x i32> %1019, i32 undef, i32 3 %1021 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1020, <32 x i8> %107, <16 x i8> %109, i32 3) %1022 = extractelement <4 x float> %1021, i32 0 %1023 = extractelement <4 x float> %1021, i32 1 %1024 = extractelement <4 x float> %1021, i32 2 %1025 = extractelement <4 x float> %1021, i32 3 %1026 = fmul float %1022, %27 %1027 = fmul float %1023, %27 %1028 = fmul float %1024, %27 %1029 = fmul float %1025, %27 %1030 = fadd float %390, %1026 %1031 = fadd float %392, %1027 %1032 = bitcast float %temp26.0 to i32 %1033 = bitcast float %1030 to i32 %1034 = bitcast float %1031 to i32 %1035 = insertelement <4 x i32> undef, i32 %1032, i32 0 %1036 = insertelement <4 x i32> %1035, i32 %1033, i32 1 %1037 = insertelement <4 x i32> %1036, i32 %1034, i32 2 %1038 = insertelement <4 x i32> %1037, i32 undef, i32 3 %1039 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1038, <32 x i8> %103, <16 x i8> %105, i32 7) %1040 = extractelement <4 x float> %1039, i32 0 %1041 = fadd float %1013, %1040 %1042 = fadd float %390, %1028 %1043 = fadd float %392, %1029 %1044 = bitcast float %temp26.0 to i32 %1045 = bitcast float %1042 to i32 %1046 = bitcast float %1043 to i32 %1047 = insertelement <4 x i32> undef, i32 %1044, i32 0 %1048 = insertelement <4 x i32> %1047, i32 %1045, i32 1 %1049 = insertelement <4 x i32> %1048, i32 %1046, i32 2 %1050 = insertelement <4 x i32> %1049, i32 undef, i32 3 %1051 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1050, <32 x i8> %103, <16 x i8> %105, i32 7) %1052 = extractelement <4 x float> %1051, i32 0 %1053 = fadd float %1041, %1052 %1054 = fmul float %1053, 3.125000e-02 br label %ENDIF55 ENDIF55: ; preds = %IF53, %IF56 %temp16.4 = phi float [ %1054, %IF56 ], [ %553, %IF53 ] %1055 = fadd float %temp16.4, %25 %1056 = call float @llvm.AMDIL.clamp.(float %1055, float 0.000000e+00, float 1.000000e+00) %1057 = fmul float %249, %1056 %1058 = fmul float %251, %1056 %1059 = fmul float %253, %1056 br label %ENDIF52 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.AMDGPU.kilp() ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8240100 c8250101 c8200000 c8210001 c0840300 c0c60500 bf8c007f f0800f00 00430408 bf8c0770 d0060034 0201e107 c0840100 bf8c007f c200096c c200896d bf8c007f 7e140201 d282000d 04280103 c8300f00 c8310f01 c8380e00 c8390e01 c83c0d00 c83d0d01 c8400c00 c8410c01 c80c0a00 c80d0a01 c82c0900 c82d0901 c8480800 c8490801 c8280600 c8290601 c8440500 c8450501 c84c0400 c84d0401 c08e0308 c0d00510 c0940304 c0d60508 c2090951 c20b0950 c20d094e c20c894d c20a094c c20c094a c20b8949 c20d8948 c2000916 c2070915 c2038914 c2008912 c2080911 c2068910 c203090e c209890d c207890c c206090a c20a8909 c2088908 bf8c007f 7e00021b beb42434 89b4347e 7e0202f3 7c260280 88fe347e bf890003 f8001890 00000000 bf810000 f0800300 014b1408 bf8c0770 06022914 060202f3 06282b15 062828f3 102a2914 d2820015 04560301 082a2af2 d2060815 02010115 7e2c5b15 102c2b16 d2060015 22010115 d0080028 02022a80 d2000015 00a22c80 102c2b0a 102e0313 d2060018 22010111 10323114 08322f19 082c2d19 10322916 d2820019 04662916 08303318 10320316 d2820019 04660316 d2060013 22010113 08263313 10262712 d2820013 044e1718 10302b16 d2820016 04622b16 d2060018 2201010a 082c2d18 d2820013 044e0716 d2100016 02022512 d2820016 045a170b d2820016 045a0703 7e2c5b16 10262d13 d2060813 02010113 7e264f13 f0800f00 00e81808 7e1002ff 38d1b717 bf8c0770 0610111b 1010101a 0e102708 7e104b08 10101019 10020312 d2820001 0406290b d2820001 04062b03 10022d01 d2060101 02010101 080202f2 d2060801 02010101 7e024f01 0e020218 7e024b01 d2820000 04002f01 d2060800 02010100 10060108 d2820000 045e2911 d2820000 04021515 d2060101 02010100 080202f2 0a020216 d2080008 02002cf2 7e105508 10021101 d2060801 02010101 06100301 081010ff 40400000 10101101 10021101 d2060800 02010100 d2820000 04002501 d2060800 02010100 10100014 10001106 d2820000 0402071a 10021105 d2820001 04060719 10101104 d2820003 04220718 d2100008 02022015 d2820008 04221e13 d2820008 04221c10 d2820011 0422180e 061022ff be800000 d2060108 02010108 d2100009 02022011 d2820009 04261e0f d2820009 04261c0d d2820013 04261807 061226ff be800000 d2060109 02010109 d00c000e 02021109 d2000008 003a1308 7e1202ff 3e7ae148 d00c000e 02021308 d2100008 0202200c d2820008 04221e06 d2820008 04221c01 d2820008 04221800 7e280280 be80240e 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100008 02022014 d2820008 04221e11 d2820008 04221c0e d2820011 04221807 061022ff be800000 d2060108 02010108 d2100009 02022015 d2820009 04261e12 d2820009 04261c0f d2820013 0426180c 061226ff bf400000 d2060109 02010109 d00c000e 02021109 d2000008 003a1308 7e1202ff 3e7ae148 d00c000e 02021308 d2100008 02022013 d2820008 04221e10 d2820008 04221c0d d2820008 04221806 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100008 02022016 d2820008 04221e13 d2820008 04221c10 d2820011 0422180d 061022ff bf400000 d2060108 02010108 d2100009 02022017 d2820009 04261e14 d2820009 04261c11 d2820013 0426180e 061226ff be800000 d2060109 02010109 d00c0010 02021109 d2000008 00421308 7e1202ff 3e7ae148 d00c0010 02021308 d2100008 02022015 d2820008 04221e12 d2820008 04221c0f d2820008 0422180c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100008 02022018 d2820008 04221e15 d2820008 04221c12 d2820011 0422180f 061022ff bf400000 d2060108 02010108 d2100009 02022019 d2820009 04261e16 d2820009 04261c13 d2820013 04261810 061226ff bf400000 d2060109 02010109 d00c0012 02021109 d2000008 004a1308 7e1202ff 3e7ae148 d00c0012 02021308 d2000014 0049e480 d2100008 02022017 d2820008 04221e14 d2820008 04221c11 d2820008 0422180e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c2030907 c2038906 c2120905 c08c0310 c0ce0520 c086030c c0c80518 bf8c007f 7e180224 7e2a0207 d208000e 02022b11 7e1e02ff 3d800000 10201f0d 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e1a0206 bf8c0770 d282001a 043a1b17 d2080002 02022b13 d2820013 040a1b16 7e360308 7e380309 7e3a030a 7e3c030b 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 043a1b19 d2820015 040a1b18 7e2c0308 7e2e0309 7e30030a 7e32030b 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 043a1b15 d2820019 040a1b14 7e340308 7e360309 7e38030a 7e3a030b 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 043a1b17 d2820014 040a1b16 7e320308 7e340309 7e36030a 7e38030b 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 043a1b15 d2820019 040a1b14 7e340308 7e360309 7e38030a 7e3a030b 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 043a1b17 d2820014 040a1b16 7e320308 7e340309 7e36030a 7e38030b 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 043a1b15 d2820019 040a1b14 7e340308 7e360309 7e38030a 7e3a030b 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 043a1b17 d282000d 040a1b16 7e280308 7e2a0309 7e2c030a 7e2e030b 7e2a030d 7e2c0318 f0a00100 00640d14 bf8c0770 061a1b13 101a1aff 3e000000 08261af2 1026270d d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0206 bf8c0700 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 7e3202ff 41000000 bf8c0770 d282000d 0462330d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202f0 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000a 043a2f14 d2820009 040a2f13 f0a00100 00641808 bf8c0770 061a310d d282000a 043a2f16 d2820009 040a2f15 f0a00100 00641308 bf8c0770 061a270d 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000a 043a2f10 d2820009 040a2f0f f0a00100 00641308 bf8c0770 061a270d d282000a 043a2f12 d2820009 040a2f11 f0a00100 00640208 bf8c0770 0604050d 101a04ff 3d000000 88fe027e d2060002 0202190d d2060802 02010102 10000500 10020501 10060503 88fe007e c202896b c2030902 c2038901 c2060900 c202096a c2018969 c2010968 bf8c007f 7e140205 7e120206 7e100207 7e04020c d2100004 02021507 d2100000 02021300 10000004 5e000900 d2100001 02021101 10020203 d2100002 02020503 10040402 5e020302 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..104] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+8] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+8] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+8] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 20: MOV TEMP[3].y, TEMP[5].xxxx 21: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 22: MOV TEMP[3].z, TEMP[5].xxxx 23: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 24: RSQ TEMP[5].x, TEMP[5].xxxx 25: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 26: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 27: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 28: MOV TEMP[1].y, TEMP[2].xxxx 29: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 30: MOV TEMP[1].z, TEMP[0].xxxx 31: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 32: RSQ TEMP[0].x, TEMP[0].xxxx 33: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 34: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 35: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 36: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 37: MOV TEMP[2].zw, IN[1].wwzw 38: MAD TEMP[2].xy, IN[1].xyyy, CONST[104].xyyy, CONST[104].zwww 39: ADD TEMP[5].xyz, TEMP[4].xyzz, -CONST[5].xyzz 40: MUL TEMP[6], CONST[0], TEMP[5].xxxx 41: MAD TEMP[6], CONST[1], TEMP[5].yyyy, TEMP[6] 42: MAD TEMP[5], CONST[2], TEMP[5].zzzz, TEMP[6] 43: ADD TEMP[5], TEMP[5], CONST[3] 44: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[0].xyzz 45: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[1].xyzz 46: MOV TEMP[6].y, TEMP[7].xxxx 47: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[3].xyzz 48: MUL TEMP[7].x, TEMP[7].xxxx, CONST[7].xxxx 49: MOV TEMP[6].z, TEMP[7].xxxx 50: ADD TEMP[7].xyz, CONST[4].xyzz, -TEMP[4].xyzz 51: DP3 TEMP[0].x, TEMP[7].xyzz, TEMP[0].xyzz 52: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[1].xyzz 53: MOV TEMP[0].y, TEMP[1].xxxx 54: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[3].xyzz 55: MUL TEMP[1].x, TEMP[1].xxxx, CONST[7].xxxx 56: MOV TEMP[0].z, TEMP[1].xxxx 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[6] 59: MOV OUT[3], TEMP[0] 60: MOV OUT[4], TEMP[4] 61: MOV OUT[0], TEMP[5] 62: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1676) %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %61 = load <16 x i8> addrspace(2)* %60, !tbaa !0 %62 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %61, i32 0, i32 %5) %63 = extractelement <4 x float> %62, i32 0 %64 = extractelement <4 x float> %62, i32 1 %65 = extractelement <4 x float> %62, i32 2 %66 = extractelement <4 x float> %62, i32 3 %67 = add i32 %8, %4 %68 = mul i32 %67, 3 %69 = bitcast i32 %68 to float %70 = bitcast float %69 to i32 %71 = add i32 %70, 0 %72 = bitcast float %69 to i32 %73 = add i32 %72, 1 %74 = bitcast float %69 to i32 %75 = add i32 %74, 2 %76 = bitcast i32 %71 to float %77 = bitcast i32 %73 to float %78 = bitcast i32 %75 to float %79 = bitcast float %76 to i32 %80 = shl i32 %79, 4 %81 = add i32 %80, 128 %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %81) %83 = shl i32 %79, 4 %84 = add i32 %83, 132 %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %84) %86 = shl i32 %79, 4 %87 = add i32 %86, 136 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %79, 4 %90 = add i32 %89, 140 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = bitcast float %77 to i32 %93 = shl i32 %92, 4 %94 = add i32 %93, 128 %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %94) %96 = shl i32 %92, 4 %97 = add i32 %96, 132 %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %97) %99 = shl i32 %92, 4 %100 = add i32 %99, 136 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %92, 4 %103 = add i32 %102, 140 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = bitcast float %78 to i32 %106 = shl i32 %105, 4 %107 = add i32 %106, 128 %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %107) %109 = shl i32 %105, 4 %110 = add i32 %109, 132 %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %110) %112 = shl i32 %105, 4 %113 = add i32 %112, 136 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %105, 4 %116 = add i32 %115, 140 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = fmul float %44, %82 %119 = fmul float %45, %85 %120 = fadd float %118, %119 %121 = fmul float %59, %88 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %91 %124 = fadd float %122, %123 %125 = fmul float %44, %95 %126 = fmul float %45, %98 %127 = fadd float %125, %126 %128 = fmul float %59, %101 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %104 %131 = fadd float %129, %130 %132 = fmul float %44, %108 %133 = fmul float %45, %111 %134 = fadd float %132, %133 %135 = fmul float %59, %114 %136 = fadd float %134, %135 %137 = fmul float 1.000000e+00, %117 %138 = fadd float %136, %137 %139 = fmul float %56, %82 %140 = fmul float %57, %85 %141 = fadd float %140, %139 %142 = fmul float %58, %88 %143 = fadd float %141, %142 %144 = fmul float %56, %95 %145 = fmul float %57, %98 %146 = fadd float %145, %144 %147 = fmul float %58, %101 %148 = fadd float %146, %147 %149 = fmul float %56, %108 %150 = fmul float %57, %111 %151 = fadd float %150, %149 %152 = fmul float %58, %114 %153 = fadd float %151, %152 %154 = fmul float %143, %143 %155 = fmul float %148, %148 %156 = fadd float %155, %154 %157 = fmul float %153, %153 %158 = fadd float %156, %157 %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %143, %159 %161 = fmul float %148, %159 %162 = fmul float %153, %159 %163 = fmul float %63, %82 %164 = fmul float %64, %85 %165 = fadd float %164, %163 %166 = fmul float %65, %88 %167 = fadd float %165, %166 %168 = fmul float %63, %95 %169 = fmul float %64, %98 %170 = fadd float %169, %168 %171 = fmul float %65, %101 %172 = fadd float %170, %171 %173 = fmul float %63, %108 %174 = fmul float %64, %111 %175 = fadd float %174, %173 %176 = fmul float %65, %114 %177 = fadd float %175, %176 %178 = fmul float %167, %167 %179 = fmul float %172, %172 %180 = fadd float %179, %178 %181 = fmul float %177, %177 %182 = fadd float %180, %181 %183 = call float @llvm.AMDGPU.rsq(float %182) %184 = fmul float %167, %183 %185 = fmul float %172, %183 %186 = fmul float %177, %183 %187 = fmul float %162, %185 %188 = fmul float %160, %186 %189 = fmul float %161, %184 %190 = fsub float -0.000000e+00, %187 %191 = fmul float %161, %186 %192 = fadd float %191, %190 %193 = fsub float -0.000000e+00, %188 %194 = fmul float %162, %184 %195 = fadd float %194, %193 %196 = fsub float -0.000000e+00, %189 %197 = fmul float %160, %185 %198 = fadd float %197, %196 %199 = fmul float %192, %66 %200 = fmul float %195, %66 %201 = fmul float %198, %66 %202 = fmul float %49, %37 %203 = fadd float %202, %39 %204 = fmul float %50, %38 %205 = fadd float %204, %40 %206 = fsub float -0.000000e+00, %30 %207 = fadd float %124, %206 %208 = fsub float -0.000000e+00, %31 %209 = fadd float %131, %208 %210 = fsub float -0.000000e+00, %32 %211 = fadd float %138, %210 %212 = fmul float %11, %207 %213 = fmul float %12, %207 %214 = fmul float %13, %207 %215 = fmul float %14, %207 %216 = fmul float %15, %209 %217 = fadd float %216, %212 %218 = fmul float %16, %209 %219 = fadd float %218, %213 %220 = fmul float %17, %209 %221 = fadd float %220, %214 %222 = fmul float %18, %209 %223 = fadd float %222, %215 %224 = fmul float %19, %211 %225 = fadd float %224, %217 %226 = fmul float %20, %211 %227 = fadd float %226, %219 %228 = fmul float %21, %211 %229 = fadd float %228, %221 %230 = fmul float %22, %211 %231 = fadd float %230, %223 %232 = fadd float %225, %23 %233 = fadd float %227, %24 %234 = fadd float %229, %25 %235 = fadd float %231, %26 %236 = fmul float %33, %184 %237 = fmul float %34, %185 %238 = fadd float %237, %236 %239 = fmul float %35, %186 %240 = fadd float %238, %239 %241 = fmul float %33, %199 %242 = fmul float %34, %200 %243 = fadd float %242, %241 %244 = fmul float %35, %201 %245 = fadd float %243, %244 %246 = fmul float %33, %160 %247 = fmul float %34, %161 %248 = fadd float %247, %246 %249 = fmul float %35, %162 %250 = fadd float %248, %249 %251 = fmul float %250, %36 %252 = fsub float -0.000000e+00, %124 %253 = fadd float %27, %252 %254 = fsub float -0.000000e+00, %131 %255 = fadd float %28, %254 %256 = fsub float -0.000000e+00, %138 %257 = fadd float %29, %256 %258 = fmul float %253, %184 %259 = fmul float %255, %185 %260 = fadd float %259, %258 %261 = fmul float %257, %186 %262 = fadd float %260, %261 %263 = fmul float %253, %199 %264 = fmul float %255, %200 %265 = fadd float %264, %263 %266 = fmul float %257, %201 %267 = fadd float %265, %266 %268 = fmul float %253, %160 %269 = fmul float %255, %161 %270 = fadd float %269, %268 %271 = fmul float %257, %162 %272 = fadd float %270, %271 %273 = fmul float %272, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %203, float %205, float %51, float %52) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %240, float %245, float %251, float %223) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %267, float %273, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %124, float %131, float %138, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %232, float %233, float %234, float %235) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000068c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000684 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000688 c2020004 bf8c007f 7e040204 be8403ff 00000680 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000080 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000084 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000088 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000080 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000084 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000088 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000080 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000084 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000088 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 c2020118 bf8c007f 10362004 c2028119 bf8c007f d282001b 046e3a05 103c1b19 103e111a 083c3d1f 10080f1e c204011a bf8c007f d2820005 046e0808 100c1a04 d2820006 041a1005 d2820006 041a2408 100e3404 d2820007 041e3205 d2820007 041e3808 c202011c bf8c007f 100e0e04 c0840700 bf8c007f e00c2000 80021e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000008c e0301000 80000b0b bf8c0770 06001700 c2028114 bf8c007f 0a160005 c2028103 bf8c007f 10181605 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000008c e0301000 80000202 bf8c0770 06040503 c2028115 bf8c007f 0a060405 c2028107 bf8c007f d2820009 04320605 f800021f 09070506 c2028110 bf8c000f 080a0005 100c2105 c2028111 bf8c007f 080e0405 d2820006 041a3b07 1014271f d282000a 042a231e d282000a 042a2918 4a0202ff 0000008c e0301000 80000101 bf8c0770 0614030a c2028112 bf8c007f 08181405 d2820004 041a090c 100c1b05 d2820006 041a1107 d2820006 041a250c 100a3505 d2820005 04163307 d2820005 0416390c 100a0a04 f800022f 01050406 bf8c070f 7e0202f2 f800023f 010a0200 c2020116 bf8c000f 0a001404 c202010b bf8c007f d2820001 04260004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10041604 c2020106 bf8c007f d2820002 040a0604 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 c2020101 bf8c007f 10081604 c2020105 bf8c007f d2820004 04120604 c2020109 bf8c007f d2820004 04120004 c202010d bf8c007f 06080804 c2020100 bf8c007f 100a1604 c2020104 bf8c007f d2820003 04160604 c2020108 bf8c007f d2820000 040e0004 c200010c bf8c007f 06000000 f80008cf 01020400 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL CONST[0] DCL CONST[4..5] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} 0: RCP TEMP[0].x, IN[0].wwww 1: MUL TEMP[0].xy, IN[0].xyyy, TEMP[0].xxxx 2: MOV TEMP[1].xy, TEMP[0].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[0].xy, TEMP[0].xyyy 5: TEX TEMP[0].xy, TEMP[0], SAMP[1], 2D 6: MAD TEMP[0].xy, TEMP[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 7: DP2 TEMP[2].x, TEMP[0].xyyy, TEMP[0].xyyy 8: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 9: RSQ TEMP[3].x, TEMP[2].xxxx 10: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 11: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].wwww 12: MOV TEMP[0].z, TEMP[3].xxxx 13: MUL TEMP[2].xyz, TEMP[1].xyzz, CONST[0].xyzz 14: DP3 TEMP[3].x, TEMP[0].xyzz, IN[1].xyzz 15: DP3 TEMP[4].x, TEMP[0].xyzz, IN[2].xyzz 16: MOV TEMP[3].y, TEMP[4].xxxx 17: DP3 TEMP[0].x, TEMP[0].xyzz, IN[3].xyzz 18: MOV TEMP[3].z, TEMP[0].xxxx 19: MOV TEMP[0].xyz, TEMP[3].xyzz 20: TEX TEMP[0].xyz, TEMP[0], SAMP[2], CUBE 21: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xyzz 22: MAD TEMP[0].xyz, TEMP[0].xyzz, CONST[4].xxxx, TEMP[2].xyzz 23: MOV TEMP[0].xyz, TEMP[0].xyzx 24: MUL TEMP[1].x, TEMP[1].wwww, IN[0].zzzz 25: MOV TEMP[0].w, TEMP[1].xxxx 26: MUL TEMP[0], TEMP[0], CONST[5] 27: MOV OUT[0], TEMP[0] 28: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 92) %30 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %31 = load <32 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %35 = load <32 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %37 = load <16 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %39 = load <32 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %55 = fdiv float 1.000000e+00, %45 %56 = fmul float %42, %55 %57 = fmul float %43, %55 %58 = bitcast float %56 to i32 %59 = bitcast float %57 to i32 %60 = insertelement <2 x i32> undef, i32 %58, i32 0 %61 = insertelement <2 x i32> %60, i32 %59, i32 1 %62 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %61, <32 x i8> %31, <16 x i8> %33, i32 2) %63 = extractelement <4 x float> %62, i32 0 %64 = extractelement <4 x float> %62, i32 1 %65 = extractelement <4 x float> %62, i32 2 %66 = extractelement <4 x float> %62, i32 3 %67 = bitcast float %56 to i32 %68 = bitcast float %57 to i32 %69 = insertelement <2 x i32> undef, i32 %67, i32 0 %70 = insertelement <2 x i32> %69, i32 %68, i32 1 %71 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %70, <32 x i8> %35, <16 x i8> %37, i32 2) %72 = extractelement <4 x float> %71, i32 0 %73 = extractelement <4 x float> %71, i32 1 %74 = fmul float %72, 2.000000e+00 %75 = fadd float %74, -1.000000e+00 %76 = fmul float %73, 2.000000e+00 %77 = fadd float %76, -1.000000e+00 %78 = fmul float %75, %75 %79 = fmul float %77, %77 %80 = fadd float %78, %79 %81 = fsub float -0.000000e+00, %80 %82 = fadd float 1.000000e+00, %81 %83 = call float @llvm.AMDIL.clamp.(float %82, float 0.000000e+00, float 1.000000e+00) %84 = call float @llvm.AMDGPU.rsq(float %83) %85 = fmul float %84, %83 %86 = fsub float -0.000000e+00, %83 %87 = call float @llvm.AMDGPU.cndlt(float %86, float %85, float 0.000000e+00) %88 = fmul float %63, %22 %89 = fmul float %64, %23 %90 = fmul float %65, %24 %91 = fmul float %75, %46 %92 = fmul float %77, %47 %93 = fadd float %92, %91 %94 = fmul float %87, %48 %95 = fadd float %93, %94 %96 = fmul float %75, %49 %97 = fmul float %77, %50 %98 = fadd float %97, %96 %99 = fmul float %87, %51 %100 = fadd float %98, %99 %101 = fmul float %75, %52 %102 = fmul float %77, %53 %103 = fadd float %102, %101 %104 = fmul float %87, %54 %105 = fadd float %103, %104 %106 = insertelement <4 x float> undef, float %95, i32 0 %107 = insertelement <4 x float> %106, float %100, i32 1 %108 = insertelement <4 x float> %107, float %105, i32 2 %109 = insertelement <4 x float> %108, float 0.000000e+00, i32 3 %110 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %109) %111 = extractelement <4 x float> %110, i32 0 %112 = extractelement <4 x float> %110, i32 1 %113 = extractelement <4 x float> %110, i32 2 %114 = extractelement <4 x float> %110, i32 3 %115 = call float @fabs(float %113) %116 = fdiv float 1.000000e+00, %115 %117 = fmul float %111, %116 %118 = fadd float %117, 1.500000e+00 %119 = fmul float %112, %116 %120 = fadd float %119, 1.500000e+00 %121 = bitcast float %120 to i32 %122 = bitcast float %118 to i32 %123 = bitcast float %114 to i32 %124 = insertelement <4 x i32> undef, i32 %121, i32 0 %125 = insertelement <4 x i32> %124, i32 %122, i32 1 %126 = insertelement <4 x i32> %125, i32 %123, i32 2 %127 = insertelement <4 x i32> %126, i32 undef, i32 3 %128 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %127, <32 x i8> %39, <16 x i8> %41, i32 4) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = fmul float %63, %129 %133 = fmul float %64, %130 %134 = fmul float %65, %131 %135 = fmul float %132, %25 %136 = fadd float %135, %88 %137 = fmul float %133, %25 %138 = fadd float %137, %89 %139 = fmul float %134, %25 %140 = fadd float %139, %90 %141 = fmul float %66, %44 %142 = fmul float %136, %26 %143 = fmul float %138, %27 %144 = fmul float %140, %28 %145 = fmul float %141, %29 %146 = call i32 @llvm.SI.packf16(float %142, float %143) %147 = bitcast i32 %146 to float %148 = call i32 @llvm.SI.packf16(float %144, float %145) %149 = bitcast i32 %148 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %147, float %149, float %147, float %149) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080100 c8090101 c80c0300 c80d0301 7e065503 100a0702 c8080000 c8090001 10080702 c0840304 c0c60508 bf8c007f f0800300 00430204 bf8c0770 060c0502 060c0cf3 06040703 060404f3 10060502 d2820003 040e0d06 080606f2 d2060803 02010103 7e0e5b03 100e0707 d2060003 22010103 d0080008 02020680 d2000003 00220e80 c81c0c00 c81d0c01 100e0f06 c8200d00 c8210d01 d2820007 041e1102 c8200e00 c8210e01 d2820009 041e1103 c82c0800 c82d0801 10161706 c8300900 c8310901 d282000b 042e1902 c8300a00 c8310a01 d2820008 042e1903 c82c0400 c82d0401 100c1706 c82c0500 c82d0501 d2820002 041a1702 c8180600 c8190601 d2820007 040a0d03 7e140280 d28a000c 04261107 d28c000b 04261107 d28e000d 04261107 d288000e 04261107 d2060102 0201010d 7e045502 7e0602ff 3fc00000 d282000d 040e050b d282000c 040e050c c0840308 c0c60510 bf8c007f f0800700 0043060c c0840300 c0c60500 bf8c0070 f0800f00 00430204 bf8c0770 10120f03 c0800100 bf8c007f c2020101 bf8c007f 7e140204 d210000a 02021503 c2020110 bf8c007f d2820009 04280909 c2028115 bf8c007f 10121205 10140d02 c2028100 bf8c007f 7e160205 d210000b 02021702 d282000a 042c090a c2028114 bf8c007f 10141405 5e12130a 100c1104 c2028102 bf8c007f 7e0e0205 d2100007 02020f04 d2820006 041c0906 c2020116 bf8c007f 100c0c04 c81c0200 c81d0201 10000f05 c2000117 bf8c007f 10000000 5e000106 f8001c0f 00090009 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL CONST[0..5] DCL TEMP[0..6], LOCAL 0: DP3 TEMP[0].x, IN[2].xyzz, IN[2].xyzz 1: RSQ TEMP[0].x, TEMP[0].xxxx 2: MUL TEMP[0].xyz, IN[2].xyzz, TEMP[0].xxxx 3: DP3 TEMP[1].x, IN[3].xyzz, IN[3].xyzz 4: RSQ TEMP[1].x, TEMP[1].xxxx 5: MUL TEMP[1].xyz, IN[3].xyzz, TEMP[1].xxxx 6: MUL TEMP[2].xyz, TEMP[0].zxyy, TEMP[1].yzxx 7: MAD TEMP[2].xyz, TEMP[0].yzxx, TEMP[1].zxyy, -TEMP[2].xyzz 8: MUL TEMP[2].xyz, TEMP[2].xyzz, IN[3].wwww 9: MOV TEMP[3].zw, IN[1].wwzw 10: MUL TEMP[4].xy, IN[1].xyyy, CONST[5].xyyy 11: MAD TEMP[3].xy, CONST[5].zwww, IN[1].wwww, TEMP[4].xyyy 12: ADD TEMP[4].xyz, IN[0].xyzz, -CONST[4].xyzz 13: MUL TEMP[5], CONST[0], TEMP[4].xxxx 14: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 15: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 16: MAD TEMP[4], CONST[3], IN[0].wwww, TEMP[4] 17: MOV TEMP[5].x, TEMP[1].xxxx 18: MOV TEMP[5].y, TEMP[2].xxxx 19: MOV TEMP[5].z, TEMP[0].xxxx 20: MOV TEMP[5].xyz, TEMP[5].xyzx 21: MOV TEMP[6].x, TEMP[1].yyyy 22: MOV TEMP[6].y, TEMP[2].yyyy 23: MOV TEMP[6].z, TEMP[0].yyyy 24: MOV TEMP[6].xyz, TEMP[6].xyzx 25: MOV TEMP[1].x, TEMP[1].zzzz 26: MOV TEMP[1].y, TEMP[2].zzzz 27: MOV TEMP[1].z, TEMP[0].zzzz 28: MOV TEMP[0].xyz, TEMP[1].xyzx 29: MOV OUT[1], TEMP[3] 30: MOV OUT[2], TEMP[5] 31: MOV OUT[3], TEMP[6] 32: MOV OUT[4], TEMP[0] 33: MOV OUT[0], TEMP[4] 34: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = extractelement <4 x float> %36, i32 2 %40 = extractelement <4 x float> %36, i32 3 %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = extractelement <4 x float> %43, i32 2 %47 = extractelement <4 x float> %43, i32 3 %48 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %49 = load <16 x i8> addrspace(2)* %48, !tbaa !0 %50 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %49, i32 0, i32 %5) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %55, i32 0, i32 %5) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = extractelement <4 x float> %56, i32 2 %60 = extractelement <4 x float> %56, i32 3 %61 = fmul float %51, %51 %62 = fmul float %52, %52 %63 = fadd float %62, %61 %64 = fmul float %53, %53 %65 = fadd float %63, %64 %66 = call float @llvm.AMDGPU.rsq(float %65) %67 = fmul float %51, %66 %68 = fmul float %52, %66 %69 = fmul float %53, %66 %70 = fmul float %57, %57 %71 = fmul float %58, %58 %72 = fadd float %71, %70 %73 = fmul float %59, %59 %74 = fadd float %72, %73 %75 = call float @llvm.AMDGPU.rsq(float %74) %76 = fmul float %57, %75 %77 = fmul float %58, %75 %78 = fmul float %59, %75 %79 = fmul float %69, %77 %80 = fmul float %67, %78 %81 = fmul float %68, %76 %82 = fsub float -0.000000e+00, %79 %83 = fmul float %68, %78 %84 = fadd float %83, %82 %85 = fsub float -0.000000e+00, %80 %86 = fmul float %69, %76 %87 = fadd float %86, %85 %88 = fsub float -0.000000e+00, %81 %89 = fmul float %67, %77 %90 = fadd float %89, %88 %91 = fmul float %84, %60 %92 = fmul float %87, %60 %93 = fmul float %90, %60 %94 = fmul float %44, %30 %95 = fmul float %45, %31 %96 = fmul float %32, %47 %97 = fadd float %96, %94 %98 = fmul float %33, %47 %99 = fadd float %98, %95 %100 = fsub float -0.000000e+00, %27 %101 = fadd float %37, %100 %102 = fsub float -0.000000e+00, %28 %103 = fadd float %38, %102 %104 = fsub float -0.000000e+00, %29 %105 = fadd float %39, %104 %106 = fmul float %11, %101 %107 = fmul float %12, %101 %108 = fmul float %13, %101 %109 = fmul float %14, %101 %110 = fmul float %15, %103 %111 = fadd float %110, %106 %112 = fmul float %16, %103 %113 = fadd float %112, %107 %114 = fmul float %17, %103 %115 = fadd float %114, %108 %116 = fmul float %18, %103 %117 = fadd float %116, %109 %118 = fmul float %19, %105 %119 = fadd float %118, %111 %120 = fmul float %20, %105 %121 = fadd float %120, %113 %122 = fmul float %21, %105 %123 = fadd float %122, %115 %124 = fmul float %22, %105 %125 = fadd float %124, %117 %126 = fmul float %23, %40 %127 = fadd float %126, %119 %128 = fmul float %24, %40 %129 = fadd float %128, %121 %130 = fmul float %25, %40 %131 = fadd float %130, %123 %132 = fmul float %26, %40 %133 = fadd float %132, %125 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %97, float %99, float %46, float %47) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %76, float %91, float %67, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %77, float %92, float %68, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %78, float %93, float %69, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %127, float %129, float %131, float %133) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020115 bf8c007f 7e0a0204 d2100005 02020b02 c2020117 bf8c007f d2820005 04160804 c2020114 bf8c007f 7e0c0204 d2100006 02020d01 c2020116 bf8c007f d2820006 041a0804 f800020f 04030506 c084070c bf8c000f e00c2000 80020100 bf8c0770 100a0301 d2820005 04160502 d2820005 04160703 7e0a5b05 100c0b02 c0840708 bf8c007f e00c2000 80020700 bf8c0770 10160f07 d282000b 042e1108 d282000b 042e1309 7e165b0b 10181709 101a0d0c 101c0b03 101e1708 10201d0f 081a1b10 101a090d 100e1707 100a0b01 c0820700 bf8c007f e00c2000 80010800 c2020111 bf8c0070 7e000204 d2080000 02020109 c2020110 bf8c007f 7e200204 d2080010 02022108 c2020103 bf8c007f 10222004 c2020107 bf8c007f d2820011 04460004 f800021f 11070d05 bf8c070f 101a1d07 10240b0c 081a1b12 101a090d 7e240280 f800022f 120f0d06 100a0b0f bf8c070f 100c0d07 080a0b06 10020905 f800023f 120c010e c2020112 bf8c000f 7e020204 d2080001 0202030a c202010b bf8c007f d2820002 04460204 c202010f bf8c007f d2820002 040a1604 c2020102 bf8c007f 10062004 c2020106 bf8c007f d2820003 040e0004 c202010a bf8c007f d2820003 040e0204 c202010e bf8c007f d2820003 040e1604 c2020101 bf8c007f 10082004 c2020105 bf8c007f d2820004 04120004 c2020109 bf8c007f d2820004 04120204 c202010d bf8c007f d2820004 04121604 c2020100 bf8c007f 100a2004 c2020104 bf8c007f d2820000 04160004 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f d2820000 04021600 f80008cf 02030400 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[24..25] DCL CONST[0..18] DCL TEMP[0] DCL TEMP[1..8], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.2500, 0.2450, -0.7500, 0.0625} IMM[2] FLT32 { 0.1250, 0.1875, 0.2500, 8.0000} IMM[3] FLT32 { 0.3125, 0.3750, 0.4375, 0.5000} IMM[4] FLT32 { 0.5625, 0.6250, 0.6875, 0.7500} IMM[5] FLT32 { 0.8125, 0.8750, 0.9375, 0.0312} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[25].xxxx, CONST[25].yyyy 2: RCP TEMP[1].x, IN[1].wwww 3: MUL TEMP[1].xy, IN[1].xyyy, TEMP[1].xxxx 4: MOV TEMP[2].xy, TEMP[1].xyyy 5: TEX TEMP[2], TEMP[2], SAMP[0], 2D 6: MOV TEMP[3].xy, TEMP[1].xyyy 7: TEX TEMP[3].xy, TEMP[3], SAMP[1], 2D 8: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].xxxx, IMM[0].yyyy 9: DP2 TEMP[4].x, TEMP[3].xyyy, TEMP[3].xyyy 10: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 11: RSQ TEMP[5].x, TEMP[4].xxxx 12: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 13: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].wwww 14: MOV TEMP[3].z, TEMP[5].xxxx 15: MOV TEMP[1].xy, TEMP[1].xyyy 16: TEX TEMP[1], TEMP[1], SAMP[2], 2D 17: MOV TEMP[4].xyz, -IN[2].xyzx 18: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[4].xyzz 19: MUL TEMP[5].xyz, TEMP[5].xxxx, TEMP[3].xyzz 20: MUL TEMP[5].xyz, IMM[0].xxxx, TEMP[5].xyzz 21: ADD TEMP[4].xyz, TEMP[4].xyzz, -TEMP[5].xyzz 22: DP3 TEMP[4].x, TEMP[4].xyzz, IN[3].xyzz 23: DP3 TEMP[5].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[5].x, TEMP[5].xxxx 25: MUL_SAT TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 26: MUL TEMP[5].x, TEMP[1].wwww, CONST[18].zzzz 27: POW TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 28: MUL TEMP[4].x, TEMP[4].xxxx, CONST[18].yyyy 29: DP3_SAT TEMP[3].x, IN[2].xyzz, TEMP[3].xyzz 30: MUL TEMP[3].x, TEMP[3].xxxx, CONST[18].xxxx 31: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xxxx 32: MAD TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xxxx, TEMP[3].xyzz 33: MOV TEMP[3].xyz, TEMP[1].xyzx 34: MOV TEMP[4].x, IMM[0].wwww 35: MUL TEMP[5], CONST[2], IN[4].xxxx 36: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 37: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 38: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 39: MOV TEMP[6].xyz, TEMP[5] 40: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].xxxx 41: ABS TEMP[5].xy, TEMP[5].xyyy 42: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 43: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 44: UIF TEMP[5].xxxx :2 45: MUL TEMP[5], CONST[6], IN[4].xxxx 46: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 47: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 48: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 49: MOV TEMP[6].xyz, TEMP[5] 50: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zxxx 51: ABS TEMP[5].xy, TEMP[5].xyyy 52: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 53: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 54: UIF TEMP[5].xxxx :2 55: MUL TEMP[5], CONST[10], IN[4].xxxx 56: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 57: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 58: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 59: MOV TEMP[6], TEMP[5] 60: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].xzzz 61: ABS TEMP[5].xy, TEMP[5].xyyy 62: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 63: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 64: UIF TEMP[5].xxxx :2 65: MUL TEMP[5], CONST[14], IN[4].xxxx 66: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 67: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 68: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 69: MOV TEMP[6], TEMP[5] 70: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 71: ABS TEMP[5].xy, TEMP[5].xyyy 72: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 73: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 74: UIF TEMP[5].xxxx :2 75: MOV TEMP[4].x, IMM[0].zzzz 76: ENDIF 77: ENDIF 78: ENDIF 79: ENDIF 80: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 81: UIF TEMP[5].xxxx :2 82: MOV TEMP[5].z, IMM[0].wwww 83: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[1].wwww 84: MOV TEMP[7].xy, TEMP[5].xyxx 85: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 86: MOV TEMP[5].xyz, TEMP[5].xyzz 87: TEX TEMP[5], TEMP[5], SAMP[4], 3D 88: MUL TEMP[5], TEMP[5], CONST[1].wwww 89: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 90: MOV TEMP[8].xy, TEMP[8].xyyy 91: MOV TEMP[8].z, TEMP[6].zzzz 92: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 93: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 94: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 95: MOV TEMP[5].xy, TEMP[5].xyyy 96: MOV TEMP[5].z, TEMP[6].zzzz 97: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 98: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 99: MOV TEMP[7].z, IMM[1].wwww 100: MOV TEMP[5].xyz, TEMP[7].xyzz 101: TEX TEMP[5], TEMP[5], SAMP[4], 3D 102: MUL TEMP[5], TEMP[5], CONST[1].wwww 103: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 104: MOV TEMP[8].xy, TEMP[8].xyyy 105: MOV TEMP[8].z, TEMP[6].zzzz 106: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 107: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 108: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 109: MOV TEMP[5].xy, TEMP[5].xyyy 110: MOV TEMP[5].z, TEMP[6].zzzz 111: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 112: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 113: MOV TEMP[7].z, IMM[2].xxxx 114: MOV TEMP[5].xyz, TEMP[7].xyzz 115: TEX TEMP[5], TEMP[5], SAMP[4], 3D 116: MUL TEMP[5], TEMP[5], CONST[1].wwww 117: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 118: MOV TEMP[8].xy, TEMP[8].xyyy 119: MOV TEMP[8].z, TEMP[6].zzzz 120: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 121: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 122: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 123: MOV TEMP[5].xy, TEMP[5].xyyy 124: MOV TEMP[5].z, TEMP[6].zzzz 125: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 126: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 127: MOV TEMP[7].z, IMM[2].yyyy 128: MOV TEMP[5].xyz, TEMP[7].xyzz 129: TEX TEMP[5], TEMP[5], SAMP[4], 3D 130: MUL TEMP[5], TEMP[5], CONST[1].wwww 131: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 132: MOV TEMP[8].xy, TEMP[8].xyyy 133: MOV TEMP[8].z, TEMP[6].zzzz 134: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 135: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 136: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 137: MOV TEMP[7].z, IMM[2].zzzz 138: MOV TEMP[5].xy, TEMP[5].xyyy 139: MOV TEMP[5].z, TEMP[6].zzzz 140: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 141: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 142: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].xxxx 143: MOV TEMP[4].x, TEMP[5].xxxx 144: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 145: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 146: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 147: UIF TEMP[8].xxxx :2 148: MUL TEMP[4].x, TEMP[5].xxxx, IMM[2].wwww 149: MOV TEMP[5].xyz, TEMP[7].xyzz 150: TEX TEMP[5], TEMP[5], SAMP[4], 3D 151: MUL TEMP[5], TEMP[5], CONST[1].wwww 152: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 153: MOV TEMP[8].xy, TEMP[8].xyyy 154: MOV TEMP[8].z, TEMP[6].zzzz 155: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 156: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 157: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 158: MOV TEMP[5].xy, TEMP[5].xyyy 159: MOV TEMP[5].z, TEMP[6].zzzz 160: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 161: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 162: MOV TEMP[7].z, IMM[3].xxxx 163: MOV TEMP[5].xyz, TEMP[7].xyzz 164: TEX TEMP[5], TEMP[5], SAMP[4], 3D 165: MUL TEMP[5], TEMP[5], CONST[1].wwww 166: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 167: MOV TEMP[8].xy, TEMP[8].xyyy 168: MOV TEMP[8].z, TEMP[6].zzzz 169: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 170: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 171: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 172: MOV TEMP[5].xy, TEMP[5].xyyy 173: MOV TEMP[5].z, TEMP[6].zzzz 174: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 175: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 176: MOV TEMP[7].z, IMM[3].yyyy 177: MOV TEMP[5].xyz, TEMP[7].xyzz 178: TEX TEMP[5], TEMP[5], SAMP[4], 3D 179: MUL TEMP[5], TEMP[5], CONST[1].wwww 180: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 181: MOV TEMP[8].xy, TEMP[8].xyyy 182: MOV TEMP[8].z, TEMP[6].zzzz 183: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 184: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 185: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 186: MOV TEMP[5].xy, TEMP[5].xyyy 187: MOV TEMP[5].z, TEMP[6].zzzz 188: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 189: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 190: MOV TEMP[7].z, IMM[3].zzzz 191: MOV TEMP[5].xyz, TEMP[7].xyzz 192: TEX TEMP[5], TEMP[5], SAMP[4], 3D 193: MUL TEMP[5], TEMP[5], CONST[1].wwww 194: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 195: MOV TEMP[8].xy, TEMP[8].xyyy 196: MOV TEMP[8].z, TEMP[6].zzzz 197: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 198: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 199: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 200: MOV TEMP[5].xy, TEMP[5].xyyy 201: MOV TEMP[5].z, TEMP[6].zzzz 202: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 203: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 204: MOV TEMP[7].z, IMM[3].wwww 205: MOV TEMP[5].xyz, TEMP[7].xyzz 206: TEX TEMP[5], TEMP[5], SAMP[4], 3D 207: MUL TEMP[5], TEMP[5], CONST[1].wwww 208: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 209: MOV TEMP[8].xy, TEMP[8].xyyy 210: MOV TEMP[8].z, TEMP[6].zzzz 211: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 212: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 213: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 214: MOV TEMP[5].xy, TEMP[5].xyyy 215: MOV TEMP[5].z, TEMP[6].zzzz 216: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 217: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 218: MOV TEMP[7].z, IMM[4].xxxx 219: MOV TEMP[5].xyz, TEMP[7].xyzz 220: TEX TEMP[5], TEMP[5], SAMP[4], 3D 221: MUL TEMP[5], TEMP[5], CONST[1].wwww 222: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 223: MOV TEMP[8].xy, TEMP[8].xyyy 224: MOV TEMP[8].z, TEMP[6].zzzz 225: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 226: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 227: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 228: MOV TEMP[5].xy, TEMP[5].xyyy 229: MOV TEMP[5].z, TEMP[6].zzzz 230: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 231: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 232: MOV TEMP[7].z, IMM[4].yyyy 233: MOV TEMP[5].xyz, TEMP[7].xyzz 234: TEX TEMP[5], TEMP[5], SAMP[4], 3D 235: MUL TEMP[5], TEMP[5], CONST[1].wwww 236: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 237: MOV TEMP[8].xy, TEMP[8].xyyy 238: MOV TEMP[8].z, TEMP[6].zzzz 239: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 240: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 241: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 242: MOV TEMP[5].xy, TEMP[5].xyyy 243: MOV TEMP[5].z, TEMP[6].zzzz 244: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 245: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 246: MOV TEMP[7].z, IMM[4].zzzz 247: MOV TEMP[5].xyz, TEMP[7].xyzz 248: TEX TEMP[5], TEMP[5], SAMP[4], 3D 249: MUL TEMP[5], TEMP[5], CONST[1].wwww 250: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 251: MOV TEMP[8].xy, TEMP[8].xyyy 252: MOV TEMP[8].z, TEMP[6].zzzz 253: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 254: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 255: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 256: MOV TEMP[5].xy, TEMP[5].xyyy 257: MOV TEMP[5].z, TEMP[6].zzzz 258: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 259: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 260: MOV TEMP[7].z, IMM[4].wwww 261: MOV TEMP[5].xyz, TEMP[7].xyzz 262: TEX TEMP[5], TEMP[5], SAMP[4], 3D 263: MUL TEMP[5], TEMP[5], CONST[1].wwww 264: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 265: MOV TEMP[8].xy, TEMP[8].xyyy 266: MOV TEMP[8].z, TEMP[6].zzzz 267: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 268: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 269: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 270: MOV TEMP[5].xy, TEMP[5].xyyy 271: MOV TEMP[5].z, TEMP[6].zzzz 272: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 273: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 274: MOV TEMP[7].z, IMM[5].xxxx 275: MOV TEMP[5].xyz, TEMP[7].xyzz 276: TEX TEMP[5], TEMP[5], SAMP[4], 3D 277: MUL TEMP[5], TEMP[5], CONST[1].wwww 278: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 279: MOV TEMP[8].xy, TEMP[8].xyyy 280: MOV TEMP[8].z, TEMP[6].zzzz 281: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 282: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 283: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 284: MOV TEMP[5].xy, TEMP[5].xyyy 285: MOV TEMP[5].z, TEMP[6].zzzz 286: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 287: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 288: MOV TEMP[7].z, IMM[5].yyyy 289: MOV TEMP[5].xyz, TEMP[7].xyzz 290: TEX TEMP[5], TEMP[5], SAMP[4], 3D 291: MUL TEMP[5], TEMP[5], CONST[1].wwww 292: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 293: MOV TEMP[8].xy, TEMP[8].xyyy 294: MOV TEMP[8].z, TEMP[6].zzzz 295: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 296: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 297: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 298: MOV TEMP[5].xy, TEMP[5].xyyy 299: MOV TEMP[5].z, TEMP[6].zzzz 300: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 301: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 302: MOV TEMP[7].z, IMM[5].zzzz 303: MOV TEMP[5].xyz, TEMP[7].xyzz 304: TEX TEMP[5], TEMP[5], SAMP[4], 3D 305: MUL TEMP[5], TEMP[5], CONST[1].wwww 306: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 307: MOV TEMP[7].xy, TEMP[7].xyyy 308: MOV TEMP[7].z, TEMP[6].zzzz 309: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 310: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 311: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 312: MOV TEMP[5].xy, TEMP[5].xyyy 313: MOV TEMP[5].z, TEMP[6].zzzz 314: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 315: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 316: MUL TEMP[4].x, TEMP[4].xxxx, IMM[5].wwww 317: ENDIF 318: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 319: MUL TEMP[3].xyz, TEMP[1].xyzz, TEMP[4].xxxx 320: ENDIF 321: MUL TEMP[1].xyz, TEMP[3].xyzz, CONST[0].xyzz 322: MUL TEMP[2].x, TEMP[2].wwww, IN[1].zzzz 323: MOV TEMP[1].w, TEMP[2].xxxx 324: MUL TEMP[1], TEMP[1], CONST[24] 325: MOV OUT[0], TEMP[1] 326: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 384) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 388) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 392) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 396) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 400) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 404) %85 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %86 = load <32 x i8> addrspace(2)* %85, !tbaa !0 %87 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %88 = load <16 x i8> addrspace(2)* %87, !tbaa !0 %89 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %90 = load <32 x i8> addrspace(2)* %89, !tbaa !0 %91 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %92 = load <16 x i8> addrspace(2)* %91, !tbaa !0 %93 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %94 = load <32 x i8> addrspace(2)* %93, !tbaa !0 %95 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %96 = load <16 x i8> addrspace(2)* %95, !tbaa !0 %97 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %98 = load <32 x i8> addrspace(2)* %97, !tbaa !0 %99 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %100 = load <16 x i8> addrspace(2)* %99, !tbaa !0 %101 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %102 = load <32 x i8> addrspace(2)* %101, !tbaa !0 %103 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %104 = load <16 x i8> addrspace(2)* %103, !tbaa !0 %105 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %106 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %107 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %108 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %109 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %110 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %119 = fmul float %13, %83 %120 = fadd float %119, %84 %121 = fdiv float 1.000000e+00, %108 %122 = fmul float %105, %121 %123 = fmul float %106, %121 %124 = bitcast float %122 to i32 %125 = bitcast float %123 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %86, <16 x i8> %88, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = bitcast float %122 to i32 %134 = bitcast float %123 to i32 %135 = insertelement <2 x i32> undef, i32 %133, i32 0 %136 = insertelement <2 x i32> %135, i32 %134, i32 1 %137 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %136, <32 x i8> %90, <16 x i8> %92, i32 2) %138 = extractelement <4 x float> %137, i32 0 %139 = extractelement <4 x float> %137, i32 1 %140 = fmul float %138, 2.000000e+00 %141 = fadd float %140, -1.000000e+00 %142 = fmul float %139, 2.000000e+00 %143 = fadd float %142, -1.000000e+00 %144 = fmul float %141, %141 %145 = fmul float %143, %143 %146 = fadd float %144, %145 %147 = fsub float -0.000000e+00, %146 %148 = fadd float 1.000000e+00, %147 %149 = call float @llvm.AMDIL.clamp.(float %148, float 0.000000e+00, float 1.000000e+00) %150 = call float @llvm.AMDGPU.rsq(float %149) %151 = fmul float %150, %149 %152 = fsub float -0.000000e+00, %149 %153 = call float @llvm.AMDGPU.cndlt(float %152, float %151, float 0.000000e+00) %154 = bitcast float %122 to i32 %155 = bitcast float %123 to i32 %156 = insertelement <2 x i32> undef, i32 %154, i32 0 %157 = insertelement <2 x i32> %156, i32 %155, i32 1 %158 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %157, <32 x i8> %94, <16 x i8> %96, i32 2) %159 = extractelement <4 x float> %158, i32 0 %160 = extractelement <4 x float> %158, i32 1 %161 = extractelement <4 x float> %158, i32 2 %162 = extractelement <4 x float> %158, i32 3 %163 = fsub float -0.000000e+00, %109 %164 = fsub float -0.000000e+00, %110 %165 = fsub float -0.000000e+00, %111 %166 = fmul float %141, %163 %167 = fmul float %143, %164 %168 = fadd float %167, %166 %169 = fmul float %153, %165 %170 = fadd float %168, %169 %171 = fmul float %170, %141 %172 = fmul float %170, %143 %173 = fmul float %170, %153 %174 = fmul float 2.000000e+00, %171 %175 = fmul float 2.000000e+00, %172 %176 = fmul float 2.000000e+00, %173 %177 = fsub float -0.000000e+00, %174 %178 = fadd float %163, %177 %179 = fsub float -0.000000e+00, %175 %180 = fadd float %164, %179 %181 = fsub float -0.000000e+00, %176 %182 = fadd float %165, %181 %183 = fmul float %178, %112 %184 = fmul float %180, %113 %185 = fadd float %184, %183 %186 = fmul float %182, %114 %187 = fadd float %185, %186 %188 = fmul float %112, %112 %189 = fmul float %113, %113 %190 = fadd float %189, %188 %191 = fmul float %114, %114 %192 = fadd float %190, %191 %193 = call float @llvm.AMDGPU.rsq(float %192) %194 = fmul float %187, %193 %195 = call float @llvm.AMDIL.clamp.(float %194, float 0.000000e+00, float 1.000000e+00) %196 = fmul float %162, %78 %197 = call float @llvm.pow.f32(float %195, float %196) %198 = fmul float %197, %77 %199 = fmul float %109, %141 %200 = fmul float %110, %143 %201 = fadd float %200, %199 %202 = fmul float %111, %153 %203 = fadd float %201, %202 %204 = call float @llvm.AMDIL.clamp.(float %203, float 0.000000e+00, float 1.000000e+00) %205 = fmul float %204, %76 %206 = fmul float %129, %205 %207 = fmul float %130, %205 %208 = fmul float %131, %205 %209 = fmul float %159, %198 %210 = fadd float %209, %206 %211 = fmul float %160, %198 %212 = fadd float %211, %207 %213 = fmul float %161, %198 %214 = fadd float %213, %208 %215 = fmul float %28, %115 %216 = fmul float %29, %115 %217 = fmul float %30, %115 %218 = fmul float %31, %116 %219 = fadd float %218, %215 %220 = fmul float %32, %116 %221 = fadd float %220, %216 %222 = fmul float %33, %116 %223 = fadd float %222, %217 %224 = fmul float %34, %117 %225 = fadd float %224, %219 %226 = fmul float %35, %117 %227 = fadd float %226, %221 %228 = fmul float %36, %117 %229 = fadd float %228, %223 %230 = fmul float %37, %118 %231 = fadd float %230, %225 %232 = fmul float %38, %118 %233 = fadd float %232, %227 %234 = fmul float %39, %118 %235 = fadd float %234, %229 %236 = fadd float %231, -2.500000e-01 %237 = fadd float %233, -2.500000e-01 %238 = call float @fabs(float %236) %239 = call float @fabs(float %237) %240 = fcmp uge float %238, %239 %241 = select i1 %240, float %238, float %239 %242 = fcmp oge float %241, 0x3FCF5C2900000000 %243 = sext i1 %242 to i32 %244 = bitcast i32 %243 to float %245 = bitcast float %244 to i32 %246 = icmp ne i32 %245, 0 br i1 %246, label %IF, label %ENDIF IF: ; preds = %main_body %247 = fmul float %40, %115 %248 = fmul float %41, %115 %249 = fmul float %42, %115 %250 = fmul float %43, %116 %251 = fadd float %250, %247 %252 = fmul float %44, %116 %253 = fadd float %252, %248 %254 = fmul float %45, %116 %255 = fadd float %254, %249 %256 = fmul float %46, %117 %257 = fadd float %256, %251 %258 = fmul float %47, %117 %259 = fadd float %258, %253 %260 = fmul float %48, %117 %261 = fadd float %260, %255 %262 = fmul float %49, %118 %263 = fadd float %262, %257 %264 = fmul float %50, %118 %265 = fadd float %264, %259 %266 = fmul float %51, %118 %267 = fadd float %266, %261 %268 = fadd float %263, -7.500000e-01 %269 = fadd float %265, -2.500000e-01 %270 = call float @fabs(float %268) %271 = call float @fabs(float %269) %272 = fcmp uge float %270, %271 %273 = select i1 %272, float %270, float %271 %274 = fcmp oge float %273, 0x3FCF5C2900000000 %275 = sext i1 %274 to i32 %276 = bitcast i32 %275 to float %277 = bitcast float %276 to i32 %278 = icmp ne i32 %277, 0 br i1 %278, label %IF37, label %ENDIF ENDIF: ; preds = %IF40, %IF37, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF40 ], [ 0.000000e+00, %IF37 ] %temp24.0 = phi float [ %231, %main_body ], [ %263, %IF ], [ %332, %IF40 ], [ %300, %IF37 ] %temp25.0 = phi float [ %233, %main_body ], [ %265, %IF ], [ %334, %IF40 ], [ %302, %IF37 ] %temp26.0 = phi float [ %235, %main_body ], [ %267, %IF ], [ %336, %IF40 ], [ %304, %IF37 ] %279 = fcmp oeq float %temp16.0, 0.000000e+00 %280 = sext i1 %279 to i32 %281 = bitcast i32 %280 to float %282 = bitcast float %281 to i32 %283 = icmp ne i32 %282, 0 br i1 %283, label %IF46, label %ENDIF45 IF37: ; preds = %IF %284 = fmul float %52, %115 %285 = fmul float %53, %115 %286 = fmul float %54, %115 %287 = fmul float %55, %116 %288 = fadd float %287, %284 %289 = fmul float %56, %116 %290 = fadd float %289, %285 %291 = fmul float %57, %116 %292 = fadd float %291, %286 %293 = fmul float %58, %117 %294 = fadd float %293, %288 %295 = fmul float %59, %117 %296 = fadd float %295, %290 %297 = fmul float %60, %117 %298 = fadd float %297, %292 %299 = fmul float %61, %118 %300 = fadd float %299, %294 %301 = fmul float %62, %118 %302 = fadd float %301, %296 %303 = fmul float %63, %118 %304 = fadd float %303, %298 %305 = fadd float %300, -2.500000e-01 %306 = fadd float %302, -7.500000e-01 %307 = call float @fabs(float %305) %308 = call float @fabs(float %306) %309 = fcmp uge float %307, %308 %310 = select i1 %309, float %307, float %308 %311 = fcmp oge float %310, 0x3FCF5C2900000000 %312 = sext i1 %311 to i32 %313 = bitcast i32 %312 to float %314 = bitcast float %313 to i32 %315 = icmp ne i32 %314, 0 br i1 %315, label %IF40, label %ENDIF IF40: ; preds = %IF37 %316 = fmul float %64, %115 %317 = fmul float %65, %115 %318 = fmul float %66, %115 %319 = fmul float %67, %116 %320 = fadd float %319, %316 %321 = fmul float %68, %116 %322 = fadd float %321, %317 %323 = fmul float %69, %116 %324 = fadd float %323, %318 %325 = fmul float %70, %117 %326 = fadd float %325, %320 %327 = fmul float %71, %117 %328 = fadd float %327, %322 %329 = fmul float %72, %117 %330 = fadd float %329, %324 %331 = fmul float %73, %118 %332 = fadd float %331, %326 %333 = fmul float %74, %118 %334 = fadd float %333, %328 %335 = fmul float %75, %118 %336 = fadd float %335, %330 %337 = fadd float %332, -7.500000e-01 %338 = fadd float %334, -7.500000e-01 %339 = call float @fabs(float %337) %340 = call float @fabs(float %338) %341 = fcmp uge float %339, %340 %342 = select i1 %341, float %339, float %340 %343 = fcmp oge float %342, 0x3FCF5C2900000000 %344 = sext i1 %343 to i32 %345 = bitcast i32 %344 to float %346 = bitcast float %345 to i32 %347 = icmp ne i32 %346, 0 %. = select i1 %347, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF46: ; preds = %ENDIF %348 = fmul float %12, 6.250000e-02 %349 = fmul float %120, 6.250000e-02 %350 = fsub float -0.000000e+00, %26 %351 = fadd float %temp24.0, %350 %352 = fsub float -0.000000e+00, %26 %353 = fadd float %temp25.0, %352 %354 = bitcast float %348 to i32 %355 = bitcast float %349 to i32 %356 = bitcast float 0.000000e+00 to i32 %357 = insertelement <4 x i32> undef, i32 %354, i32 0 %358 = insertelement <4 x i32> %357, i32 %355, i32 1 %359 = insertelement <4 x i32> %358, i32 %356, i32 2 %360 = insertelement <4 x i32> %359, i32 undef, i32 3 %361 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %360, <32 x i8> %102, <16 x i8> %104, i32 3) %362 = extractelement <4 x float> %361, i32 0 %363 = extractelement <4 x float> %361, i32 1 %364 = extractelement <4 x float> %361, i32 2 %365 = extractelement <4 x float> %361, i32 3 %366 = fmul float %362, %27 %367 = fmul float %363, %27 %368 = fmul float %364, %27 %369 = fmul float %365, %27 %370 = fadd float %351, %366 %371 = fadd float %353, %367 %372 = bitcast float %temp26.0 to i32 %373 = bitcast float %370 to i32 %374 = bitcast float %371 to i32 %375 = insertelement <4 x i32> undef, i32 %372, i32 0 %376 = insertelement <4 x i32> %375, i32 %373, i32 1 %377 = insertelement <4 x i32> %376, i32 %374, i32 2 %378 = insertelement <4 x i32> %377, i32 undef, i32 3 %379 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %378, <32 x i8> %98, <16 x i8> %100, i32 7) %380 = extractelement <4 x float> %379, i32 0 %381 = fadd float %temp16.0, %380 %382 = fadd float %351, %368 %383 = fadd float %353, %369 %384 = bitcast float %temp26.0 to i32 %385 = bitcast float %382 to i32 %386 = bitcast float %383 to i32 %387 = insertelement <4 x i32> undef, i32 %384, i32 0 %388 = insertelement <4 x i32> %387, i32 %385, i32 1 %389 = insertelement <4 x i32> %388, i32 %386, i32 2 %390 = insertelement <4 x i32> %389, i32 undef, i32 3 %391 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %390, <32 x i8> %98, <16 x i8> %100, i32 7) %392 = extractelement <4 x float> %391, i32 0 %393 = fadd float %381, %392 %394 = bitcast float %348 to i32 %395 = bitcast float %349 to i32 %396 = bitcast float 6.250000e-02 to i32 %397 = insertelement <4 x i32> undef, i32 %394, i32 0 %398 = insertelement <4 x i32> %397, i32 %395, i32 1 %399 = insertelement <4 x i32> %398, i32 %396, i32 2 %400 = insertelement <4 x i32> %399, i32 undef, i32 3 %401 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %400, <32 x i8> %102, <16 x i8> %104, i32 3) %402 = extractelement <4 x float> %401, i32 0 %403 = extractelement <4 x float> %401, i32 1 %404 = extractelement <4 x float> %401, i32 2 %405 = extractelement <4 x float> %401, i32 3 %406 = fmul float %402, %27 %407 = fmul float %403, %27 %408 = fmul float %404, %27 %409 = fmul float %405, %27 %410 = fadd float %351, %406 %411 = fadd float %353, %407 %412 = bitcast float %temp26.0 to i32 %413 = bitcast float %410 to i32 %414 = bitcast float %411 to i32 %415 = insertelement <4 x i32> undef, i32 %412, i32 0 %416 = insertelement <4 x i32> %415, i32 %413, i32 1 %417 = insertelement <4 x i32> %416, i32 %414, i32 2 %418 = insertelement <4 x i32> %417, i32 undef, i32 3 %419 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %418, <32 x i8> %98, <16 x i8> %100, i32 7) %420 = extractelement <4 x float> %419, i32 0 %421 = fadd float %393, %420 %422 = fadd float %351, %408 %423 = fadd float %353, %409 %424 = bitcast float %temp26.0 to i32 %425 = bitcast float %422 to i32 %426 = bitcast float %423 to i32 %427 = insertelement <4 x i32> undef, i32 %424, i32 0 %428 = insertelement <4 x i32> %427, i32 %425, i32 1 %429 = insertelement <4 x i32> %428, i32 %426, i32 2 %430 = insertelement <4 x i32> %429, i32 undef, i32 3 %431 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %430, <32 x i8> %98, <16 x i8> %100, i32 7) %432 = extractelement <4 x float> %431, i32 0 %433 = fadd float %421, %432 %434 = bitcast float %348 to i32 %435 = bitcast float %349 to i32 %436 = bitcast float 1.250000e-01 to i32 %437 = insertelement <4 x i32> undef, i32 %434, i32 0 %438 = insertelement <4 x i32> %437, i32 %435, i32 1 %439 = insertelement <4 x i32> %438, i32 %436, i32 2 %440 = insertelement <4 x i32> %439, i32 undef, i32 3 %441 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %440, <32 x i8> %102, <16 x i8> %104, i32 3) %442 = extractelement <4 x float> %441, i32 0 %443 = extractelement <4 x float> %441, i32 1 %444 = extractelement <4 x float> %441, i32 2 %445 = extractelement <4 x float> %441, i32 3 %446 = fmul float %442, %27 %447 = fmul float %443, %27 %448 = fmul float %444, %27 %449 = fmul float %445, %27 %450 = fadd float %351, %446 %451 = fadd float %353, %447 %452 = bitcast float %temp26.0 to i32 %453 = bitcast float %450 to i32 %454 = bitcast float %451 to i32 %455 = insertelement <4 x i32> undef, i32 %452, i32 0 %456 = insertelement <4 x i32> %455, i32 %453, i32 1 %457 = insertelement <4 x i32> %456, i32 %454, i32 2 %458 = insertelement <4 x i32> %457, i32 undef, i32 3 %459 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %458, <32 x i8> %98, <16 x i8> %100, i32 7) %460 = extractelement <4 x float> %459, i32 0 %461 = fadd float %433, %460 %462 = fadd float %351, %448 %463 = fadd float %353, %449 %464 = bitcast float %temp26.0 to i32 %465 = bitcast float %462 to i32 %466 = bitcast float %463 to i32 %467 = insertelement <4 x i32> undef, i32 %464, i32 0 %468 = insertelement <4 x i32> %467, i32 %465, i32 1 %469 = insertelement <4 x i32> %468, i32 %466, i32 2 %470 = insertelement <4 x i32> %469, i32 undef, i32 3 %471 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %470, <32 x i8> %98, <16 x i8> %100, i32 7) %472 = extractelement <4 x float> %471, i32 0 %473 = fadd float %461, %472 %474 = bitcast float %348 to i32 %475 = bitcast float %349 to i32 %476 = bitcast float 1.875000e-01 to i32 %477 = insertelement <4 x i32> undef, i32 %474, i32 0 %478 = insertelement <4 x i32> %477, i32 %475, i32 1 %479 = insertelement <4 x i32> %478, i32 %476, i32 2 %480 = insertelement <4 x i32> %479, i32 undef, i32 3 %481 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %480, <32 x i8> %102, <16 x i8> %104, i32 3) %482 = extractelement <4 x float> %481, i32 0 %483 = extractelement <4 x float> %481, i32 1 %484 = extractelement <4 x float> %481, i32 2 %485 = extractelement <4 x float> %481, i32 3 %486 = fmul float %482, %27 %487 = fmul float %483, %27 %488 = fmul float %484, %27 %489 = fmul float %485, %27 %490 = fadd float %351, %486 %491 = fadd float %353, %487 %492 = bitcast float %temp26.0 to i32 %493 = bitcast float %490 to i32 %494 = bitcast float %491 to i32 %495 = insertelement <4 x i32> undef, i32 %492, i32 0 %496 = insertelement <4 x i32> %495, i32 %493, i32 1 %497 = insertelement <4 x i32> %496, i32 %494, i32 2 %498 = insertelement <4 x i32> %497, i32 undef, i32 3 %499 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %498, <32 x i8> %98, <16 x i8> %100, i32 7) %500 = extractelement <4 x float> %499, i32 0 %501 = fadd float %473, %500 %502 = fadd float %351, %488 %503 = fadd float %353, %489 %504 = bitcast float %temp26.0 to i32 %505 = bitcast float %502 to i32 %506 = bitcast float %503 to i32 %507 = insertelement <4 x i32> undef, i32 %504, i32 0 %508 = insertelement <4 x i32> %507, i32 %505, i32 1 %509 = insertelement <4 x i32> %508, i32 %506, i32 2 %510 = insertelement <4 x i32> %509, i32 undef, i32 3 %511 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %510, <32 x i8> %98, <16 x i8> %100, i32 7) %512 = extractelement <4 x float> %511, i32 0 %513 = fadd float %501, %512 %514 = fmul float %513, 1.250000e-01 %515 = fsub float -0.000000e+00, %514 %516 = fadd float 1.000000e+00, %515 %517 = fmul float %514, %516 %518 = fcmp une float %517, 0.000000e+00 %519 = sext i1 %518 to i32 %520 = bitcast i32 %519 to float %521 = bitcast float %520 to i32 %522 = icmp ne i32 %521, 0 br i1 %522, label %IF49, label %ENDIF48 ENDIF45: ; preds = %ENDIF, %ENDIF48 %temp12.0 = phi float [ %1019, %ENDIF48 ], [ %210, %ENDIF ] %temp13.0 = phi float [ %1020, %ENDIF48 ], [ %212, %ENDIF ] %temp14.0 = phi float [ %1021, %ENDIF48 ], [ %214, %ENDIF ] %523 = fmul float %temp12.0, %22 %524 = fmul float %temp13.0, %23 %525 = fmul float %temp14.0, %24 %526 = fmul float %132, %107 %527 = fmul float %523, %79 %528 = fmul float %524, %80 %529 = fmul float %525, %81 %530 = fmul float %526, %82 %531 = call i32 @llvm.SI.packf16(float %527, float %528) %532 = bitcast i32 %531 to float %533 = call i32 @llvm.SI.packf16(float %529, float %530) %534 = bitcast i32 %533 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %532, float %534, float %532, float %534) ret void IF49: ; preds = %IF46 %535 = fmul float %514, 8.000000e+00 %536 = bitcast float %348 to i32 %537 = bitcast float %349 to i32 %538 = bitcast float 2.500000e-01 to i32 %539 = insertelement <4 x i32> undef, i32 %536, i32 0 %540 = insertelement <4 x i32> %539, i32 %537, i32 1 %541 = insertelement <4 x i32> %540, i32 %538, i32 2 %542 = insertelement <4 x i32> %541, i32 undef, i32 3 %543 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %542, <32 x i8> %102, <16 x i8> %104, i32 3) %544 = extractelement <4 x float> %543, i32 0 %545 = extractelement <4 x float> %543, i32 1 %546 = extractelement <4 x float> %543, i32 2 %547 = extractelement <4 x float> %543, i32 3 %548 = fmul float %544, %27 %549 = fmul float %545, %27 %550 = fmul float %546, %27 %551 = fmul float %547, %27 %552 = fadd float %351, %548 %553 = fadd float %353, %549 %554 = bitcast float %temp26.0 to i32 %555 = bitcast float %552 to i32 %556 = bitcast float %553 to i32 %557 = insertelement <4 x i32> undef, i32 %554, i32 0 %558 = insertelement <4 x i32> %557, i32 %555, i32 1 %559 = insertelement <4 x i32> %558, i32 %556, i32 2 %560 = insertelement <4 x i32> %559, i32 undef, i32 3 %561 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %560, <32 x i8> %98, <16 x i8> %100, i32 7) %562 = extractelement <4 x float> %561, i32 0 %563 = fadd float %535, %562 %564 = fadd float %351, %550 %565 = fadd float %353, %551 %566 = bitcast float %temp26.0 to i32 %567 = bitcast float %564 to i32 %568 = bitcast float %565 to i32 %569 = insertelement <4 x i32> undef, i32 %566, i32 0 %570 = insertelement <4 x i32> %569, i32 %567, i32 1 %571 = insertelement <4 x i32> %570, i32 %568, i32 2 %572 = insertelement <4 x i32> %571, i32 undef, i32 3 %573 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %572, <32 x i8> %98, <16 x i8> %100, i32 7) %574 = extractelement <4 x float> %573, i32 0 %575 = fadd float %563, %574 %576 = bitcast float %348 to i32 %577 = bitcast float %349 to i32 %578 = bitcast float 3.125000e-01 to i32 %579 = insertelement <4 x i32> undef, i32 %576, i32 0 %580 = insertelement <4 x i32> %579, i32 %577, i32 1 %581 = insertelement <4 x i32> %580, i32 %578, i32 2 %582 = insertelement <4 x i32> %581, i32 undef, i32 3 %583 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %582, <32 x i8> %102, <16 x i8> %104, i32 3) %584 = extractelement <4 x float> %583, i32 0 %585 = extractelement <4 x float> %583, i32 1 %586 = extractelement <4 x float> %583, i32 2 %587 = extractelement <4 x float> %583, i32 3 %588 = fmul float %584, %27 %589 = fmul float %585, %27 %590 = fmul float %586, %27 %591 = fmul float %587, %27 %592 = fadd float %351, %588 %593 = fadd float %353, %589 %594 = bitcast float %temp26.0 to i32 %595 = bitcast float %592 to i32 %596 = bitcast float %593 to i32 %597 = insertelement <4 x i32> undef, i32 %594, i32 0 %598 = insertelement <4 x i32> %597, i32 %595, i32 1 %599 = insertelement <4 x i32> %598, i32 %596, i32 2 %600 = insertelement <4 x i32> %599, i32 undef, i32 3 %601 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %600, <32 x i8> %98, <16 x i8> %100, i32 7) %602 = extractelement <4 x float> %601, i32 0 %603 = fadd float %575, %602 %604 = fadd float %351, %590 %605 = fadd float %353, %591 %606 = bitcast float %temp26.0 to i32 %607 = bitcast float %604 to i32 %608 = bitcast float %605 to i32 %609 = insertelement <4 x i32> undef, i32 %606, i32 0 %610 = insertelement <4 x i32> %609, i32 %607, i32 1 %611 = insertelement <4 x i32> %610, i32 %608, i32 2 %612 = insertelement <4 x i32> %611, i32 undef, i32 3 %613 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %612, <32 x i8> %98, <16 x i8> %100, i32 7) %614 = extractelement <4 x float> %613, i32 0 %615 = fadd float %603, %614 %616 = bitcast float %348 to i32 %617 = bitcast float %349 to i32 %618 = bitcast float 3.750000e-01 to i32 %619 = insertelement <4 x i32> undef, i32 %616, i32 0 %620 = insertelement <4 x i32> %619, i32 %617, i32 1 %621 = insertelement <4 x i32> %620, i32 %618, i32 2 %622 = insertelement <4 x i32> %621, i32 undef, i32 3 %623 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %622, <32 x i8> %102, <16 x i8> %104, i32 3) %624 = extractelement <4 x float> %623, i32 0 %625 = extractelement <4 x float> %623, i32 1 %626 = extractelement <4 x float> %623, i32 2 %627 = extractelement <4 x float> %623, i32 3 %628 = fmul float %624, %27 %629 = fmul float %625, %27 %630 = fmul float %626, %27 %631 = fmul float %627, %27 %632 = fadd float %351, %628 %633 = fadd float %353, %629 %634 = bitcast float %temp26.0 to i32 %635 = bitcast float %632 to i32 %636 = bitcast float %633 to i32 %637 = insertelement <4 x i32> undef, i32 %634, i32 0 %638 = insertelement <4 x i32> %637, i32 %635, i32 1 %639 = insertelement <4 x i32> %638, i32 %636, i32 2 %640 = insertelement <4 x i32> %639, i32 undef, i32 3 %641 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %640, <32 x i8> %98, <16 x i8> %100, i32 7) %642 = extractelement <4 x float> %641, i32 0 %643 = fadd float %615, %642 %644 = fadd float %351, %630 %645 = fadd float %353, %631 %646 = bitcast float %temp26.0 to i32 %647 = bitcast float %644 to i32 %648 = bitcast float %645 to i32 %649 = insertelement <4 x i32> undef, i32 %646, i32 0 %650 = insertelement <4 x i32> %649, i32 %647, i32 1 %651 = insertelement <4 x i32> %650, i32 %648, i32 2 %652 = insertelement <4 x i32> %651, i32 undef, i32 3 %653 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %652, <32 x i8> %98, <16 x i8> %100, i32 7) %654 = extractelement <4 x float> %653, i32 0 %655 = fadd float %643, %654 %656 = bitcast float %348 to i32 %657 = bitcast float %349 to i32 %658 = bitcast float 4.375000e-01 to i32 %659 = insertelement <4 x i32> undef, i32 %656, i32 0 %660 = insertelement <4 x i32> %659, i32 %657, i32 1 %661 = insertelement <4 x i32> %660, i32 %658, i32 2 %662 = insertelement <4 x i32> %661, i32 undef, i32 3 %663 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %662, <32 x i8> %102, <16 x i8> %104, i32 3) %664 = extractelement <4 x float> %663, i32 0 %665 = extractelement <4 x float> %663, i32 1 %666 = extractelement <4 x float> %663, i32 2 %667 = extractelement <4 x float> %663, i32 3 %668 = fmul float %664, %27 %669 = fmul float %665, %27 %670 = fmul float %666, %27 %671 = fmul float %667, %27 %672 = fadd float %351, %668 %673 = fadd float %353, %669 %674 = bitcast float %temp26.0 to i32 %675 = bitcast float %672 to i32 %676 = bitcast float %673 to i32 %677 = insertelement <4 x i32> undef, i32 %674, i32 0 %678 = insertelement <4 x i32> %677, i32 %675, i32 1 %679 = insertelement <4 x i32> %678, i32 %676, i32 2 %680 = insertelement <4 x i32> %679, i32 undef, i32 3 %681 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %680, <32 x i8> %98, <16 x i8> %100, i32 7) %682 = extractelement <4 x float> %681, i32 0 %683 = fadd float %655, %682 %684 = fadd float %351, %670 %685 = fadd float %353, %671 %686 = bitcast float %temp26.0 to i32 %687 = bitcast float %684 to i32 %688 = bitcast float %685 to i32 %689 = insertelement <4 x i32> undef, i32 %686, i32 0 %690 = insertelement <4 x i32> %689, i32 %687, i32 1 %691 = insertelement <4 x i32> %690, i32 %688, i32 2 %692 = insertelement <4 x i32> %691, i32 undef, i32 3 %693 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %692, <32 x i8> %98, <16 x i8> %100, i32 7) %694 = extractelement <4 x float> %693, i32 0 %695 = fadd float %683, %694 %696 = bitcast float %348 to i32 %697 = bitcast float %349 to i32 %698 = bitcast float 5.000000e-01 to i32 %699 = insertelement <4 x i32> undef, i32 %696, i32 0 %700 = insertelement <4 x i32> %699, i32 %697, i32 1 %701 = insertelement <4 x i32> %700, i32 %698, i32 2 %702 = insertelement <4 x i32> %701, i32 undef, i32 3 %703 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %702, <32 x i8> %102, <16 x i8> %104, i32 3) %704 = extractelement <4 x float> %703, i32 0 %705 = extractelement <4 x float> %703, i32 1 %706 = extractelement <4 x float> %703, i32 2 %707 = extractelement <4 x float> %703, i32 3 %708 = fmul float %704, %27 %709 = fmul float %705, %27 %710 = fmul float %706, %27 %711 = fmul float %707, %27 %712 = fadd float %351, %708 %713 = fadd float %353, %709 %714 = bitcast float %temp26.0 to i32 %715 = bitcast float %712 to i32 %716 = bitcast float %713 to i32 %717 = insertelement <4 x i32> undef, i32 %714, i32 0 %718 = insertelement <4 x i32> %717, i32 %715, i32 1 %719 = insertelement <4 x i32> %718, i32 %716, i32 2 %720 = insertelement <4 x i32> %719, i32 undef, i32 3 %721 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %720, <32 x i8> %98, <16 x i8> %100, i32 7) %722 = extractelement <4 x float> %721, i32 0 %723 = fadd float %695, %722 %724 = fadd float %351, %710 %725 = fadd float %353, %711 %726 = bitcast float %temp26.0 to i32 %727 = bitcast float %724 to i32 %728 = bitcast float %725 to i32 %729 = insertelement <4 x i32> undef, i32 %726, i32 0 %730 = insertelement <4 x i32> %729, i32 %727, i32 1 %731 = insertelement <4 x i32> %730, i32 %728, i32 2 %732 = insertelement <4 x i32> %731, i32 undef, i32 3 %733 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %732, <32 x i8> %98, <16 x i8> %100, i32 7) %734 = extractelement <4 x float> %733, i32 0 %735 = fadd float %723, %734 %736 = bitcast float %348 to i32 %737 = bitcast float %349 to i32 %738 = bitcast float 5.625000e-01 to i32 %739 = insertelement <4 x i32> undef, i32 %736, i32 0 %740 = insertelement <4 x i32> %739, i32 %737, i32 1 %741 = insertelement <4 x i32> %740, i32 %738, i32 2 %742 = insertelement <4 x i32> %741, i32 undef, i32 3 %743 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %742, <32 x i8> %102, <16 x i8> %104, i32 3) %744 = extractelement <4 x float> %743, i32 0 %745 = extractelement <4 x float> %743, i32 1 %746 = extractelement <4 x float> %743, i32 2 %747 = extractelement <4 x float> %743, i32 3 %748 = fmul float %744, %27 %749 = fmul float %745, %27 %750 = fmul float %746, %27 %751 = fmul float %747, %27 %752 = fadd float %351, %748 %753 = fadd float %353, %749 %754 = bitcast float %temp26.0 to i32 %755 = bitcast float %752 to i32 %756 = bitcast float %753 to i32 %757 = insertelement <4 x i32> undef, i32 %754, i32 0 %758 = insertelement <4 x i32> %757, i32 %755, i32 1 %759 = insertelement <4 x i32> %758, i32 %756, i32 2 %760 = insertelement <4 x i32> %759, i32 undef, i32 3 %761 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %760, <32 x i8> %98, <16 x i8> %100, i32 7) %762 = extractelement <4 x float> %761, i32 0 %763 = fadd float %735, %762 %764 = fadd float %351, %750 %765 = fadd float %353, %751 %766 = bitcast float %temp26.0 to i32 %767 = bitcast float %764 to i32 %768 = bitcast float %765 to i32 %769 = insertelement <4 x i32> undef, i32 %766, i32 0 %770 = insertelement <4 x i32> %769, i32 %767, i32 1 %771 = insertelement <4 x i32> %770, i32 %768, i32 2 %772 = insertelement <4 x i32> %771, i32 undef, i32 3 %773 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %772, <32 x i8> %98, <16 x i8> %100, i32 7) %774 = extractelement <4 x float> %773, i32 0 %775 = fadd float %763, %774 %776 = bitcast float %348 to i32 %777 = bitcast float %349 to i32 %778 = bitcast float 6.250000e-01 to i32 %779 = insertelement <4 x i32> undef, i32 %776, i32 0 %780 = insertelement <4 x i32> %779, i32 %777, i32 1 %781 = insertelement <4 x i32> %780, i32 %778, i32 2 %782 = insertelement <4 x i32> %781, i32 undef, i32 3 %783 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %782, <32 x i8> %102, <16 x i8> %104, i32 3) %784 = extractelement <4 x float> %783, i32 0 %785 = extractelement <4 x float> %783, i32 1 %786 = extractelement <4 x float> %783, i32 2 %787 = extractelement <4 x float> %783, i32 3 %788 = fmul float %784, %27 %789 = fmul float %785, %27 %790 = fmul float %786, %27 %791 = fmul float %787, %27 %792 = fadd float %351, %788 %793 = fadd float %353, %789 %794 = bitcast float %temp26.0 to i32 %795 = bitcast float %792 to i32 %796 = bitcast float %793 to i32 %797 = insertelement <4 x i32> undef, i32 %794, i32 0 %798 = insertelement <4 x i32> %797, i32 %795, i32 1 %799 = insertelement <4 x i32> %798, i32 %796, i32 2 %800 = insertelement <4 x i32> %799, i32 undef, i32 3 %801 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %800, <32 x i8> %98, <16 x i8> %100, i32 7) %802 = extractelement <4 x float> %801, i32 0 %803 = fadd float %775, %802 %804 = fadd float %351, %790 %805 = fadd float %353, %791 %806 = bitcast float %temp26.0 to i32 %807 = bitcast float %804 to i32 %808 = bitcast float %805 to i32 %809 = insertelement <4 x i32> undef, i32 %806, i32 0 %810 = insertelement <4 x i32> %809, i32 %807, i32 1 %811 = insertelement <4 x i32> %810, i32 %808, i32 2 %812 = insertelement <4 x i32> %811, i32 undef, i32 3 %813 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %812, <32 x i8> %98, <16 x i8> %100, i32 7) %814 = extractelement <4 x float> %813, i32 0 %815 = fadd float %803, %814 %816 = bitcast float %348 to i32 %817 = bitcast float %349 to i32 %818 = bitcast float 6.875000e-01 to i32 %819 = insertelement <4 x i32> undef, i32 %816, i32 0 %820 = insertelement <4 x i32> %819, i32 %817, i32 1 %821 = insertelement <4 x i32> %820, i32 %818, i32 2 %822 = insertelement <4 x i32> %821, i32 undef, i32 3 %823 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %822, <32 x i8> %102, <16 x i8> %104, i32 3) %824 = extractelement <4 x float> %823, i32 0 %825 = extractelement <4 x float> %823, i32 1 %826 = extractelement <4 x float> %823, i32 2 %827 = extractelement <4 x float> %823, i32 3 %828 = fmul float %824, %27 %829 = fmul float %825, %27 %830 = fmul float %826, %27 %831 = fmul float %827, %27 %832 = fadd float %351, %828 %833 = fadd float %353, %829 %834 = bitcast float %temp26.0 to i32 %835 = bitcast float %832 to i32 %836 = bitcast float %833 to i32 %837 = insertelement <4 x i32> undef, i32 %834, i32 0 %838 = insertelement <4 x i32> %837, i32 %835, i32 1 %839 = insertelement <4 x i32> %838, i32 %836, i32 2 %840 = insertelement <4 x i32> %839, i32 undef, i32 3 %841 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %840, <32 x i8> %98, <16 x i8> %100, i32 7) %842 = extractelement <4 x float> %841, i32 0 %843 = fadd float %815, %842 %844 = fadd float %351, %830 %845 = fadd float %353, %831 %846 = bitcast float %temp26.0 to i32 %847 = bitcast float %844 to i32 %848 = bitcast float %845 to i32 %849 = insertelement <4 x i32> undef, i32 %846, i32 0 %850 = insertelement <4 x i32> %849, i32 %847, i32 1 %851 = insertelement <4 x i32> %850, i32 %848, i32 2 %852 = insertelement <4 x i32> %851, i32 undef, i32 3 %853 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %852, <32 x i8> %98, <16 x i8> %100, i32 7) %854 = extractelement <4 x float> %853, i32 0 %855 = fadd float %843, %854 %856 = bitcast float %348 to i32 %857 = bitcast float %349 to i32 %858 = bitcast float 7.500000e-01 to i32 %859 = insertelement <4 x i32> undef, i32 %856, i32 0 %860 = insertelement <4 x i32> %859, i32 %857, i32 1 %861 = insertelement <4 x i32> %860, i32 %858, i32 2 %862 = insertelement <4 x i32> %861, i32 undef, i32 3 %863 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %862, <32 x i8> %102, <16 x i8> %104, i32 3) %864 = extractelement <4 x float> %863, i32 0 %865 = extractelement <4 x float> %863, i32 1 %866 = extractelement <4 x float> %863, i32 2 %867 = extractelement <4 x float> %863, i32 3 %868 = fmul float %864, %27 %869 = fmul float %865, %27 %870 = fmul float %866, %27 %871 = fmul float %867, %27 %872 = fadd float %351, %868 %873 = fadd float %353, %869 %874 = bitcast float %temp26.0 to i32 %875 = bitcast float %872 to i32 %876 = bitcast float %873 to i32 %877 = insertelement <4 x i32> undef, i32 %874, i32 0 %878 = insertelement <4 x i32> %877, i32 %875, i32 1 %879 = insertelement <4 x i32> %878, i32 %876, i32 2 %880 = insertelement <4 x i32> %879, i32 undef, i32 3 %881 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %880, <32 x i8> %98, <16 x i8> %100, i32 7) %882 = extractelement <4 x float> %881, i32 0 %883 = fadd float %855, %882 %884 = fadd float %351, %870 %885 = fadd float %353, %871 %886 = bitcast float %temp26.0 to i32 %887 = bitcast float %884 to i32 %888 = bitcast float %885 to i32 %889 = insertelement <4 x i32> undef, i32 %886, i32 0 %890 = insertelement <4 x i32> %889, i32 %887, i32 1 %891 = insertelement <4 x i32> %890, i32 %888, i32 2 %892 = insertelement <4 x i32> %891, i32 undef, i32 3 %893 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %892, <32 x i8> %98, <16 x i8> %100, i32 7) %894 = extractelement <4 x float> %893, i32 0 %895 = fadd float %883, %894 %896 = bitcast float %348 to i32 %897 = bitcast float %349 to i32 %898 = bitcast float 8.125000e-01 to i32 %899 = insertelement <4 x i32> undef, i32 %896, i32 0 %900 = insertelement <4 x i32> %899, i32 %897, i32 1 %901 = insertelement <4 x i32> %900, i32 %898, i32 2 %902 = insertelement <4 x i32> %901, i32 undef, i32 3 %903 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %902, <32 x i8> %102, <16 x i8> %104, i32 3) %904 = extractelement <4 x float> %903, i32 0 %905 = extractelement <4 x float> %903, i32 1 %906 = extractelement <4 x float> %903, i32 2 %907 = extractelement <4 x float> %903, i32 3 %908 = fmul float %904, %27 %909 = fmul float %905, %27 %910 = fmul float %906, %27 %911 = fmul float %907, %27 %912 = fadd float %351, %908 %913 = fadd float %353, %909 %914 = bitcast float %temp26.0 to i32 %915 = bitcast float %912 to i32 %916 = bitcast float %913 to i32 %917 = insertelement <4 x i32> undef, i32 %914, i32 0 %918 = insertelement <4 x i32> %917, i32 %915, i32 1 %919 = insertelement <4 x i32> %918, i32 %916, i32 2 %920 = insertelement <4 x i32> %919, i32 undef, i32 3 %921 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %920, <32 x i8> %98, <16 x i8> %100, i32 7) %922 = extractelement <4 x float> %921, i32 0 %923 = fadd float %895, %922 %924 = fadd float %351, %910 %925 = fadd float %353, %911 %926 = bitcast float %temp26.0 to i32 %927 = bitcast float %924 to i32 %928 = bitcast float %925 to i32 %929 = insertelement <4 x i32> undef, i32 %926, i32 0 %930 = insertelement <4 x i32> %929, i32 %927, i32 1 %931 = insertelement <4 x i32> %930, i32 %928, i32 2 %932 = insertelement <4 x i32> %931, i32 undef, i32 3 %933 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %932, <32 x i8> %98, <16 x i8> %100, i32 7) %934 = extractelement <4 x float> %933, i32 0 %935 = fadd float %923, %934 %936 = bitcast float %348 to i32 %937 = bitcast float %349 to i32 %938 = bitcast float 8.750000e-01 to i32 %939 = insertelement <4 x i32> undef, i32 %936, i32 0 %940 = insertelement <4 x i32> %939, i32 %937, i32 1 %941 = insertelement <4 x i32> %940, i32 %938, i32 2 %942 = insertelement <4 x i32> %941, i32 undef, i32 3 %943 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %942, <32 x i8> %102, <16 x i8> %104, i32 3) %944 = extractelement <4 x float> %943, i32 0 %945 = extractelement <4 x float> %943, i32 1 %946 = extractelement <4 x float> %943, i32 2 %947 = extractelement <4 x float> %943, i32 3 %948 = fmul float %944, %27 %949 = fmul float %945, %27 %950 = fmul float %946, %27 %951 = fmul float %947, %27 %952 = fadd float %351, %948 %953 = fadd float %353, %949 %954 = bitcast float %temp26.0 to i32 %955 = bitcast float %952 to i32 %956 = bitcast float %953 to i32 %957 = insertelement <4 x i32> undef, i32 %954, i32 0 %958 = insertelement <4 x i32> %957, i32 %955, i32 1 %959 = insertelement <4 x i32> %958, i32 %956, i32 2 %960 = insertelement <4 x i32> %959, i32 undef, i32 3 %961 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %960, <32 x i8> %98, <16 x i8> %100, i32 7) %962 = extractelement <4 x float> %961, i32 0 %963 = fadd float %935, %962 %964 = fadd float %351, %950 %965 = fadd float %353, %951 %966 = bitcast float %temp26.0 to i32 %967 = bitcast float %964 to i32 %968 = bitcast float %965 to i32 %969 = insertelement <4 x i32> undef, i32 %966, i32 0 %970 = insertelement <4 x i32> %969, i32 %967, i32 1 %971 = insertelement <4 x i32> %970, i32 %968, i32 2 %972 = insertelement <4 x i32> %971, i32 undef, i32 3 %973 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %972, <32 x i8> %98, <16 x i8> %100, i32 7) %974 = extractelement <4 x float> %973, i32 0 %975 = fadd float %963, %974 %976 = bitcast float %348 to i32 %977 = bitcast float %349 to i32 %978 = bitcast float 9.375000e-01 to i32 %979 = insertelement <4 x i32> undef, i32 %976, i32 0 %980 = insertelement <4 x i32> %979, i32 %977, i32 1 %981 = insertelement <4 x i32> %980, i32 %978, i32 2 %982 = insertelement <4 x i32> %981, i32 undef, i32 3 %983 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %982, <32 x i8> %102, <16 x i8> %104, i32 3) %984 = extractelement <4 x float> %983, i32 0 %985 = extractelement <4 x float> %983, i32 1 %986 = extractelement <4 x float> %983, i32 2 %987 = extractelement <4 x float> %983, i32 3 %988 = fmul float %984, %27 %989 = fmul float %985, %27 %990 = fmul float %986, %27 %991 = fmul float %987, %27 %992 = fadd float %351, %988 %993 = fadd float %353, %989 %994 = bitcast float %temp26.0 to i32 %995 = bitcast float %992 to i32 %996 = bitcast float %993 to i32 %997 = insertelement <4 x i32> undef, i32 %994, i32 0 %998 = insertelement <4 x i32> %997, i32 %995, i32 1 %999 = insertelement <4 x i32> %998, i32 %996, i32 2 %1000 = insertelement <4 x i32> %999, i32 undef, i32 3 %1001 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1000, <32 x i8> %98, <16 x i8> %100, i32 7) %1002 = extractelement <4 x float> %1001, i32 0 %1003 = fadd float %975, %1002 %1004 = fadd float %351, %990 %1005 = fadd float %353, %991 %1006 = bitcast float %temp26.0 to i32 %1007 = bitcast float %1004 to i32 %1008 = bitcast float %1005 to i32 %1009 = insertelement <4 x i32> undef, i32 %1006, i32 0 %1010 = insertelement <4 x i32> %1009, i32 %1007, i32 1 %1011 = insertelement <4 x i32> %1010, i32 %1008, i32 2 %1012 = insertelement <4 x i32> %1011, i32 undef, i32 3 %1013 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1012, <32 x i8> %98, <16 x i8> %100, i32 7) %1014 = extractelement <4 x float> %1013, i32 0 %1015 = fadd float %1003, %1014 %1016 = fmul float %1015, 3.125000e-02 br label %ENDIF48 ENDIF48: ; preds = %IF46, %IF49 %temp16.4 = phi float [ %1016, %IF49 ], [ %514, %IF46 ] %1017 = fadd float %temp16.4, %25 %1018 = call float @llvm.AMDIL.clamp.(float %1017, float 0.000000e+00, float 1.000000e+00) %1019 = fmul float %210, %1018 %1020 = fmul float %212, %1018 %1021 = fmul float %214, %1018 br label %ENDIF45 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #3 ; Function Attrs: readonly declare float @fabs(float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } attributes #4 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8100100 c8110101 c8140300 c8150301 7e0a5505 100e0b04 c8100000 c8110001 100c0b04 c0840304 c0c60508 bf8c007f f0800300 00430406 bf8c0770 06100904 061010f3 06080b05 060808f3 100a0904 d2820005 04161108 080a0af2 d2060805 02010105 7e125b05 10120b09 d2060005 22010105 d0080008 02020a80 d2000005 00221280 c8240600 c8250601 10141305 c82c0400 c82d0401 10181708 c8340500 c8350501 d206000e 2201010d 101e1d04 081e190f 0814150f 101e090a d282000f 043e090a 081c1f0e 101e110a d2820008 043e110a d206000b 2201010b 0810110b c82c0800 c82d0801 10101708 c83c0900 c83d0901 d2820008 04221f0e 101c0b0a d282000a 043a0b0a d206000e 22010109 0814150e c8380a00 c8390a01 d2820008 04221d0a 1014170b d282000a 042a1f0f d282000a 042a1d0e 7e145b0a 10101508 d2060808 02010108 7e104f08 c0840308 c0c60510 bf8c007f f0800f00 00430e06 c0840100 bf8c0070 c200094a bf8c007f 7e140200 d210000a 02021511 0e10110a 7e104b08 c2000949 bf8c007f 10141000 d2820004 0432090d d2820004 04121305 d2060804 02010104 c2000948 bf8c007f 10160800 c0860300 c0c80500 bf8c007f f0800f00 00640406 bf8c0770 10101706 d2820008 04221510 10121705 d2820009 0426150f 10161704 d282000a 042e150e c8400d00 c8410d01 c8440c00 c8450c01 c2000909 bf8c007f 10162200 c200090d bf8c007f d282000b 042e2000 c8480e00 c8490e01 c2000911 bf8c007f d282000b 042e2400 c84c0f00 c84d0f01 c2000915 bf8c007f d2820014 042e2600 061628ff be800000 d206010b 0201010b c2000908 bf8c007f 10182200 c200090c bf8c007f d282000c 04322000 c2000910 bf8c007f d282000c 04322400 c2000914 bf8c007f d2820015 04322600 06182aff be800000 d206010c 0201010c d00c0000 0202170c d200000b 0002190b 7e1802ff 3e7ae148 d00c0000 0202190b c203890a bf8c007f 10162207 c203890e bf8c007f d282000b 042e2007 c2038912 bf8c007f d282000b 042e2407 c2038916 bf8c007f d282000b 042e2607 c2038964 c2060965 bf8c007f 7e1e020c d282000f 043c0f03 c80c0200 c80d0201 7e2c0280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022214 d2820000 04022011 d2820000 0402240e d2820014 04022607 060028ff be800000 d2060100 02010100 d2100001 02022215 d2820001 04062012 d2820001 0406240f d2820015 0406260c 06022aff bf400000 d2060101 02010101 d00c000e 02020101 d2000000 003a0300 7e0202ff 3e7ae148 d00c000e 02020300 d2100000 02022213 d2820000 04022010 d2820000 0402240d d282000b 04022606 7e2c0280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022216 d2820000 04022013 d2820000 04022410 d2820014 0402260d 060028ff bf400000 d2060100 02010100 d2100001 02022217 d2820001 04062014 d2820001 04062411 d2820015 0406260e 06022aff be800000 d2060101 02010101 d00c0010 02020101 d2000000 00420300 7e0202ff 3e7ae148 d00c0010 02020300 d2100000 02022215 d2820000 04022012 d2820000 0402240f d282000b 0402260c 7e2c0280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022218 d2820000 04022015 d2820000 04022412 d2820014 0402260f 060028ff bf400000 d2060100 02010100 d2100001 02022219 d2820001 04062016 d2820001 04062413 d2820015 04062610 06022aff bf400000 d2060101 02010101 d00c0012 02020101 d2000000 004a0300 7e0202ff 3e7ae148 d00c0012 02020300 d2000016 0049e480 d2100000 02022217 d2820000 04022014 d2820000 04022411 d282000b 0402260e 88fe0c7e 88fe067e 88fe007e d0040000 02010116 be802400 8980007e bf8801b8 c08c0310 c0ce0520 c086030c c0c80518 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e260202 d2080001 02022714 7e2002ff 3d800000 1020210f 101e04ff 3d800000 7e220280 f0800f00 00c7170f 7e280204 bf8c0770 d282001b 04062918 d2080002 02022715 d2820013 040a2917 7e38030b 7e3a030c 7e3c030d 7e3e030e 7e3a0313 7e3c031b f0a00100 0064131c bf8c0770 06262716 d2820015 0406291a d2820016 040a2919 7e2e030b 7e30030c 7e32030d 7e34030e 7e300316 7e320315 f0a00100 00641517 bf8c0770 06262b13 7e2a02ff 3d800000 7e2c030f 7e2e0310 7e300311 7e320312 7e300315 f0800f00 00c71516 bf8c0770 d2820019 04062916 d282001a 040a2915 7e36030b 7e38030c 7e3a030d 7e3c030e 7e38031a 7e3a0319 f0a00100 0064191b bf8c0770 06263313 d2820019 04062918 d2820015 040a2917 7e34030b 7e36030c 7e38030d 7e3a030e 7e360315 7e380319 f0a00100 0064151a bf8c0770 06262b13 7e2a02ff 3e000000 7e2c030f 7e2e0310 7e300311 7e320312 7e300315 f0800f00 00c71516 bf8c0770 d2820019 04062916 d282001a 040a2915 7e36030b 7e38030c 7e3a030d 7e3c030e 7e38031a 7e3a0319 f0a00100 0064191b bf8c0770 06263313 d2820019 04062918 d2820015 040a2917 7e34030b 7e36030c 7e38030d 7e3a030e 7e360315 7e380319 f0a00100 0064151a bf8c0770 06262b13 7e2a02ff 3e400000 7e2c030f 7e2e0310 7e300311 7e320312 7e300315 f0800f00 00c71516 bf8c0770 d2820019 04062916 d282001a 040a2915 7e36030b 7e38030c 7e3a030d 7e3c030e 7e38031a 7e3a0319 f0a00100 0064191b bf8c0770 06263313 d2820019 04062918 d2820014 040a2917 7e2a030b 7e2c030c 7e2e030d 7e30030e 7e2c0314 7e2e0319 f0a00100 00641415 bf8c0770 06262913 102626ff 3e000000 082826f2 10282913 d00a0002 02010114 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7140f 7e300204 bf8c0700 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b 7e3402ff 41000000 bf8c0770 d2820013 04663513 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3ea00000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3ec00000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3ee00000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202f0 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f100000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f200000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f300000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f400000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f500000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f600000 f0800f00 00c7140f bf8c0770 d282000d 04063115 d282000c 040a3114 f0a00100 0064190b bf8c0770 06263313 d282000d 04063117 d282000c 040a3116 f0a00100 0064140b bf8c0770 06262913 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04063110 d282000c 040a310f f0a00100 0064140b bf8c0770 06262913 d282000d 04063112 d282000c 040a3111 f0a00100 0064010b bf8c0770 06020313 102602ff 3d000000 88fe027e d2060000 02020113 d2060800 02010100 10100108 10120109 1014010a 88fe007e c2028963 c2020962 c2018961 c2010960 c2030902 c2038901 c2040900 bf8c007f 7e040206 7e020207 7e000208 d2100003 02020707 10060605 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..8] DCL TEMP[0..6], LOCAL 0: DP3 TEMP[0].x, IN[2].xyzz, IN[2].xyzz 1: RSQ TEMP[0].x, TEMP[0].xxxx 2: MUL TEMP[0].xyz, IN[2].xyzz, TEMP[0].xxxx 3: DP3 TEMP[1].x, IN[3].xyzz, IN[3].xyzz 4: RSQ TEMP[1].x, TEMP[1].xxxx 5: MUL TEMP[1].xyz, IN[3].xyzz, TEMP[1].xxxx 6: MUL TEMP[2].xyz, TEMP[0].zxyy, TEMP[1].yzxx 7: MAD TEMP[2].xyz, TEMP[0].yzxx, TEMP[1].zxyy, -TEMP[2].xyzz 8: MUL TEMP[2].xyz, TEMP[2].xyzz, IN[3].wwww 9: MOV TEMP[3].zw, IN[1].wwzw 10: MUL TEMP[4].xy, IN[1].xyyy, CONST[8].xyyy 11: MAD TEMP[3].xy, CONST[8].zwww, IN[1].wwww, TEMP[4].xyyy 12: ADD TEMP[4].xyz, IN[0].xyzz, -CONST[5].xyzz 13: MUL TEMP[5], CONST[0], TEMP[4].xxxx 14: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 15: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 16: MAD TEMP[4], CONST[3], IN[0].wwww, TEMP[4] 17: DP3 TEMP[5].x, CONST[6].xyzz, TEMP[1].xyzz 18: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[2].xyzz 19: MOV TEMP[5].y, TEMP[6].xxxx 20: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[0].xyzz 21: MUL TEMP[6].x, TEMP[6].xxxx, CONST[7].xxxx 22: MOV TEMP[5].z, TEMP[6].xxxx 23: ADD TEMP[6].xyz, CONST[4].xyzz, -IN[0].xyzz 24: DP3 TEMP[1].x, TEMP[6].xyzz, TEMP[1].xyzz 25: DP3 TEMP[2].x, TEMP[6].xyzz, TEMP[2].xyzz 26: MOV TEMP[1].y, TEMP[2].xxxx 27: DP3 TEMP[0].x, TEMP[6].xyzz, TEMP[0].xyzz 28: MUL TEMP[0].x, TEMP[0].xxxx, CONST[7].xxxx 29: MOV TEMP[1].z, TEMP[0].xxxx 30: MOV OUT[1], TEMP[3] 31: MOV OUT[2], TEMP[5] 32: MOV OUT[3], TEMP[1] 33: MOV OUT[4], IN[0] 34: MOV OUT[0], TEMP[4] 35: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = extractelement <4 x float> %43, i32 2 %47 = extractelement <4 x float> %43, i32 3 %48 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %49 = load <16 x i8> addrspace(2)* %48, !tbaa !0 %50 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %49, i32 0, i32 %5) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = extractelement <4 x float> %50, i32 3 %55 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %56 = load <16 x i8> addrspace(2)* %55, !tbaa !0 %57 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %56, i32 0, i32 %5) %58 = extractelement <4 x float> %57, i32 0 %59 = extractelement <4 x float> %57, i32 1 %60 = extractelement <4 x float> %57, i32 2 %61 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %62 = load <16 x i8> addrspace(2)* %61, !tbaa !0 %63 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %62, i32 0, i32 %5) %64 = extractelement <4 x float> %63, i32 0 %65 = extractelement <4 x float> %63, i32 1 %66 = extractelement <4 x float> %63, i32 2 %67 = extractelement <4 x float> %63, i32 3 %68 = fmul float %58, %58 %69 = fmul float %59, %59 %70 = fadd float %69, %68 %71 = fmul float %60, %60 %72 = fadd float %70, %71 %73 = call float @llvm.AMDGPU.rsq(float %72) %74 = fmul float %58, %73 %75 = fmul float %59, %73 %76 = fmul float %60, %73 %77 = fmul float %64, %64 %78 = fmul float %65, %65 %79 = fadd float %78, %77 %80 = fmul float %66, %66 %81 = fadd float %79, %80 %82 = call float @llvm.AMDGPU.rsq(float %81) %83 = fmul float %64, %82 %84 = fmul float %65, %82 %85 = fmul float %66, %82 %86 = fmul float %76, %84 %87 = fmul float %74, %85 %88 = fmul float %75, %83 %89 = fsub float -0.000000e+00, %86 %90 = fmul float %75, %85 %91 = fadd float %90, %89 %92 = fsub float -0.000000e+00, %87 %93 = fmul float %76, %83 %94 = fadd float %93, %92 %95 = fsub float -0.000000e+00, %88 %96 = fmul float %74, %84 %97 = fadd float %96, %95 %98 = fmul float %91, %67 %99 = fmul float %94, %67 %100 = fmul float %97, %67 %101 = fmul float %51, %37 %102 = fmul float %52, %38 %103 = fmul float %39, %54 %104 = fadd float %103, %101 %105 = fmul float %40, %54 %106 = fadd float %105, %102 %107 = fsub float -0.000000e+00, %30 %108 = fadd float %44, %107 %109 = fsub float -0.000000e+00, %31 %110 = fadd float %45, %109 %111 = fsub float -0.000000e+00, %32 %112 = fadd float %46, %111 %113 = fmul float %11, %108 %114 = fmul float %12, %108 %115 = fmul float %13, %108 %116 = fmul float %14, %108 %117 = fmul float %15, %110 %118 = fadd float %117, %113 %119 = fmul float %16, %110 %120 = fadd float %119, %114 %121 = fmul float %17, %110 %122 = fadd float %121, %115 %123 = fmul float %18, %110 %124 = fadd float %123, %116 %125 = fmul float %19, %112 %126 = fadd float %125, %118 %127 = fmul float %20, %112 %128 = fadd float %127, %120 %129 = fmul float %21, %112 %130 = fadd float %129, %122 %131 = fmul float %22, %112 %132 = fadd float %131, %124 %133 = fmul float %23, %47 %134 = fadd float %133, %126 %135 = fmul float %24, %47 %136 = fadd float %135, %128 %137 = fmul float %25, %47 %138 = fadd float %137, %130 %139 = fmul float %26, %47 %140 = fadd float %139, %132 %141 = fmul float %33, %83 %142 = fmul float %34, %84 %143 = fadd float %142, %141 %144 = fmul float %35, %85 %145 = fadd float %143, %144 %146 = fmul float %33, %98 %147 = fmul float %34, %99 %148 = fadd float %147, %146 %149 = fmul float %35, %100 %150 = fadd float %148, %149 %151 = fmul float %33, %74 %152 = fmul float %34, %75 %153 = fadd float %152, %151 %154 = fmul float %35, %76 %155 = fadd float %153, %154 %156 = fmul float %155, %36 %157 = fsub float -0.000000e+00, %44 %158 = fadd float %27, %157 %159 = fsub float -0.000000e+00, %45 %160 = fadd float %28, %159 %161 = fsub float -0.000000e+00, %46 %162 = fadd float %29, %161 %163 = fmul float %158, %83 %164 = fmul float %160, %84 %165 = fadd float %164, %163 %166 = fmul float %162, %85 %167 = fadd float %165, %166 %168 = fmul float %158, %98 %169 = fmul float %160, %99 %170 = fadd float %169, %168 %171 = fmul float %162, %100 %172 = fadd float %170, %171 %173 = fmul float %158, %74 %174 = fmul float %160, %75 %175 = fadd float %174, %173 %176 = fmul float %162, %76 %177 = fadd float %175, %176 %178 = fmul float %177, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %104, float %106, float %53, float %54) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %145, float %150, float %156, float %124) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %167, float %172, float %178, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %44, float %45, float %46, float %47) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %134, float %136, float %138, float %140) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020121 bf8c007f 7e0a0204 d2100005 02020b02 c2020123 bf8c007f d2820005 04160804 c2020120 bf8c007f 7e0c0204 d2100006 02020d01 c2020122 bf8c007f d2820006 041a0804 f800020f 04030506 c084070c bf8c000f e00c2000 80020100 bf8c0770 100a0301 d2820005 04160502 d2820005 04160703 7e0a5b05 100c0b03 c0840708 bf8c007f e00c2000 80020700 bf8c0770 10160f07 d282000b 042e1108 d282000b 042e1309 7e165b0b 10181707 101a0d0c 101c0b01 101e1709 10201d0f 081a1b10 101a090d 100a0b02 10200b0f 100e1708 10100d07 08102108 10100908 c2020118 bf8c007f 10121004 c2028119 bf8c007f d2820009 04261a05 10141d07 10160b0c 0814150b 1002090a c204011a bf8c007f d2820002 04260208 10061c04 d2820003 040e0a05 d2820003 040e0c08 10081804 d2820004 04120e05 d2820004 04121e08 c202011c bf8c007f 10080804 c0840700 bf8c007f e00c2000 80021000 c2028115 bf8c0070 7e000205 d2080000 02020111 c2028114 bf8c007f 7e120205 d2080009 02021310 c2028103 bf8c007f 10141205 c2028107 bf8c007f d282000a 042a0005 f800021f 0a040203 c2028110 bf8c000f 08042005 10061102 c2028111 bf8c007f 08082205 d2820003 040e1b04 c2028112 bf8c007f 08102405 d2820001 040e0308 10061d02 d2820003 040e0b04 d2820003 040e0d08 10041902 d2820002 040a0f04 d2820002 040a1f08 10040404 7e080280 f800022f 04020103 f800023f 13121110 c2020116 bf8c000f 7e020204 d2080001 02020312 c202010b bf8c007f d2820002 042a0204 c202010f bf8c007f d2820002 040a2604 c2020102 bf8c007f 10061204 c2020106 bf8c007f d2820003 040e0004 c202010a bf8c007f d2820003 040e0204 c202010e bf8c007f d2820003 040e2604 c2020101 bf8c007f 10081204 c2020105 bf8c007f d2820004 04120004 c2020109 bf8c007f d2820004 04120204 c202010d bf8c007f d2820004 04122604 c2020100 bf8c007f 100a1204 c2020104 bf8c007f d2820000 04160004 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f d2820000 04022600 f80008cf 02030400 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[0..1] DCL CONST[7..19] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.9000, 1.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[1].xyyy 1: MOV TEMP[0].w, IN[1].wwww 2: TXP TEMP[0].z, TEMP[0], SAMP[0], 2D 3: ABS TEMP[0].x, TEMP[0].zzzz 4: FSLT TEMP[1].x, IMM[0].xxxx, TEMP[0].xxxx 5: UIF TEMP[1].xxxx :0 6: KILL 7: ENDIF 8: RCP TEMP[1].x, CONST[0].yyyy 9: DP3 TEMP[2].x, IN[0].xyzz, IN[0].xyzz 10: RSQ TEMP[2].x, TEMP[2].xxxx 11: MUL TEMP[2].xyz, IN[0].xyzz, TEMP[2].xxxx 12: MUL TEMP[0].xyz, TEMP[2].xyzz, TEMP[0].xxxx 13: MAD TEMP[0].xyz, CONST[1].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 14: DP3 TEMP[1].x, CONST[7].xyzz, TEMP[0].xyzz 15: DP3 TEMP[0].x, CONST[8].xyzz, TEMP[0].xyzz 16: MOV TEMP[1].y, TEMP[0].xxxx 17: MAD TEMP[0].xy, TEMP[1].xyyy, CONST[11].xyyy, CONST[11].zwww 18: MOV TEMP[0].xy, TEMP[0].xyyy 19: TEX TEMP[0].w, TEMP[0], SAMP[3], 2D 20: MAD TEMP[2].xy, TEMP[1].xyyy, CONST[12].xyyy, CONST[12].zwww 21: MOV TEMP[2].xy, TEMP[2].xyyy 22: TEX TEMP[2].w, TEMP[2], SAMP[3], 2D 23: ADD TEMP[0].x, TEMP[0].wwww, TEMP[2].wwww 24: MAD TEMP[2].xy, TEMP[1].xyyy, CONST[9].xyyy, CONST[9].zwww 25: MOV TEMP[2].xy, TEMP[2].xyyy 26: TEX TEMP[2].w, TEMP[2], SAMP[1], 2D 27: MUL TEMP[2].x, TEMP[2].wwww, CONST[17].xxxx 28: ADD TEMP[0].x, TEMP[0].xxxx, -TEMP[2].xxxx 29: MUL_SAT TEMP[0].x, TEMP[0].xxxx, CONST[15].xxxx 30: MAD TEMP[2].xy, TEMP[1].xyyy, CONST[13].xyyy, CONST[13].zwww 31: MOV TEMP[2].xy, TEMP[2].xyyy 32: TEX TEMP[2].w, TEMP[2], SAMP[4], 2D 33: MAD TEMP[3].xy, TEMP[1].xyyy, CONST[14].xyyy, CONST[14].zwww 34: MOV TEMP[3].xy, TEMP[3].xyyy 35: TEX TEMP[3].w, TEMP[3], SAMP[4], 2D 36: ADD TEMP[2].x, TEMP[2].wwww, TEMP[3].wwww 37: MAD TEMP[1].xy, TEMP[1].xyyy, CONST[10].xyyy, CONST[10].zwww 38: MOV TEMP[1].xy, TEMP[1].xyyy 39: TEX TEMP[1].w, TEMP[1], SAMP[2], 2D 40: MUL TEMP[1].x, TEMP[1].wwww, CONST[18].xxxx 41: ADD TEMP[1].x, TEMP[2].xxxx, -TEMP[1].xxxx 42: MUL_SAT TEMP[1].x, TEMP[1].xxxx, CONST[16].xxxx 43: MAX TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 44: MUL TEMP[0].x, TEMP[0].xxxx, CONST[19].xxxx 45: ADD TEMP[0].x, IMM[0].yyyy, -TEMP[0].xxxx 46: MOV OUT[0], TEMP[0].xxxx 47: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 156) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 188) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 204) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 220) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 236) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %61 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %62 = load <32 x i8> addrspace(2)* %61, !tbaa !0 %63 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %64 = load <16 x i8> addrspace(2)* %63, !tbaa !0 %65 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %66 = load <32 x i8> addrspace(2)* %65, !tbaa !0 %67 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %68 = load <16 x i8> addrspace(2)* %67, !tbaa !0 %69 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %70 = load <32 x i8> addrspace(2)* %69, !tbaa !0 %71 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %72 = load <16 x i8> addrspace(2)* %71, !tbaa !0 %73 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %74 = load <32 x i8> addrspace(2)* %73, !tbaa !0 %75 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %76 = load <16 x i8> addrspace(2)* %75, !tbaa !0 %77 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %78 = load <32 x i8> addrspace(2)* %77, !tbaa !0 %79 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %80 = load <16 x i8> addrspace(2)* %79, !tbaa !0 %81 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %82 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %83 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %84 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %85 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %86 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %87 = fdiv float %84, %86 %88 = fdiv float %85, %86 %89 = bitcast float %87 to i32 %90 = bitcast float %88 to i32 %91 = insertelement <2 x i32> undef, i32 %89, i32 0 %92 = insertelement <2 x i32> %91, i32 %90, i32 1 %93 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %92, <32 x i8> %62, <16 x i8> %64, i32 2) %94 = extractelement <4 x float> %93, i32 2 %95 = call float @fabs(float %94) %96 = fcmp olt float 0x3FECCCCCC0000000, %95 %97 = sext i1 %96 to i32 %98 = bitcast i32 %97 to float %99 = bitcast float %98 to i32 %100 = icmp ne i32 %99, 0 br i1 %100, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %101 = fdiv float 1.000000e+00, %22 %102 = fmul float %81, %81 %103 = fmul float %82, %82 %104 = fadd float %103, %102 %105 = fmul float %83, %83 %106 = fadd float %104, %105 %107 = call float @llvm.AMDGPU.rsq(float %106) %108 = fmul float %81, %107 %109 = fmul float %82, %107 %110 = fmul float %83, %107 %111 = fmul float %108, %95 %112 = fmul float %109, %95 %113 = fmul float %110, %95 %114 = fmul float %23, %101 %115 = fadd float %114, %111 %116 = fmul float %24, %101 %117 = fadd float %116, %112 %118 = fmul float %25, %101 %119 = fadd float %118, %113 %120 = fmul float %26, %115 %121 = fmul float %27, %117 %122 = fadd float %121, %120 %123 = fmul float %28, %119 %124 = fadd float %122, %123 %125 = fmul float %29, %115 %126 = fmul float %30, %117 %127 = fadd float %126, %125 %128 = fmul float %31, %119 %129 = fadd float %127, %128 %130 = fmul float %124, %40 %131 = fadd float %130, %42 %132 = fmul float %129, %41 %133 = fadd float %132, %43 %134 = bitcast float %131 to i32 %135 = bitcast float %133 to i32 %136 = insertelement <2 x i32> undef, i32 %134, i32 0 %137 = insertelement <2 x i32> %136, i32 %135, i32 1 %138 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %137, <32 x i8> %74, <16 x i8> %76, i32 2) %139 = extractelement <4 x float> %138, i32 3 %140 = fmul float %124, %44 %141 = fadd float %140, %46 %142 = fmul float %129, %45 %143 = fadd float %142, %47 %144 = bitcast float %141 to i32 %145 = bitcast float %143 to i32 %146 = insertelement <2 x i32> undef, i32 %144, i32 0 %147 = insertelement <2 x i32> %146, i32 %145, i32 1 %148 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %147, <32 x i8> %74, <16 x i8> %76, i32 2) %149 = extractelement <4 x float> %148, i32 3 %150 = fadd float %139, %149 %151 = fmul float %124, %32 %152 = fadd float %151, %34 %153 = fmul float %129, %33 %154 = fadd float %153, %35 %155 = bitcast float %152 to i32 %156 = bitcast float %154 to i32 %157 = insertelement <2 x i32> undef, i32 %155, i32 0 %158 = insertelement <2 x i32> %157, i32 %156, i32 1 %159 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %158, <32 x i8> %66, <16 x i8> %68, i32 2) %160 = extractelement <4 x float> %159, i32 3 %161 = fmul float %160, %58 %162 = fsub float -0.000000e+00, %161 %163 = fadd float %150, %162 %164 = fmul float %163, %56 %165 = call float @llvm.AMDIL.clamp.(float %164, float 0.000000e+00, float 1.000000e+00) %166 = fmul float %124, %48 %167 = fadd float %166, %50 %168 = fmul float %129, %49 %169 = fadd float %168, %51 %170 = bitcast float %167 to i32 %171 = bitcast float %169 to i32 %172 = insertelement <2 x i32> undef, i32 %170, i32 0 %173 = insertelement <2 x i32> %172, i32 %171, i32 1 %174 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %173, <32 x i8> %78, <16 x i8> %80, i32 2) %175 = extractelement <4 x float> %174, i32 3 %176 = fmul float %124, %52 %177 = fadd float %176, %54 %178 = fmul float %129, %53 %179 = fadd float %178, %55 %180 = bitcast float %177 to i32 %181 = bitcast float %179 to i32 %182 = insertelement <2 x i32> undef, i32 %180, i32 0 %183 = insertelement <2 x i32> %182, i32 %181, i32 1 %184 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %183, <32 x i8> %78, <16 x i8> %80, i32 2) %185 = extractelement <4 x float> %184, i32 3 %186 = fadd float %175, %185 %187 = fmul float %124, %36 %188 = fadd float %187, %38 %189 = fmul float %129, %37 %190 = fadd float %189, %39 %191 = bitcast float %188 to i32 %192 = bitcast float %190 to i32 %193 = insertelement <2 x i32> undef, i32 %191, i32 0 %194 = insertelement <2 x i32> %193, i32 %192, i32 1 %195 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %194, <32 x i8> %70, <16 x i8> %72, i32 2) %196 = extractelement <4 x float> %195, i32 3 %197 = fmul float %196, %59 %198 = fsub float -0.000000e+00, %197 %199 = fadd float %186, %198 %200 = fmul float %199, %57 %201 = call float @llvm.AMDIL.clamp.(float %200, float 0.000000e+00, float 1.000000e+00) %202 = fcmp uge float %165, %201 %203 = select i1 %202, float %165, float %201 %204 = fmul float %203, %60 %205 = fsub float -0.000000e+00, %204 %206 = fadd float 1.000000e+00, %205 %207 = call i32 @llvm.SI.packf16(float %206, float %206) %208 = bitcast i32 %207 to float %209 = call i32 @llvm.SI.packf16(float %206, float %206) %210 = bitcast i32 %209 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %208, float %210, float %208, float %210) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 declare void @llvm.AMDGPU.kilp() ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #3 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readonly } attributes #3 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0700 c80d0701 7e065503 100a0702 c8080400 c8090401 10080702 c0840300 c0c60500 bf8c007f f0800400 00430204 bf8c0770 d2060102 02010102 7e0602ff 3f666666 d008004c 02020702 c80c0200 c80d0201 c8100100 c8110101 c8140000 c8150001 c0960310 c0d80520 c08a030c c0cc0518 c0900308 c0d20510 c0840304 c0c60508 c0a80100 bf8c007f c200514c c201d148 c200d144 c2025140 c201513c c225d13b c227513a c21f5139 c21ed138 c227d137 c22a5136 c21dd135 c21e5134 c22ad133 c22b5132 c203d131 c21c5130 c22bd12f c22c512e c202d12d c203512c c22cd12b c22d512a c21fd129 c2205128 c22dd127 c22e5126 c21cd125 c21d5124 c2215122 c222d121 c2235120 c220d11e c221d11d c222511c c223d106 c224d105 c2245104 c2255101 bf8c007f 7e1e024b 7e1c024e 7e1a024f 7e180254 7e120255 7e100256 7e0e0257 7e0c0258 7e160259 7e14025a 7e02025b 7e00025c becc244c 89cc4c7e 7e2002f3 7c262080 88fe4c7e d2100010 02020b05 d2820010 04420904 d2820010 04420703 7e205b10 10082104 10080902 7e22544a d2820004 04122249 100a2105 100a0b02 d2820005 04162248 10240a46 d2820012 044a0845 10062103 10040702 d2820002 040a2247 d2820003 044a0442 d2820010 043c7d03 100a0a44 d2820004 04160843 d2820002 04120441 d282000f 04387b02 f0800800 016c040f d282000e 04347703 d282000d 04307902 f0800800 016c050d bf8c0770 06080905 d282000c 042c7f03 d282000b 04288102 f0800800 0109050b bf8c0770 100a0a03 08080b04 10080804 d2060804 02010104 d282000a 04240f03 d2820009 04207102 f0800800 00a60509 d2820008 041c0b03 d2820007 04180d02 f0800800 00a60607 bf8c0770 060a0b06 d2820007 04047303 d2820006 04007502 f0800800 00430006 bf8c0770 10000001 08000105 10000002 d2060800 02010100 d00c0002 02020900 d2000000 000a0104 10000000 080000f2 5e000100 f8001c0f 00000000 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[7] DCL CONST[0..3] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: MUL TEMP[0], CONST[0], IN[0].xxxx 1: MAD TEMP[0], CONST[1], IN[0].yyyy, TEMP[0] 2: MAD TEMP[0], CONST[2], IN[0].zzzz, TEMP[0] 3: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 4: MOV TEMP[1].xyw, TEMP[0].xyxw 5: MOV TEMP[2].xyz, IN[0].xyzx 6: ADD TEMP[0], TEMP[0], TEMP[0].wwww 7: MUL TEMP[0], TEMP[0], IMM[0].xxxx 8: MOV TEMP[1].z, IMM[0].yyyy 9: MOV OUT[1], TEMP[2] 10: MOV OUT[0], TEMP[1] 11: MOV OUT[2], TEMP[0] 12: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %28 = load <16 x i8> addrspace(2)* %27, !tbaa !0 %29 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %28, i32 0, i32 %5) %30 = extractelement <4 x float> %29, i32 0 %31 = extractelement <4 x float> %29, i32 1 %32 = extractelement <4 x float> %29, i32 2 %33 = extractelement <4 x float> %29, i32 3 %34 = fmul float %11, %30 %35 = fmul float %12, %30 %36 = fmul float %13, %30 %37 = fmul float %14, %30 %38 = fmul float %15, %31 %39 = fadd float %38, %34 %40 = fmul float %16, %31 %41 = fadd float %40, %35 %42 = fmul float %17, %31 %43 = fadd float %42, %36 %44 = fmul float %18, %31 %45 = fadd float %44, %37 %46 = fmul float %19, %32 %47 = fadd float %46, %39 %48 = fmul float %20, %32 %49 = fadd float %48, %41 %50 = fmul float %21, %32 %51 = fadd float %50, %43 %52 = fmul float %22, %32 %53 = fadd float %52, %45 %54 = fmul float %23, %33 %55 = fadd float %54, %47 %56 = fmul float %24, %33 %57 = fadd float %56, %49 %58 = fmul float %25, %33 %59 = fadd float %58, %51 %60 = fmul float %26, %33 %61 = fadd float %60, %53 %62 = fadd float %55, %61 %63 = fadd float %57, %61 %64 = fadd float %59, %61 %65 = fadd float %61, %61 %66 = fmul float %62, 5.000000e-01 %67 = fmul float %63, 5.000000e-01 %68 = fmul float %64, 5.000000e-01 %69 = fmul float %65, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %30, float %31, float %32, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %66, float %67, float %68, float %69) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %55, float %57, float 0.000000e+00, float %61) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 7e080280 bf8c0770 f800020f 04020100 c0800100 bf8c000f c2020103 bf8c007f 100a0004 c2020107 bf8c007f d2820005 04160204 c202010b bf8c007f d2820005 04160404 c202010f bf8c007f d2820005 04160604 c2020102 bf8c007f 100c0004 c2020106 bf8c007f d2820006 041a0204 c202010a bf8c007f d2820006 041a0404 c202010e bf8c007f d2820006 041a0604 060c0b06 100c0cf0 c2020101 bf8c007f 100e0004 c2020105 bf8c007f d2820007 041e0204 c2020109 bf8c007f d2820007 041e0404 c202010d bf8c007f d2820007 041e0604 06100b07 101010f0 c2020100 bf8c007f 10120004 c2020104 bf8c007f d2820009 04260204 c2020108 bf8c007f d2820009 04260404 c200010c bf8c007f d2820000 04260600 06020b00 100202f0 06040b05 100404f0 f800021f 02060801 f80008cf 05040700 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1..5] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].z, TEMP[0], SAMP[0], 2D 2: ABS TEMP[0].x, TEMP[0].zzzz 3: MOV TEMP[1].x, CONST[4].wwww 4: MOV TEMP[2].x, CONST[5].wwww 5: DP3 TEMP[3].x, IN[1].xyzz, IN[1].xyzz 6: RSQ TEMP[3].x, TEMP[3].xxxx 7: MUL TEMP[3].xyz, IN[1].xyzz, TEMP[3].xxxx 8: DP3 TEMP[3].x, TEMP[3].xyzz, CONST[2].xyzz 9: MAD TEMP[3].x, TEMP[3].xxxx, TEMP[0].xxxx, -CONST[3].xxxx 10: MUL TEMP[3].xy, CONST[3].yzzz, TEMP[3].xxxx 11: ABS TEMP[4].x, TEMP[3].xxxx 12: FSLT TEMP[4].x, IMM[0].xxxx, TEMP[4].xxxx 13: UIF TEMP[4].xxxx :0 14: EX2 TEMP[4].x, -TEMP[3].xxxx 15: ADD TEMP[4].x, IMM[0].yyyy, -TEMP[4].xxxx 16: RCP TEMP[5].x, TEMP[3].xxxx 17: MUL TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 18: MUL TEMP[1].x, CONST[4].wwww, TEMP[4].xxxx 19: ENDIF 20: ABS TEMP[4].x, TEMP[3].yyyy 21: FSLT TEMP[4].x, IMM[0].xxxx, TEMP[4].xxxx 22: UIF TEMP[4].xxxx :0 23: EX2 TEMP[4].x, -TEMP[3].yyyy 24: ADD TEMP[4].x, IMM[0].yyyy, -TEMP[4].xxxx 25: RCP TEMP[3].x, TEMP[3].yyyy 26: MUL TEMP[3].x, TEMP[4].xxxx, TEMP[3].xxxx 27: MUL TEMP[2].x, CONST[5].wwww, TEMP[3].xxxx 28: ENDIF 29: MOV TEMP[3].w, IMM[0].yyyy 30: MUL TEMP[1].xyz, CONST[4].xyzz, TEMP[1].xxxx 31: MAD TEMP[1].xyz, CONST[5].xyzz, TEMP[2].xxxx, TEMP[1].xyzz 32: POW TEMP[0].x, TEMP[0].xxxx, CONST[1].xxxx 33: MUL TEMP[0].xyz, -TEMP[1].xyzz, TEMP[0].xxxx 34: EX2 TEMP[1].x, TEMP[0].xxxx 35: EX2 TEMP[1].y, TEMP[0].yyyy 36: EX2 TEMP[1].z, TEMP[0].zzzz 37: MOV TEMP[3].xyz, TEMP[1].xyzx 38: MOV OUT[0], TEMP[3] 39: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 76) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 92) %37 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %38 = load <32 x i8> addrspace(2)* %37, !tbaa !0 %39 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %46 = bitcast float %41 to i32 %47 = bitcast float %42 to i32 %48 = insertelement <2 x i32> undef, i32 %46, i32 0 %49 = insertelement <2 x i32> %48, i32 %47, i32 1 %50 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %49, <32 x i8> %38, <16 x i8> %40, i32 2) %51 = extractelement <4 x float> %50, i32 2 %52 = call float @fabs(float %51) %53 = fmul float %43, %43 %54 = fmul float %44, %44 %55 = fadd float %54, %53 %56 = fmul float %45, %45 %57 = fadd float %55, %56 %58 = call float @llvm.AMDGPU.rsq(float %57) %59 = fmul float %43, %58 %60 = fmul float %44, %58 %61 = fmul float %45, %58 %62 = fmul float %59, %23 %63 = fmul float %60, %24 %64 = fadd float %63, %62 %65 = fmul float %61, %25 %66 = fadd float %64, %65 %67 = fsub float -0.000000e+00, %26 %68 = fmul float %66, %52 %69 = fadd float %68, %67 %70 = fmul float %27, %69 %71 = fmul float %28, %69 %72 = call float @fabs(float %70) %73 = fcmp olt float 0x3EE4F8B580000000, %72 %74 = sext i1 %73 to i32 %75 = bitcast i32 %74 to float %76 = bitcast float %75 to i32 %77 = icmp ne i32 %76, 0 br i1 %77, label %IF, label %ENDIF IF: ; preds = %main_body %78 = fsub float -0.000000e+00, %70 %79 = call float @llvm.AMDIL.exp.(float %78) %80 = fsub float -0.000000e+00, %79 %81 = fadd float 1.000000e+00, %80 %82 = fdiv float 1.000000e+00, %70 %83 = fmul float %81, %82 %84 = fmul float %32, %83 br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp4.0 = phi float [ %84, %IF ], [ %32, %main_body ] %85 = call float @fabs(float %71) %86 = fcmp olt float 0x3EE4F8B580000000, %85 %87 = sext i1 %86 to i32 %88 = bitcast i32 %87 to float %89 = bitcast float %88 to i32 %90 = icmp ne i32 %89, 0 br i1 %90, label %IF25, label %ENDIF24 IF25: ; preds = %ENDIF %91 = fsub float -0.000000e+00, %71 %92 = call float @llvm.AMDIL.exp.(float %91) %93 = fsub float -0.000000e+00, %92 %94 = fadd float 1.000000e+00, %93 %95 = fdiv float 1.000000e+00, %71 %96 = fmul float %94, %95 %97 = fmul float %36, %96 br label %ENDIF24 ENDIF24: ; preds = %ENDIF, %IF25 %temp8.0 = phi float [ %97, %IF25 ], [ %36, %ENDIF ] %98 = fmul float %29, %temp4.0 %99 = fmul float %30, %temp4.0 %100 = fmul float %31, %temp4.0 %101 = fmul float %33, %temp8.0 %102 = fadd float %101, %98 %103 = fmul float %34, %temp8.0 %104 = fadd float %103, %99 %105 = fmul float %35, %temp8.0 %106 = fadd float %105, %100 %107 = call float @llvm.pow.f32(float %52, float %22) %108 = fsub float -0.000000e+00, %102 %109 = fmul float %108, %107 %110 = fsub float -0.000000e+00, %104 %111 = fmul float %110, %107 %112 = fsub float -0.000000e+00, %106 %113 = fmul float %112, %107 %114 = call float @llvm.AMDIL.exp.(float %109) %115 = call float @llvm.AMDIL.exp.(float %111) %116 = call float @llvm.AMDIL.exp.(float %113) %117 = call i32 @llvm.SI.packf16(float %114, float %115) %118 = bitcast i32 %117 to float %119 = call i32 @llvm.SI.packf16(float %116, float 1.000000e+00) %120 = bitcast i32 %119 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %118, float %120, float %118, float %120) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readonly } attributes #3 = { readnone } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0400 c80d0401 10080703 d2820004 04120502 c8140600 c8150601 d2820004 04120b05 7e085b04 10040902 10060903 c0840100 bf8c007f c2000908 bf8c007f 10060600 c2000909 bf8c007f d2820002 040c0102 10060905 c200090a bf8c007f d2820002 04080103 c8100100 c8110101 c80c0000 c80d0001 c0800300 c0c60500 bf8c007f f0800400 00030003 bf8c0770 d2060100 02010100 10020102 c200090c bf8c007f 0a040200 c200090e bf8c007f 10020400 c200090d bf8c007f 10040400 d2060103 02010102 7e0802ff 3727c5ac d0080002 02020903 c2000917 c2008913 bf8c007f be8c2402 898c0c7e 7e065502 d2060002 22010102 7e044b02 080404f2 10040702 10040401 be810302 88fe0c7e c2010916 c2028915 c2020914 c2018912 c2038911 c2030910 c2040904 d2060102 02010101 7e0602ff 3727c5ac d008000a 02020702 bf8c007f be8a240a 898a0a7e 7e045501 d2060001 22010101 7e024b01 080202f2 10020501 10020200 be800301 88fe0a7e 7e004f00 0e000008 7e004b00 7e020201 d2100002 02020207 7e060200 d2820002 040a0605 d2060002 22010102 10040102 7e044b02 d2100004 02020206 d2820004 04120604 d2060004 22010104 10080104 7e084b04 5e040504 d2100001 02020203 d2820001 04060602 d2060001 22010101 10000101 7e004b00 d25e0000 0201e500 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..5] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { -1.0000, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MUL TEMP[2].x, IN[0].xxxx, CONST[5].xxxx 7: MUL TEMP[3].x, IN[0].yyyy, CONST[5].yyyy 8: MOV TEMP[2].y, TEMP[3].xxxx 9: MOV TEMP[2].z, IMM[0].xxxx 10: MOV OUT[1], TEMP[1] 11: MOV OUT[2], TEMP[2] 12: MOV OUT[0], TEMP[0] 13: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %27 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %28 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %29 %49 = fadd float %37, %48 %50 = fmul float %11, %45 %51 = fmul float %12, %45 %52 = fmul float %13, %45 %53 = fmul float %14, %45 %54 = fmul float %15, %47 %55 = fadd float %54, %50 %56 = fmul float %16, %47 %57 = fadd float %56, %51 %58 = fmul float %17, %47 %59 = fadd float %58, %52 %60 = fmul float %18, %47 %61 = fadd float %60, %53 %62 = fmul float %19, %49 %63 = fadd float %62, %55 %64 = fmul float %20, %49 %65 = fadd float %64, %57 %66 = fmul float %21, %49 %67 = fadd float %66, %59 %68 = fmul float %22, %49 %69 = fadd float %68, %61 %70 = fmul float %23, %38 %71 = fadd float %70, %63 %72 = fmul float %24, %38 %73 = fadd float %72, %65 %74 = fmul float %25, %38 %75 = fadd float %74, %67 %76 = fmul float %26, %38 %77 = fadd float %76, %69 %78 = fmul float %35, %30 %79 = fmul float %36, %31 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %59, float %61) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %78, float %79, float -1.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020115 bf8c000f 7e000204 d2100000 02020102 c2020114 bf8c007f 7e120204 d2100009 02021301 7e140280 7e1602f3 f800021f 0a0b0009 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1..11] DCL TEMP[0..8], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0000, 0.9900} 0: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 1: RSQ TEMP[0].x, TEMP[0].xxxx 2: MUL TEMP[0].xyz, IN[1].xyzz, TEMP[0].xxxx 3: MOV TEMP[1].xy, IN[0].xyyy 4: TEX TEMP[1].z, TEMP[1], SAMP[0], 2D 5: ABS TEMP[1].x, TEMP[1].zzzz 6: MOV TEMP[2].x, CONST[8].wwww 7: MOV TEMP[3].x, CONST[9].wwww 8: DP3 TEMP[4].x, TEMP[0].xyzz, CONST[4].xyzz 9: MAD TEMP[4].x, TEMP[4].xxxx, TEMP[1].xxxx, -CONST[6].xxxx 10: MUL TEMP[4].xy, CONST[6].yzzz, TEMP[4].xxxx 11: ABS TEMP[5].x, TEMP[4].xxxx 12: FSLT TEMP[5].x, IMM[0].xxxx, TEMP[5].xxxx 13: UIF TEMP[5].xxxx :0 14: EX2 TEMP[5].x, -TEMP[4].xxxx 15: ADD TEMP[5].x, IMM[0].yyyy, -TEMP[5].xxxx 16: RCP TEMP[6].x, TEMP[4].xxxx 17: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx 18: MUL TEMP[2].x, CONST[8].wwww, TEMP[5].xxxx 19: ENDIF 20: ABS TEMP[5].x, TEMP[4].yyyy 21: FSLT TEMP[5].x, IMM[0].xxxx, TEMP[5].xxxx 22: UIF TEMP[5].xxxx :0 23: EX2 TEMP[5].x, -TEMP[4].yyyy 24: ADD TEMP[5].x, IMM[0].yyyy, -TEMP[5].xxxx 25: RCP TEMP[4].x, TEMP[4].yyyy 26: MUL TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 27: MUL TEMP[3].x, CONST[9].wwww, TEMP[4].xxxx 28: ENDIF 29: POW TEMP[4].x, TEMP[1].xxxx, CONST[1].xxxx 30: DP3 TEMP[0].x, TEMP[0].xyzz, CONST[5].xyzz 31: MOV TEMP[5].w, IMM[0].yyyy 32: MAX TEMP[6].x, TEMP[0].xxxx, IMM[0].zzzz 33: POW TEMP[6].x, TEMP[6].xxxx, CONST[3].xxxx 34: MUL_SAT TEMP[6].x, TEMP[6].xxxx, CONST[3].yyyy 35: MUL TEMP[6].xyz, CONST[2].xyzz, TEMP[6].xxxx 36: FSLT TEMP[1].x, IMM[0].wwww, TEMP[1].xxxx 37: AND TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 38: MUL TEMP[7].x, CONST[7].zzzz, TEMP[0].xxxx 39: ADD TEMP[7].x, CONST[7].yyyy, -TEMP[7].xxxx 40: RSQ TEMP[7].x, TEMP[7].xxxx 41: MUL TEMP[7].x, CONST[7].xxxx, TEMP[7].xxxx 42: MUL TEMP[8].x, CONST[7].wwww, TEMP[4].xxxx 43: MIN TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx 44: MAD TEMP[0].x, TEMP[0].xxxx, TEMP[0].xxxx, IMM[0].yyyy 45: MUL TEMP[0].xyz, CONST[10].xyzz, TEMP[0].xxxx 46: MAD TEMP[0].xyz, CONST[11].xyzz, TEMP[7].xxxx, TEMP[0].xyzz 47: MUL TEMP[2].xyz, CONST[8].xyzz, TEMP[2].xxxx 48: MAD TEMP[2].xyz, CONST[9].xyzz, TEMP[3].xxxx, TEMP[2].xyzz 49: MUL TEMP[2].xyz, -TEMP[2].xyzz, TEMP[4].xxxx 50: EX2 TEMP[3].x, TEMP[2].xxxx 51: EX2 TEMP[3].y, TEMP[2].yyyy 52: EX2 TEMP[3].z, TEMP[2].zzzz 53: ADD TEMP[2].xyz, IMM[0].yyyy, -TEMP[3].xyzz 54: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[2].xyzz 55: MAD TEMP[5].xyz, TEMP[6].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 56: MOV OUT[0], TEMP[5] 57: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 124) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 140) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 156) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %55 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %56 = load <32 x i8> addrspace(2)* %55, !tbaa !0 %57 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %58 = load <16 x i8> addrspace(2)* %57, !tbaa !0 %59 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %60 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %64 = fmul float %61, %61 %65 = fmul float %62, %62 %66 = fadd float %65, %64 %67 = fmul float %63, %63 %68 = fadd float %66, %67 %69 = call float @llvm.AMDGPU.rsq(float %68) %70 = fmul float %61, %69 %71 = fmul float %62, %69 %72 = fmul float %63, %69 %73 = bitcast float %59 to i32 %74 = bitcast float %60 to i32 %75 = insertelement <2 x i32> undef, i32 %73, i32 0 %76 = insertelement <2 x i32> %75, i32 %74, i32 1 %77 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %76, <32 x i8> %56, <16 x i8> %58, i32 2) %78 = extractelement <4 x float> %77, i32 2 %79 = call float @fabs(float %78) %80 = fmul float %70, %28 %81 = fmul float %71, %29 %82 = fadd float %81, %80 %83 = fmul float %72, %30 %84 = fadd float %82, %83 %85 = fsub float -0.000000e+00, %34 %86 = fmul float %84, %79 %87 = fadd float %86, %85 %88 = fmul float %35, %87 %89 = fmul float %36, %87 %90 = call float @fabs(float %88) %91 = fcmp olt float 0x3EE4F8B580000000, %90 %92 = sext i1 %91 to i32 %93 = bitcast i32 %92 to float %94 = bitcast float %93 to i32 %95 = icmp ne i32 %94, 0 br i1 %95, label %IF, label %ENDIF IF: ; preds = %main_body %96 = fsub float -0.000000e+00, %88 %97 = call float @llvm.AMDIL.exp.(float %96) %98 = fsub float -0.000000e+00, %97 %99 = fadd float 1.000000e+00, %98 %100 = fdiv float 1.000000e+00, %88 %101 = fmul float %99, %100 %102 = fmul float %44, %101 br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp8.0 = phi float [ %102, %IF ], [ %44, %main_body ] %103 = call float @fabs(float %89) %104 = fcmp olt float 0x3EE4F8B580000000, %103 %105 = sext i1 %104 to i32 %106 = bitcast i32 %105 to float %107 = bitcast float %106 to i32 %108 = icmp ne i32 %107, 0 br i1 %108, label %IF37, label %ENDIF36 IF37: ; preds = %ENDIF %109 = fsub float -0.000000e+00, %89 %110 = call float @llvm.AMDIL.exp.(float %109) %111 = fsub float -0.000000e+00, %110 %112 = fadd float 1.000000e+00, %111 %113 = fdiv float 1.000000e+00, %89 %114 = fmul float %112, %113 %115 = fmul float %48, %114 br label %ENDIF36 ENDIF36: ; preds = %ENDIF, %IF37 %temp12.0 = phi float [ %115, %IF37 ], [ %48, %ENDIF ] %116 = call float @llvm.pow.f32(float %79, float %22) %117 = fmul float %70, %31 %118 = fmul float %71, %32 %119 = fadd float %118, %117 %120 = fmul float %72, %33 %121 = fadd float %119, %120 %122 = fcmp uge float %121, 0.000000e+00 %123 = select i1 %122, float %121, float 0.000000e+00 %124 = call float @llvm.pow.f32(float %123, float %26) %125 = fmul float %124, %27 %126 = call float @llvm.AMDIL.clamp.(float %125, float 0.000000e+00, float 1.000000e+00) %127 = fmul float %23, %126 %128 = fmul float %24, %126 %129 = fmul float %25, %126 %130 = fcmp olt float 0x3FEFAE1480000000, %79 %131 = sext i1 %130 to i32 %132 = bitcast i32 %131 to float %133 = bitcast float %132 to i32 %134 = and i32 %133, 1065353216 %135 = bitcast i32 %134 to float %136 = fmul float %39, %121 %137 = fsub float -0.000000e+00, %136 %138 = fadd float %38, %137 %139 = call float @llvm.AMDGPU.rsq(float %138) %140 = fmul float %37, %139 %141 = fmul float %40, %116 %142 = fcmp uge float %140, %141 %143 = select i1 %142, float %141, float %140 %144 = fmul float %121, %121 %145 = fadd float %144, 1.000000e+00 %146 = fmul float %49, %145 %147 = fmul float %50, %145 %148 = fmul float %51, %145 %149 = fmul float %52, %143 %150 = fadd float %149, %146 %151 = fmul float %53, %143 %152 = fadd float %151, %147 %153 = fmul float %54, %143 %154 = fadd float %153, %148 %155 = fmul float %41, %temp8.0 %156 = fmul float %42, %temp8.0 %157 = fmul float %43, %temp8.0 %158 = fmul float %45, %temp12.0 %159 = fadd float %158, %155 %160 = fmul float %46, %temp12.0 %161 = fadd float %160, %156 %162 = fmul float %47, %temp12.0 %163 = fadd float %162, %157 %164 = fsub float -0.000000e+00, %159 %165 = fmul float %164, %116 %166 = fsub float -0.000000e+00, %161 %167 = fmul float %166, %116 %168 = fsub float -0.000000e+00, %163 %169 = fmul float %168, %116 %170 = call float @llvm.AMDIL.exp.(float %165) %171 = call float @llvm.AMDIL.exp.(float %167) %172 = call float @llvm.AMDIL.exp.(float %169) %173 = fsub float -0.000000e+00, %170 %174 = fadd float 1.000000e+00, %173 %175 = fsub float -0.000000e+00, %171 %176 = fadd float 1.000000e+00, %175 %177 = fsub float -0.000000e+00, %172 %178 = fadd float 1.000000e+00, %177 %179 = fmul float %150, %174 %180 = fmul float %152, %176 %181 = fmul float %154, %178 %182 = fmul float %127, %135 %183 = fadd float %182, %179 %184 = fmul float %128, %135 %185 = fadd float %184, %180 %186 = fmul float %129, %135 %187 = fadd float %186, %181 %188 = call i32 @llvm.SI.packf16(float %183, float %185) %189 = bitcast i32 %188 to float %190 = call i32 @llvm.SI.packf16(float %187, float 1.000000e+00) %191 = bitcast i32 %190 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %189, float %191, float %189, float %191) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0400 c80d0401 10080703 d2820004 04120502 c8140600 c8150601 d2820004 04120b05 7e085b04 10040902 10060903 c0860100 bf8c007f c2000d10 bf8c007f 100c0600 c2000d11 bf8c007f d2820006 04180102 10080905 c2000d12 bf8c007f d2820005 04180104 c81c0100 c81d0101 c8180000 c8190001 c0800300 c0c20500 bf8c007f f0800400 00010006 bf8c0770 d2060100 02010100 10020105 c2000d18 bf8c007f 0a0a0200 c2000d1a bf8c007f 10020a00 c2000d19 bf8c007f 100a0a00 d2060106 02010105 7e0e02ff 3727c5ac d0080000 02020f06 c2028d27 c2038d23 c20b8d16 c20c0d15 c20c8d14 bf8c007f be9c2400 899c1c7e 7e0c5505 d2060005 22010105 7e0a4b05 080a0af2 100a0d05 100a0a07 be870305 88fe1c7e c2000d2e c2080d2d c2030d2c c2008d2a c20a8d29 c2040d28 c2010d26 c2098d25 c2048d24 c2018d22 c20b0d21 c2050d20 c20f8d1f c20d8d1e c20f0d1d c20d0d1c c2088d0d c20a0d0c c2020d0a c2090d09 c2058d08 c2060d04 7e0a0217 7e0c0218 7e0e0219 d2060108 02010101 7e1202ff 3727c5ac d008000e 02021308 bf8c007f be8e240e 898e0e7e 7e105501 d2060001 22010101 7e024b01 080202f2 10021101 10020205 be850301 88fe0e7e 7e024f00 0e02020c 7e024b01 1010021f d2100003 02020f03 d2820002 040e0d02 d2820002 040a0b04 1006041b 0806061e 7e065b03 1006061a d00c000c 02021103 d2000003 00321103 d2820004 03ca0502 100a0815 d2820005 04160610 7e0c0207 d2100007 02020c16 7e100205 d2820007 041e1013 d2060007 22010107 100e0307 7e0e4b07 080e0ef2 100a0f05 d00c000c 02010102 d2000002 00320480 7e044f02 0e040414 7e044b02 10040411 d2060802 02010102 100e0412 7e1202ff 3f7d70a4 d008000c 02021300 d2000000 00318280 360000f2 d2820005 04160107 100e0808 d2820007 041e0606 d2100009 02020c0a d2820009 04261009 d2060009 22010109 10120309 7e124b09 081212f2 100e1307 1012040b d2820007 041e0109 5e0a0b07 10080801 d2820003 04120600 d2100004 02020c03 d2820004 04121002 d2060004 22010104 10020304 7e024b01 080202f2 10020303 10040404 d2820000 04060102 d25e0000 0201e500 f8001c0f 00050005 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..5] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { -1.0000, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MUL TEMP[2].x, IN[0].xxxx, CONST[5].xxxx 7: MUL TEMP[3].x, IN[0].yyyy, CONST[5].yyyy 8: MOV TEMP[2].y, TEMP[3].xxxx 9: MOV TEMP[2].z, IMM[0].xxxx 10: MOV OUT[1], TEMP[1] 11: MOV OUT[2], TEMP[2] 12: MOV OUT[0], TEMP[0] 13: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %27 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %28 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %29 %49 = fadd float %37, %48 %50 = fmul float %11, %45 %51 = fmul float %12, %45 %52 = fmul float %13, %45 %53 = fmul float %14, %45 %54 = fmul float %15, %47 %55 = fadd float %54, %50 %56 = fmul float %16, %47 %57 = fadd float %56, %51 %58 = fmul float %17, %47 %59 = fadd float %58, %52 %60 = fmul float %18, %47 %61 = fadd float %60, %53 %62 = fmul float %19, %49 %63 = fadd float %62, %55 %64 = fmul float %20, %49 %65 = fadd float %64, %57 %66 = fmul float %21, %49 %67 = fadd float %66, %59 %68 = fmul float %22, %49 %69 = fadd float %68, %61 %70 = fmul float %23, %38 %71 = fadd float %70, %63 %72 = fmul float %24, %38 %73 = fadd float %72, %65 %74 = fmul float %25, %38 %75 = fadd float %74, %67 %76 = fmul float %26, %38 %77 = fadd float %76, %69 %78 = fmul float %35, %30 %79 = fmul float %36, %31 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %59, float %61) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %78, float %79, float -1.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020115 bf8c000f 7e000204 d2100000 02020102 c2020114 bf8c007f 7e120204 d2100009 02021301 7e140280 7e1602f3 f800021f 0a0b0009 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL CONST[4..7] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[1].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[2], 2D 2: MOV TEMP[1].xy, IN[1].zwww 3: TEX TEMP[1], TEMP[1], SAMP[2], 2D 4: ADD TEMP[0], TEMP[0], TEMP[1] 5: MOV TEMP[1].xy, IN[0].xyyy 6: TEX TEMP[1], TEMP[1], SAMP[0], 2D 7: MUL TEMP[1], TEMP[1], CONST[6].xxxx 8: ADD TEMP[0], TEMP[0], -TEMP[1] 9: MUL TEMP[0], TEMP[0], CONST[4].xxxx 10: MAX TEMP[0], TEMP[0], IMM[0].xxxx 11: MOV TEMP[1].xy, IN[2].xyyy 12: TEX TEMP[1], TEMP[1], SAMP[3], 2D 13: MOV TEMP[2].xy, IN[2].zwww 14: TEX TEMP[2], TEMP[2], SAMP[3], 2D 15: ADD TEMP[1], TEMP[1], TEMP[2] 16: MOV TEMP[2].xy, IN[0].zwww 17: TEX TEMP[2], TEMP[2], SAMP[1], 2D 18: MUL TEMP[2], TEMP[2], CONST[7].xxxx 19: ADD TEMP[1], TEMP[1], -TEMP[2] 20: MUL TEMP[1], TEMP[1], CONST[5].xxxx 21: MAX TEMP[1], TEMP[1], IMM[0].xxxx 22: MIN TEMP[2].x, TEMP[0].wwww, IMM[0].yyyy 23: MUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx 24: MIN TEMP[3].x, TEMP[1].wwww, IMM[0].yyyy 25: LRP TEMP[2].xyz, TEMP[3].xxxx, TEMP[1].xyzz, TEMP[2].xyzz 26: MAD TEMP[2].xyz, TEMP[2].xyzz, IN[3].xyzz, IN[4].xyzz 27: MOV TEMP[2].xyz, TEMP[2].xyzx 28: ADD TEMP[0].x, TEMP[0].wwww, TEMP[1].wwww 29: MUL_SAT TEMP[0].x, TEMP[0].xxxx, IN[3].wwww 30: MOV TEMP[2].w, TEMP[0].xxxx 31: MOV OUT[0], TEMP[2] 32: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %26 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %27 = load <32 x i8> addrspace(2)* %26, !tbaa !0 %28 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %29 = load <16 x i8> addrspace(2)* %28, !tbaa !0 %30 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %31 = load <32 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %35 = load <32 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %37 = load <16 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %39 = load <32 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %56 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %57 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %58 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %59 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %60 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %61 = bitcast float %46 to i32 %62 = bitcast float %47 to i32 %63 = insertelement <2 x i32> undef, i32 %61, i32 0 %64 = insertelement <2 x i32> %63, i32 %62, i32 1 %65 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %64, <32 x i8> %35, <16 x i8> %37, i32 2) %66 = extractelement <4 x float> %65, i32 0 %67 = extractelement <4 x float> %65, i32 1 %68 = extractelement <4 x float> %65, i32 2 %69 = extractelement <4 x float> %65, i32 3 %70 = bitcast float %48 to i32 %71 = bitcast float %49 to i32 %72 = insertelement <2 x i32> undef, i32 %70, i32 0 %73 = insertelement <2 x i32> %72, i32 %71, i32 1 %74 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %73, <32 x i8> %35, <16 x i8> %37, i32 2) %75 = extractelement <4 x float> %74, i32 0 %76 = extractelement <4 x float> %74, i32 1 %77 = extractelement <4 x float> %74, i32 2 %78 = extractelement <4 x float> %74, i32 3 %79 = fadd float %66, %75 %80 = fadd float %67, %76 %81 = fadd float %68, %77 %82 = fadd float %69, %78 %83 = bitcast float %42 to i32 %84 = bitcast float %43 to i32 %85 = insertelement <2 x i32> undef, i32 %83, i32 0 %86 = insertelement <2 x i32> %85, i32 %84, i32 1 %87 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %86, <32 x i8> %27, <16 x i8> %29, i32 2) %88 = extractelement <4 x float> %87, i32 0 %89 = extractelement <4 x float> %87, i32 1 %90 = extractelement <4 x float> %87, i32 2 %91 = extractelement <4 x float> %87, i32 3 %92 = fmul float %88, %24 %93 = fmul float %89, %24 %94 = fmul float %90, %24 %95 = fmul float %91, %24 %96 = fsub float -0.000000e+00, %92 %97 = fadd float %79, %96 %98 = fsub float -0.000000e+00, %93 %99 = fadd float %80, %98 %100 = fsub float -0.000000e+00, %94 %101 = fadd float %81, %100 %102 = fsub float -0.000000e+00, %95 %103 = fadd float %82, %102 %104 = fmul float %97, %22 %105 = fmul float %99, %22 %106 = fmul float %101, %22 %107 = fmul float %103, %22 %108 = fcmp uge float %104, 0.000000e+00 %109 = select i1 %108, float %104, float 0.000000e+00 %110 = fcmp uge float %105, 0.000000e+00 %111 = select i1 %110, float %105, float 0.000000e+00 %112 = fcmp uge float %106, 0.000000e+00 %113 = select i1 %112, float %106, float 0.000000e+00 %114 = fcmp uge float %107, 0.000000e+00 %115 = select i1 %114, float %107, float 0.000000e+00 %116 = bitcast float %50 to i32 %117 = bitcast float %51 to i32 %118 = insertelement <2 x i32> undef, i32 %116, i32 0 %119 = insertelement <2 x i32> %118, i32 %117, i32 1 %120 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %119, <32 x i8> %39, <16 x i8> %41, i32 2) %121 = extractelement <4 x float> %120, i32 0 %122 = extractelement <4 x float> %120, i32 1 %123 = extractelement <4 x float> %120, i32 2 %124 = extractelement <4 x float> %120, i32 3 %125 = bitcast float %52 to i32 %126 = bitcast float %53 to i32 %127 = insertelement <2 x i32> undef, i32 %125, i32 0 %128 = insertelement <2 x i32> %127, i32 %126, i32 1 %129 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %128, <32 x i8> %39, <16 x i8> %41, i32 2) %130 = extractelement <4 x float> %129, i32 0 %131 = extractelement <4 x float> %129, i32 1 %132 = extractelement <4 x float> %129, i32 2 %133 = extractelement <4 x float> %129, i32 3 %134 = fadd float %121, %130 %135 = fadd float %122, %131 %136 = fadd float %123, %132 %137 = fadd float %124, %133 %138 = bitcast float %44 to i32 %139 = bitcast float %45 to i32 %140 = insertelement <2 x i32> undef, i32 %138, i32 0 %141 = insertelement <2 x i32> %140, i32 %139, i32 1 %142 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %141, <32 x i8> %31, <16 x i8> %33, i32 2) %143 = extractelement <4 x float> %142, i32 0 %144 = extractelement <4 x float> %142, i32 1 %145 = extractelement <4 x float> %142, i32 2 %146 = extractelement <4 x float> %142, i32 3 %147 = fmul float %143, %25 %148 = fmul float %144, %25 %149 = fmul float %145, %25 %150 = fmul float %146, %25 %151 = fsub float -0.000000e+00, %147 %152 = fadd float %134, %151 %153 = fsub float -0.000000e+00, %148 %154 = fadd float %135, %153 %155 = fsub float -0.000000e+00, %149 %156 = fadd float %136, %155 %157 = fsub float -0.000000e+00, %150 %158 = fadd float %137, %157 %159 = fmul float %152, %23 %160 = fmul float %154, %23 %161 = fmul float %156, %23 %162 = fmul float %158, %23 %163 = fcmp uge float %159, 0.000000e+00 %164 = select i1 %163, float %159, float 0.000000e+00 %165 = fcmp uge float %160, 0.000000e+00 %166 = select i1 %165, float %160, float 0.000000e+00 %167 = fcmp uge float %161, 0.000000e+00 %168 = select i1 %167, float %161, float 0.000000e+00 %169 = fcmp uge float %162, 0.000000e+00 %170 = select i1 %169, float %162, float 0.000000e+00 %171 = fcmp uge float %115, 1.000000e+00 %172 = select i1 %171, float 1.000000e+00, float %115 %173 = fmul float %109, %172 %174 = fmul float %111, %172 %175 = fmul float %113, %172 %176 = fcmp uge float %170, 1.000000e+00 %177 = select i1 %176, float 1.000000e+00, float %170 %178 = call float @llvm.AMDGPU.lrp(float %177, float %164, float %173) %179 = call float @llvm.AMDGPU.lrp(float %177, float %166, float %174) %180 = call float @llvm.AMDGPU.lrp(float %177, float %168, float %175) %181 = fmul float %178, %54 %182 = fadd float %181, %58 %183 = fmul float %179, %55 %184 = fadd float %183, %59 %185 = fmul float %180, %56 %186 = fadd float %185, %60 %187 = fadd float %115, %170 %188 = fmul float %187, %57 %189 = call float @llvm.AMDIL.clamp.(float %188, float 0.000000e+00, float 1.000000e+00) %190 = call i32 @llvm.SI.packf16(float %182, float %184) %191 = bitcast i32 %190 to float %192 = call i32 @llvm.SI.packf16(float %186, float %189) %193 = bitcast i32 %192 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %191, float %193, float %191, float %193) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0700 c80d0701 c8080600 c8090601 c0840308 c0c60510 bf8c007f f0800f00 00430202 c81c0500 c81d0501 c8180400 c8190401 f0800f00 00430606 bf8c0770 06140b09 c8300100 c8310101 c82c0000 c82d0001 c0840300 c0c60500 bf8c007f f0800f00 00430b0b c0840100 bf8c0070 c2000918 bf8c007f 7e1e0200 d2100010 02021f0e 0814210a c2000910 bf8c007f 10141400 d00c000c 0201010a d200000a 00321480 d00c000c 0201e50a d2000010 0031e50a 06220707 d2100012 02021f0c 08222511 10222200 d00c000c 02010111 d2000011 00322280 10222111 c84c0b00 c84d0b01 c8480a00 c8490a01 c086030c c0c80518 bf8c007f f0800f00 00641212 c85c0900 c85d0901 c8580800 c8590801 f0800f00 00641616 bf8c0770 06342b19 c8700300 c8710301 c86c0200 c86d0201 c0860304 c0c80508 bf8c007f f0800f00 00641b1b c200891c bf8c0070 7e3e0201 d2100020 02023f1e 0834411a c2008914 bf8c007f 10343401 d00c0002 0201011a d200001a 000a3480 d00c0002 0201e51a d2000020 0009e51a 084240f2 10222321 06442717 d2100023 02023f1c 08444722 10444401 d00c0002 02010122 d2000022 000a4480 d2820011 04464520 c8881100 c8891101 c88c0d00 c88d0d01 d2820011 048a4711 06440506 d2100023 02021f0b 08444722 10444400 d00c0002 02010122 d2000022 000a4480 10442122 10444521 06462516 d2100024 02023f1b 08464923 10464601 d00c0002 02010123 d2000023 000a4680 d2820022 048a4720 c88c1000 c88d1001 c8900c00 c8910c01 d2820022 048e4922 5e222322 06040908 d2100003 02021f0d 08040702 10040400 d00c0002 02010102 d2000002 000a0480 10042102 10040521 06062918 d2100004 02023f1d 08060903 10060601 d00c0000 02010103 d2000003 00020680 d2820002 040a0720 c80c1200 c80d1201 c8100e00 c8110e01 d2820002 040e0902 0606350a c8100f00 c8110f01 10000903 d2060800 02010100 5e000102 f8001c0f 00110011 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL CONST[0..23] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0100, 0.0000} 0: MOV TEMP[0].xy, IMM[0].xxxx 1: MOV TEMP[0].z, CONST[16].wwww 2: MAD TEMP[0].xyz, IN[0].xyzz, CONST[16].xyzz, -TEMP[0].xyzz 3: MAD TEMP[1].xyz, TEMP[0].xyzz, CONST[0].yyyy, CONST[5].xyzz 4: DP3 TEMP[2].x, CONST[7].xyzz, TEMP[0].xyzz 5: DP3 TEMP[3].x, CONST[8].xyzz, TEMP[0].xyzz 6: MOV TEMP[2].y, TEMP[3].xxxx 7: ADD TEMP[1].xyz, TEMP[1].xyzz, -CONST[6].xyzz 8: MUL TEMP[3], CONST[1], TEMP[1].xxxx 9: MAD TEMP[3], CONST[2], TEMP[1].yyyy, TEMP[3] 10: MAD TEMP[1], CONST[3], TEMP[1].zzzz, TEMP[3] 11: ADD TEMP[1].xyw, TEMP[1], CONST[4] 12: MAD TEMP[3].xy, TEMP[2].xyyy, CONST[17].xyyy, CONST[17].zwww 13: MAD TEMP[4].xy, TEMP[2].xyyy, CONST[18].xyyy, CONST[18].zwww 14: MOV TEMP[3].zw, TEMP[4].yyxy 15: MAD TEMP[4].xy, TEMP[2].xyyy, CONST[19].xyyy, CONST[19].zwww 16: MAD TEMP[5].xy, TEMP[2].xyyy, CONST[20].xyyy, CONST[20].zwww 17: MOV TEMP[4].zw, TEMP[5].yyxy 18: MAD TEMP[5].xy, TEMP[2].xyyy, CONST[21].xyyy, CONST[21].zwww 19: MAD TEMP[2].xy, TEMP[2].xyyy, CONST[22].xyyy, CONST[22].zwww 20: MOV TEMP[5].zw, TEMP[2].yyxy 21: DP3 TEMP[2].x, TEMP[0].xyzz, TEMP[0].xyzz 22: RSQ TEMP[6].x, TEMP[2].xxxx 23: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[2].xxxx 24: CMP TEMP[2].x, -TEMP[2].xxxx, TEMP[6].xxxx, IMM[0].xxxx 25: ADD TEMP[6].x, TEMP[0].zzzz, -CONST[10].xxxx 26: MOV TEMP[7].x, CONST[12].wwww 27: MOV TEMP[8].x, CONST[13].wwww 28: MUL TEMP[9].x, CONST[10].yyyy, TEMP[6].xxxx 29: MUL TEMP[6].x, CONST[10].zzzz, TEMP[6].xxxx 30: ABS TEMP[10].x, TEMP[9].xxxx 31: FSLT TEMP[10].x, IMM[0].zzzz, TEMP[10].xxxx 32: UIF TEMP[10].xxxx :0 33: EX2 TEMP[10].x, -TEMP[9].xxxx 34: ADD TEMP[10].x, IMM[0].yyyy, -TEMP[10].xxxx 35: RCP TEMP[9].x, TEMP[9].xxxx 36: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 37: MUL TEMP[7].x, CONST[12].wwww, TEMP[9].xxxx 38: ENDIF 39: ABS TEMP[9].x, TEMP[6].xxxx 40: FSLT TEMP[9].x, IMM[0].zzzz, TEMP[9].xxxx 41: UIF TEMP[9].xxxx :0 42: EX2 TEMP[9].x, -TEMP[6].xxxx 43: ADD TEMP[9].x, IMM[0].yyyy, -TEMP[9].xxxx 44: RCP TEMP[6].x, TEMP[6].xxxx 45: MUL TEMP[6].x, TEMP[9].xxxx, TEMP[6].xxxx 46: MUL TEMP[8].x, CONST[13].wwww, TEMP[6].xxxx 47: ENDIF 48: MUL TEMP[6].xyz, CONST[12].xyzz, TEMP[7].xxxx 49: MAD TEMP[6].xyz, CONST[13].xyzz, TEMP[8].xxxx, TEMP[6].xyzz 50: MUL TEMP[6].xyz, -TEMP[6].xyzz, TEMP[2].xxxx 51: EX2 TEMP[7].x, TEMP[6].xxxx 52: EX2 TEMP[7].y, TEMP[6].yyyy 53: EX2 TEMP[7].z, TEMP[6].zzzz 54: DP3 TEMP[0].x, TEMP[0].xyzz, CONST[9].xyzz 55: RCP TEMP[6].x, TEMP[2].xxxx 56: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[6].xxxx 57: MOV TEMP[6].xyz, TEMP[7].xyzx 58: DP3 TEMP[8].x, TEMP[7].xyzz, CONST[23].xxxx 59: MOV TEMP[6].w, TEMP[8].xxxx 60: MUL TEMP[8].x, CONST[11].zzzz, TEMP[0].xxxx 61: ADD TEMP[8].x, CONST[11].yyyy, -TEMP[8].xxxx 62: RSQ TEMP[8].x, TEMP[8].xxxx 63: MUL TEMP[8].x, CONST[11].xxxx, TEMP[8].xxxx 64: MUL TEMP[2].x, CONST[11].wwww, TEMP[2].xxxx 65: MIN TEMP[2].x, TEMP[8].xxxx, TEMP[2].xxxx 66: MAD TEMP[0].x, TEMP[0].xxxx, TEMP[0].xxxx, IMM[0].yyyy 67: MUL TEMP[0].xyz, CONST[14].xyzz, TEMP[0].xxxx 68: MAD TEMP[0].xyz, CONST[15].xyzz, TEMP[2].xxxx, TEMP[0].xyzz 69: ADD TEMP[2].xyz, IMM[0].yyyy, -TEMP[7].xyzz 70: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[2].xyzz 71: MOV OUT[1], TEMP[3] 72: MOV OUT[2], TEMP[4] 73: MOV OUT[3], TEMP[5] 74: MOV OUT[4], TEMP[6] 75: MOV OUT[5], TEMP[0] 76: MOV OUT[0], TEMP[1].xyww 77: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 180) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 184) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 188) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 192) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 196) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 200) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 204) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 208) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 212) %52 = call float @llvm.SI.load.const(<16 x i8> %10, i32 216) %53 = call float @llvm.SI.load.const(<16 x i8> %10, i32 220) %54 = call float @llvm.SI.load.const(<16 x i8> %10, i32 224) %55 = call float @llvm.SI.load.const(<16 x i8> %10, i32 228) %56 = call float @llvm.SI.load.const(<16 x i8> %10, i32 232) %57 = call float @llvm.SI.load.const(<16 x i8> %10, i32 240) %58 = call float @llvm.SI.load.const(<16 x i8> %10, i32 244) %59 = call float @llvm.SI.load.const(<16 x i8> %10, i32 248) %60 = call float @llvm.SI.load.const(<16 x i8> %10, i32 256) %61 = call float @llvm.SI.load.const(<16 x i8> %10, i32 260) %62 = call float @llvm.SI.load.const(<16 x i8> %10, i32 264) %63 = call float @llvm.SI.load.const(<16 x i8> %10, i32 268) %64 = call float @llvm.SI.load.const(<16 x i8> %10, i32 272) %65 = call float @llvm.SI.load.const(<16 x i8> %10, i32 276) %66 = call float @llvm.SI.load.const(<16 x i8> %10, i32 280) %67 = call float @llvm.SI.load.const(<16 x i8> %10, i32 284) %68 = call float @llvm.SI.load.const(<16 x i8> %10, i32 288) %69 = call float @llvm.SI.load.const(<16 x i8> %10, i32 292) %70 = call float @llvm.SI.load.const(<16 x i8> %10, i32 296) %71 = call float @llvm.SI.load.const(<16 x i8> %10, i32 300) %72 = call float @llvm.SI.load.const(<16 x i8> %10, i32 304) %73 = call float @llvm.SI.load.const(<16 x i8> %10, i32 308) %74 = call float @llvm.SI.load.const(<16 x i8> %10, i32 312) %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 316) %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 320) %77 = call float @llvm.SI.load.const(<16 x i8> %10, i32 324) %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 328) %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 332) %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 336) %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 340) %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 344) %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 348) %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 352) %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 356) %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 360) %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 364) %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 368) %89 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %90 = load <16 x i8> addrspace(2)* %89, !tbaa !0 %91 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %90, i32 0, i32 %5) %92 = extractelement <4 x float> %91, i32 0 %93 = extractelement <4 x float> %91, i32 1 %94 = extractelement <4 x float> %91, i32 2 %95 = fsub float -0.000000e+00, 0.000000e+00 %96 = fmul float %92, %60 %97 = fadd float %96, %95 %98 = fsub float -0.000000e+00, 0.000000e+00 %99 = fmul float %93, %61 %100 = fadd float %99, %98 %101 = fsub float -0.000000e+00, %63 %102 = fmul float %94, %62 %103 = fadd float %102, %101 %104 = fmul float %97, %11 %105 = fadd float %104, %24 %106 = fmul float %100, %11 %107 = fadd float %106, %25 %108 = fmul float %103, %11 %109 = fadd float %108, %26 %110 = fmul float %30, %97 %111 = fmul float %31, %100 %112 = fadd float %111, %110 %113 = fmul float %32, %103 %114 = fadd float %112, %113 %115 = fmul float %33, %97 %116 = fmul float %34, %100 %117 = fadd float %116, %115 %118 = fmul float %35, %103 %119 = fadd float %117, %118 %120 = fsub float -0.000000e+00, %27 %121 = fadd float %105, %120 %122 = fsub float -0.000000e+00, %28 %123 = fadd float %107, %122 %124 = fsub float -0.000000e+00, %29 %125 = fadd float %109, %124 %126 = fmul float %12, %121 %127 = fmul float %13, %121 %128 = fmul float %14, %121 %129 = fmul float %15, %123 %130 = fadd float %129, %126 %131 = fmul float %16, %123 %132 = fadd float %131, %127 %133 = fmul float %17, %123 %134 = fadd float %133, %128 %135 = fmul float %18, %125 %136 = fadd float %135, %130 %137 = fmul float %19, %125 %138 = fadd float %137, %132 %139 = fmul float %20, %125 %140 = fadd float %139, %134 %141 = fadd float %136, %21 %142 = fadd float %138, %22 %143 = fadd float %140, %23 %144 = fmul float %114, %64 %145 = fadd float %144, %66 %146 = fmul float %119, %65 %147 = fadd float %146, %67 %148 = fmul float %114, %68 %149 = fadd float %148, %70 %150 = fmul float %119, %69 %151 = fadd float %150, %71 %152 = fmul float %114, %72 %153 = fadd float %152, %74 %154 = fmul float %119, %73 %155 = fadd float %154, %75 %156 = fmul float %114, %76 %157 = fadd float %156, %78 %158 = fmul float %119, %77 %159 = fadd float %158, %79 %160 = fmul float %114, %80 %161 = fadd float %160, %82 %162 = fmul float %119, %81 %163 = fadd float %162, %83 %164 = fmul float %114, %84 %165 = fadd float %164, %86 %166 = fmul float %119, %85 %167 = fadd float %166, %87 %168 = fmul float %97, %97 %169 = fmul float %100, %100 %170 = fadd float %169, %168 %171 = fmul float %103, %103 %172 = fadd float %170, %171 %173 = call float @llvm.AMDGPU.rsq(float %172) %174 = fmul float %173, %172 %175 = fsub float -0.000000e+00, %172 %176 = call float @llvm.AMDGPU.cndlt(float %175, float %174, float 0.000000e+00) %177 = fsub float -0.000000e+00, %39 %178 = fadd float %103, %177 %179 = fmul float %40, %178 %180 = fmul float %41, %178 %181 = call float @fabs(float %179) %182 = fcmp olt float 0x3F847AE140000000, %181 %183 = sext i1 %182 to i32 %184 = bitcast i32 %183 to float %185 = bitcast float %184 to i32 %186 = icmp ne i32 %185, 0 br i1 %186, label %IF, label %ENDIF IF: ; preds = %main_body %187 = fsub float -0.000000e+00, %179 %188 = call float @llvm.AMDIL.exp.(float %187) %189 = fsub float -0.000000e+00, %188 %190 = fadd float 1.000000e+00, %189 %191 = fdiv float 1.000000e+00, %179 %192 = fmul float %190, %191 %193 = fmul float %49, %192 br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp28.0 = phi float [ %193, %IF ], [ %49, %main_body ] %194 = call float @fabs(float %180) %195 = fcmp olt float 0x3F847AE140000000, %194 %196 = sext i1 %195 to i32 %197 = bitcast i32 %196 to float %198 = bitcast float %197 to i32 %199 = icmp ne i32 %198, 0 br i1 %199, label %IF45, label %ENDIF44 IF45: ; preds = %ENDIF %200 = fsub float -0.000000e+00, %180 %201 = call float @llvm.AMDIL.exp.(float %200) %202 = fsub float -0.000000e+00, %201 %203 = fadd float 1.000000e+00, %202 %204 = fdiv float 1.000000e+00, %180 %205 = fmul float %203, %204 %206 = fmul float %53, %205 br label %ENDIF44 ENDIF44: ; preds = %ENDIF, %IF45 %temp32.0 = phi float [ %206, %IF45 ], [ %53, %ENDIF ] %207 = fmul float %46, %temp28.0 %208 = fmul float %47, %temp28.0 %209 = fmul float %48, %temp28.0 %210 = fmul float %50, %temp32.0 %211 = fadd float %210, %207 %212 = fmul float %51, %temp32.0 %213 = fadd float %212, %208 %214 = fmul float %52, %temp32.0 %215 = fadd float %214, %209 %216 = fsub float -0.000000e+00, %211 %217 = fmul float %216, %176 %218 = fsub float -0.000000e+00, %213 %219 = fmul float %218, %176 %220 = fsub float -0.000000e+00, %215 %221 = fmul float %220, %176 %222 = call float @llvm.AMDIL.exp.(float %217) %223 = call float @llvm.AMDIL.exp.(float %219) %224 = call float @llvm.AMDIL.exp.(float %221) %225 = fmul float %97, %36 %226 = fmul float %100, %37 %227 = fadd float %226, %225 %228 = fmul float %103, %38 %229 = fadd float %227, %228 %230 = fdiv float 1.000000e+00, %176 %231 = fmul float %229, %230 %232 = fmul float %222, %88 %233 = fmul float %223, %88 %234 = fadd float %233, %232 %235 = fmul float %224, %88 %236 = fadd float %234, %235 %237 = fmul float %44, %231 %238 = fsub float -0.000000e+00, %237 %239 = fadd float %43, %238 %240 = call float @llvm.AMDGPU.rsq(float %239) %241 = fmul float %42, %240 %242 = fmul float %45, %176 %243 = fcmp uge float %241, %242 %244 = select i1 %243, float %242, float %241 %245 = fmul float %231, %231 %246 = fadd float %245, 1.000000e+00 %247 = fmul float %54, %246 %248 = fmul float %55, %246 %249 = fmul float %56, %246 %250 = fmul float %57, %244 %251 = fadd float %250, %247 %252 = fmul float %58, %244 %253 = fadd float %252, %248 %254 = fmul float %59, %244 %255 = fadd float %254, %249 %256 = fsub float -0.000000e+00, %222 %257 = fadd float 1.000000e+00, %256 %258 = fsub float -0.000000e+00, %223 %259 = fadd float 1.000000e+00, %258 %260 = fsub float -0.000000e+00, %224 %261 = fadd float 1.000000e+00, %260 %262 = fmul float %251, %257 %263 = fmul float %253, %259 %264 = fmul float %255, %261 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %145, float %147, float %149, float %151) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %153, float %155, float %157, float %159) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %161, float %163, float %165, float %167) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %222, float %223, float %224, float %236) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %262, float %263, float %264, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %141, float %142, float %143, float %143) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010200 c0800100 bf8c0070 c2020141 bf8c007f 7e000204 7e0202ff 80000000 d2820000 04060103 c2020140 bf8c007f 7e0c0204 d2820001 04060d02 100c0301 d2820006 041a0100 c2020142 bf8c007f 7e0e0204 d2100002 02020f04 c2020143 bf8c007f 0a040404 d2820003 041a0502 7e085b03 10080704 d2060003 22010103 d0080004 02020680 d2000003 00120880 c2020120 bf8c007f 10080204 c2020121 bf8c007f d2820004 04120004 c2020122 bf8c007f d2820009 04120404 c2020159 c202815b bf8c007f 7e080205 d2820004 04100909 c202011c bf8c007f 100a0204 c202011d bf8c007f d2820005 04160004 c202011e bf8c007f d282000c 04160404 c2020158 c202815a bf8c007f 7e0a0205 d2820005 0414090c c2020155 c2028157 bf8c007f 7e0c0205 d2820006 04180909 c2020154 c2028156 bf8c007f 7e0e0205 d2820007 041c090c c2020151 c2028153 bf8c007f 7e100205 d2820008 04200909 c2020150 c2028152 bf8c007f 7e140205 d282000a 0428090c c202014d c202814f bf8c007f 7e160205 d282000b 042c0909 c202014c c202814e bf8c007f 7e1a0205 d282000d 0434090c c2020149 c202814b bf8c007f 7e1c0205 d282000e 04380909 c2020148 c202814a bf8c007f 7e1e0205 d2820010 043c090c c2020145 c2028147 bf8c007f 7e1e0205 d2820011 043c0909 c2020144 c2028146 bf8c007f 7e120205 d2820012 0424090c c2020101 c2028115 bf8c007f 7e120205 d2820009 04240900 c2028119 bf8c007f 0a1e1205 c2028114 bf8c007f 7e120205 d2820009 04240901 c2028118 bf8c007f 0a261205 c2028107 bf8c007f 10122605 c202810b bf8c007f d2820009 04261e05 c2028116 bf8c007f 7e180205 d282000c 04300902 c202011a bf8c007f 0a281804 c202010f bf8c007f d2820009 04262804 c2020113 bf8c007f 06121204 c2020105 bf8c007f 10182604 c2020109 bf8c007f d282000c 04321e04 c202010d bf8c007f d282000c 04322804 c2020111 bf8c007f 06181804 c2020104 bf8c007f 10262604 c2020108 bf8c007f d282000f 044e1e04 c202010c bf8c007f d282000f 043e2804 c2020110 bf8c007f 061e1e04 c2020128 bf8c007f 0a280404 c202012a bf8c007f 10262804 c2020129 bf8c007f 10282804 d2060115 02010114 7e2c02ff 3c23d70a d0080006 02022d15 c202015c c2058137 c2060133 c20c0126 c20c8125 c20d0124 bf8c007f be962406 8996167e 7e2a5514 d2060014 22010114 7e284b14 082828f2 10282b14 1028280c be8c0314 88fe167e c204013e c203013d c202813c c205013a c2048139 c2038138 c2078136 c2090135 c20a0134 c2088132 c2098131 c20a8130 c208012f c206812e c207012d c200012c 7e280218 7e2a0219 7e2c021a d2060117 02010113 7e3002ff 3c23d70a d0080002 02023117 bf8c007f be822402 8982027e 7e2e5513 d2060013 22010113 7e264b13 082626f2 10262f13 1026260b be8b0313 88fe027e f800020f 0e101112 f800021f 080a0b0d f800022f 04050607 bf8c070f 7e08020c d2100005 02020815 7e0c020b d2820005 04160c14 d2060005 22010105 100a0b03 7e0a4b05 100e0a04 d2100008 02020813 d2820008 04220c12 d2060008 22010108 10101103 7e104b08 d2820007 041c0908 d2100004 02020811 d2820004 04120c0f d2060004 22010104 10080903 7e084b04 d2820006 041c0904 f800023f 06040805 bf8c070f d2100006 02020610 d2100001 02022d01 d2820000 04062b00 d2820000 04022902 7e025503 10000300 1002000d 0802020e 7e025b01 10020200 d00c0000 02020d01 d2000001 00020d01 d2820000 03ca0100 1004000a d2820002 040a0208 080608f2 10040702 10060009 d2820003 040e0206 080810f2 10060903 10000007 d2820000 04020205 08020af2 10000300 7e020280 f800024f 01020300 f80008cf 09090c0f bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..6], LOCAL IMM[0] FLT32 { 1.0000, 0.0355, 0.0585, 0.0863} IMM[1] FLT32 { 0.1139, 0.1346, 0.1423, 0.0000} 0: MOV TEMP[0].w, IMM[0].xxxx 1: MOV TEMP[1].xy, IN[5].xyyy 2: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 3: MOV TEMP[2].xy, IN[5].zwww 4: TEX TEMP[2].xyz, TEMP[2], SAMP[0], 2D 5: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xyzz 6: MOV TEMP[2].xy, IN[4].xyyy 7: TEX TEMP[2].xyz, TEMP[2], SAMP[0], 2D 8: MOV TEMP[3].xy, IN[4].zwww 9: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 10: ADD TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xyzz 11: MOV TEMP[3].xy, IN[3].xyyy 12: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 13: MOV TEMP[4].xy, IN[3].zwww 14: TEX TEMP[4].xyz, TEMP[4], SAMP[0], 2D 15: ADD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xyzz 16: MOV TEMP[4].xy, IN[2].xyyy 17: TEX TEMP[4].xyz, TEMP[4], SAMP[0], 2D 18: MOV TEMP[5].xy, IN[2].zwww 19: TEX TEMP[5].xyz, TEMP[5], SAMP[0], 2D 20: ADD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xyzz 21: MOV TEMP[5].xy, IN[1].xyyy 22: TEX TEMP[5].xyz, TEMP[5], SAMP[0], 2D 23: MOV TEMP[6].xy, IN[1].zwww 24: TEX TEMP[6].xyz, TEMP[6], SAMP[0], 2D 25: ADD TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xyzz 26: MOV TEMP[6].xy, IN[0].xyyy 27: TEX TEMP[6].xyz, TEMP[6], SAMP[0], 2D 28: MUL TEMP[6].xyz, TEMP[6].xyzz, IMM[1].zzzz 29: MAD TEMP[5].xyz, TEMP[5].xyzz, IMM[1].yyyy, TEMP[6].xyzz 30: MAD TEMP[4].xyz, TEMP[4].xyzz, IMM[1].xxxx, TEMP[5].xyzz 31: MAD TEMP[3].xyz, TEMP[3].xyzz, IMM[0].wwww, TEMP[4].xyzz 32: MAD TEMP[2].xyz, TEMP[2].xyzz, IMM[0].zzzz, TEMP[3].xyzz 33: MAD TEMP[0].xyz, TEMP[1].xyzz, IMM[0].yyyy, TEMP[2].xyzz 34: MOV OUT[0], TEMP[0] 35: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %46 = bitcast float %42 to i32 %47 = bitcast float %43 to i32 %48 = insertelement <2 x i32> undef, i32 %46, i32 0 %49 = insertelement <2 x i32> %48, i32 %47, i32 1 %50 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %49, <32 x i8> %21, <16 x i8> %23, i32 2) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = bitcast float %44 to i32 %55 = bitcast float %45 to i32 %56 = insertelement <2 x i32> undef, i32 %54, i32 0 %57 = insertelement <2 x i32> %56, i32 %55, i32 1 %58 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %57, <32 x i8> %21, <16 x i8> %23, i32 2) %59 = extractelement <4 x float> %58, i32 0 %60 = extractelement <4 x float> %58, i32 1 %61 = extractelement <4 x float> %58, i32 2 %62 = fadd float %51, %59 %63 = fadd float %52, %60 %64 = fadd float %53, %61 %65 = bitcast float %38 to i32 %66 = bitcast float %39 to i32 %67 = insertelement <2 x i32> undef, i32 %65, i32 0 %68 = insertelement <2 x i32> %67, i32 %66, i32 1 %69 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %68, <32 x i8> %21, <16 x i8> %23, i32 2) %70 = extractelement <4 x float> %69, i32 0 %71 = extractelement <4 x float> %69, i32 1 %72 = extractelement <4 x float> %69, i32 2 %73 = bitcast float %40 to i32 %74 = bitcast float %41 to i32 %75 = insertelement <2 x i32> undef, i32 %73, i32 0 %76 = insertelement <2 x i32> %75, i32 %74, i32 1 %77 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %76, <32 x i8> %21, <16 x i8> %23, i32 2) %78 = extractelement <4 x float> %77, i32 0 %79 = extractelement <4 x float> %77, i32 1 %80 = extractelement <4 x float> %77, i32 2 %81 = fadd float %70, %78 %82 = fadd float %71, %79 %83 = fadd float %72, %80 %84 = bitcast float %34 to i32 %85 = bitcast float %35 to i32 %86 = insertelement <2 x i32> undef, i32 %84, i32 0 %87 = insertelement <2 x i32> %86, i32 %85, i32 1 %88 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %87, <32 x i8> %21, <16 x i8> %23, i32 2) %89 = extractelement <4 x float> %88, i32 0 %90 = extractelement <4 x float> %88, i32 1 %91 = extractelement <4 x float> %88, i32 2 %92 = bitcast float %36 to i32 %93 = bitcast float %37 to i32 %94 = insertelement <2 x i32> undef, i32 %92, i32 0 %95 = insertelement <2 x i32> %94, i32 %93, i32 1 %96 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %95, <32 x i8> %21, <16 x i8> %23, i32 2) %97 = extractelement <4 x float> %96, i32 0 %98 = extractelement <4 x float> %96, i32 1 %99 = extractelement <4 x float> %96, i32 2 %100 = fadd float %89, %97 %101 = fadd float %90, %98 %102 = fadd float %91, %99 %103 = bitcast float %30 to i32 %104 = bitcast float %31 to i32 %105 = insertelement <2 x i32> undef, i32 %103, i32 0 %106 = insertelement <2 x i32> %105, i32 %104, i32 1 %107 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %106, <32 x i8> %21, <16 x i8> %23, i32 2) %108 = extractelement <4 x float> %107, i32 0 %109 = extractelement <4 x float> %107, i32 1 %110 = extractelement <4 x float> %107, i32 2 %111 = bitcast float %32 to i32 %112 = bitcast float %33 to i32 %113 = insertelement <2 x i32> undef, i32 %111, i32 0 %114 = insertelement <2 x i32> %113, i32 %112, i32 1 %115 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %114, <32 x i8> %21, <16 x i8> %23, i32 2) %116 = extractelement <4 x float> %115, i32 0 %117 = extractelement <4 x float> %115, i32 1 %118 = extractelement <4 x float> %115, i32 2 %119 = fadd float %108, %116 %120 = fadd float %109, %117 %121 = fadd float %110, %118 %122 = bitcast float %26 to i32 %123 = bitcast float %27 to i32 %124 = insertelement <2 x i32> undef, i32 %122, i32 0 %125 = insertelement <2 x i32> %124, i32 %123, i32 1 %126 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %125, <32 x i8> %21, <16 x i8> %23, i32 2) %127 = extractelement <4 x float> %126, i32 0 %128 = extractelement <4 x float> %126, i32 1 %129 = extractelement <4 x float> %126, i32 2 %130 = bitcast float %28 to i32 %131 = bitcast float %29 to i32 %132 = insertelement <2 x i32> undef, i32 %130, i32 0 %133 = insertelement <2 x i32> %132, i32 %131, i32 1 %134 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %133, <32 x i8> %21, <16 x i8> %23, i32 2) %135 = extractelement <4 x float> %134, i32 0 %136 = extractelement <4 x float> %134, i32 1 %137 = extractelement <4 x float> %134, i32 2 %138 = fadd float %127, %135 %139 = fadd float %128, %136 %140 = fadd float %129, %137 %141 = bitcast float %24 to i32 %142 = bitcast float %25 to i32 %143 = insertelement <2 x i32> undef, i32 %141, i32 0 %144 = insertelement <2 x i32> %143, i32 %142, i32 1 %145 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %144, <32 x i8> %21, <16 x i8> %23, i32 2) %146 = extractelement <4 x float> %145, i32 0 %147 = extractelement <4 x float> %145, i32 1 %148 = extractelement <4 x float> %145, i32 2 %149 = fmul float %146, 0x3FC236E2E0000000 %150 = fmul float %147, 0x3FC236E2E0000000 %151 = fmul float %148, 0x3FC236E2E0000000 %152 = fmul float %138, 0x3FC13AE680000000 %153 = fadd float %152, %149 %154 = fmul float %139, 0x3FC13AE680000000 %155 = fadd float %154, %150 %156 = fmul float %140, 0x3FC13AE680000000 %157 = fadd float %156, %151 %158 = fmul float %119, 0x3FBD2B7FE0000000 %159 = fadd float %158, %153 %160 = fmul float %120, 0x3FBD2B7FE0000000 %161 = fadd float %160, %155 %162 = fmul float %121, 0x3FBD2B7FE0000000 %163 = fadd float %162, %157 %164 = fmul float %100, 0x3FB6186980000000 %165 = fadd float %164, %159 %166 = fmul float %101, 0x3FB6186980000000 %167 = fadd float %166, %161 %168 = fmul float %102, 0x3FB6186980000000 %169 = fadd float %168, %163 %170 = fmul float %81, 0x3FADF3D7E0000000 %171 = fadd float %170, %165 %172 = fmul float %82, 0x3FADF3D7E0000000 %173 = fadd float %172, %167 %174 = fmul float %83, 0x3FADF3D7E0000000 %175 = fadd float %174, %169 %176 = fmul float %62, 0x3FA22AD3E0000000 %177 = fadd float %176, %171 %178 = fmul float %63, 0x3FA22AD3E0000000 %179 = fadd float %178, %173 %180 = fmul float %64, 0x3FA22AD3E0000000 %181 = fadd float %180, %175 %182 = call i32 @llvm.SI.packf16(float %177, float %179) %183 = bitcast i32 %182 to float %184 = call i32 @llvm.SI.packf16(float %181, float 1.000000e+00) %185 = bitcast i32 %184 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %183, float %185, float %183, float %185) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0700 c80d0701 c8080600 c8090601 c0800300 c0c40500 bf8c007f f0800700 00020202 c8180500 c8190501 c8140400 c8150401 f0800700 00020505 bf8c0770 06100706 c8280100 c8290101 c8240000 c8250001 f0800700 00020909 7e1802ff 3e11b717 bf8c0770 101a190a 7e1c02ff 3e09d734 d2820008 04361d08 c8400b00 c8410b01 c83c0a00 c83d0a01 f0800700 00020f0f c84c0900 c84d0901 c8480800 c8490801 f0800700 00021212 bf8c0770 061a2113 7e2a02ff 3de95bff d2820008 04222b0d c85c0f00 c85d0f01 c8580e00 c8590e01 f0800700 00021616 c8680d00 c8690d01 c8640c00 c8650c01 f0800700 00021919 bf8c0770 061a2f1a 7e3802ff 3db0c34c d2820008 0422390d c8781300 c8791301 c8741200 c8751201 f0800700 00021d1d c8841100 c8851101 c8801000 c8811001 f0800700 00022020 bf8c0770 061a3d21 7e4602ff 3d6f9ebf d2820008 0422470d c8941700 c8951701 c8901600 c8911601 f0800700 00022424 c8a01500 c8a11501 c89c1400 c89d1401 f0800700 00022727 bf8c0770 06004b28 7e0202ff 3d11569f d2820000 04220300 06100505 101a1909 d2820008 04361d08 061a1f12 d2820008 04222b0d 061a2d19 d2820008 0422390d 061a3b20 d2820008 0422470d 061a4927 d2820008 0422030d 5e000108 06040907 1006190b d2820002 040e1d02 06062314 d2820002 040a2b03 0606311b d2820002 040a3903 06063f22 d2820002 040a4703 06064d29 d2820001 040a0303 d25e0001 0201e501 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL CONST[0..5] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, -1.0000, 5.0000} IMM[1] FLT32 { 2.0000, 0.0000, -2.0000, 5.0000} IMM[2] FLT32 { 3.0000, 0.0000, -3.0000, 5.0000} IMM[3] FLT32 { 4.0000, 0.0000, -4.0000, 5.0000} IMM[4] FLT32 { 5.0000, 0.0000, -5.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MAD TEMP[1], CONST[0].zwzw, IMM[0].xyzy, IN[1].xyxy 6: MAD TEMP[2], CONST[0].zwzw, IMM[1].xyzy, IN[1].xyxy 7: MAD TEMP[3], CONST[0].zwzw, IMM[2].xyzy, IN[1].xyxy 8: MAD TEMP[4], CONST[0].zwzw, IMM[3].xyzy, IN[1].xyxy 9: MAD TEMP[5], CONST[0].zwzw, IMM[4].xyzy, IN[1].xyxy 10: MOV OUT[1], IN[1].xyxy 11: MOV OUT[2], TEMP[1] 12: MOV OUT[3], TEMP[2] 13: MOV OUT[4], TEMP[3] 14: MOV OUT[5], TEMP[4] 15: MOV OUT[6], TEMP[5] 16: MOV OUT[0], TEMP[0] 17: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 1.000000e+00 %79 = fadd float %78, %42 %80 = fmul float %12, 0.000000e+00 %81 = fadd float %80, %43 %82 = fmul float %11, -1.000000e+00 %83 = fadd float %82, %42 %84 = fmul float %12, 0.000000e+00 %85 = fadd float %84, %43 %86 = fmul float %11, 2.000000e+00 %87 = fadd float %86, %42 %88 = fmul float %12, 0.000000e+00 %89 = fadd float %88, %43 %90 = fmul float %11, -2.000000e+00 %91 = fadd float %90, %42 %92 = fmul float %12, 0.000000e+00 %93 = fadd float %92, %43 %94 = fmul float %11, 3.000000e+00 %95 = fadd float %94, %42 %96 = fmul float %12, 0.000000e+00 %97 = fadd float %96, %43 %98 = fmul float %11, -3.000000e+00 %99 = fadd float %98, %42 %100 = fmul float %12, 0.000000e+00 %101 = fadd float %100, %43 %102 = fmul float %11, 4.000000e+00 %103 = fadd float %102, %42 %104 = fmul float %12, 0.000000e+00 %105 = fadd float %104, %43 %106 = fmul float %11, -4.000000e+00 %107 = fadd float %106, %42 %108 = fmul float %12, 0.000000e+00 %109 = fadd float %108, %43 %110 = fmul float %11, 5.000000e+00 %111 = fadd float %110, %42 %112 = fmul float %12, 0.000000e+00 %113 = fadd float %112, %43 %114 = fmul float %11, -5.000000e+00 %115 = fadd float %114, %42 %116 = fmul float %12, 0.000000e+00 %117 = fadd float %116, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %42, float %43) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %79, float %81, float %83, float %85) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %87, float %89, float %91, float %93) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %95, float %97, float %99, float %101) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %103, float %105, float %107, float %109) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %111, float %113, float %115, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 bf8c0770 f800020f 02010201 c0800100 bf8c000f c2020102 bf8c007f 7e0a0204 d2080006 02020b01 060e0204 c2028103 bf8c007f d2820008 04090005 f800021f 08060807 d2060005 02020a04 060a0305 bf8c070f d2820006 0405ea04 f800022f 08060805 bf8c070f 7e0a02ff c0400000 d2820005 04060a04 7e0c02ff 40400000 d2820006 04060c04 f800023f 08050806 bf8c070f d2820005 0405ee04 d2820006 0405ec04 f800024f 08050806 bf8c070f 7e0a02ff c0a00000 d2820005 04060a04 7e0c02ff 40a00000 d2820001 04060c04 f800025f 08050801 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..6], LOCAL IMM[0] FLT32 { 1.0000, 0.0355, 0.0585, 0.0863} IMM[1] FLT32 { 0.1139, 0.1346, 0.1423, 0.0000} 0: MOV TEMP[0].w, IMM[0].xxxx 1: MOV TEMP[1].xy, IN[5].xyyy 2: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 3: MOV TEMP[2].xy, IN[5].zwww 4: TEX TEMP[2].xyz, TEMP[2], SAMP[0], 2D 5: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xyzz 6: MOV TEMP[2].xy, IN[4].xyyy 7: TEX TEMP[2].xyz, TEMP[2], SAMP[0], 2D 8: MOV TEMP[3].xy, IN[4].zwww 9: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 10: ADD TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xyzz 11: MOV TEMP[3].xy, IN[3].xyyy 12: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 13: MOV TEMP[4].xy, IN[3].zwww 14: TEX TEMP[4].xyz, TEMP[4], SAMP[0], 2D 15: ADD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xyzz 16: MOV TEMP[4].xy, IN[2].xyyy 17: TEX TEMP[4].xyz, TEMP[4], SAMP[0], 2D 18: MOV TEMP[5].xy, IN[2].zwww 19: TEX TEMP[5].xyz, TEMP[5], SAMP[0], 2D 20: ADD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xyzz 21: MOV TEMP[5].xy, IN[1].xyyy 22: TEX TEMP[5].xyz, TEMP[5], SAMP[0], 2D 23: MOV TEMP[6].xy, IN[1].zwww 24: TEX TEMP[6].xyz, TEMP[6], SAMP[0], 2D 25: ADD TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xyzz 26: MOV TEMP[6].xy, IN[0].xyyy 27: TEX TEMP[6].xyz, TEMP[6], SAMP[0], 2D 28: MUL TEMP[6].xyz, TEMP[6].xyzz, IMM[1].zzzz 29: MAD TEMP[5].xyz, TEMP[5].xyzz, IMM[1].yyyy, TEMP[6].xyzz 30: MAD TEMP[4].xyz, TEMP[4].xyzz, IMM[1].xxxx, TEMP[5].xyzz 31: MAD TEMP[3].xyz, TEMP[3].xyzz, IMM[0].wwww, TEMP[4].xyzz 32: MAD TEMP[2].xyz, TEMP[2].xyzz, IMM[0].zzzz, TEMP[3].xyzz 33: MAD TEMP[0].xyz, TEMP[1].xyzz, IMM[0].yyyy, TEMP[2].xyzz 34: MOV OUT[0], TEMP[0] 35: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %46 = bitcast float %42 to i32 %47 = bitcast float %43 to i32 %48 = insertelement <2 x i32> undef, i32 %46, i32 0 %49 = insertelement <2 x i32> %48, i32 %47, i32 1 %50 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %49, <32 x i8> %21, <16 x i8> %23, i32 2) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = bitcast float %44 to i32 %55 = bitcast float %45 to i32 %56 = insertelement <2 x i32> undef, i32 %54, i32 0 %57 = insertelement <2 x i32> %56, i32 %55, i32 1 %58 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %57, <32 x i8> %21, <16 x i8> %23, i32 2) %59 = extractelement <4 x float> %58, i32 0 %60 = extractelement <4 x float> %58, i32 1 %61 = extractelement <4 x float> %58, i32 2 %62 = fadd float %51, %59 %63 = fadd float %52, %60 %64 = fadd float %53, %61 %65 = bitcast float %38 to i32 %66 = bitcast float %39 to i32 %67 = insertelement <2 x i32> undef, i32 %65, i32 0 %68 = insertelement <2 x i32> %67, i32 %66, i32 1 %69 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %68, <32 x i8> %21, <16 x i8> %23, i32 2) %70 = extractelement <4 x float> %69, i32 0 %71 = extractelement <4 x float> %69, i32 1 %72 = extractelement <4 x float> %69, i32 2 %73 = bitcast float %40 to i32 %74 = bitcast float %41 to i32 %75 = insertelement <2 x i32> undef, i32 %73, i32 0 %76 = insertelement <2 x i32> %75, i32 %74, i32 1 %77 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %76, <32 x i8> %21, <16 x i8> %23, i32 2) %78 = extractelement <4 x float> %77, i32 0 %79 = extractelement <4 x float> %77, i32 1 %80 = extractelement <4 x float> %77, i32 2 %81 = fadd float %70, %78 %82 = fadd float %71, %79 %83 = fadd float %72, %80 %84 = bitcast float %34 to i32 %85 = bitcast float %35 to i32 %86 = insertelement <2 x i32> undef, i32 %84, i32 0 %87 = insertelement <2 x i32> %86, i32 %85, i32 1 %88 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %87, <32 x i8> %21, <16 x i8> %23, i32 2) %89 = extractelement <4 x float> %88, i32 0 %90 = extractelement <4 x float> %88, i32 1 %91 = extractelement <4 x float> %88, i32 2 %92 = bitcast float %36 to i32 %93 = bitcast float %37 to i32 %94 = insertelement <2 x i32> undef, i32 %92, i32 0 %95 = insertelement <2 x i32> %94, i32 %93, i32 1 %96 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %95, <32 x i8> %21, <16 x i8> %23, i32 2) %97 = extractelement <4 x float> %96, i32 0 %98 = extractelement <4 x float> %96, i32 1 %99 = extractelement <4 x float> %96, i32 2 %100 = fadd float %89, %97 %101 = fadd float %90, %98 %102 = fadd float %91, %99 %103 = bitcast float %30 to i32 %104 = bitcast float %31 to i32 %105 = insertelement <2 x i32> undef, i32 %103, i32 0 %106 = insertelement <2 x i32> %105, i32 %104, i32 1 %107 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %106, <32 x i8> %21, <16 x i8> %23, i32 2) %108 = extractelement <4 x float> %107, i32 0 %109 = extractelement <4 x float> %107, i32 1 %110 = extractelement <4 x float> %107, i32 2 %111 = bitcast float %32 to i32 %112 = bitcast float %33 to i32 %113 = insertelement <2 x i32> undef, i32 %111, i32 0 %114 = insertelement <2 x i32> %113, i32 %112, i32 1 %115 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %114, <32 x i8> %21, <16 x i8> %23, i32 2) %116 = extractelement <4 x float> %115, i32 0 %117 = extractelement <4 x float> %115, i32 1 %118 = extractelement <4 x float> %115, i32 2 %119 = fadd float %108, %116 %120 = fadd float %109, %117 %121 = fadd float %110, %118 %122 = bitcast float %26 to i32 %123 = bitcast float %27 to i32 %124 = insertelement <2 x i32> undef, i32 %122, i32 0 %125 = insertelement <2 x i32> %124, i32 %123, i32 1 %126 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %125, <32 x i8> %21, <16 x i8> %23, i32 2) %127 = extractelement <4 x float> %126, i32 0 %128 = extractelement <4 x float> %126, i32 1 %129 = extractelement <4 x float> %126, i32 2 %130 = bitcast float %28 to i32 %131 = bitcast float %29 to i32 %132 = insertelement <2 x i32> undef, i32 %130, i32 0 %133 = insertelement <2 x i32> %132, i32 %131, i32 1 %134 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %133, <32 x i8> %21, <16 x i8> %23, i32 2) %135 = extractelement <4 x float> %134, i32 0 %136 = extractelement <4 x float> %134, i32 1 %137 = extractelement <4 x float> %134, i32 2 %138 = fadd float %127, %135 %139 = fadd float %128, %136 %140 = fadd float %129, %137 %141 = bitcast float %24 to i32 %142 = bitcast float %25 to i32 %143 = insertelement <2 x i32> undef, i32 %141, i32 0 %144 = insertelement <2 x i32> %143, i32 %142, i32 1 %145 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %144, <32 x i8> %21, <16 x i8> %23, i32 2) %146 = extractelement <4 x float> %145, i32 0 %147 = extractelement <4 x float> %145, i32 1 %148 = extractelement <4 x float> %145, i32 2 %149 = fmul float %146, 0x3FC236E2E0000000 %150 = fmul float %147, 0x3FC236E2E0000000 %151 = fmul float %148, 0x3FC236E2E0000000 %152 = fmul float %138, 0x3FC13AE680000000 %153 = fadd float %152, %149 %154 = fmul float %139, 0x3FC13AE680000000 %155 = fadd float %154, %150 %156 = fmul float %140, 0x3FC13AE680000000 %157 = fadd float %156, %151 %158 = fmul float %119, 0x3FBD2B7FE0000000 %159 = fadd float %158, %153 %160 = fmul float %120, 0x3FBD2B7FE0000000 %161 = fadd float %160, %155 %162 = fmul float %121, 0x3FBD2B7FE0000000 %163 = fadd float %162, %157 %164 = fmul float %100, 0x3FB6186980000000 %165 = fadd float %164, %159 %166 = fmul float %101, 0x3FB6186980000000 %167 = fadd float %166, %161 %168 = fmul float %102, 0x3FB6186980000000 %169 = fadd float %168, %163 %170 = fmul float %81, 0x3FADF3D7E0000000 %171 = fadd float %170, %165 %172 = fmul float %82, 0x3FADF3D7E0000000 %173 = fadd float %172, %167 %174 = fmul float %83, 0x3FADF3D7E0000000 %175 = fadd float %174, %169 %176 = fmul float %62, 0x3FA22AD3E0000000 %177 = fadd float %176, %171 %178 = fmul float %63, 0x3FA22AD3E0000000 %179 = fadd float %178, %173 %180 = fmul float %64, 0x3FA22AD3E0000000 %181 = fadd float %180, %175 %182 = call i32 @llvm.SI.packf16(float %177, float %179) %183 = bitcast i32 %182 to float %184 = call i32 @llvm.SI.packf16(float %181, float 1.000000e+00) %185 = bitcast i32 %184 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %183, float %185, float %183, float %185) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0700 c80d0701 c8080600 c8090601 c0800300 c0c40500 bf8c007f f0800700 00020202 c8180500 c8190501 c8140400 c8150401 f0800700 00020505 bf8c0770 06100706 c8280100 c8290101 c8240000 c8250001 f0800700 00020909 7e1802ff 3e11b717 bf8c0770 101a190a 7e1c02ff 3e09d734 d2820008 04361d08 c8400b00 c8410b01 c83c0a00 c83d0a01 f0800700 00020f0f c84c0900 c84d0901 c8480800 c8490801 f0800700 00021212 bf8c0770 061a2113 7e2a02ff 3de95bff d2820008 04222b0d c85c0f00 c85d0f01 c8580e00 c8590e01 f0800700 00021616 c8680d00 c8690d01 c8640c00 c8650c01 f0800700 00021919 bf8c0770 061a2f1a 7e3802ff 3db0c34c d2820008 0422390d c8781300 c8791301 c8741200 c8751201 f0800700 00021d1d c8841100 c8851101 c8801000 c8811001 f0800700 00022020 bf8c0770 061a3d21 7e4602ff 3d6f9ebf d2820008 0422470d c8941700 c8951701 c8901600 c8911601 f0800700 00022424 c8a01500 c8a11501 c89c1400 c89d1401 f0800700 00022727 bf8c0770 06004b28 7e0202ff 3d11569f d2820000 04220300 06100505 101a1909 d2820008 04361d08 061a1f12 d2820008 04222b0d 061a2d19 d2820008 0422390d 061a3b20 d2820008 0422470d 061a4927 d2820008 0422030d 5e000108 06040907 1006190b d2820002 040e1d02 06062314 d2820002 040a2b03 0606311b d2820002 040a3903 06063f22 d2820002 040a4703 06064d29 d2820001 040a0303 d25e0001 0201e501 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL CONST[0..5] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, -1.0000, 5.0000} IMM[1] FLT32 { 0.0000, 2.0000, -2.0000, 5.0000} IMM[2] FLT32 { 0.0000, 3.0000, -3.0000, 5.0000} IMM[3] FLT32 { 0.0000, 4.0000, -4.0000, 5.0000} IMM[4] FLT32 { 0.0000, 5.0000, -5.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MAD TEMP[1], CONST[0].zwzw, IMM[0].xyxz, IN[1].xyxy 6: MAD TEMP[2], CONST[0].zwzw, IMM[1].xyxz, IN[1].xyxy 7: MAD TEMP[3], CONST[0].zwzw, IMM[2].xyxz, IN[1].xyxy 8: MAD TEMP[4], CONST[0].zwzw, IMM[3].xyxz, IN[1].xyxy 9: MAD TEMP[5], CONST[0].zwzw, IMM[4].xyxz, IN[1].xyxy 10: MOV OUT[1], IN[1].xyxy 11: MOV OUT[2], TEMP[1] 12: MOV OUT[3], TEMP[2] 13: MOV OUT[4], TEMP[3] 14: MOV OUT[5], TEMP[4] 15: MOV OUT[6], TEMP[5] 16: MOV OUT[0], TEMP[0] 17: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 0.000000e+00 %79 = fadd float %78, %42 %80 = fmul float %12, 1.000000e+00 %81 = fadd float %80, %43 %82 = fmul float %11, 0.000000e+00 %83 = fadd float %82, %42 %84 = fmul float %12, -1.000000e+00 %85 = fadd float %84, %43 %86 = fmul float %11, 0.000000e+00 %87 = fadd float %86, %42 %88 = fmul float %12, 2.000000e+00 %89 = fadd float %88, %43 %90 = fmul float %11, 0.000000e+00 %91 = fadd float %90, %42 %92 = fmul float %12, -2.000000e+00 %93 = fadd float %92, %43 %94 = fmul float %11, 0.000000e+00 %95 = fadd float %94, %42 %96 = fmul float %12, 3.000000e+00 %97 = fadd float %96, %43 %98 = fmul float %11, 0.000000e+00 %99 = fadd float %98, %42 %100 = fmul float %12, -3.000000e+00 %101 = fadd float %100, %43 %102 = fmul float %11, 0.000000e+00 %103 = fadd float %102, %42 %104 = fmul float %12, 4.000000e+00 %105 = fadd float %104, %43 %106 = fmul float %11, 0.000000e+00 %107 = fadd float %106, %42 %108 = fmul float %12, -4.000000e+00 %109 = fadd float %108, %43 %110 = fmul float %11, 0.000000e+00 %111 = fadd float %110, %42 %112 = fmul float %12, 5.000000e+00 %113 = fadd float %112, %43 %114 = fmul float %11, 0.000000e+00 %115 = fadd float %114, %42 %116 = fmul float %12, -5.000000e+00 %117 = fadd float %116, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %42, float %43) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %79, float %81, float %83, float %85) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %87, float %89, float %91, float %93) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %95, float %97, float %99, float %101) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %103, float %105, float %107, float %109) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %111, float %113, float %115, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 bf8c0770 f800020f 02010201 c0800100 bf8c000f c2020103 bf8c007f 7e0a0204 d2080006 02020b02 060e0404 c2028102 bf8c007f d2820008 04050005 f800021f 06080708 d2060005 02020a04 060a0505 bf8c070f d2820006 0409ea04 f800022f 06080508 bf8c070f 7e0a02ff c0400000 d2820005 040a0a04 7e0c02ff 40400000 d2820006 040a0c04 f800023f 05080608 bf8c070f d2820005 0409ee04 d2820006 0409ec04 f800024f 05080608 bf8c070f 7e0a02ff c0a00000 d2820005 040a0a04 7e0c02ff 40a00000 d2820001 040a0c04 f800025f 05080108 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[0..11] DCL CONST[18..19] DCL TEMP[0..12], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.5000, 3.0000, 4.0000, 0.1667} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[0].xyyy 3: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 4: MAD TEMP[1].xy, TEMP[1].xyyy, IMM[0].xxxx, IMM[0].yyyy 5: DP2 TEMP[2].x, TEMP[1].xyyy, TEMP[1].xyyy 6: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 7: RSQ TEMP[3].x, TEMP[2].xxxx 8: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 9: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].wwww 10: MOV TEMP[1].z, TEMP[3].xxxx 11: MUL TEMP[2].xyz, TEMP[0].xyzz, CONST[0].xyzz 12: DP3 TEMP[3].x, TEMP[1].xyzz, IN[1].xyzz 13: DP3 TEMP[4].x, TEMP[1].xyzz, IN[2].xyzz 14: MOV TEMP[3].y, TEMP[4].xxxx 15: DP3 TEMP[1].x, TEMP[1].xyzz, IN[3].xyzz 16: MOV TEMP[3].z, TEMP[1].xxxx 17: MAD TEMP[1].xy, IN[0].zwww, CONST[10].xyyy, IMM[1].xxxx 18: FRC TEMP[4].x, TEMP[1].xxxx 19: MUL TEMP[5].x, TEMP[4].xxxx, TEMP[4].xxxx 20: MUL TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx 21: MUL TEMP[7].x, TEMP[4].xxxx, IMM[1].yyyy 22: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].yyyy 23: MUL TEMP[8].x, TEMP[6].xxxx, IMM[1].yyyy 24: MUL TEMP[9].x, TEMP[5].xxxx, IMM[0].xxxx 25: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[9].xxxx 26: ADD TEMP[9].x, TEMP[9].xxxx, IMM[1].zzzz 27: ADD TEMP[8].x, -TEMP[8].xxxx, TEMP[5].xxxx 28: ADD TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 29: ADD TEMP[8].x, TEMP[8].xxxx, IMM[0].zzzz 30: ADD TEMP[10].x, TEMP[8].xxxx, TEMP[6].xxxx 31: RCP TEMP[10].x, TEMP[10].xxxx 32: MAD TEMP[10].x, TEMP[6].xxxx, TEMP[10].xxxx, IMM[0].zzzz 33: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[4].xxxx 34: ADD TEMP[5].x, -TEMP[6].xxxx, TEMP[5].xxxx 35: ADD TEMP[5].x, TEMP[5].xxxx, -TEMP[7].xxxx 36: ADD TEMP[5].x, TEMP[5].xxxx, IMM[0].zzzz 37: ADD TEMP[5].x, TEMP[5].xxxx, TEMP[9].xxxx 38: RCP TEMP[5].x, TEMP[5].xxxx 39: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 40: ADD TEMP[5].x, IMM[0].zzzz, -TEMP[5].xxxx 41: ADD TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 42: ADD TEMP[5].x, TEMP[8].xxxx, TEMP[6].xxxx 43: MUL TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 44: FRC TEMP[1].x, TEMP[1].yyyy 45: MUL TEMP[6].x, TEMP[1].xxxx, TEMP[1].xxxx 46: MUL TEMP[7].x, TEMP[6].xxxx, TEMP[1].xxxx 47: MUL TEMP[8].x, TEMP[1].xxxx, IMM[1].yyyy 48: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].yyyy 49: MUL TEMP[9].x, TEMP[7].xxxx, IMM[1].yyyy 50: MUL TEMP[11].x, TEMP[6].xxxx, IMM[0].xxxx 51: ADD TEMP[11].x, TEMP[9].xxxx, -TEMP[11].xxxx 52: ADD TEMP[11].x, TEMP[11].xxxx, IMM[1].zzzz 53: ADD TEMP[9].x, -TEMP[9].xxxx, TEMP[6].xxxx 54: ADD TEMP[9].x, TEMP[9].xxxx, TEMP[8].xxxx 55: ADD TEMP[9].x, TEMP[9].xxxx, IMM[0].zzzz 56: ADD TEMP[12].x, TEMP[9].xxxx, TEMP[7].xxxx 57: RCP TEMP[12].x, TEMP[12].xxxx 58: MAD TEMP[12].x, TEMP[7].xxxx, TEMP[12].xxxx, IMM[0].zzzz 59: ADD TEMP[12].x, TEMP[12].xxxx, -TEMP[1].xxxx 60: ADD TEMP[6].x, -TEMP[7].xxxx, TEMP[6].xxxx 61: ADD TEMP[6].x, TEMP[6].xxxx, -TEMP[8].xxxx 62: ADD TEMP[6].x, TEMP[6].xxxx, IMM[0].zzzz 63: ADD TEMP[6].x, TEMP[6].xxxx, TEMP[11].xxxx 64: RCP TEMP[6].x, TEMP[6].xxxx 65: MUL TEMP[6].x, TEMP[11].xxxx, TEMP[6].xxxx 66: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 67: ADD TEMP[1].x, TEMP[6].xxxx, TEMP[1].xxxx 68: ADD TEMP[6].x, TEMP[9].xxxx, TEMP[7].xxxx 69: MUL TEMP[6].x, TEMP[6].xxxx, IMM[1].wwww 70: MOV TEMP[4].x, -TEMP[4].xxxx 71: MOV TEMP[4].y, -TEMP[1].xxxx 72: MOV TEMP[4].z, TEMP[10].xxxx 73: MOV TEMP[4].w, TEMP[12].xxxx 74: MAD TEMP[1], TEMP[4], CONST[10].zwzw, IN[0].zwzw 75: MOV TEMP[3].xyz, TEMP[3].xyzz 76: TEX TEMP[3].xyz, TEMP[3], SAMP[3], CUBE 77: MUL TEMP[3].xyz, TEMP[0].xyzz, TEMP[3].xyzz 78: MOV TEMP[4].xy, TEMP[1].xyyy 79: TEX TEMP[4], TEMP[4], SAMP[4], 2D 80: MOV TEMP[7].xy, TEMP[1].xwww 81: TEX TEMP[7], TEMP[7], SAMP[4], 2D 82: LRP TEMP[4], TEMP[6].xxxx, TEMP[7], TEMP[4] 83: MOV TEMP[7].xy, TEMP[1].zyyy 84: TEX TEMP[7], TEMP[7], SAMP[4], 2D 85: MOV TEMP[1].xy, TEMP[1].zwww 86: TEX TEMP[1], TEMP[1], SAMP[4], 2D 87: LRP TEMP[1], TEMP[6].xxxx, TEMP[1], TEMP[7] 88: LRP TEMP[1].x, TEMP[5].xxxx, TEMP[1], TEMP[4] 89: MUL TEMP[1].x, TEMP[1].xxxx, CONST[18].xxxx 90: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[2].xyzz 91: MOV TEMP[1].xy, IN[4].xyyy 92: MOV TEMP[1].w, IN[4].wwww 93: TXP TEMP[1], TEMP[1], SAMP[5], 2D 94: MOV TEMP[3].xy, IN[0].xyyy 95: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 96: MUL TEMP[4].x, CONST[11].yyyy, TEMP[1].wwww 97: MUL TEMP[5].xyz, TEMP[0].xyzz, CONST[11].xxxx 98: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx, TEMP[5].xyzz 99: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[1].xyzz, TEMP[2].xyzz 100: MOV TEMP[1].xyz, TEMP[1].xyzx 101: MOV TEMP[1].w, TEMP[0].wwww 102: MUL TEMP[0], TEMP[1], CONST[19] 103: MOV OUT[0], TEMP[0] 104: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 316) %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %41 = load <32 x i8> addrspace(2)* %40, !tbaa !0 %42 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %45 = load <32 x i8> addrspace(2)* %44, !tbaa !0 %46 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %49 = load <32 x i8> addrspace(2)* %48, !tbaa !0 %50 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %51 = load <16 x i8> addrspace(2)* %50, !tbaa !0 %52 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %53 = load <32 x i8> addrspace(2)* %52, !tbaa !0 %54 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %57 = load <32 x i8> addrspace(2)* %56, !tbaa !0 %58 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %59 = load <16 x i8> addrspace(2)* %58, !tbaa !0 %60 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %61 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %62 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %63 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %64 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %65 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %66 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %67 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %68 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %69 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %70 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %71 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %72 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %73 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %74 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %75 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %76 = bitcast float %60 to i32 %77 = bitcast float %61 to i32 %78 = insertelement <2 x i32> undef, i32 %76, i32 0 %79 = insertelement <2 x i32> %78, i32 %77, i32 1 %80 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %79, <32 x i8> %37, <16 x i8> %39, i32 2) %81 = extractelement <4 x float> %80, i32 0 %82 = extractelement <4 x float> %80, i32 1 %83 = extractelement <4 x float> %80, i32 2 %84 = extractelement <4 x float> %80, i32 3 %85 = bitcast float %60 to i32 %86 = bitcast float %61 to i32 %87 = insertelement <2 x i32> undef, i32 %85, i32 0 %88 = insertelement <2 x i32> %87, i32 %86, i32 1 %89 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %88, <32 x i8> %41, <16 x i8> %43, i32 2) %90 = extractelement <4 x float> %89, i32 0 %91 = extractelement <4 x float> %89, i32 1 %92 = fmul float %90, 2.000000e+00 %93 = fadd float %92, -1.000000e+00 %94 = fmul float %91, 2.000000e+00 %95 = fadd float %94, -1.000000e+00 %96 = fmul float %93, %93 %97 = fmul float %95, %95 %98 = fadd float %96, %97 %99 = fsub float -0.000000e+00, %98 %100 = fadd float 1.000000e+00, %99 %101 = call float @llvm.AMDIL.clamp.(float %100, float 0.000000e+00, float 1.000000e+00) %102 = call float @llvm.AMDGPU.rsq(float %101) %103 = fmul float %102, %101 %104 = fsub float -0.000000e+00, %101 %105 = call float @llvm.AMDGPU.cndlt(float %104, float %103, float 0.000000e+00) %106 = fmul float %81, %22 %107 = fmul float %82, %23 %108 = fmul float %83, %24 %109 = fmul float %93, %64 %110 = fmul float %95, %65 %111 = fadd float %110, %109 %112 = fmul float %105, %66 %113 = fadd float %111, %112 %114 = fmul float %93, %67 %115 = fmul float %95, %68 %116 = fadd float %115, %114 %117 = fmul float %105, %69 %118 = fadd float %116, %117 %119 = fmul float %93, %70 %120 = fmul float %95, %71 %121 = fadd float %120, %119 %122 = fmul float %105, %72 %123 = fadd float %121, %122 %124 = fmul float %62, %25 %125 = fadd float %124, -5.000000e-01 %126 = fmul float %63, %26 %127 = fadd float %126, -5.000000e-01 %128 = call float @llvm.AMDIL.fraction.(float %125) %129 = fmul float %128, %128 %130 = fmul float %129, %128 %131 = fmul float %128, 3.000000e+00 %132 = fmul float %129, 3.000000e+00 %133 = fmul float %130, 3.000000e+00 %134 = fmul float %132, 2.000000e+00 %135 = fsub float -0.000000e+00, %134 %136 = fadd float %133, %135 %137 = fadd float %136, 4.000000e+00 %138 = fsub float -0.000000e+00, %133 %139 = fadd float %138, %132 %140 = fadd float %139, %131 %141 = fadd float %140, 1.000000e+00 %142 = fadd float %141, %130 %143 = fdiv float 1.000000e+00, %142 %144 = fmul float %130, %143 %145 = fadd float %144, 1.000000e+00 %146 = fsub float -0.000000e+00, %128 %147 = fadd float %145, %146 %148 = fsub float -0.000000e+00, %130 %149 = fadd float %148, %132 %150 = fsub float -0.000000e+00, %131 %151 = fadd float %149, %150 %152 = fadd float %151, 1.000000e+00 %153 = fadd float %152, %137 %154 = fdiv float 1.000000e+00, %153 %155 = fmul float %137, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = fadd float %157, %128 %159 = fadd float %141, %130 %160 = fmul float %159, 0x3FC5555560000000 %161 = call float @llvm.AMDIL.fraction.(float %127) %162 = fmul float %161, %161 %163 = fmul float %162, %161 %164 = fmul float %161, 3.000000e+00 %165 = fmul float %162, 3.000000e+00 %166 = fmul float %163, 3.000000e+00 %167 = fmul float %165, 2.000000e+00 %168 = fsub float -0.000000e+00, %167 %169 = fadd float %166, %168 %170 = fadd float %169, 4.000000e+00 %171 = fsub float -0.000000e+00, %166 %172 = fadd float %171, %165 %173 = fadd float %172, %164 %174 = fadd float %173, 1.000000e+00 %175 = fadd float %174, %163 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %163, %176 %178 = fadd float %177, 1.000000e+00 %179 = fsub float -0.000000e+00, %161 %180 = fadd float %178, %179 %181 = fsub float -0.000000e+00, %163 %182 = fadd float %181, %165 %183 = fsub float -0.000000e+00, %164 %184 = fadd float %182, %183 %185 = fadd float %184, 1.000000e+00 %186 = fadd float %185, %170 %187 = fdiv float 1.000000e+00, %186 %188 = fmul float %170, %187 %189 = fsub float -0.000000e+00, %188 %190 = fadd float 1.000000e+00, %189 %191 = fadd float %190, %161 %192 = fadd float %174, %163 %193 = fmul float %192, 0x3FC5555560000000 %194 = fsub float -0.000000e+00, %158 %195 = fsub float -0.000000e+00, %191 %196 = fmul float %194, %27 %197 = fadd float %196, %62 %198 = fmul float %195, %28 %199 = fadd float %198, %63 %200 = fmul float %147, %27 %201 = fadd float %200, %62 %202 = fmul float %180, %28 %203 = fadd float %202, %63 %204 = insertelement <4 x float> undef, float %113, i32 0 %205 = insertelement <4 x float> %204, float %118, i32 1 %206 = insertelement <4 x float> %205, float %123, i32 2 %207 = insertelement <4 x float> %206, float 0.000000e+00, i32 3 %208 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %207) %209 = extractelement <4 x float> %208, i32 0 %210 = extractelement <4 x float> %208, i32 1 %211 = extractelement <4 x float> %208, i32 2 %212 = extractelement <4 x float> %208, i32 3 %213 = call float @fabs(float %211) %214 = fdiv float 1.000000e+00, %213 %215 = fmul float %209, %214 %216 = fadd float %215, 1.500000e+00 %217 = fmul float %210, %214 %218 = fadd float %217, 1.500000e+00 %219 = bitcast float %218 to i32 %220 = bitcast float %216 to i32 %221 = bitcast float %212 to i32 %222 = insertelement <4 x i32> undef, i32 %219, i32 0 %223 = insertelement <4 x i32> %222, i32 %220, i32 1 %224 = insertelement <4 x i32> %223, i32 %221, i32 2 %225 = insertelement <4 x i32> %224, i32 undef, i32 3 %226 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %225, <32 x i8> %49, <16 x i8> %51, i32 4) %227 = extractelement <4 x float> %226, i32 0 %228 = extractelement <4 x float> %226, i32 1 %229 = extractelement <4 x float> %226, i32 2 %230 = fmul float %81, %227 %231 = fmul float %82, %228 %232 = fmul float %83, %229 %233 = bitcast float %197 to i32 %234 = bitcast float %199 to i32 %235 = insertelement <2 x i32> undef, i32 %233, i32 0 %236 = insertelement <2 x i32> %235, i32 %234, i32 1 %237 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %236, <32 x i8> %53, <16 x i8> %55, i32 2) %238 = extractelement <4 x float> %237, i32 0 %239 = extractelement <4 x float> %237, i32 1 %240 = extractelement <4 x float> %237, i32 2 %241 = extractelement <4 x float> %237, i32 3 %242 = bitcast float %197 to i32 %243 = bitcast float %203 to i32 %244 = insertelement <2 x i32> undef, i32 %242, i32 0 %245 = insertelement <2 x i32> %244, i32 %243, i32 1 %246 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %245, <32 x i8> %53, <16 x i8> %55, i32 2) %247 = extractelement <4 x float> %246, i32 0 %248 = extractelement <4 x float> %246, i32 1 %249 = extractelement <4 x float> %246, i32 2 %250 = extractelement <4 x float> %246, i32 3 %251 = call float @llvm.AMDGPU.lrp(float %193, float %247, float %238) %252 = call float @llvm.AMDGPU.lrp(float %193, float %248, float %239) %253 = call float @llvm.AMDGPU.lrp(float %193, float %249, float %240) %254 = call float @llvm.AMDGPU.lrp(float %193, float %250, float %241) %255 = bitcast float %201 to i32 %256 = bitcast float %199 to i32 %257 = insertelement <2 x i32> undef, i32 %255, i32 0 %258 = insertelement <2 x i32> %257, i32 %256, i32 1 %259 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %258, <32 x i8> %53, <16 x i8> %55, i32 2) %260 = extractelement <4 x float> %259, i32 0 %261 = extractelement <4 x float> %259, i32 1 %262 = extractelement <4 x float> %259, i32 2 %263 = extractelement <4 x float> %259, i32 3 %264 = bitcast float %201 to i32 %265 = bitcast float %203 to i32 %266 = insertelement <2 x i32> undef, i32 %264, i32 0 %267 = insertelement <2 x i32> %266, i32 %265, i32 1 %268 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %267, <32 x i8> %53, <16 x i8> %55, i32 2) %269 = extractelement <4 x float> %268, i32 0 %270 = extractelement <4 x float> %268, i32 1 %271 = extractelement <4 x float> %268, i32 2 %272 = extractelement <4 x float> %268, i32 3 %273 = call float @llvm.AMDGPU.lrp(float %193, float %269, float %260) %274 = call float @llvm.AMDGPU.lrp(float %193, float %270, float %261) %275 = call float @llvm.AMDGPU.lrp(float %193, float %271, float %262) %276 = call float @llvm.AMDGPU.lrp(float %193, float %272, float %263) %277 = call float @llvm.AMDGPU.lrp(float %160, float %273, float %251) %278 = fmul float %277, %31 %279 = fmul float %230, %278 %280 = fadd float %279, %106 %281 = fmul float %231, %278 %282 = fadd float %281, %107 %283 = fmul float %232, %278 %284 = fadd float %283, %108 %285 = fdiv float %73, %75 %286 = fdiv float %74, %75 %287 = bitcast float %285 to i32 %288 = bitcast float %286 to i32 %289 = insertelement <2 x i32> undef, i32 %287, i32 0 %290 = insertelement <2 x i32> %289, i32 %288, i32 1 %291 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %290, <32 x i8> %57, <16 x i8> %59, i32 2) %292 = extractelement <4 x float> %291, i32 0 %293 = extractelement <4 x float> %291, i32 1 %294 = extractelement <4 x float> %291, i32 2 %295 = extractelement <4 x float> %291, i32 3 %296 = bitcast float %60 to i32 %297 = bitcast float %61 to i32 %298 = insertelement <2 x i32> undef, i32 %296, i32 0 %299 = insertelement <2 x i32> %298, i32 %297, i32 1 %300 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %299, <32 x i8> %45, <16 x i8> %47, i32 2) %301 = extractelement <4 x float> %300, i32 0 %302 = extractelement <4 x float> %300, i32 1 %303 = extractelement <4 x float> %300, i32 2 %304 = fmul float %30, %295 %305 = fmul float %81, %29 %306 = fmul float %82, %29 %307 = fmul float %83, %29 %308 = fmul float %301, %304 %309 = fadd float %308, %305 %310 = fmul float %302, %304 %311 = fadd float %310, %306 %312 = fmul float %303, %304 %313 = fadd float %312, %307 %314 = fmul float %309, %292 %315 = fadd float %314, %280 %316 = fmul float %311, %293 %317 = fadd float %316, %282 %318 = fmul float %313, %294 %319 = fadd float %318, %284 %320 = fmul float %315, %32 %321 = fmul float %317, %33 %322 = fmul float %319, %34 %323 = fmul float %84, %35 %324 = call i32 @llvm.SI.packf16(float %320, float %321) %325 = bitcast i32 %324 to float %326 = call i32 @llvm.SI.packf16(float %322, float %323) %327 = bitcast i32 %326 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %325, float %327, float %325, float %327) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840304 c0c60508 bf8c007f f0800300 00430402 bf8c0770 060c0904 060c0cf3 06080b05 060808f3 100a0904 d2820005 04160d06 080a0af2 d2060805 02010105 7e0e5b05 100e0b07 d2060005 22010105 d0080008 02020a80 d2000005 00220e80 c81c0c00 c81d0c01 100e0f06 c8200d00 c8210d01 d2820007 041e1104 c8200e00 c8210e01 d2820009 041e1105 c82c0800 c82d0801 10161706 c8300900 c8310901 d282000b 042e1904 c8300a00 c8310a01 d2820008 042e1905 c82c0400 c82d0401 100c1706 c82c0500 c82d0501 d2820004 041a1704 c8180600 c8190601 d2820007 04120d05 7e140280 d28a000c 04261107 d28c000b 04261107 d28e000d 04261107 d288000e 04261107 d2060104 0201010d 7e085504 7e0a02ff 3fc00000 d282000d 0416090b d282000c 0416090c c084030c c0c60518 bf8c007f f0800700 0043040c c0840300 c0c60500 bf8c0070 f0800f00 00430702 bf8c0770 10160b08 c8300300 c8310301 c0840100 bf8c007f c2000929 bf8c007f d282000d 03c4010c 7e1a410d 101c1b0d 101e1cff 40400000 7e2002ff 40400000 d2820011 043e210e 10241b0e 102624ff 40400000 08222313 062222f6 0828250f 102a1aff 40400000 08282b14 062828f2 06282314 7e285514 10222911 082222f2 06221b11 c200092b bf8c007f 10222200 082a230c c8440200 c8450201 c2008928 bf8c007f d2820016 03c40311 7e2c4116 102e2d16 10302d17 103230ff 40400000 10342eff 40400000 0836331a d282001b 046e2116 063636f2 d282001b 046e2d17 7e38551b d282001c 03ca3918 08382d1c c200892a bf8c007f d2820014 0444031c c0860310 c0c80520 bf8c007f f0800100 00641c14 081e270f d282000f 043e210d 061e1ef2 d282000e 043e1b0e 101e1cff 3e2aaaab 08261ef2 bf8c0770 10383913 7e1c550e d282000e 03ca1d12 081a1b0e d282000c 0430010d 7e1a0314 7e1c0315 7e1c030c f0800100 00640d0d bf8c0770 d282000d 04721b0f d282000e 046a2117 081c1d19 061c1cf6 0820311a 10242cff 40400000 08202510 062020f2 06201d10 7e205510 101c210e 081c1cf2 061c2d0e 101c1c01 08281d11 f0800100 00640e14 bf8c0770 101c1d13 7e2a030c f0800100 00640c14 bf8c0770 d282000c 043a190f 101c36ff 3e2aaaab 081e1cf2 1018190f d282000c 04321b0e c2000948 bf8c007f 10181800 c2000901 bf8c007f 7e1a0200 d210000d 02021b08 d282000b 0436190b c8341100 c8351101 c8381300 c8391301 7e1c550e 10201d0d c8341000 c8351001 101e1d0d c0860314 c0c80528 bf8c007f f0800f00 00640d0f c200092d bf8c0070 10002000 c200092c bf8c007f 7e020200 d2100011 02020308 c0800308 c0c60510 bf8c007f f0800700 00031202 bf8c0770 d2820002 04460113 d2820002 042e1d02 c200094d bf8c007f 10040400 10060907 c2000900 bf8c007f 7e160200 d210000b 02021707 d2820003 042e1903 d210000b 02020307 d282000b 042e0112 d2820003 040e1b0b c200094c bf8c007f 10060600 5e040503 10060d09 c2000902 bf8c007f 7e080200 d2100004 02020909 d2820003 04121903 d2100001 02020309 d2820000 04060114 d2820000 040e1f00 c200094e bf8c007f 10000000 c200094f bf8c007f 7e020200 d2100001 0202030a 5e000300 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL IN[4] DCL IN[5] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..222] DCL TEMP[0..14], LOCAL DCL ADDR[0] IMM[0] INT32 {1, 3, 0, 2} IMM[1] FLT32 { 2.0000, 1.0000, 0.5000, 0.0000} 0: F2I TEMP[0].x, CONST[5].xxxx 1: F2I TEMP[1], IN[1] 2: UMAD TEMP[0], SV[0].xxxx, TEMP[0].xxxx, TEMP[1] 3: UARL ADDR[0].x, TEMP[0].xxxx 4: UARL ADDR[0].x, TEMP[0].xxxx 5: MUL TEMP[1], CONST[ADDR[0].x+6], IN[2].xxxx 6: UADD TEMP[2].x, TEMP[0].xxxx, IMM[0].xxxx 7: UARL ADDR[0].x, TEMP[2].xxxx 8: MOV TEMP[2], CONST[ADDR[0].x+6] 9: MUL TEMP[3].x, TEMP[1].wwww, IMM[1].xxxx 10: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xxxx 11: MUL TEMP[4].xy, TEMP[2].xwww, TEMP[3].xxxx 12: MUL TEMP[5].xyz, TEMP[2].xyww, TEMP[3].yyyy 13: MUL TEMP[2], TEMP[2], TEMP[3].zzzz 14: ADD TEMP[3].x, TEMP[5].yyyy, TEMP[2].zzzz 15: ADD TEMP[3].x, TEMP[1].wwww, -TEMP[3].xxxx 16: ADD TEMP[6].x, TEMP[5].xxxx, -TEMP[2].wwww 17: MOV TEMP[3].y, TEMP[6].xxxx 18: ADD TEMP[6].x, TEMP[2].xxxx, TEMP[5].zzzz 19: MOV TEMP[3].z, TEMP[6].xxxx 20: MOV TEMP[3].w, TEMP[1].xxxx 21: ADD TEMP[6].x, TEMP[5].xxxx, TEMP[2].wwww 22: ADD TEMP[7].x, TEMP[4].xxxx, TEMP[2].zzzz 23: ADD TEMP[7].x, TEMP[1].wwww, -TEMP[7].xxxx 24: MOV TEMP[6].y, TEMP[7].xxxx 25: ADD TEMP[7].x, TEMP[2].yyyy, -TEMP[4].yyyy 26: MOV TEMP[6].z, TEMP[7].xxxx 27: MOV TEMP[6].w, TEMP[1].yyyy 28: ADD TEMP[7].x, TEMP[2].xxxx, -TEMP[5].zzzz 29: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[4].yyyy 30: MOV TEMP[7].y, TEMP[2].xxxx 31: ADD TEMP[2].x, TEMP[4].xxxx, TEMP[5].yyyy 32: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 33: MOV TEMP[7].z, TEMP[2].xxxx 34: MOV TEMP[7].w, TEMP[1].zzzz 35: UARL ADDR[0].x, TEMP[0].yyyy 36: UARL ADDR[0].x, TEMP[0].yyyy 37: MUL TEMP[1], CONST[ADDR[0].x+6], IN[2].yyyy 38: UADD TEMP[2].x, TEMP[0].yyyy, IMM[0].xxxx 39: UARL ADDR[0].x, TEMP[2].xxxx 40: MOV TEMP[2], CONST[ADDR[0].x+6] 41: MUL TEMP[4].x, TEMP[1].wwww, IMM[1].xxxx 42: MUL TEMP[4].xyz, TEMP[2].xyzz, TEMP[4].xxxx 43: MUL TEMP[5].xy, TEMP[2].xwww, TEMP[4].xxxx 44: MUL TEMP[8].xyz, TEMP[2].xyww, TEMP[4].yyyy 45: MUL TEMP[2], TEMP[2], TEMP[4].zzzz 46: ADD TEMP[4].x, TEMP[8].yyyy, TEMP[2].zzzz 47: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 48: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[2].wwww 49: MOV TEMP[4].y, TEMP[9].xxxx 50: ADD TEMP[9].x, TEMP[2].xxxx, TEMP[8].zzzz 51: MOV TEMP[4].z, TEMP[9].xxxx 52: MOV TEMP[4].w, TEMP[1].xxxx 53: ADD TEMP[9].x, TEMP[8].xxxx, TEMP[2].wwww 54: ADD TEMP[10].x, TEMP[5].xxxx, TEMP[2].zzzz 55: ADD TEMP[10].x, TEMP[1].wwww, -TEMP[10].xxxx 56: MOV TEMP[9].y, TEMP[10].xxxx 57: ADD TEMP[10].x, TEMP[2].yyyy, -TEMP[5].yyyy 58: MOV TEMP[9].z, TEMP[10].xxxx 59: MOV TEMP[9].w, TEMP[1].yyyy 60: ADD TEMP[10].x, TEMP[2].xxxx, -TEMP[8].zzzz 61: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[5].yyyy 62: MOV TEMP[10].y, TEMP[2].xxxx 63: ADD TEMP[2].x, TEMP[5].xxxx, TEMP[8].yyyy 64: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 65: MOV TEMP[10].z, TEMP[2].xxxx 66: MOV TEMP[10].w, TEMP[1].zzzz 67: UARL ADDR[0].x, TEMP[0].zzzz 68: UARL ADDR[0].x, TEMP[0].zzzz 69: MUL TEMP[1], CONST[ADDR[0].x+6], IN[2].zzzz 70: UADD TEMP[2].x, TEMP[0].zzzz, IMM[0].xxxx 71: UARL ADDR[0].x, TEMP[2].xxxx 72: MOV TEMP[2], CONST[ADDR[0].x+6] 73: MUL TEMP[5].x, TEMP[1].wwww, IMM[1].xxxx 74: MUL TEMP[5].xyz, TEMP[2].xyzz, TEMP[5].xxxx 75: MUL TEMP[8].xy, TEMP[2].xwww, TEMP[5].xxxx 76: MUL TEMP[11].xyz, TEMP[2].xyww, TEMP[5].yyyy 77: MUL TEMP[2], TEMP[2], TEMP[5].zzzz 78: ADD TEMP[5].x, TEMP[11].yyyy, TEMP[2].zzzz 79: ADD TEMP[5].x, TEMP[1].wwww, -TEMP[5].xxxx 80: ADD TEMP[12].x, TEMP[11].xxxx, -TEMP[2].wwww 81: MOV TEMP[5].y, TEMP[12].xxxx 82: ADD TEMP[12].x, TEMP[2].xxxx, TEMP[11].zzzz 83: MOV TEMP[5].z, TEMP[12].xxxx 84: MOV TEMP[5].w, TEMP[1].xxxx 85: ADD TEMP[12].x, TEMP[11].xxxx, TEMP[2].wwww 86: ADD TEMP[13].x, TEMP[8].xxxx, TEMP[2].zzzz 87: ADD TEMP[13].x, TEMP[1].wwww, -TEMP[13].xxxx 88: MOV TEMP[12].y, TEMP[13].xxxx 89: ADD TEMP[13].x, TEMP[2].yyyy, -TEMP[8].yyyy 90: MOV TEMP[12].z, TEMP[13].xxxx 91: MOV TEMP[12].w, TEMP[1].yyyy 92: ADD TEMP[13].x, TEMP[2].xxxx, -TEMP[11].zzzz 93: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[8].yyyy 94: MOV TEMP[13].y, TEMP[2].xxxx 95: ADD TEMP[2].x, TEMP[8].xxxx, TEMP[11].yyyy 96: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 97: MOV TEMP[13].z, TEMP[2].xxxx 98: MOV TEMP[13].w, TEMP[1].zzzz 99: UARL ADDR[0].x, TEMP[0].wwww 100: UARL ADDR[0].x, TEMP[0].wwww 101: MUL TEMP[1], CONST[ADDR[0].x+6], IN[2].wwww 102: UADD TEMP[0].x, TEMP[0].wwww, IMM[0].xxxx 103: UARL ADDR[0].x, TEMP[0].xxxx 104: MOV TEMP[0], CONST[ADDR[0].x+6] 105: MUL TEMP[2].x, TEMP[1].wwww, IMM[1].xxxx 106: MUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx 107: MUL TEMP[8].xy, TEMP[0].xwww, TEMP[2].xxxx 108: MUL TEMP[11].xyz, TEMP[0].xyww, TEMP[2].yyyy 109: MUL TEMP[0], TEMP[0], TEMP[2].zzzz 110: ADD TEMP[2].x, TEMP[11].yyyy, TEMP[0].zzzz 111: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 112: ADD TEMP[14].x, TEMP[11].xxxx, -TEMP[0].wwww 113: MOV TEMP[2].y, TEMP[14].xxxx 114: ADD TEMP[14].x, TEMP[0].xxxx, TEMP[11].zzzz 115: MOV TEMP[2].z, TEMP[14].xxxx 116: MOV TEMP[2].w, TEMP[1].xxxx 117: ADD TEMP[3], TEMP[3], TEMP[4] 118: ADD TEMP[3], TEMP[3], TEMP[5] 119: ADD TEMP[2], TEMP[3], TEMP[2] 120: ADD TEMP[3].x, TEMP[11].xxxx, TEMP[0].wwww 121: ADD TEMP[4].x, TEMP[8].xxxx, TEMP[0].zzzz 122: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 123: MOV TEMP[3].y, TEMP[4].xxxx 124: ADD TEMP[4].x, TEMP[0].yyyy, -TEMP[8].yyyy 125: MOV TEMP[3].z, TEMP[4].xxxx 126: MOV TEMP[3].w, TEMP[1].yyyy 127: ADD TEMP[4], TEMP[6], TEMP[9] 128: ADD TEMP[4], TEMP[4], TEMP[12] 129: ADD TEMP[3], TEMP[4], TEMP[3] 130: ADD TEMP[4].x, TEMP[0].xxxx, -TEMP[11].zzzz 131: ADD TEMP[0].x, TEMP[0].yyyy, TEMP[8].yyyy 132: MOV TEMP[4].y, TEMP[0].xxxx 133: ADD TEMP[0].x, TEMP[8].xxxx, TEMP[11].yyyy 134: ADD TEMP[0].x, TEMP[1].wwww, -TEMP[0].xxxx 135: MOV TEMP[4].z, TEMP[0].xxxx 136: MOV TEMP[4].w, TEMP[1].zzzz 137: ADD TEMP[0], TEMP[7], TEMP[10] 138: ADD TEMP[0], TEMP[0], TEMP[13] 139: ADD TEMP[0], TEMP[0], TEMP[4] 140: MOV TEMP[1].w, IMM[1].yyyy 141: MOV TEMP[1].x, IN[0].xxxx 142: MOV TEMP[1].y, IN[0].yyyy 143: MOV TEMP[1].z, IN[4].wwww 144: MOV TEMP[4].w, IMM[1].yyyy 145: DP4 TEMP[4].x, TEMP[1], TEMP[2] 146: DP4 TEMP[5].x, TEMP[1], TEMP[3] 147: MOV TEMP[4].y, TEMP[5].xxxx 148: DP4 TEMP[1].x, TEMP[1], TEMP[0] 149: MOV TEMP[4].z, TEMP[1].xxxx 150: DP3 TEMP[1].x, IN[4].xyzz, TEMP[2].xyzz 151: DP3 TEMP[5].x, IN[4].xyzz, TEMP[3].xyzz 152: MOV TEMP[1].y, TEMP[5].xxxx 153: DP3 TEMP[5].x, IN[4].xyzz, TEMP[0].xyzz 154: MOV TEMP[1].z, TEMP[5].xxxx 155: DP3 TEMP[2].x, IN[5].xyzz, TEMP[2].xyzz 156: DP3 TEMP[5].x, IN[5].xyzz, TEMP[3].xyzz 157: MOV TEMP[2].y, TEMP[5].xxxx 158: DP3 TEMP[5].x, IN[5].xyzz, TEMP[0].xyzz 159: MOV TEMP[2].z, TEMP[5].xxxx 160: UMUL TEMP[5].x, SV[0].xxxx, IMM[0].yyyy 161: UADD TEMP[5].xyz, TEMP[5].xxxx, IMM[0].zxww 162: UARL ADDR[0].x, TEMP[5].xxxx 163: MOV TEMP[6], CONST[ADDR[0].x+198] 164: UARL ADDR[0].x, TEMP[5].yyyy 165: MOV TEMP[3], CONST[ADDR[0].x+198] 166: UARL ADDR[0].x, TEMP[5].zzzz 167: MOV TEMP[0], CONST[ADDR[0].x+198] 168: DP4 TEMP[5].x, TEMP[4], TEMP[6] 169: DP4 TEMP[7].x, TEMP[4], TEMP[3] 170: MOV TEMP[5].y, TEMP[7].xxxx 171: DP4 TEMP[4].x, TEMP[4], TEMP[0] 172: MOV TEMP[5].z, TEMP[4].xxxx 173: DP3 TEMP[4].x, TEMP[1].xyzz, TEMP[6].xyzz 174: DP3 TEMP[7].x, TEMP[1].xyzz, TEMP[3].xyzz 175: MOV TEMP[4].y, TEMP[7].xxxx 176: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[0].xyzz 177: MOV TEMP[4].z, TEMP[1].xxxx 178: DP3 TEMP[1].x, TEMP[4].xyzz, TEMP[4].xyzz 179: RSQ TEMP[1].x, TEMP[1].xxxx 180: MUL TEMP[1].xyz, TEMP[4].xyzz, TEMP[1].xxxx 181: DP3 TEMP[4].x, TEMP[2].xyzz, TEMP[6].xyzz 182: DP3 TEMP[3].x, TEMP[2].xyzz, TEMP[3].xyzz 183: MOV TEMP[4].y, TEMP[3].xxxx 184: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 185: MOV TEMP[4].z, TEMP[0].xxxx 186: DP3 TEMP[0].x, TEMP[4].xyzz, TEMP[4].xyzz 187: RSQ TEMP[0].x, TEMP[0].xxxx 188: MUL TEMP[0].xyz, TEMP[4].xyzz, TEMP[0].xxxx 189: MUL TEMP[2].xyz, TEMP[1].zxyy, TEMP[0].yzxx 190: MAD TEMP[2].xyz, TEMP[1].yzxx, TEMP[0].zxyy, -TEMP[2].xyzz 191: MUL TEMP[2].xyz, TEMP[2].xyzz, IN[5].wwww 192: MOV TEMP[3].zw, IN[3].wwzw 193: MAD TEMP[3].xy, IN[3].xyyy, CONST[222].xyyy, CONST[222].zwww 194: ADD TEMP[4].xyz, TEMP[5].xyzz, -CONST[4].xyzz 195: MUL TEMP[5], CONST[0], TEMP[4].xxxx 196: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 197: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 198: ADD TEMP[4], TEMP[4], CONST[3] 199: MOV TEMP[5].x, TEMP[0].xxxx 200: MOV TEMP[5].y, TEMP[2].xxxx 201: MOV TEMP[5].z, TEMP[1].xxxx 202: MOV TEMP[5].xyz, TEMP[5].xyzx 203: MOV TEMP[6].x, TEMP[0].yyyy 204: MOV TEMP[6].y, TEMP[2].yyyy 205: MOV TEMP[6].z, TEMP[1].yyyy 206: MOV TEMP[6].xyz, TEMP[6].xyzx 207: MOV TEMP[0].x, TEMP[0].zzzz 208: MOV TEMP[0].y, TEMP[2].zzzz 209: MOV TEMP[0].z, TEMP[1].zzzz 210: MOV TEMP[0].xyz, TEMP[0].xyzx 211: ADD TEMP[1], TEMP[4], TEMP[4].wwww 212: MUL TEMP[1], TEMP[1], IMM[1].zzzz 213: MOV OUT[1], TEMP[3] 214: MOV OUT[2], TEMP[5] 215: MOV OUT[3], TEMP[6] 216: MOV OUT[4], TEMP[0] 217: MOV OUT[0], TEMP[4] 218: MOV OUT[5], TEMP[1] 219: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3552) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3556) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3560) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3564) %35 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %36 = load <16 x i8> addrspace(2)* %35, !tbaa !0 %37 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %36, i32 0, i32 %5) %38 = extractelement <4 x float> %37, i32 0 %39 = extractelement <4 x float> %37, i32 1 %40 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %41, i32 0, i32 %5) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = extractelement <4 x float> %42, i32 2 %46 = extractelement <4 x float> %42, i32 3 %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = extractelement <4 x float> %49, i32 2 %53 = extractelement <4 x float> %49, i32 3 %54 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %55, i32 0, i32 %5) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = extractelement <4 x float> %56, i32 2 %60 = extractelement <4 x float> %56, i32 3 %61 = getelementptr <16 x i8> addrspace(2)* %3, i32 4 %62 = load <16 x i8> addrspace(2)* %61, !tbaa !0 %63 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %62, i32 0, i32 %5) %64 = extractelement <4 x float> %63, i32 0 %65 = extractelement <4 x float> %63, i32 1 %66 = extractelement <4 x float> %63, i32 2 %67 = extractelement <4 x float> %63, i32 3 %68 = getelementptr <16 x i8> addrspace(2)* %3, i32 5 %69 = load <16 x i8> addrspace(2)* %68, !tbaa !0 %70 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %69, i32 0, i32 %5) %71 = extractelement <4 x float> %70, i32 0 %72 = extractelement <4 x float> %70, i32 1 %73 = extractelement <4 x float> %70, i32 2 %74 = extractelement <4 x float> %70, i32 3 %75 = add i32 %8, %4 %76 = fptosi float %30 to i32 %77 = bitcast i32 %76 to float %78 = fptosi float %43 to i32 %79 = fptosi float %44 to i32 %80 = fptosi float %45 to i32 %81 = fptosi float %46 to i32 %82 = bitcast i32 %78 to float %83 = bitcast i32 %79 to float %84 = bitcast i32 %80 to float %85 = bitcast i32 %81 to float %86 = bitcast float %77 to i32 %87 = bitcast float %82 to i32 %88 = mul i32 %75, %86 %89 = add i32 %88, %87 %90 = bitcast float %77 to i32 %91 = bitcast float %83 to i32 %92 = mul i32 %75, %90 %93 = add i32 %92, %91 %94 = bitcast float %77 to i32 %95 = bitcast float %84 to i32 %96 = mul i32 %75, %94 %97 = add i32 %96, %95 %98 = bitcast float %77 to i32 %99 = bitcast float %85 to i32 %100 = mul i32 %75, %98 %101 = add i32 %100, %99 %102 = bitcast i32 %89 to float %103 = bitcast i32 %93 to float %104 = bitcast i32 %97 to float %105 = bitcast i32 %101 to float %106 = bitcast float %102 to i32 %107 = shl i32 %106, 4 %108 = add i32 %107, 96 %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %108) %110 = fmul float %109, %50 %111 = shl i32 %106, 4 %112 = add i32 %111, 100 %113 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %112) %114 = fmul float %113, %50 %115 = shl i32 %106, 4 %116 = add i32 %115, 104 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = fmul float %117, %50 %119 = shl i32 %106, 4 %120 = add i32 %119, 108 %121 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %120) %122 = fmul float %121, %50 %123 = bitcast float %102 to i32 %124 = add i32 %123, 1 %125 = bitcast i32 %124 to float %126 = bitcast float %125 to i32 %127 = shl i32 %126, 4 %128 = add i32 %127, 96 %129 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %128) %130 = shl i32 %126, 4 %131 = add i32 %130, 100 %132 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %131) %133 = shl i32 %126, 4 %134 = add i32 %133, 104 %135 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %134) %136 = shl i32 %126, 4 %137 = add i32 %136, 108 %138 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %137) %139 = fmul float %122, 2.000000e+00 %140 = fmul float %129, %139 %141 = fmul float %132, %139 %142 = fmul float %135, %139 %143 = fmul float %129, %140 %144 = fmul float %138, %140 %145 = fmul float %129, %141 %146 = fmul float %132, %141 %147 = fmul float %138, %141 %148 = fmul float %129, %142 %149 = fmul float %132, %142 %150 = fmul float %135, %142 %151 = fmul float %138, %142 %152 = fadd float %146, %150 %153 = fsub float -0.000000e+00, %152 %154 = fadd float %122, %153 %155 = fsub float -0.000000e+00, %151 %156 = fadd float %145, %155 %157 = fadd float %148, %147 %158 = fadd float %145, %151 %159 = fadd float %143, %150 %160 = fsub float -0.000000e+00, %159 %161 = fadd float %122, %160 %162 = fsub float -0.000000e+00, %144 %163 = fadd float %149, %162 %164 = fsub float -0.000000e+00, %147 %165 = fadd float %148, %164 %166 = fadd float %149, %144 %167 = fadd float %143, %146 %168 = fsub float -0.000000e+00, %167 %169 = fadd float %122, %168 %170 = bitcast float %103 to i32 %171 = shl i32 %170, 4 %172 = add i32 %171, 96 %173 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %172) %174 = fmul float %173, %51 %175 = shl i32 %170, 4 %176 = add i32 %175, 100 %177 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %176) %178 = fmul float %177, %51 %179 = shl i32 %170, 4 %180 = add i32 %179, 104 %181 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %180) %182 = fmul float %181, %51 %183 = shl i32 %170, 4 %184 = add i32 %183, 108 %185 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %184) %186 = fmul float %185, %51 %187 = bitcast float %103 to i32 %188 = add i32 %187, 1 %189 = bitcast i32 %188 to float %190 = bitcast float %189 to i32 %191 = shl i32 %190, 4 %192 = add i32 %191, 96 %193 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %192) %194 = shl i32 %190, 4 %195 = add i32 %194, 100 %196 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %195) %197 = shl i32 %190, 4 %198 = add i32 %197, 104 %199 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %198) %200 = shl i32 %190, 4 %201 = add i32 %200, 108 %202 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %201) %203 = fmul float %186, 2.000000e+00 %204 = fmul float %193, %203 %205 = fmul float %196, %203 %206 = fmul float %199, %203 %207 = fmul float %193, %204 %208 = fmul float %202, %204 %209 = fmul float %193, %205 %210 = fmul float %196, %205 %211 = fmul float %202, %205 %212 = fmul float %193, %206 %213 = fmul float %196, %206 %214 = fmul float %199, %206 %215 = fmul float %202, %206 %216 = fadd float %210, %214 %217 = fsub float -0.000000e+00, %216 %218 = fadd float %186, %217 %219 = fsub float -0.000000e+00, %215 %220 = fadd float %209, %219 %221 = fadd float %212, %211 %222 = fadd float %209, %215 %223 = fadd float %207, %214 %224 = fsub float -0.000000e+00, %223 %225 = fadd float %186, %224 %226 = fsub float -0.000000e+00, %208 %227 = fadd float %213, %226 %228 = fsub float -0.000000e+00, %211 %229 = fadd float %212, %228 %230 = fadd float %213, %208 %231 = fadd float %207, %210 %232 = fsub float -0.000000e+00, %231 %233 = fadd float %186, %232 %234 = bitcast float %104 to i32 %235 = shl i32 %234, 4 %236 = add i32 %235, 96 %237 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %236) %238 = fmul float %237, %52 %239 = shl i32 %234, 4 %240 = add i32 %239, 100 %241 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %240) %242 = fmul float %241, %52 %243 = shl i32 %234, 4 %244 = add i32 %243, 104 %245 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %244) %246 = fmul float %245, %52 %247 = shl i32 %234, 4 %248 = add i32 %247, 108 %249 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %248) %250 = fmul float %249, %52 %251 = bitcast float %104 to i32 %252 = add i32 %251, 1 %253 = bitcast i32 %252 to float %254 = bitcast float %253 to i32 %255 = shl i32 %254, 4 %256 = add i32 %255, 96 %257 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %256) %258 = shl i32 %254, 4 %259 = add i32 %258, 100 %260 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %259) %261 = shl i32 %254, 4 %262 = add i32 %261, 104 %263 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %262) %264 = shl i32 %254, 4 %265 = add i32 %264, 108 %266 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %265) %267 = fmul float %250, 2.000000e+00 %268 = fmul float %257, %267 %269 = fmul float %260, %267 %270 = fmul float %263, %267 %271 = fmul float %257, %268 %272 = fmul float %266, %268 %273 = fmul float %257, %269 %274 = fmul float %260, %269 %275 = fmul float %266, %269 %276 = fmul float %257, %270 %277 = fmul float %260, %270 %278 = fmul float %263, %270 %279 = fmul float %266, %270 %280 = fadd float %274, %278 %281 = fsub float -0.000000e+00, %280 %282 = fadd float %250, %281 %283 = fsub float -0.000000e+00, %279 %284 = fadd float %273, %283 %285 = fadd float %276, %275 %286 = fadd float %273, %279 %287 = fadd float %271, %278 %288 = fsub float -0.000000e+00, %287 %289 = fadd float %250, %288 %290 = fsub float -0.000000e+00, %272 %291 = fadd float %277, %290 %292 = fsub float -0.000000e+00, %275 %293 = fadd float %276, %292 %294 = fadd float %277, %272 %295 = fadd float %271, %274 %296 = fsub float -0.000000e+00, %295 %297 = fadd float %250, %296 %298 = bitcast float %105 to i32 %299 = shl i32 %298, 4 %300 = add i32 %299, 96 %301 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %300) %302 = fmul float %301, %53 %303 = shl i32 %298, 4 %304 = add i32 %303, 100 %305 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %304) %306 = fmul float %305, %53 %307 = shl i32 %298, 4 %308 = add i32 %307, 104 %309 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %308) %310 = fmul float %309, %53 %311 = shl i32 %298, 4 %312 = add i32 %311, 108 %313 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %312) %314 = fmul float %313, %53 %315 = bitcast float %105 to i32 %316 = add i32 %315, 1 %317 = bitcast i32 %316 to float %318 = bitcast float %317 to i32 %319 = shl i32 %318, 4 %320 = add i32 %319, 96 %321 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %320) %322 = shl i32 %318, 4 %323 = add i32 %322, 100 %324 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %323) %325 = shl i32 %318, 4 %326 = add i32 %325, 104 %327 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %326) %328 = shl i32 %318, 4 %329 = add i32 %328, 108 %330 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %329) %331 = fmul float %314, 2.000000e+00 %332 = fmul float %321, %331 %333 = fmul float %324, %331 %334 = fmul float %327, %331 %335 = fmul float %321, %332 %336 = fmul float %330, %332 %337 = fmul float %321, %333 %338 = fmul float %324, %333 %339 = fmul float %330, %333 %340 = fmul float %321, %334 %341 = fmul float %324, %334 %342 = fmul float %327, %334 %343 = fmul float %330, %334 %344 = fadd float %338, %342 %345 = fsub float -0.000000e+00, %344 %346 = fadd float %314, %345 %347 = fsub float -0.000000e+00, %343 %348 = fadd float %337, %347 %349 = fadd float %340, %339 %350 = fadd float %154, %218 %351 = fadd float %156, %220 %352 = fadd float %157, %221 %353 = fadd float %110, %174 %354 = fadd float %350, %282 %355 = fadd float %351, %284 %356 = fadd float %352, %285 %357 = fadd float %353, %238 %358 = fadd float %354, %346 %359 = fadd float %355, %348 %360 = fadd float %356, %349 %361 = fadd float %357, %302 %362 = fadd float %337, %343 %363 = fadd float %335, %342 %364 = fsub float -0.000000e+00, %363 %365 = fadd float %314, %364 %366 = fsub float -0.000000e+00, %336 %367 = fadd float %341, %366 %368 = fadd float %158, %222 %369 = fadd float %161, %225 %370 = fadd float %163, %227 %371 = fadd float %114, %178 %372 = fadd float %368, %286 %373 = fadd float %369, %289 %374 = fadd float %370, %291 %375 = fadd float %371, %242 %376 = fadd float %372, %362 %377 = fadd float %373, %365 %378 = fadd float %374, %367 %379 = fadd float %375, %306 %380 = fsub float -0.000000e+00, %339 %381 = fadd float %340, %380 %382 = fadd float %341, %336 %383 = fadd float %335, %338 %384 = fsub float -0.000000e+00, %383 %385 = fadd float %314, %384 %386 = fadd float %165, %229 %387 = fadd float %166, %230 %388 = fadd float %169, %233 %389 = fadd float %118, %182 %390 = fadd float %386, %293 %391 = fadd float %387, %294 %392 = fadd float %388, %297 %393 = fadd float %389, %246 %394 = fadd float %390, %381 %395 = fadd float %391, %382 %396 = fadd float %392, %385 %397 = fadd float %393, %310 %398 = fmul float %38, %358 %399 = fmul float %39, %359 %400 = fadd float %398, %399 %401 = fmul float %67, %360 %402 = fadd float %400, %401 %403 = fmul float 1.000000e+00, %361 %404 = fadd float %402, %403 %405 = fmul float %38, %376 %406 = fmul float %39, %377 %407 = fadd float %405, %406 %408 = fmul float %67, %378 %409 = fadd float %407, %408 %410 = fmul float 1.000000e+00, %379 %411 = fadd float %409, %410 %412 = fmul float %38, %394 %413 = fmul float %39, %395 %414 = fadd float %412, %413 %415 = fmul float %67, %396 %416 = fadd float %414, %415 %417 = fmul float 1.000000e+00, %397 %418 = fadd float %416, %417 %419 = fmul float %64, %358 %420 = fmul float %65, %359 %421 = fadd float %420, %419 %422 = fmul float %66, %360 %423 = fadd float %421, %422 %424 = fmul float %64, %376 %425 = fmul float %65, %377 %426 = fadd float %425, %424 %427 = fmul float %66, %378 %428 = fadd float %426, %427 %429 = fmul float %64, %394 %430 = fmul float %65, %395 %431 = fadd float %430, %429 %432 = fmul float %66, %396 %433 = fadd float %431, %432 %434 = fmul float %71, %358 %435 = fmul float %72, %359 %436 = fadd float %435, %434 %437 = fmul float %73, %360 %438 = fadd float %436, %437 %439 = fmul float %71, %376 %440 = fmul float %72, %377 %441 = fadd float %440, %439 %442 = fmul float %73, %378 %443 = fadd float %441, %442 %444 = fmul float %71, %394 %445 = fmul float %72, %395 %446 = fadd float %445, %444 %447 = fmul float %73, %396 %448 = fadd float %446, %447 %449 = mul i32 %75, 3 %450 = bitcast i32 %449 to float %451 = bitcast float %450 to i32 %452 = add i32 %451, 0 %453 = bitcast float %450 to i32 %454 = add i32 %453, 1 %455 = bitcast float %450 to i32 %456 = add i32 %455, 2 %457 = bitcast i32 %452 to float %458 = bitcast i32 %454 to float %459 = bitcast i32 %456 to float %460 = bitcast float %457 to i32 %461 = shl i32 %460, 4 %462 = add i32 %461, 3168 %463 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %462) %464 = shl i32 %460, 4 %465 = add i32 %464, 3172 %466 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %465) %467 = shl i32 %460, 4 %468 = add i32 %467, 3176 %469 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %468) %470 = shl i32 %460, 4 %471 = add i32 %470, 3180 %472 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %471) %473 = bitcast float %458 to i32 %474 = shl i32 %473, 4 %475 = add i32 %474, 3168 %476 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %475) %477 = shl i32 %473, 4 %478 = add i32 %477, 3172 %479 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %478) %480 = shl i32 %473, 4 %481 = add i32 %480, 3176 %482 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %481) %483 = shl i32 %473, 4 %484 = add i32 %483, 3180 %485 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %484) %486 = bitcast float %459 to i32 %487 = shl i32 %486, 4 %488 = add i32 %487, 3168 %489 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %488) %490 = shl i32 %486, 4 %491 = add i32 %490, 3172 %492 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %491) %493 = shl i32 %486, 4 %494 = add i32 %493, 3176 %495 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %494) %496 = shl i32 %486, 4 %497 = add i32 %496, 3180 %498 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %497) %499 = fmul float %404, %463 %500 = fmul float %411, %466 %501 = fadd float %499, %500 %502 = fmul float %418, %469 %503 = fadd float %501, %502 %504 = fmul float 1.000000e+00, %472 %505 = fadd float %503, %504 %506 = fmul float %404, %476 %507 = fmul float %411, %479 %508 = fadd float %506, %507 %509 = fmul float %418, %482 %510 = fadd float %508, %509 %511 = fmul float 1.000000e+00, %485 %512 = fadd float %510, %511 %513 = fmul float %404, %489 %514 = fmul float %411, %492 %515 = fadd float %513, %514 %516 = fmul float %418, %495 %517 = fadd float %515, %516 %518 = fmul float 1.000000e+00, %498 %519 = fadd float %517, %518 %520 = fmul float %423, %463 %521 = fmul float %428, %466 %522 = fadd float %521, %520 %523 = fmul float %433, %469 %524 = fadd float %522, %523 %525 = fmul float %423, %476 %526 = fmul float %428, %479 %527 = fadd float %526, %525 %528 = fmul float %433, %482 %529 = fadd float %527, %528 %530 = fmul float %423, %489 %531 = fmul float %428, %492 %532 = fadd float %531, %530 %533 = fmul float %433, %495 %534 = fadd float %532, %533 %535 = fmul float %524, %524 %536 = fmul float %529, %529 %537 = fadd float %536, %535 %538 = fmul float %534, %534 %539 = fadd float %537, %538 %540 = call float @llvm.AMDGPU.rsq(float %539) %541 = fmul float %524, %540 %542 = fmul float %529, %540 %543 = fmul float %534, %540 %544 = fmul float %438, %463 %545 = fmul float %443, %466 %546 = fadd float %545, %544 %547 = fmul float %448, %469 %548 = fadd float %546, %547 %549 = fmul float %438, %476 %550 = fmul float %443, %479 %551 = fadd float %550, %549 %552 = fmul float %448, %482 %553 = fadd float %551, %552 %554 = fmul float %438, %489 %555 = fmul float %443, %492 %556 = fadd float %555, %554 %557 = fmul float %448, %495 %558 = fadd float %556, %557 %559 = fmul float %548, %548 %560 = fmul float %553, %553 %561 = fadd float %560, %559 %562 = fmul float %558, %558 %563 = fadd float %561, %562 %564 = call float @llvm.AMDGPU.rsq(float %563) %565 = fmul float %548, %564 %566 = fmul float %553, %564 %567 = fmul float %558, %564 %568 = fmul float %543, %566 %569 = fmul float %541, %567 %570 = fmul float %542, %565 %571 = fsub float -0.000000e+00, %568 %572 = fmul float %542, %567 %573 = fadd float %572, %571 %574 = fsub float -0.000000e+00, %569 %575 = fmul float %543, %565 %576 = fadd float %575, %574 %577 = fsub float -0.000000e+00, %570 %578 = fmul float %541, %566 %579 = fadd float %578, %577 %580 = fmul float %573, %74 %581 = fmul float %576, %74 %582 = fmul float %579, %74 %583 = fmul float %57, %31 %584 = fadd float %583, %33 %585 = fmul float %58, %32 %586 = fadd float %585, %34 %587 = fsub float -0.000000e+00, %27 %588 = fadd float %505, %587 %589 = fsub float -0.000000e+00, %28 %590 = fadd float %512, %589 %591 = fsub float -0.000000e+00, %29 %592 = fadd float %519, %591 %593 = fmul float %11, %588 %594 = fmul float %12, %588 %595 = fmul float %13, %588 %596 = fmul float %14, %588 %597 = fmul float %15, %590 %598 = fadd float %597, %593 %599 = fmul float %16, %590 %600 = fadd float %599, %594 %601 = fmul float %17, %590 %602 = fadd float %601, %595 %603 = fmul float %18, %590 %604 = fadd float %603, %596 %605 = fmul float %19, %592 %606 = fadd float %605, %598 %607 = fmul float %20, %592 %608 = fadd float %607, %600 %609 = fmul float %21, %592 %610 = fadd float %609, %602 %611 = fmul float %22, %592 %612 = fadd float %611, %604 %613 = fadd float %606, %23 %614 = fadd float %608, %24 %615 = fadd float %610, %25 %616 = fadd float %612, %26 %617 = fadd float %613, %616 %618 = fadd float %614, %616 %619 = fadd float %615, %616 %620 = fadd float %616, %616 %621 = fmul float %617, 5.000000e-01 %622 = fmul float %618, 5.000000e-01 %623 = fmul float %619, 5.000000e-01 %624 = fmul float %620, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %584, float %586, float %59, float %60) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %565, float %580, float %541, float %604) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %566, float %581, float %542, float %472) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %567, float %582, float %543, float %498) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %621, float %622, float %623, float %624) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %613, float %614, float %615, float %616) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 00000dec bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000de4 c2020004 bf8c007f 7e040204 c086070c bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000de8 c2020004 bf8c007f 7e040204 be8403ff 00000de0 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 c2020114 bf8c007f 7e041004 d2d60002 02020501 c0840704 bf8c007f e00c2000 80020300 bf8c0770 7e0e1104 4a0e0f02 34100e84 4a1210ff 0000006c e0301000 80000909 c0840708 bf8c0070 e00c2000 80020a00 bf8c0770 101c1709 d2820009 043a1709 4a0e0e81 340e0e84 4a1e0eff 00000064 e0301000 80000f0f bf8c0770 1020130f 4a220eff 00000068 e0301000 80001111 bf8c0770 10241311 4a260eff 0000006c e0301000 80001313 bf8c0770 10282513 4a0e0eff 00000060 e0301000 80000707 bf8c0770 d2820015 04522107 7e2c1103 4a2c2d02 342e2c84 4a302eff 0000006c e0301000 80001818 bf8c0770 10321518 d2820018 04661518 4a2c2c81 342c2c84 4a342cff 00000064 e0301000 80001a1a bf8c0770 1036311a 4a382cff 00000068 e0301000 80001c1c bf8c0770 103a311c 4a3c2cff 0000006c e0301000 80001e1e bf8c0770 103e3b1e 4a2c2cff 00000060 e0301000 80001616 bf8c0770 d2820020 047e3716 062a2b20 7e401105 4a404102 34424084 4a4442ff 0000006c e0301000 80002222 bf8c0770 10461922 d2820022 048e1922 4a404081 34404084 4a4840ff 00000064 e0301000 80002424 bf8c0770 104a4524 4a4c40ff 00000068 e0301000 80002626 bf8c0770 104e4526 4a5040ff 0000006c e0301000 80002828 bf8c0770 10524f28 4a4040ff 00000060 e0301000 80002020 bf8c0770 d282002a 04a64b20 062a5515 7e061106 4a040702 34060484 4a0806ff 0000006c e0301000 80000404 bf8c0770 100a1b04 d2820004 04161b04 4a040481 34040484 4a0c04ff 00000064 e0301000 80000606 bf8c0770 10540906 4a5604ff 00000068 e0301000 80002b2b bf8c0770 1058092b 4a5a04ff 0000006c e0301000 80002d2d bf8c0770 105c592d 4a0404ff 00000060 e0301000 80000202 bf8c0770 d282002f 04ba5502 062a5f15 c0840714 bf8c007f e00c2000 80022f00 bf8c0770 10662b2f 10121307 10222511 d2820034 04461307 0868690e 10303116 10383b1c d2820035 04723116 086a6b19 06686935 10444520 104c4f26 d2820035 049a4520 086a6b23 06686b34 10080902 1056592b d2820035 04ae0902 086a6b05 06686b34 d2820033 04ce6930 106a1313 106c250f 086c6b36 106e311e 10703b1a 08706f38 066c6d38 10704528 10724f24 08727139 066c7336 1072092d 10745906 0874733a 066c7536 d2820033 04ce6d31 10742107 0828293a 10743716 083e3f3a 0628291f 103e4b20 083e531f 06283f14 103e5502 083e5d1f 06283f14 d2820011 0446210f 0822230e d282001c 0472371a 08383919 0622231c d282001c 049a4b24 08383923 06223911 d282001c 04ae5506 08383905 06223911 1038232f d282001c 04722930 10262113 d282001f 044e2507 103c371e d2820026 047a3b16 063e3f26 104c4b28 d2820028 049a4f20 063e511f 1050552d d2820029 04a25902 063e531f d282001c 04723f31 d2d60001 02010701 4a520281 34525284 4a5652ff 00000c60 e0301000 80002b2b bf8c0770 105a571c 4a5c52ff 00000c64 e0301000 80002e2e bf8c0770 d282002d 04b65d33 d2820035 04d6250f d2820037 04de3b1a 066a6b37 d2820037 04e24f24 066a6f35 d2820037 04e65906 066a6f35 10242507 08242712 10263b16 08263d13 06242513 10264f20 08264d13 06242712 10265902 08265113 06242712 1026252f d2820013 044e6b30 101e210f d2820007 043e1307 080e0f0e 1012371a d2820009 04263116 08121319 060e0f09 10124b24 d2820009 04264520 08121323 060e1307 100c5506 d2820002 041a0902 08040505 06040507 d2820004 044e0531 4a0a52ff 00000c68 e0301000 80000505 bf8c0770 d2820006 04b60b04 340e0284 4a120eff 00000c60 e0301000 80000909 bf8c0770 101c131c 4a1e0eff 00000c64 e0301000 80000f0f bf8c0770 d282000e 043a1f33 4a200eff 00000c68 e0301000 80001010 bf8c0770 d282000e 043a2104 10261d0e d2820013 044e0d06 4a020282 34020284 4a2c02ff 00000c60 e0301000 80001616 bf8c0770 10302d1c 4a3202ff 00000c64 e0301000 80001919 bf8c0770 d2820018 04623333 4a3402ff 00000c68 e0301000 80001a1a bf8c0770 d2820004 04623504 d2820013 044e0904 7e265b13 100c2706 c0840710 bf8c007f e00c2000 80021b00 bf8c0770 10302b1b d2820018 0462691c d2820018 04626d1d 1040231b d2820020 0482291c d2820020 04823f1d 10445720 d2820022 048a5d18 1046251b d2820023 048e6b1c d2820023 048e051d d2820022 048a0b23 10481320 d2820024 04921f18 d2820024 04922123 104a4924 d2820025 04964522 10402d20 d2820018 04823318 d2820018 04623523 d2820020 04963118 7e405b20 10304118 10460d18 10082704 10444122 104a0922 08464725 10466523 c0820700 bf8c007f e00c2000 80012500 bf8c0770 10002926 d2820000 04022325 d2820000 04023f1e 4a222eff 00000060 e0301000 80001111 4a2810ff 00000060 e0301000 80001414 bf8c0770 10281714 d2820011 04521511 4a2842ff 00000060 e0301000 80001414 bf8c0770 d2820011 04461914 4a2806ff 00000060 e0301000 80001414 bf8c0770 d2820011 04461b14 06002300 10226926 d2820011 04462b25 d2820011 04466d1e 4a282eff 00000064 e0301000 80001414 4a2a10ff 00000064 e0301000 80001515 bf8c0770 102a1715 d2820014 04561514 4a2a42ff 00000064 e0301000 80001515 bf8c0770 d2820014 04521915 4a2a06ff 00000064 e0301000 80001515 bf8c0770 d2820014 04521b15 06222911 10285d11 d2820014 04525700 102a6b26 d2820012 04562525 d2820002 044a051e 4a242eff 00000068 e0301000 80001212 4a1010ff 00000068 e0301000 80000808 bf8c0770 10101708 d2820008 04221512 4a2442ff 00000068 e0301000 80001212 bf8c0770 d2820008 04221912 4a0606ff 00000068 e0301000 80000303 bf8c0770 d2820003 04221b03 06040702 d2820003 04520b02 4a0a52ff 00000c6c e0301000 80000505 bf8c0770 06060b03 c2020111 bf8c007f 0a060604 100a1f11 d2820005 04161300 d2820005 04162102 4a0e0eff 00000c6c e0301000 80000707 bf8c0770 060a0f05 c2020110 bf8c007f 0a0a0a04 c2020103 bf8c007f 10100a04 c2020107 bf8c007f d2820008 04220604 10124124 1014270e f800021f 0809230a 10160909 10181518 0816170c 1016650b f800022f 07220b06 bf8c070f 100e1522 100c0d09 080c0f06 100c6506 4a0202ff 00000c6c e0301000 80000101 bf8c0770 f800023f 01180604 bf8c070f 10083311 d2820000 04122d00 d2820000 04023502 06000300 c2020112 bf8c007f 0a000004 c202010b bf8c007f d2820001 04220004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10040a04 c2020106 bf8c007f d2820002 040a0604 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 06080302 100808f0 c2020101 bf8c007f 100c0a04 c2020105 bf8c007f d2820006 041a0604 c2020109 bf8c007f d2820006 041a0004 c202010d bf8c007f 060c0c04 060e0306 100e0ef0 c2020100 bf8c007f 100a0a04 c2020104 bf8c007f d2820003 04160604 c2020108 bf8c007f d2820000 040e0004 c200010c bf8c007f 06000000 06060300 100606f0 060a0301 100a0af0 f800024f 05040703 f80008cf 01020600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL SAMP[6] DCL SAMP[7] DCL SAMP[8] DCL CONST[0..12] DCL CONST[22..24] DCL TEMP[0..15], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { -0.5000, 3.0000, 4.0000, 0.1667} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[0].xyyy 3: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 4: MAD TEMP[2].xy, IN[0].xyyy, CONST[22].xyyy, CONST[22].zwww 5: MOV TEMP[3].xy, TEMP[2].xyyy 6: TEX TEMP[3], TEMP[3], SAMP[3], 2D 7: MUL TEMP[4].x, TEMP[0].wwww, TEMP[3].wwww 8: MUL TEMP[4].xyz, CONST[1].xyzz, TEMP[4].xxxx 9: MAD TEMP[3].xyz, TEMP[3].xyzz, IMM[0].xxxx, IMM[0].yyyy 10: MAD_SAT TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx, TEMP[0].xyzz 11: MOV TEMP[5].xy, TEMP[2].xyyy 12: TEX TEMP[5].xy, TEMP[5], SAMP[4], 2D 13: MAD TEMP[1].xy, TEMP[5].xyyy, TEMP[4].yyyy, TEMP[1].xyyy 14: MAD TEMP[5].xy, TEMP[1].xyyy, IMM[0].xxxx, IMM[0].yyyy 15: ADD TEMP[1].xy, TEMP[5].xyyy, -TEMP[4].yyyy 16: DP2 TEMP[5].x, TEMP[1].xyyy, TEMP[1].xyyy 17: ADD_SAT TEMP[5].x, IMM[0].zzzz, -TEMP[5].xxxx 18: RSQ TEMP[6].x, TEMP[5].xxxx 19: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[5].xxxx 20: CMP TEMP[6].x, -TEMP[5].xxxx, TEMP[6].xxxx, IMM[0].wwww 21: MOV TEMP[1].z, TEMP[6].xxxx 22: MUL TEMP[5].xyz, TEMP[3].xyzz, CONST[0].xyzz 23: DP3 TEMP[6].x, TEMP[1].xyzz, IN[1].xyzz 24: DP3 TEMP[7].x, TEMP[1].xyzz, IN[2].xyzz 25: MOV TEMP[6].y, TEMP[7].xxxx 26: DP3 TEMP[1].x, TEMP[1].xyzz, IN[3].xyzz 27: MOV TEMP[6].z, TEMP[1].xxxx 28: MAD TEMP[1].xy, IN[0].zwww, CONST[11].xyyy, IMM[1].xxxx 29: FRC TEMP[7].x, TEMP[1].xxxx 30: MUL TEMP[8].x, TEMP[7].xxxx, TEMP[7].xxxx 31: MUL TEMP[9].x, TEMP[8].xxxx, TEMP[7].xxxx 32: MUL TEMP[10].x, TEMP[7].xxxx, IMM[1].yyyy 33: MUL TEMP[8].x, TEMP[8].xxxx, IMM[1].yyyy 34: MUL TEMP[11].x, TEMP[9].xxxx, IMM[1].yyyy 35: MUL TEMP[12].x, TEMP[8].xxxx, IMM[0].xxxx 36: ADD TEMP[12].x, TEMP[11].xxxx, -TEMP[12].xxxx 37: ADD TEMP[12].x, TEMP[12].xxxx, IMM[1].zzzz 38: ADD TEMP[11].x, -TEMP[11].xxxx, TEMP[8].xxxx 39: ADD TEMP[11].x, TEMP[11].xxxx, TEMP[10].xxxx 40: ADD TEMP[11].x, TEMP[11].xxxx, IMM[0].zzzz 41: ADD TEMP[13].x, TEMP[11].xxxx, TEMP[9].xxxx 42: RCP TEMP[13].x, TEMP[13].xxxx 43: MAD TEMP[13].x, TEMP[9].xxxx, TEMP[13].xxxx, IMM[0].zzzz 44: ADD TEMP[13].x, TEMP[13].xxxx, -TEMP[7].xxxx 45: ADD TEMP[8].x, -TEMP[9].xxxx, TEMP[8].xxxx 46: ADD TEMP[8].x, TEMP[8].xxxx, -TEMP[10].xxxx 47: ADD TEMP[8].x, TEMP[8].xxxx, IMM[0].zzzz 48: ADD TEMP[8].x, TEMP[8].xxxx, TEMP[12].xxxx 49: RCP TEMP[8].x, TEMP[8].xxxx 50: MUL TEMP[8].x, TEMP[12].xxxx, TEMP[8].xxxx 51: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[8].xxxx 52: ADD TEMP[7].x, TEMP[8].xxxx, TEMP[7].xxxx 53: ADD TEMP[8].x, TEMP[11].xxxx, TEMP[9].xxxx 54: MUL TEMP[8].x, TEMP[8].xxxx, IMM[1].wwww 55: FRC TEMP[1].x, TEMP[1].yyyy 56: MUL TEMP[9].x, TEMP[1].xxxx, TEMP[1].xxxx 57: MUL TEMP[10].x, TEMP[9].xxxx, TEMP[1].xxxx 58: MUL TEMP[11].x, TEMP[1].xxxx, IMM[1].yyyy 59: MUL TEMP[9].x, TEMP[9].xxxx, IMM[1].yyyy 60: MUL TEMP[12].x, TEMP[10].xxxx, IMM[1].yyyy 61: MUL TEMP[14].x, TEMP[9].xxxx, IMM[0].xxxx 62: ADD TEMP[14].x, TEMP[12].xxxx, -TEMP[14].xxxx 63: ADD TEMP[14].x, TEMP[14].xxxx, IMM[1].zzzz 64: ADD TEMP[12].x, -TEMP[12].xxxx, TEMP[9].xxxx 65: ADD TEMP[12].x, TEMP[12].xxxx, TEMP[11].xxxx 66: ADD TEMP[12].x, TEMP[12].xxxx, IMM[0].zzzz 67: ADD TEMP[15].x, TEMP[12].xxxx, TEMP[10].xxxx 68: RCP TEMP[15].x, TEMP[15].xxxx 69: MAD TEMP[15].x, TEMP[10].xxxx, TEMP[15].xxxx, IMM[0].zzzz 70: ADD TEMP[15].x, TEMP[15].xxxx, -TEMP[1].xxxx 71: ADD TEMP[9].x, -TEMP[10].xxxx, TEMP[9].xxxx 72: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[11].xxxx 73: ADD TEMP[9].x, TEMP[9].xxxx, IMM[0].zzzz 74: ADD TEMP[9].x, TEMP[9].xxxx, TEMP[14].xxxx 75: RCP TEMP[9].x, TEMP[9].xxxx 76: MUL TEMP[9].x, TEMP[14].xxxx, TEMP[9].xxxx 77: ADD TEMP[9].x, IMM[0].zzzz, -TEMP[9].xxxx 78: ADD TEMP[1].x, TEMP[9].xxxx, TEMP[1].xxxx 79: ADD TEMP[9].x, TEMP[12].xxxx, TEMP[10].xxxx 80: MUL TEMP[9].x, TEMP[9].xxxx, IMM[1].wwww 81: MOV TEMP[7].x, -TEMP[7].xxxx 82: MOV TEMP[7].y, -TEMP[1].xxxx 83: MOV TEMP[7].z, TEMP[13].xxxx 84: MOV TEMP[7].w, TEMP[15].xxxx 85: MAD TEMP[1], TEMP[7], CONST[11].zwzw, IN[0].zwzw 86: MOV TEMP[6].xyz, TEMP[6].xyzz 87: TEX TEMP[6].xyz, TEMP[6], SAMP[6], CUBE 88: MUL TEMP[6].xyz, TEMP[3].xyzz, TEMP[6].xyzz 89: MOV TEMP[7].xy, TEMP[1].xyyy 90: TEX TEMP[7], TEMP[7], SAMP[7], 2D 91: MOV TEMP[10].xy, TEMP[1].xwww 92: TEX TEMP[10], TEMP[10], SAMP[7], 2D 93: LRP TEMP[7], TEMP[9].xxxx, TEMP[10], TEMP[7] 94: MOV TEMP[10].xy, TEMP[1].zyyy 95: TEX TEMP[10], TEMP[10], SAMP[7], 2D 96: MOV TEMP[1].xy, TEMP[1].zwww 97: TEX TEMP[1], TEMP[1], SAMP[7], 2D 98: LRP TEMP[1], TEMP[9].xxxx, TEMP[1], TEMP[10] 99: LRP TEMP[1].x, TEMP[8].xxxx, TEMP[1], TEMP[7] 100: MUL TEMP[1].x, TEMP[1].xxxx, CONST[23].xxxx 101: MAD TEMP[5].xyz, TEMP[6].xyzz, TEMP[1].xxxx, TEMP[5].xyzz 102: MOV TEMP[1].xy, IN[4].xyyy 103: MOV TEMP[1].w, IN[4].wwww 104: TXP TEMP[1], TEMP[1], SAMP[8], 2D 105: MOV TEMP[2].xy, TEMP[2].xyyy 106: TEX TEMP[2].xyz, TEMP[2], SAMP[5], 2D 107: MAD TEMP[2].xyz, TEMP[2].xyzz, IMM[0].xxxx, IMM[0].yyyy 108: MOV TEMP[6].xy, IN[0].xyyy 109: TEX TEMP[6].xyz, TEMP[6], SAMP[2], 2D 110: MAD_SAT TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].zzzz, TEMP[6].xyzz 111: MUL TEMP[4].x, CONST[12].yyyy, TEMP[1].wwww 112: MUL TEMP[3].xyz, TEMP[3].xyzz, CONST[12].xxxx 113: MAD TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].xxxx, TEMP[3].xyzz 114: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[1].xyzz, TEMP[5].xyzz 115: MOV TEMP[1].xyz, TEMP[1].xyzx 116: MOV TEMP[1].w, TEMP[0].wwww 117: MUL TEMP[0], TEMP[1], CONST[24] 118: MOV OUT[0], TEMP[0] 119: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 188) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 352) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 356) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 360) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 364) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 368) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 384) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 388) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 392) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 396) %43 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %44 = load <32 x i8> addrspace(2)* %43, !tbaa !0 %45 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %46 = load <16 x i8> addrspace(2)* %45, !tbaa !0 %47 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %48 = load <32 x i8> addrspace(2)* %47, !tbaa !0 %49 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %50 = load <16 x i8> addrspace(2)* %49, !tbaa !0 %51 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %52 = load <32 x i8> addrspace(2)* %51, !tbaa !0 %53 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %56 = load <32 x i8> addrspace(2)* %55, !tbaa !0 %57 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %58 = load <16 x i8> addrspace(2)* %57, !tbaa !0 %59 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %60 = load <32 x i8> addrspace(2)* %59, !tbaa !0 %61 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %62 = load <16 x i8> addrspace(2)* %61, !tbaa !0 %63 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %64 = load <32 x i8> addrspace(2)* %63, !tbaa !0 %65 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %66 = load <16 x i8> addrspace(2)* %65, !tbaa !0 %67 = getelementptr <32 x i8> addrspace(2)* %2, i32 6 %68 = load <32 x i8> addrspace(2)* %67, !tbaa !0 %69 = getelementptr <16 x i8> addrspace(2)* %1, i32 6 %70 = load <16 x i8> addrspace(2)* %69, !tbaa !0 %71 = getelementptr <32 x i8> addrspace(2)* %2, i32 7 %72 = load <32 x i8> addrspace(2)* %71, !tbaa !0 %73 = getelementptr <16 x i8> addrspace(2)* %1, i32 7 %74 = load <16 x i8> addrspace(2)* %73, !tbaa !0 %75 = getelementptr <32 x i8> addrspace(2)* %2, i32 8 %76 = load <32 x i8> addrspace(2)* %75, !tbaa !0 %77 = getelementptr <16 x i8> addrspace(2)* %1, i32 8 %78 = load <16 x i8> addrspace(2)* %77, !tbaa !0 %79 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %80 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %81 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %82 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %83 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %84 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %85 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %86 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %87 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %88 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %89 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %90 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %91 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %92 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %93 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %94 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %95 = bitcast float %79 to i32 %96 = bitcast float %80 to i32 %97 = insertelement <2 x i32> undef, i32 %95, i32 0 %98 = insertelement <2 x i32> %97, i32 %96, i32 1 %99 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %98, <32 x i8> %44, <16 x i8> %46, i32 2) %100 = extractelement <4 x float> %99, i32 0 %101 = extractelement <4 x float> %99, i32 1 %102 = extractelement <4 x float> %99, i32 2 %103 = extractelement <4 x float> %99, i32 3 %104 = bitcast float %79 to i32 %105 = bitcast float %80 to i32 %106 = insertelement <2 x i32> undef, i32 %104, i32 0 %107 = insertelement <2 x i32> %106, i32 %105, i32 1 %108 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %107, <32 x i8> %48, <16 x i8> %50, i32 2) %109 = extractelement <4 x float> %108, i32 0 %110 = extractelement <4 x float> %108, i32 1 %111 = fmul float %79, %34 %112 = fadd float %111, %36 %113 = fmul float %80, %35 %114 = fadd float %113, %37 %115 = bitcast float %112 to i32 %116 = bitcast float %114 to i32 %117 = insertelement <2 x i32> undef, i32 %115, i32 0 %118 = insertelement <2 x i32> %117, i32 %116, i32 1 %119 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %118, <32 x i8> %56, <16 x i8> %58, i32 2) %120 = extractelement <4 x float> %119, i32 0 %121 = extractelement <4 x float> %119, i32 1 %122 = extractelement <4 x float> %119, i32 2 %123 = extractelement <4 x float> %119, i32 3 %124 = fmul float %103, %123 %125 = fmul float %25, %124 %126 = fmul float %26, %124 %127 = fmul float %27, %124 %128 = fmul float %120, 2.000000e+00 %129 = fadd float %128, -1.000000e+00 %130 = fmul float %121, 2.000000e+00 %131 = fadd float %130, -1.000000e+00 %132 = fmul float %122, 2.000000e+00 %133 = fadd float %132, -1.000000e+00 %134 = fmul float %129, %125 %135 = fadd float %134, %100 %136 = fmul float %131, %125 %137 = fadd float %136, %101 %138 = fmul float %133, %125 %139 = fadd float %138, %102 %140 = call float @llvm.AMDIL.clamp.(float %135, float 0.000000e+00, float 1.000000e+00) %141 = call float @llvm.AMDIL.clamp.(float %137, float 0.000000e+00, float 1.000000e+00) %142 = call float @llvm.AMDIL.clamp.(float %139, float 0.000000e+00, float 1.000000e+00) %143 = bitcast float %112 to i32 %144 = bitcast float %114 to i32 %145 = insertelement <2 x i32> undef, i32 %143, i32 0 %146 = insertelement <2 x i32> %145, i32 %144, i32 1 %147 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %146, <32 x i8> %60, <16 x i8> %62, i32 2) %148 = extractelement <4 x float> %147, i32 0 %149 = extractelement <4 x float> %147, i32 1 %150 = fmul float %148, %126 %151 = fadd float %150, %109 %152 = fmul float %149, %126 %153 = fadd float %152, %110 %154 = fmul float %151, 2.000000e+00 %155 = fadd float %154, -1.000000e+00 %156 = fmul float %153, 2.000000e+00 %157 = fadd float %156, -1.000000e+00 %158 = fsub float -0.000000e+00, %126 %159 = fadd float %155, %158 %160 = fsub float -0.000000e+00, %126 %161 = fadd float %157, %160 %162 = fmul float %159, %159 %163 = fmul float %161, %161 %164 = fadd float %162, %163 %165 = fsub float -0.000000e+00, %164 %166 = fadd float 1.000000e+00, %165 %167 = call float @llvm.AMDIL.clamp.(float %166, float 0.000000e+00, float 1.000000e+00) %168 = call float @llvm.AMDGPU.rsq(float %167) %169 = fmul float %168, %167 %170 = fsub float -0.000000e+00, %167 %171 = call float @llvm.AMDGPU.cndlt(float %170, float %169, float 0.000000e+00) %172 = fmul float %140, %22 %173 = fmul float %141, %23 %174 = fmul float %142, %24 %175 = fmul float %159, %83 %176 = fmul float %161, %84 %177 = fadd float %176, %175 %178 = fmul float %171, %85 %179 = fadd float %177, %178 %180 = fmul float %159, %86 %181 = fmul float %161, %87 %182 = fadd float %181, %180 %183 = fmul float %171, %88 %184 = fadd float %182, %183 %185 = fmul float %159, %89 %186 = fmul float %161, %90 %187 = fadd float %186, %185 %188 = fmul float %171, %91 %189 = fadd float %187, %188 %190 = fmul float %81, %28 %191 = fadd float %190, -5.000000e-01 %192 = fmul float %82, %29 %193 = fadd float %192, -5.000000e-01 %194 = call float @llvm.AMDIL.fraction.(float %191) %195 = fmul float %194, %194 %196 = fmul float %195, %194 %197 = fmul float %194, 3.000000e+00 %198 = fmul float %195, 3.000000e+00 %199 = fmul float %196, 3.000000e+00 %200 = fmul float %198, 2.000000e+00 %201 = fsub float -0.000000e+00, %200 %202 = fadd float %199, %201 %203 = fadd float %202, 4.000000e+00 %204 = fsub float -0.000000e+00, %199 %205 = fadd float %204, %198 %206 = fadd float %205, %197 %207 = fadd float %206, 1.000000e+00 %208 = fadd float %207, %196 %209 = fdiv float 1.000000e+00, %208 %210 = fmul float %196, %209 %211 = fadd float %210, 1.000000e+00 %212 = fsub float -0.000000e+00, %194 %213 = fadd float %211, %212 %214 = fsub float -0.000000e+00, %196 %215 = fadd float %214, %198 %216 = fsub float -0.000000e+00, %197 %217 = fadd float %215, %216 %218 = fadd float %217, 1.000000e+00 %219 = fadd float %218, %203 %220 = fdiv float 1.000000e+00, %219 %221 = fmul float %203, %220 %222 = fsub float -0.000000e+00, %221 %223 = fadd float 1.000000e+00, %222 %224 = fadd float %223, %194 %225 = fadd float %207, %196 %226 = fmul float %225, 0x3FC5555560000000 %227 = call float @llvm.AMDIL.fraction.(float %193) %228 = fmul float %227, %227 %229 = fmul float %228, %227 %230 = fmul float %227, 3.000000e+00 %231 = fmul float %228, 3.000000e+00 %232 = fmul float %229, 3.000000e+00 %233 = fmul float %231, 2.000000e+00 %234 = fsub float -0.000000e+00, %233 %235 = fadd float %232, %234 %236 = fadd float %235, 4.000000e+00 %237 = fsub float -0.000000e+00, %232 %238 = fadd float %237, %231 %239 = fadd float %238, %230 %240 = fadd float %239, 1.000000e+00 %241 = fadd float %240, %229 %242 = fdiv float 1.000000e+00, %241 %243 = fmul float %229, %242 %244 = fadd float %243, 1.000000e+00 %245 = fsub float -0.000000e+00, %227 %246 = fadd float %244, %245 %247 = fsub float -0.000000e+00, %229 %248 = fadd float %247, %231 %249 = fsub float -0.000000e+00, %230 %250 = fadd float %248, %249 %251 = fadd float %250, 1.000000e+00 %252 = fadd float %251, %236 %253 = fdiv float 1.000000e+00, %252 %254 = fmul float %236, %253 %255 = fsub float -0.000000e+00, %254 %256 = fadd float 1.000000e+00, %255 %257 = fadd float %256, %227 %258 = fadd float %240, %229 %259 = fmul float %258, 0x3FC5555560000000 %260 = fsub float -0.000000e+00, %224 %261 = fsub float -0.000000e+00, %257 %262 = fmul float %260, %30 %263 = fadd float %262, %81 %264 = fmul float %261, %31 %265 = fadd float %264, %82 %266 = fmul float %213, %30 %267 = fadd float %266, %81 %268 = fmul float %246, %31 %269 = fadd float %268, %82 %270 = insertelement <4 x float> undef, float %179, i32 0 %271 = insertelement <4 x float> %270, float %184, i32 1 %272 = insertelement <4 x float> %271, float %189, i32 2 %273 = insertelement <4 x float> %272, float 0.000000e+00, i32 3 %274 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %273) %275 = extractelement <4 x float> %274, i32 0 %276 = extractelement <4 x float> %274, i32 1 %277 = extractelement <4 x float> %274, i32 2 %278 = extractelement <4 x float> %274, i32 3 %279 = call float @fabs(float %277) %280 = fdiv float 1.000000e+00, %279 %281 = fmul float %275, %280 %282 = fadd float %281, 1.500000e+00 %283 = fmul float %276, %280 %284 = fadd float %283, 1.500000e+00 %285 = bitcast float %284 to i32 %286 = bitcast float %282 to i32 %287 = bitcast float %278 to i32 %288 = insertelement <4 x i32> undef, i32 %285, i32 0 %289 = insertelement <4 x i32> %288, i32 %286, i32 1 %290 = insertelement <4 x i32> %289, i32 %287, i32 2 %291 = insertelement <4 x i32> %290, i32 undef, i32 3 %292 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %291, <32 x i8> %68, <16 x i8> %70, i32 4) %293 = extractelement <4 x float> %292, i32 0 %294 = extractelement <4 x float> %292, i32 1 %295 = extractelement <4 x float> %292, i32 2 %296 = fmul float %140, %293 %297 = fmul float %141, %294 %298 = fmul float %142, %295 %299 = bitcast float %263 to i32 %300 = bitcast float %265 to i32 %301 = insertelement <2 x i32> undef, i32 %299, i32 0 %302 = insertelement <2 x i32> %301, i32 %300, i32 1 %303 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %302, <32 x i8> %72, <16 x i8> %74, i32 2) %304 = extractelement <4 x float> %303, i32 0 %305 = extractelement <4 x float> %303, i32 1 %306 = extractelement <4 x float> %303, i32 2 %307 = extractelement <4 x float> %303, i32 3 %308 = bitcast float %263 to i32 %309 = bitcast float %269 to i32 %310 = insertelement <2 x i32> undef, i32 %308, i32 0 %311 = insertelement <2 x i32> %310, i32 %309, i32 1 %312 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %311, <32 x i8> %72, <16 x i8> %74, i32 2) %313 = extractelement <4 x float> %312, i32 0 %314 = extractelement <4 x float> %312, i32 1 %315 = extractelement <4 x float> %312, i32 2 %316 = extractelement <4 x float> %312, i32 3 %317 = call float @llvm.AMDGPU.lrp(float %259, float %313, float %304) %318 = call float @llvm.AMDGPU.lrp(float %259, float %314, float %305) %319 = call float @llvm.AMDGPU.lrp(float %259, float %315, float %306) %320 = call float @llvm.AMDGPU.lrp(float %259, float %316, float %307) %321 = bitcast float %267 to i32 %322 = bitcast float %265 to i32 %323 = insertelement <2 x i32> undef, i32 %321, i32 0 %324 = insertelement <2 x i32> %323, i32 %322, i32 1 %325 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %324, <32 x i8> %72, <16 x i8> %74, i32 2) %326 = extractelement <4 x float> %325, i32 0 %327 = extractelement <4 x float> %325, i32 1 %328 = extractelement <4 x float> %325, i32 2 %329 = extractelement <4 x float> %325, i32 3 %330 = bitcast float %267 to i32 %331 = bitcast float %269 to i32 %332 = insertelement <2 x i32> undef, i32 %330, i32 0 %333 = insertelement <2 x i32> %332, i32 %331, i32 1 %334 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %333, <32 x i8> %72, <16 x i8> %74, i32 2) %335 = extractelement <4 x float> %334, i32 0 %336 = extractelement <4 x float> %334, i32 1 %337 = extractelement <4 x float> %334, i32 2 %338 = extractelement <4 x float> %334, i32 3 %339 = call float @llvm.AMDGPU.lrp(float %259, float %335, float %326) %340 = call float @llvm.AMDGPU.lrp(float %259, float %336, float %327) %341 = call float @llvm.AMDGPU.lrp(float %259, float %337, float %328) %342 = call float @llvm.AMDGPU.lrp(float %259, float %338, float %329) %343 = call float @llvm.AMDGPU.lrp(float %226, float %339, float %317) %344 = fmul float %343, %38 %345 = fmul float %296, %344 %346 = fadd float %345, %172 %347 = fmul float %297, %344 %348 = fadd float %347, %173 %349 = fmul float %298, %344 %350 = fadd float %349, %174 %351 = fdiv float %92, %94 %352 = fdiv float %93, %94 %353 = bitcast float %351 to i32 %354 = bitcast float %352 to i32 %355 = insertelement <2 x i32> undef, i32 %353, i32 0 %356 = insertelement <2 x i32> %355, i32 %354, i32 1 %357 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %356, <32 x i8> %76, <16 x i8> %78, i32 2) %358 = extractelement <4 x float> %357, i32 0 %359 = extractelement <4 x float> %357, i32 1 %360 = extractelement <4 x float> %357, i32 2 %361 = extractelement <4 x float> %357, i32 3 %362 = bitcast float %112 to i32 %363 = bitcast float %114 to i32 %364 = insertelement <2 x i32> undef, i32 %362, i32 0 %365 = insertelement <2 x i32> %364, i32 %363, i32 1 %366 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %365, <32 x i8> %64, <16 x i8> %66, i32 2) %367 = extractelement <4 x float> %366, i32 0 %368 = extractelement <4 x float> %366, i32 1 %369 = extractelement <4 x float> %366, i32 2 %370 = fmul float %367, 2.000000e+00 %371 = fadd float %370, -1.000000e+00 %372 = fmul float %368, 2.000000e+00 %373 = fadd float %372, -1.000000e+00 %374 = fmul float %369, 2.000000e+00 %375 = fadd float %374, -1.000000e+00 %376 = bitcast float %79 to i32 %377 = bitcast float %80 to i32 %378 = insertelement <2 x i32> undef, i32 %376, i32 0 %379 = insertelement <2 x i32> %378, i32 %377, i32 1 %380 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %379, <32 x i8> %52, <16 x i8> %54, i32 2) %381 = extractelement <4 x float> %380, i32 0 %382 = extractelement <4 x float> %380, i32 1 %383 = extractelement <4 x float> %380, i32 2 %384 = fmul float %371, %127 %385 = fadd float %384, %381 %386 = fmul float %373, %127 %387 = fadd float %386, %382 %388 = fmul float %375, %127 %389 = fadd float %388, %383 %390 = call float @llvm.AMDIL.clamp.(float %385, float 0.000000e+00, float 1.000000e+00) %391 = call float @llvm.AMDIL.clamp.(float %387, float 0.000000e+00, float 1.000000e+00) %392 = call float @llvm.AMDIL.clamp.(float %389, float 0.000000e+00, float 1.000000e+00) %393 = fmul float %33, %361 %394 = fmul float %140, %32 %395 = fmul float %141, %32 %396 = fmul float %142, %32 %397 = fmul float %390, %393 %398 = fadd float %397, %394 %399 = fmul float %391, %393 %400 = fadd float %399, %395 %401 = fmul float %392, %393 %402 = fadd float %401, %396 %403 = fmul float %398, %358 %404 = fadd float %403, %346 %405 = fmul float %400, %359 %406 = fadd float %405, %348 %407 = fmul float %402, %360 %408 = fadd float %407, %350 %409 = fmul float %404, %39 %410 = fmul float %406, %40 %411 = fmul float %408, %41 %412 = fmul float %103, %42 %413 = call i32 @llvm.SI.packf16(float %409, float %410) %414 = bitcast i32 %413 to float %415 = call i32 @llvm.SI.packf16(float %411, float %412) %416 = bitcast i32 %415 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %414, float %416, float %414, float %416) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: readnone declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800f00 00430402 c0840100 bf8c0070 c2000959 c200895b bf8c007f 7e100201 d2820009 04200103 c2000958 c200895a bf8c007f 7e140201 d2820008 04280102 c086030c c0c80518 bf8c007f f0800f00 00640a08 bf8c0770 101c1b07 c2000905 bf8c007f 101e1c00 c0860304 c0c80508 bf8c007f f0800300 00641002 c0860310 c0c80520 bf8c0070 f0800300 00641208 bf8c0770 d2820014 04421f12 06282914 062828f3 08281f14 d2820010 04461f13 06202110 062020f3 081e1f10 10201f0f d2820010 04422914 082020f2 d2060810 02010110 7e225b10 10222111 d2060010 22010110 d0080000 02022080 d2000010 00022280 c8440c00 c8450c01 10222314 c8480d00 c8490d01 d2820011 0446250f c8480e00 c8490e01 d2820017 04462510 c8440800 c8450801 10222314 c8480900 c8490901 d2820011 0446250f c8480a00 c8490a01 d2820016 04462510 c8440400 c8450401 10222314 c8480500 c8490501 d282000f 0446250f c8440600 c8450601 d2820015 043e2310 7e300280 d28a001a 045e2d15 d28c0019 045e2d15 d28e001b 045e2d15 d288001c 045e2d15 d206010f 0201011b 7e1e550f 7e2002ff 3fc00000 d282001b 04421f19 d282001a 04421f1a c0860318 c0c80530 bf8c007f f0800700 00640f1a c2000904 bf8c0070 10241c00 0626170b 062626f3 d2820013 04162513 d2060813 02010113 10282113 c8540300 c8550301 c200092d bf8c007f d2820016 03c40115 7e2c4116 102e2d16 10302eff 40400000 7e3202ff 40400000 d282001a 04623317 10362d17 103836ff 40400000 0834351c 063434f6 083a3718 103c2cff 40400000 083a3d1d 063a3af2 063a351d 7e3a551d 10343b1a 083434f2 06342d1a c200092f bf8c007f 10343400 083c3515 c8680200 c8690201 c200892c bf8c007f d282001f 03c4031a 7e3e411f 10403f1f 10423f20 104442ff 40400000 104640ff 40400000 08484523 d2820024 0492331f 064848f2 d2820024 04923f20 7e4a5524 d2820025 03ca4b21 084a3f25 c200892e bf8c007f d282001d 04680325 c086031c c0c80538 bf8c007f f0800100 0064251d 08303918 d2820018 04623316 063030f2 d2820017 04622d17 10302eff 3e2aaaab 083830f2 bf8c0770 104a4b1c 7e2e5517 d2820017 03ca2f1b 082c2d17 d2820015 04540116 7e2c031d 7e2e031e 7e2e0315 f0800100 00641616 bf8c0770 d2820016 04962d18 d2820017 048e3320 082e2f22 062e2ef6 08324323 10363eff 40400000 08323719 063232f2 06322f19 7e325519 102e3317 082e2ef2 062e3f17 102e2e01 083a2f1a f0800100 0064171d bf8c0770 102e2f1c 7e3c0315 f0800100 0064151d bf8c0770 d2820015 045e2b18 102e48ff 3e2aaaab 08302ef2 102a2b18 d2820015 04562d17 c200095c bf8c007f 102a2a00 c2000901 bf8c007f 102c2600 d2820014 045a2b14 c8581100 c8591101 c85c1300 c85d1301 7e2e5517 10322f16 c8581000 c8591001 10302f16 c0860320 c0c80540 bf8c007f f0800f00 00641618 c2000931 bf8c0070 10003200 c2000930 bf8c007f 10022600 c2008906 bf8c007f 101c1c01 c0860308 c0c80510 bf8c007f f0800700 00641a02 c0860314 c0c80528 bf8c0070 f0800700 00641d08 bf8c0770 06043d1e 060404f3 d2820002 046e1d02 d2060802 02010102 d2820001 04060102 d2820001 04522f01 c2008961 bf8c007f 10020201 0604150a 060404f3 d2820002 04122502 d2060802 02010102 10061f02 c2008900 bf8c007f 10100401 d2820003 04222b03 10040400 06103b1d 061010f3 d2820008 046a1d08 d2060808 02010108 d2820002 040a0108 d2820002 040e2d02 c2008960 bf8c007f 10040401 5e020302 0604190c 060404f3 d2820002 041a2502 d2060802 02010102 10062302 c2008902 bf8c007f 10100401 d2820003 04222b03 10040400 06103f1f 061010f3 d2820008 04721d08 d2060808 02010108 d2820000 040a0108 d2820000 040e3100 c2000962 bf8c007f 10000000 c2000963 bf8c007f 7e040200 d2100002 02020507 5e000500 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..101] DCL TEMP[0..6], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.5000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+5] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+5] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+5] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: DP4 TEMP[4].x, TEMP[3], TEMP[1] 13: DP4 TEMP[5].x, TEMP[3], TEMP[2] 14: MOV TEMP[4].y, TEMP[5].xxxx 15: DP4 TEMP[3].x, TEMP[3], TEMP[0] 16: MOV TEMP[4].z, TEMP[3].xxxx 17: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 18: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 19: MOV TEMP[3].y, TEMP[5].xxxx 20: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 21: MOV TEMP[3].z, TEMP[5].xxxx 22: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 23: RSQ TEMP[5].x, TEMP[5].xxxx 24: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 25: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 26: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 27: MOV TEMP[1].y, TEMP[2].xxxx 28: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 29: MOV TEMP[1].z, TEMP[0].xxxx 30: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 31: RSQ TEMP[0].x, TEMP[0].xxxx 32: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 33: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 34: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 35: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 36: MOV TEMP[2].zw, IN[1].wwzw 37: MAD TEMP[2].xy, IN[1].xyyy, CONST[101].xyyy, CONST[101].zwww 38: ADD TEMP[4].xyz, TEMP[4].xyzz, -CONST[4].xyzz 39: MUL TEMP[5], CONST[0], TEMP[4].xxxx 40: MAD TEMP[5], CONST[1], TEMP[4].yyyy, TEMP[5] 41: MAD TEMP[4], CONST[2], TEMP[4].zzzz, TEMP[5] 42: ADD TEMP[4], TEMP[4], CONST[3] 43: MOV TEMP[5].x, TEMP[0].xxxx 44: MOV TEMP[5].y, TEMP[1].xxxx 45: MOV TEMP[5].z, TEMP[3].xxxx 46: MOV TEMP[5].xyz, TEMP[5].xyzx 47: MOV TEMP[6].x, TEMP[0].yyyy 48: MOV TEMP[6].y, TEMP[1].yyyy 49: MOV TEMP[6].z, TEMP[3].yyyy 50: MOV TEMP[6].xyz, TEMP[6].xyzx 51: MOV TEMP[0].x, TEMP[0].zzzz 52: MOV TEMP[0].y, TEMP[1].zzzz 53: MOV TEMP[0].z, TEMP[3].zzzz 54: MOV TEMP[0].xyz, TEMP[0].xyzx 55: ADD TEMP[1], TEMP[4], TEMP[4].wwww 56: MUL TEMP[1], TEMP[1], IMM[1].yyyy 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[5] 59: MOV OUT[3], TEMP[6] 60: MOV OUT[4], TEMP[0] 61: MOV OUT[0], TEMP[4] 62: MOV OUT[5], TEMP[1] 63: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1616) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1620) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1624) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1628) %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = extractelement <4 x float> %41, i32 2 %45 = extractelement <4 x float> %41, i32 3 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = add i32 %8, %4 %61 = mul i32 %60, 3 %62 = bitcast i32 %61 to float %63 = bitcast float %62 to i32 %64 = add i32 %63, 0 %65 = bitcast float %62 to i32 %66 = add i32 %65, 1 %67 = bitcast float %62 to i32 %68 = add i32 %67, 2 %69 = bitcast i32 %64 to float %70 = bitcast i32 %66 to float %71 = bitcast i32 %68 to float %72 = bitcast float %69 to i32 %73 = shl i32 %72, 4 %74 = add i32 %73, 80 %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %74) %76 = shl i32 %72, 4 %77 = add i32 %76, 84 %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %77) %79 = shl i32 %72, 4 %80 = add i32 %79, 88 %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %80) %82 = shl i32 %72, 4 %83 = add i32 %82, 92 %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %83) %85 = bitcast float %70 to i32 %86 = shl i32 %85, 4 %87 = add i32 %86, 80 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %85, 4 %90 = add i32 %89, 84 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = shl i32 %85, 4 %93 = add i32 %92, 88 %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %93) %95 = shl i32 %85, 4 %96 = add i32 %95, 92 %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %96) %98 = bitcast float %71 to i32 %99 = shl i32 %98, 4 %100 = add i32 %99, 80 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %98, 4 %103 = add i32 %102, 84 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = shl i32 %98, 4 %106 = add i32 %105, 88 %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %106) %108 = shl i32 %98, 4 %109 = add i32 %108, 92 %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %109) %111 = fmul float %37, %75 %112 = fmul float %38, %78 %113 = fadd float %111, %112 %114 = fmul float %52, %81 %115 = fadd float %113, %114 %116 = fmul float 1.000000e+00, %84 %117 = fadd float %115, %116 %118 = fmul float %37, %88 %119 = fmul float %38, %91 %120 = fadd float %118, %119 %121 = fmul float %52, %94 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %97 %124 = fadd float %122, %123 %125 = fmul float %37, %101 %126 = fmul float %38, %104 %127 = fadd float %125, %126 %128 = fmul float %52, %107 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %110 %131 = fadd float %129, %130 %132 = fmul float %49, %75 %133 = fmul float %50, %78 %134 = fadd float %133, %132 %135 = fmul float %51, %81 %136 = fadd float %134, %135 %137 = fmul float %49, %88 %138 = fmul float %50, %91 %139 = fadd float %138, %137 %140 = fmul float %51, %94 %141 = fadd float %139, %140 %142 = fmul float %49, %101 %143 = fmul float %50, %104 %144 = fadd float %143, %142 %145 = fmul float %51, %107 %146 = fadd float %144, %145 %147 = fmul float %136, %136 %148 = fmul float %141, %141 %149 = fadd float %148, %147 %150 = fmul float %146, %146 %151 = fadd float %149, %150 %152 = call float @llvm.AMDGPU.rsq(float %151) %153 = fmul float %136, %152 %154 = fmul float %141, %152 %155 = fmul float %146, %152 %156 = fmul float %56, %75 %157 = fmul float %57, %78 %158 = fadd float %157, %156 %159 = fmul float %58, %81 %160 = fadd float %158, %159 %161 = fmul float %56, %88 %162 = fmul float %57, %91 %163 = fadd float %162, %161 %164 = fmul float %58, %94 %165 = fadd float %163, %164 %166 = fmul float %56, %101 %167 = fmul float %57, %104 %168 = fadd float %167, %166 %169 = fmul float %58, %107 %170 = fadd float %168, %169 %171 = fmul float %160, %160 %172 = fmul float %165, %165 %173 = fadd float %172, %171 %174 = fmul float %170, %170 %175 = fadd float %173, %174 %176 = call float @llvm.AMDGPU.rsq(float %175) %177 = fmul float %160, %176 %178 = fmul float %165, %176 %179 = fmul float %170, %176 %180 = fmul float %155, %178 %181 = fmul float %153, %179 %182 = fmul float %154, %177 %183 = fsub float -0.000000e+00, %180 %184 = fmul float %154, %179 %185 = fadd float %184, %183 %186 = fsub float -0.000000e+00, %181 %187 = fmul float %155, %177 %188 = fadd float %187, %186 %189 = fsub float -0.000000e+00, %182 %190 = fmul float %153, %178 %191 = fadd float %190, %189 %192 = fmul float %185, %59 %193 = fmul float %188, %59 %194 = fmul float %191, %59 %195 = fmul float %42, %30 %196 = fadd float %195, %32 %197 = fmul float %43, %31 %198 = fadd float %197, %33 %199 = fsub float -0.000000e+00, %27 %200 = fadd float %117, %199 %201 = fsub float -0.000000e+00, %28 %202 = fadd float %124, %201 %203 = fsub float -0.000000e+00, %29 %204 = fadd float %131, %203 %205 = fmul float %11, %200 %206 = fmul float %12, %200 %207 = fmul float %13, %200 %208 = fmul float %14, %200 %209 = fmul float %15, %202 %210 = fadd float %209, %205 %211 = fmul float %16, %202 %212 = fadd float %211, %206 %213 = fmul float %17, %202 %214 = fadd float %213, %207 %215 = fmul float %18, %202 %216 = fadd float %215, %208 %217 = fmul float %19, %204 %218 = fadd float %217, %210 %219 = fmul float %20, %204 %220 = fadd float %219, %212 %221 = fmul float %21, %204 %222 = fadd float %221, %214 %223 = fmul float %22, %204 %224 = fadd float %223, %216 %225 = fadd float %218, %23 %226 = fadd float %220, %24 %227 = fadd float %222, %25 %228 = fadd float %224, %26 %229 = fadd float %225, %228 %230 = fadd float %226, %228 %231 = fadd float %227, %228 %232 = fadd float %228, %228 %233 = fmul float %229, 5.000000e-01 %234 = fmul float %230, 5.000000e-01 %235 = fmul float %231, 5.000000e-01 %236 = fmul float %232, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %196, float %198, float %44, float %45) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %177, float %192, float %153, float %216) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %178, float %193, float %154, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %179, float %194, float %155, float %110) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %233, float %234, float %235, float %236) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %225, float %226, float %227, float %228) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000065c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000654 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000658 c2020004 bf8c007f 7e040204 be8403ff 00000650 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000050 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000054 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000058 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000050 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000054 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000058 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000050 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000054 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000058 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10102108 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1038371c 103a111c 10242112 10323719 103c2519 083a3b1e 103a0f1d c0820700 bf8c007f e00c2000 80011e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000005c e0301000 80000b0b bf8c0770 06001700 c2020110 bf8c007f 0a000004 c2020103 bf8c007f 10160004 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000005c e0301000 80000202 bf8c0770 06040503 c2020111 bf8c007f 0a040404 c2020107 bf8c007f d2820003 042e0404 1012371a 1014210d f800021f 03091d0a 10162509 1018151c 0816170c 10160f0b 7e180280 f800022f 0c190b08 bf8c070f 10141519 10101109 08101508 10080f08 4a0202ff 0000005c e0301000 80000101 bf8c0770 f800023f 011c0412 bf8c070f 1008271f d2820004 0412231e d2820004 04122918 06020304 c2020112 bf8c007f 0a020204 c202010b bf8c007f d2820003 040e0204 c202010f bf8c007f 06060604 c2020102 bf8c007f 10080004 c2020106 bf8c007f d2820004 04120404 c202010a bf8c007f d2820004 04120204 c202010e bf8c007f 06080804 060a0704 100a0af0 c2020101 bf8c007f 100c0004 c2020105 bf8c007f d2820006 041a0404 c2020109 bf8c007f d2820006 041a0204 c202010d bf8c007f 060c0c04 060e0706 100e0ef0 c2020100 bf8c007f 10000004 c2020104 bf8c007f d2820000 04020404 c2020108 bf8c007f d2820000 04020204 c200010c bf8c007f 06000000 06020700 100202f0 06040703 100404f0 f800024f 02050701 f80008cf 03040600 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[26..27] DCL CONST[0..20] DCL TEMP[0] DCL TEMP[1..9], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { 0.0001, 3.0000, -0.2500, 0.2450} IMM[2] FLT32 { -0.7500, -0.2500, 0.0625, 0.1250} IMM[3] FLT32 { 0.1875, 0.2500, 8.0000, 0.3125} IMM[4] FLT32 { 0.3750, 0.4375, 0.5000, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[27].xxxx, CONST[27].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].xy, IN[1].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: MOV TEMP[3].xy, IN[1].xyyy 7: TEX TEMP[3], TEMP[3], SAMP[2], 2D 8: MAD TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx, IMM[0].yyyy 9: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 10: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 11: RSQ TEMP[5].x, TEMP[4].xxxx 12: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 13: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].wwww 14: MOV TEMP[2].z, TEMP[5].xxxx 15: ADD TEMP[4].x, TEMP[3].wwww, IMM[1].xxxx 16: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 17: ABS TEMP[6].x, TEMP[5].xxxx 18: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 19: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[20].xxxx 20: ADD TEMP[7].x, IMM[0].zzzz, -CONST[20].xxxx 21: RCP TEMP[7].x, TEMP[7].xxxx 22: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 23: DP3 TEMP[7].x, IN[3].xyzz, IN[3].xyzz 24: RSQ TEMP[7].x, TEMP[7].xxxx 25: MOV TEMP[8].xyz, -IN[2].xyzx 26: DP3 TEMP[9].x, TEMP[2].xyzz, TEMP[8].xyzz 27: MUL TEMP[9].xyz, TEMP[9].xxxx, TEMP[2].xyzz 28: MUL TEMP[9].xyz, IMM[0].xxxx, TEMP[9].xyzz 29: ADD TEMP[8].xyz, TEMP[8].xyzz, -TEMP[9].xyzz 30: DP3 TEMP[8].x, TEMP[8].xyzz, IN[3].xyzz 31: MUL_SAT TEMP[8].x, TEMP[8].xxxx, TEMP[7].xxxx 32: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].zzzz 33: POW TEMP[4].x, TEMP[8].xxxx, TEMP[4].xxxx 34: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].yyyy 35: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 36: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[7].xxxx 37: ABS TEMP[2].x, TEMP[2].xxxx 38: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 39: POW TEMP[2].x, TEMP[2].xxxx, CONST[18].zzzz 40: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[18].yyyy, CONST[18].xxxx 41: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 42: MUL TEMP[4].x, IMM[0].xxxx, TEMP[6].xxxx 43: ADD TEMP[4].x, IMM[1].yyyy, -TEMP[4].xxxx 44: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 45: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[4].xxxx 46: MOV_SAT TEMP[5].x, TEMP[5].xxxx 47: MAD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[20].yyyy, TEMP[5].xxxx 48: MUL TEMP[4].x, TEMP[4].xxxx, CONST[19].xxxx 49: MUL TEMP[4].xyz, TEMP[1].xyzz, TEMP[4].xxxx 50: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xxxx, TEMP[4].xyzz 51: MOV TEMP[3].xyz, TEMP[2].xyzx 52: MOV TEMP[4].x, IMM[0].wwww 53: MUL TEMP[5], CONST[2], IN[4].xxxx 54: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 55: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 56: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 57: MOV TEMP[6].xyz, TEMP[5] 58: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 59: ABS TEMP[5].xy, TEMP[5].xyyy 60: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 61: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 62: UIF TEMP[5].xxxx :2 63: MUL TEMP[5], CONST[6], IN[4].xxxx 64: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 65: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 66: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 67: MOV TEMP[6].xyz, TEMP[5] 68: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xyyy 69: ABS TEMP[5].xy, TEMP[5].xyyy 70: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 71: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 72: UIF TEMP[5].xxxx :2 73: MUL TEMP[5], CONST[10], IN[4].xxxx 74: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 75: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 76: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 77: MOV TEMP[6], TEMP[5] 78: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yxxx 79: ABS TEMP[5].xy, TEMP[5].xyyy 80: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 81: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 82: UIF TEMP[5].xxxx :2 83: MUL TEMP[5], CONST[14], IN[4].xxxx 84: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 85: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 86: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 87: MOV TEMP[6], TEMP[5] 88: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xxxx 89: ABS TEMP[5].xy, TEMP[5].xyyy 90: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 91: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 92: UIF TEMP[5].xxxx :2 93: MOV TEMP[4].x, IMM[0].zzzz 94: ENDIF 95: ENDIF 96: ENDIF 97: ENDIF 98: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 99: UIF TEMP[5].xxxx :2 100: MOV TEMP[5].z, IMM[0].wwww 101: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].zzzz 102: MOV TEMP[7].xy, TEMP[5].xyxx 103: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 104: MOV TEMP[5].xyz, TEMP[5].xyzz 105: TEX TEMP[5], TEMP[5], SAMP[4], 3D 106: MUL TEMP[5], TEMP[5], CONST[1].wwww 107: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 108: MOV TEMP[8].xy, TEMP[8].xyyy 109: MOV TEMP[8].z, TEMP[6].zzzz 110: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 111: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 112: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 113: MOV TEMP[5].xy, TEMP[5].xyyy 114: MOV TEMP[5].z, TEMP[6].zzzz 115: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 116: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 117: MOV TEMP[7].z, IMM[2].zzzz 118: MOV TEMP[5].xyz, TEMP[7].xyzz 119: TEX TEMP[5], TEMP[5], SAMP[4], 3D 120: MUL TEMP[5], TEMP[5], CONST[1].wwww 121: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 122: MOV TEMP[8].xy, TEMP[8].xyyy 123: MOV TEMP[8].z, TEMP[6].zzzz 124: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 125: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 126: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 127: MOV TEMP[5].xy, TEMP[5].xyyy 128: MOV TEMP[5].z, TEMP[6].zzzz 129: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 130: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 131: MOV TEMP[7].z, IMM[2].wwww 132: MOV TEMP[5].xyz, TEMP[7].xyzz 133: TEX TEMP[5], TEMP[5], SAMP[4], 3D 134: MUL TEMP[5], TEMP[5], CONST[1].wwww 135: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 136: MOV TEMP[8].xy, TEMP[8].xyyy 137: MOV TEMP[8].z, TEMP[6].zzzz 138: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 139: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 140: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 141: MOV TEMP[5].xy, TEMP[5].xyyy 142: MOV TEMP[5].z, TEMP[6].zzzz 143: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 144: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 145: MOV TEMP[7].z, IMM[3].xxxx 146: MOV TEMP[5].xyz, TEMP[7].xyzz 147: TEX TEMP[5], TEMP[5], SAMP[4], 3D 148: MUL TEMP[5], TEMP[5], CONST[1].wwww 149: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 150: MOV TEMP[8].xy, TEMP[8].xyyy 151: MOV TEMP[8].z, TEMP[6].zzzz 152: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 153: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 154: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 155: MOV TEMP[7].z, IMM[3].yyyy 156: MOV TEMP[5].xy, TEMP[5].xyyy 157: MOV TEMP[5].z, TEMP[6].zzzz 158: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 159: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 160: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].wwww 161: MOV TEMP[4].x, TEMP[5].xxxx 162: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 163: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 164: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 165: UIF TEMP[8].xxxx :2 166: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].zzzz 167: MOV TEMP[5].xyz, TEMP[7].xyzz 168: TEX TEMP[5], TEMP[5], SAMP[4], 3D 169: MUL TEMP[5], TEMP[5], CONST[1].wwww 170: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 171: MOV TEMP[8].xy, TEMP[8].xyyy 172: MOV TEMP[8].z, TEMP[6].zzzz 173: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 174: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 175: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 176: MOV TEMP[5].xy, TEMP[5].xyyy 177: MOV TEMP[5].z, TEMP[6].zzzz 178: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 179: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 180: MOV TEMP[7].z, IMM[3].wwww 181: MOV TEMP[5].xyz, TEMP[7].xyzz 182: TEX TEMP[5], TEMP[5], SAMP[4], 3D 183: MUL TEMP[5], TEMP[5], CONST[1].wwww 184: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 185: MOV TEMP[8].xy, TEMP[8].xyyy 186: MOV TEMP[8].z, TEMP[6].zzzz 187: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 188: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 189: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 190: MOV TEMP[5].xy, TEMP[5].xyyy 191: MOV TEMP[5].z, TEMP[6].zzzz 192: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 193: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 194: MOV TEMP[7].z, IMM[4].xxxx 195: MOV TEMP[5].xyz, TEMP[7].xyzz 196: TEX TEMP[5], TEMP[5], SAMP[4], 3D 197: MUL TEMP[5], TEMP[5], CONST[1].wwww 198: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 199: MOV TEMP[8].xy, TEMP[8].xyyy 200: MOV TEMP[8].z, TEMP[6].zzzz 201: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 202: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 203: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 204: MOV TEMP[5].xy, TEMP[5].xyyy 205: MOV TEMP[5].z, TEMP[6].zzzz 206: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 207: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 208: MOV TEMP[7].z, IMM[4].yyyy 209: MOV TEMP[5].xyz, TEMP[7].xyzz 210: TEX TEMP[5], TEMP[5], SAMP[4], 3D 211: MUL TEMP[5], TEMP[5], CONST[1].wwww 212: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 213: MOV TEMP[8].xy, TEMP[8].xyyy 214: MOV TEMP[8].z, TEMP[6].zzzz 215: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 216: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 217: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 218: MOV TEMP[5].xy, TEMP[5].xyyy 219: MOV TEMP[5].z, TEMP[6].zzzz 220: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 221: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 222: MOV TEMP[7].z, IMM[4].zzzz 223: MOV TEMP[5].xyz, TEMP[7].xyzz 224: TEX TEMP[5], TEMP[5], SAMP[4], 3D 225: MUL TEMP[5], TEMP[5], CONST[1].wwww 226: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 227: MOV TEMP[8].xy, TEMP[8].xyyy 228: MOV TEMP[8].z, TEMP[6].zzzz 229: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 230: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 231: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 232: MOV TEMP[5].xy, TEMP[5].xyyy 233: MOV TEMP[5].z, TEMP[6].zzzz 234: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 235: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 236: MOV TEMP[7].z, IMM[4].wwww 237: MOV TEMP[5].xyz, TEMP[7].xyzz 238: TEX TEMP[5], TEMP[5], SAMP[4], 3D 239: MUL TEMP[5], TEMP[5], CONST[1].wwww 240: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 241: MOV TEMP[8].xy, TEMP[8].xyyy 242: MOV TEMP[8].z, TEMP[6].zzzz 243: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 244: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 245: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 246: MOV TEMP[5].xy, TEMP[5].xyyy 247: MOV TEMP[5].z, TEMP[6].zzzz 248: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 249: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 250: MOV TEMP[7].z, IMM[5].xxxx 251: MOV TEMP[5].xyz, TEMP[7].xyzz 252: TEX TEMP[5], TEMP[5], SAMP[4], 3D 253: MUL TEMP[5], TEMP[5], CONST[1].wwww 254: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 255: MOV TEMP[8].xy, TEMP[8].xyyy 256: MOV TEMP[8].z, TEMP[6].zzzz 257: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 258: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 259: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 260: MOV TEMP[5].xy, TEMP[5].xyyy 261: MOV TEMP[5].z, TEMP[6].zzzz 262: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 263: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 264: MOV TEMP[7].z, IMM[5].yyyy 265: MOV TEMP[5].xyz, TEMP[7].xyzz 266: TEX TEMP[5], TEMP[5], SAMP[4], 3D 267: MUL TEMP[5], TEMP[5], CONST[1].wwww 268: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 269: MOV TEMP[8].xy, TEMP[8].xyyy 270: MOV TEMP[8].z, TEMP[6].zzzz 271: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 272: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 273: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 274: MOV TEMP[5].xy, TEMP[5].xyyy 275: MOV TEMP[5].z, TEMP[6].zzzz 276: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 277: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 278: MOV TEMP[7].z, IMM[5].zzzz 279: MOV TEMP[5].xyz, TEMP[7].xyzz 280: TEX TEMP[5], TEMP[5], SAMP[4], 3D 281: MUL TEMP[5], TEMP[5], CONST[1].wwww 282: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 283: MOV TEMP[8].xy, TEMP[8].xyyy 284: MOV TEMP[8].z, TEMP[6].zzzz 285: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 286: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 287: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 288: MOV TEMP[5].xy, TEMP[5].xyyy 289: MOV TEMP[5].z, TEMP[6].zzzz 290: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 291: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 292: MOV TEMP[7].z, IMM[5].wwww 293: MOV TEMP[5].xyz, TEMP[7].xyzz 294: TEX TEMP[5], TEMP[5], SAMP[4], 3D 295: MUL TEMP[5], TEMP[5], CONST[1].wwww 296: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 297: MOV TEMP[8].xy, TEMP[8].xyyy 298: MOV TEMP[8].z, TEMP[6].zzzz 299: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 300: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 301: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 302: MOV TEMP[5].xy, TEMP[5].xyyy 303: MOV TEMP[5].z, TEMP[6].zzzz 304: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 305: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 306: MOV TEMP[7].z, IMM[6].xxxx 307: MOV TEMP[5].xyz, TEMP[7].xyzz 308: TEX TEMP[5], TEMP[5], SAMP[4], 3D 309: MUL TEMP[5], TEMP[5], CONST[1].wwww 310: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 311: MOV TEMP[8].xy, TEMP[8].xyyy 312: MOV TEMP[8].z, TEMP[6].zzzz 313: TEX TEMP[8].x, TEMP[8], SAMP[3], SHADOW2D 314: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 315: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 316: MOV TEMP[5].xy, TEMP[5].xyyy 317: MOV TEMP[5].z, TEMP[6].zzzz 318: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 319: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 320: MOV TEMP[7].z, IMM[6].yyyy 321: MOV TEMP[5].xyz, TEMP[7].xyzz 322: TEX TEMP[5], TEMP[5], SAMP[4], 3D 323: MUL TEMP[5], TEMP[5], CONST[1].wwww 324: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 325: MOV TEMP[7].xy, TEMP[7].xyyy 326: MOV TEMP[7].z, TEMP[6].zzzz 327: TEX TEMP[7].x, TEMP[7], SAMP[3], SHADOW2D 328: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 329: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 330: MOV TEMP[5].xy, TEMP[5].xyyy 331: MOV TEMP[5].z, TEMP[6].zzzz 332: TEX TEMP[5].x, TEMP[5], SAMP[3], SHADOW2D 333: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 334: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 335: ENDIF 336: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 337: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 338: ENDIF 339: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 340: MOV TEMP[2].w, TEMP[1].wwww 341: MUL TEMP[1], TEMP[2], CONST[26] 342: MOV OUT[0], TEMP[1] 343: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %91 = load <32 x i8> addrspace(2)* %90, !tbaa !0 %92 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %93 = load <16 x i8> addrspace(2)* %92, !tbaa !0 %94 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %95 = load <32 x i8> addrspace(2)* %94, !tbaa !0 %96 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %97 = load <16 x i8> addrspace(2)* %96, !tbaa !0 %98 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %99 = load <32 x i8> addrspace(2)* %98, !tbaa !0 %100 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %101 = load <16 x i8> addrspace(2)* %100, !tbaa !0 %102 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %103 = load <32 x i8> addrspace(2)* %102, !tbaa !0 %104 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %105 = load <16 x i8> addrspace(2)* %104, !tbaa !0 %106 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %107 = load <32 x i8> addrspace(2)* %106, !tbaa !0 %108 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %109 = load <16 x i8> addrspace(2)* %108, !tbaa !0 %110 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %111 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %118 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %119 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %120 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %121 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %122 = fmul float %13, %88 %123 = fadd float %122, %89 %124 = bitcast float %110 to i32 %125 = bitcast float %111 to i32 %126 = insertelement <2 x i32> undef, i32 %124, i32 0 %127 = insertelement <2 x i32> %126, i32 %125, i32 1 %128 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %127, <32 x i8> %91, <16 x i8> %93, i32 2) %129 = extractelement <4 x float> %128, i32 0 %130 = extractelement <4 x float> %128, i32 1 %131 = extractelement <4 x float> %128, i32 2 %132 = extractelement <4 x float> %128, i32 3 %133 = bitcast float %110 to i32 %134 = bitcast float %111 to i32 %135 = insertelement <2 x i32> undef, i32 %133, i32 0 %136 = insertelement <2 x i32> %135, i32 %134, i32 1 %137 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %136, <32 x i8> %95, <16 x i8> %97, i32 2) %138 = extractelement <4 x float> %137, i32 0 %139 = extractelement <4 x float> %137, i32 1 %140 = bitcast float %110 to i32 %141 = bitcast float %111 to i32 %142 = insertelement <2 x i32> undef, i32 %140, i32 0 %143 = insertelement <2 x i32> %142, i32 %141, i32 1 %144 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %143, <32 x i8> %99, <16 x i8> %101, i32 2) %145 = extractelement <4 x float> %144, i32 0 %146 = extractelement <4 x float> %144, i32 1 %147 = extractelement <4 x float> %144, i32 2 %148 = extractelement <4 x float> %144, i32 3 %149 = fmul float %138, 2.000000e+00 %150 = fadd float %149, -1.000000e+00 %151 = fmul float %139, 2.000000e+00 %152 = fadd float %151, -1.000000e+00 %153 = fmul float %150, %150 %154 = fmul float %152, %152 %155 = fadd float %153, %154 %156 = fsub float -0.000000e+00, %155 %157 = fadd float 1.000000e+00, %156 %158 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %159, %158 %161 = fsub float -0.000000e+00, %158 %162 = call float @llvm.AMDGPU.cndlt(float %161, float %160, float 0.000000e+00) %163 = fadd float %148, 0x3F1A36E2E0000000 %164 = fmul float %112, %150 %165 = fmul float %113, %152 %166 = fadd float %165, %164 %167 = fmul float %114, %162 %168 = fadd float %166, %167 %169 = call float @fabs(float %168) %170 = fsub float -0.000000e+00, %169 %171 = fadd float 1.000000e+00, %170 %172 = fsub float -0.000000e+00, %82 %173 = fadd float %171, %172 %174 = fsub float -0.000000e+00, %82 %175 = fadd float 1.000000e+00, %174 %176 = fdiv float 1.000000e+00, %175 %177 = fmul float %173, %176 %178 = call float @llvm.AMDIL.clamp.(float %177, float 0.000000e+00, float 1.000000e+00) %179 = fmul float %115, %115 %180 = fmul float %116, %116 %181 = fadd float %180, %179 %182 = fmul float %117, %117 %183 = fadd float %181, %182 %184 = call float @llvm.AMDGPU.rsq(float %183) %185 = fsub float -0.000000e+00, %112 %186 = fsub float -0.000000e+00, %113 %187 = fsub float -0.000000e+00, %114 %188 = fmul float %150, %185 %189 = fmul float %152, %186 %190 = fadd float %189, %188 %191 = fmul float %162, %187 %192 = fadd float %190, %191 %193 = fmul float %192, %150 %194 = fmul float %192, %152 %195 = fmul float %192, %162 %196 = fmul float 2.000000e+00, %193 %197 = fmul float 2.000000e+00, %194 %198 = fmul float 2.000000e+00, %195 %199 = fsub float -0.000000e+00, %196 %200 = fadd float %185, %199 %201 = fsub float -0.000000e+00, %197 %202 = fadd float %186, %201 %203 = fsub float -0.000000e+00, %198 %204 = fadd float %187, %203 %205 = fmul float %200, %115 %206 = fmul float %202, %116 %207 = fadd float %206, %205 %208 = fmul float %204, %117 %209 = fadd float %207, %208 %210 = fmul float %209, %184 %211 = call float @llvm.AMDIL.clamp.(float %210, float 0.000000e+00, float 1.000000e+00) %212 = fmul float %163, %81 %213 = call float @llvm.pow.f32(float %211, float %212) %214 = fmul float %213, %80 %215 = fmul float %115, %150 %216 = fmul float %116, %152 %217 = fadd float %216, %215 %218 = fmul float %117, %162 %219 = fadd float %217, %218 %220 = fmul float %219, %184 %221 = call float @fabs(float %220) %222 = fsub float -0.000000e+00, %221 %223 = fadd float 1.000000e+00, %222 %224 = call float @llvm.AMDIL.clamp.(float %223, float 0.000000e+00, float 1.000000e+00) %225 = call float @llvm.pow.f32(float %224, float %78) %226 = fmul float %225, %77 %227 = fadd float %226, %76 %228 = call float @llvm.AMDIL.clamp.(float %227, float 0.000000e+00, float 1.000000e+00) %229 = fmul float %214, %228 %230 = fmul float 2.000000e+00, %178 %231 = fsub float -0.000000e+00, %230 %232 = fadd float 3.000000e+00, %231 %233 = fmul float %178, %232 %234 = fmul float %178, %233 %235 = call float @llvm.AMDIL.clamp.(float %168, float 0.000000e+00, float 1.000000e+00) %236 = fmul float %234, %83 %237 = fadd float %236, %235 %238 = call float @llvm.AMDIL.clamp.(float %237, float 0.000000e+00, float 1.000000e+00) %239 = fmul float %238, %79 %240 = fmul float %129, %239 %241 = fmul float %130, %239 %242 = fmul float %131, %239 %243 = fmul float %145, %229 %244 = fadd float %243, %240 %245 = fmul float %146, %229 %246 = fadd float %245, %241 %247 = fmul float %147, %229 %248 = fadd float %247, %242 %249 = fmul float %28, %118 %250 = fmul float %29, %118 %251 = fmul float %30, %118 %252 = fmul float %31, %119 %253 = fadd float %252, %249 %254 = fmul float %32, %119 %255 = fadd float %254, %250 %256 = fmul float %33, %119 %257 = fadd float %256, %251 %258 = fmul float %34, %120 %259 = fadd float %258, %253 %260 = fmul float %35, %120 %261 = fadd float %260, %255 %262 = fmul float %36, %120 %263 = fadd float %262, %257 %264 = fmul float %37, %121 %265 = fadd float %264, %259 %266 = fmul float %38, %121 %267 = fadd float %266, %261 %268 = fmul float %39, %121 %269 = fadd float %268, %263 %270 = fadd float %265, -2.500000e-01 %271 = fadd float %267, -2.500000e-01 %272 = call float @fabs(float %270) %273 = call float @fabs(float %271) %274 = fcmp uge float %272, %273 %275 = select i1 %274, float %272, float %273 %276 = fcmp oge float %275, 0x3FCF5C2900000000 %277 = sext i1 %276 to i32 %278 = bitcast i32 %277 to float %279 = bitcast float %278 to i32 %280 = icmp ne i32 %279, 0 br i1 %280, label %IF, label %ENDIF IF: ; preds = %main_body %281 = fmul float %40, %118 %282 = fmul float %41, %118 %283 = fmul float %42, %118 %284 = fmul float %43, %119 %285 = fadd float %284, %281 %286 = fmul float %44, %119 %287 = fadd float %286, %282 %288 = fmul float %45, %119 %289 = fadd float %288, %283 %290 = fmul float %46, %120 %291 = fadd float %290, %285 %292 = fmul float %47, %120 %293 = fadd float %292, %287 %294 = fmul float %48, %120 %295 = fadd float %294, %289 %296 = fmul float %49, %121 %297 = fadd float %296, %291 %298 = fmul float %50, %121 %299 = fadd float %298, %293 %300 = fmul float %51, %121 %301 = fadd float %300, %295 %302 = fadd float %297, -7.500000e-01 %303 = fadd float %299, -2.500000e-01 %304 = call float @fabs(float %302) %305 = call float @fabs(float %303) %306 = fcmp uge float %304, %305 %307 = select i1 %306, float %304, float %305 %308 = fcmp oge float %307, 0x3FCF5C2900000000 %309 = sext i1 %308 to i32 %310 = bitcast i32 %309 to float %311 = bitcast float %310 to i32 %312 = icmp ne i32 %311, 0 br i1 %312, label %IF41, label %ENDIF ENDIF: ; preds = %IF44, %IF41, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF44 ], [ 0.000000e+00, %IF41 ] %temp24.0 = phi float [ %265, %main_body ], [ %297, %IF ], [ %366, %IF44 ], [ %334, %IF41 ] %temp25.0 = phi float [ %267, %main_body ], [ %299, %IF ], [ %368, %IF44 ], [ %336, %IF41 ] %temp26.0 = phi float [ %269, %main_body ], [ %301, %IF ], [ %370, %IF44 ], [ %338, %IF41 ] %313 = fcmp oeq float %temp16.0, 0.000000e+00 %314 = sext i1 %313 to i32 %315 = bitcast i32 %314 to float %316 = bitcast float %315 to i32 %317 = icmp ne i32 %316, 0 br i1 %317, label %IF50, label %ENDIF49 IF41: ; preds = %IF %318 = fmul float %52, %118 %319 = fmul float %53, %118 %320 = fmul float %54, %118 %321 = fmul float %55, %119 %322 = fadd float %321, %318 %323 = fmul float %56, %119 %324 = fadd float %323, %319 %325 = fmul float %57, %119 %326 = fadd float %325, %320 %327 = fmul float %58, %120 %328 = fadd float %327, %322 %329 = fmul float %59, %120 %330 = fadd float %329, %324 %331 = fmul float %60, %120 %332 = fadd float %331, %326 %333 = fmul float %61, %121 %334 = fadd float %333, %328 %335 = fmul float %62, %121 %336 = fadd float %335, %330 %337 = fmul float %63, %121 %338 = fadd float %337, %332 %339 = fadd float %334, -2.500000e-01 %340 = fadd float %336, -7.500000e-01 %341 = call float @fabs(float %339) %342 = call float @fabs(float %340) %343 = fcmp uge float %341, %342 %344 = select i1 %343, float %341, float %342 %345 = fcmp oge float %344, 0x3FCF5C2900000000 %346 = sext i1 %345 to i32 %347 = bitcast i32 %346 to float %348 = bitcast float %347 to i32 %349 = icmp ne i32 %348, 0 br i1 %349, label %IF44, label %ENDIF IF44: ; preds = %IF41 %350 = fmul float %64, %118 %351 = fmul float %65, %118 %352 = fmul float %66, %118 %353 = fmul float %67, %119 %354 = fadd float %353, %350 %355 = fmul float %68, %119 %356 = fadd float %355, %351 %357 = fmul float %69, %119 %358 = fadd float %357, %352 %359 = fmul float %70, %120 %360 = fadd float %359, %354 %361 = fmul float %71, %120 %362 = fadd float %361, %356 %363 = fmul float %72, %120 %364 = fadd float %363, %358 %365 = fmul float %73, %121 %366 = fadd float %365, %360 %367 = fmul float %74, %121 %368 = fadd float %367, %362 %369 = fmul float %75, %121 %370 = fadd float %369, %364 %371 = fadd float %366, -7.500000e-01 %372 = fadd float %368, -7.500000e-01 %373 = call float @fabs(float %371) %374 = call float @fabs(float %372) %375 = fcmp uge float %373, %374 %376 = select i1 %375, float %373, float %374 %377 = fcmp oge float %376, 0x3FCF5C2900000000 %378 = sext i1 %377 to i32 %379 = bitcast i32 %378 to float %380 = bitcast float %379 to i32 %381 = icmp ne i32 %380, 0 %. = select i1 %381, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF50: ; preds = %ENDIF %382 = fmul float %12, 6.250000e-02 %383 = fmul float %123, 6.250000e-02 %384 = fsub float -0.000000e+00, %26 %385 = fadd float %temp24.0, %384 %386 = fsub float -0.000000e+00, %26 %387 = fadd float %temp25.0, %386 %388 = bitcast float %382 to i32 %389 = bitcast float %383 to i32 %390 = bitcast float 0.000000e+00 to i32 %391 = insertelement <4 x i32> undef, i32 %388, i32 0 %392 = insertelement <4 x i32> %391, i32 %389, i32 1 %393 = insertelement <4 x i32> %392, i32 %390, i32 2 %394 = insertelement <4 x i32> %393, i32 undef, i32 3 %395 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %394, <32 x i8> %107, <16 x i8> %109, i32 3) %396 = extractelement <4 x float> %395, i32 0 %397 = extractelement <4 x float> %395, i32 1 %398 = extractelement <4 x float> %395, i32 2 %399 = extractelement <4 x float> %395, i32 3 %400 = fmul float %396, %27 %401 = fmul float %397, %27 %402 = fmul float %398, %27 %403 = fmul float %399, %27 %404 = fadd float %385, %400 %405 = fadd float %387, %401 %406 = bitcast float %temp26.0 to i32 %407 = bitcast float %404 to i32 %408 = bitcast float %405 to i32 %409 = insertelement <4 x i32> undef, i32 %406, i32 0 %410 = insertelement <4 x i32> %409, i32 %407, i32 1 %411 = insertelement <4 x i32> %410, i32 %408, i32 2 %412 = insertelement <4 x i32> %411, i32 undef, i32 3 %413 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %412, <32 x i8> %103, <16 x i8> %105, i32 7) %414 = extractelement <4 x float> %413, i32 0 %415 = fadd float %temp16.0, %414 %416 = fadd float %385, %402 %417 = fadd float %387, %403 %418 = bitcast float %temp26.0 to i32 %419 = bitcast float %416 to i32 %420 = bitcast float %417 to i32 %421 = insertelement <4 x i32> undef, i32 %418, i32 0 %422 = insertelement <4 x i32> %421, i32 %419, i32 1 %423 = insertelement <4 x i32> %422, i32 %420, i32 2 %424 = insertelement <4 x i32> %423, i32 undef, i32 3 %425 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %424, <32 x i8> %103, <16 x i8> %105, i32 7) %426 = extractelement <4 x float> %425, i32 0 %427 = fadd float %415, %426 %428 = bitcast float %382 to i32 %429 = bitcast float %383 to i32 %430 = bitcast float 6.250000e-02 to i32 %431 = insertelement <4 x i32> undef, i32 %428, i32 0 %432 = insertelement <4 x i32> %431, i32 %429, i32 1 %433 = insertelement <4 x i32> %432, i32 %430, i32 2 %434 = insertelement <4 x i32> %433, i32 undef, i32 3 %435 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %434, <32 x i8> %107, <16 x i8> %109, i32 3) %436 = extractelement <4 x float> %435, i32 0 %437 = extractelement <4 x float> %435, i32 1 %438 = extractelement <4 x float> %435, i32 2 %439 = extractelement <4 x float> %435, i32 3 %440 = fmul float %436, %27 %441 = fmul float %437, %27 %442 = fmul float %438, %27 %443 = fmul float %439, %27 %444 = fadd float %385, %440 %445 = fadd float %387, %441 %446 = bitcast float %temp26.0 to i32 %447 = bitcast float %444 to i32 %448 = bitcast float %445 to i32 %449 = insertelement <4 x i32> undef, i32 %446, i32 0 %450 = insertelement <4 x i32> %449, i32 %447, i32 1 %451 = insertelement <4 x i32> %450, i32 %448, i32 2 %452 = insertelement <4 x i32> %451, i32 undef, i32 3 %453 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %452, <32 x i8> %103, <16 x i8> %105, i32 7) %454 = extractelement <4 x float> %453, i32 0 %455 = fadd float %427, %454 %456 = fadd float %385, %442 %457 = fadd float %387, %443 %458 = bitcast float %temp26.0 to i32 %459 = bitcast float %456 to i32 %460 = bitcast float %457 to i32 %461 = insertelement <4 x i32> undef, i32 %458, i32 0 %462 = insertelement <4 x i32> %461, i32 %459, i32 1 %463 = insertelement <4 x i32> %462, i32 %460, i32 2 %464 = insertelement <4 x i32> %463, i32 undef, i32 3 %465 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %464, <32 x i8> %103, <16 x i8> %105, i32 7) %466 = extractelement <4 x float> %465, i32 0 %467 = fadd float %455, %466 %468 = bitcast float %382 to i32 %469 = bitcast float %383 to i32 %470 = bitcast float 1.250000e-01 to i32 %471 = insertelement <4 x i32> undef, i32 %468, i32 0 %472 = insertelement <4 x i32> %471, i32 %469, i32 1 %473 = insertelement <4 x i32> %472, i32 %470, i32 2 %474 = insertelement <4 x i32> %473, i32 undef, i32 3 %475 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %474, <32 x i8> %107, <16 x i8> %109, i32 3) %476 = extractelement <4 x float> %475, i32 0 %477 = extractelement <4 x float> %475, i32 1 %478 = extractelement <4 x float> %475, i32 2 %479 = extractelement <4 x float> %475, i32 3 %480 = fmul float %476, %27 %481 = fmul float %477, %27 %482 = fmul float %478, %27 %483 = fmul float %479, %27 %484 = fadd float %385, %480 %485 = fadd float %387, %481 %486 = bitcast float %temp26.0 to i32 %487 = bitcast float %484 to i32 %488 = bitcast float %485 to i32 %489 = insertelement <4 x i32> undef, i32 %486, i32 0 %490 = insertelement <4 x i32> %489, i32 %487, i32 1 %491 = insertelement <4 x i32> %490, i32 %488, i32 2 %492 = insertelement <4 x i32> %491, i32 undef, i32 3 %493 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %492, <32 x i8> %103, <16 x i8> %105, i32 7) %494 = extractelement <4 x float> %493, i32 0 %495 = fadd float %467, %494 %496 = fadd float %385, %482 %497 = fadd float %387, %483 %498 = bitcast float %temp26.0 to i32 %499 = bitcast float %496 to i32 %500 = bitcast float %497 to i32 %501 = insertelement <4 x i32> undef, i32 %498, i32 0 %502 = insertelement <4 x i32> %501, i32 %499, i32 1 %503 = insertelement <4 x i32> %502, i32 %500, i32 2 %504 = insertelement <4 x i32> %503, i32 undef, i32 3 %505 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %504, <32 x i8> %103, <16 x i8> %105, i32 7) %506 = extractelement <4 x float> %505, i32 0 %507 = fadd float %495, %506 %508 = bitcast float %382 to i32 %509 = bitcast float %383 to i32 %510 = bitcast float 1.875000e-01 to i32 %511 = insertelement <4 x i32> undef, i32 %508, i32 0 %512 = insertelement <4 x i32> %511, i32 %509, i32 1 %513 = insertelement <4 x i32> %512, i32 %510, i32 2 %514 = insertelement <4 x i32> %513, i32 undef, i32 3 %515 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %514, <32 x i8> %107, <16 x i8> %109, i32 3) %516 = extractelement <4 x float> %515, i32 0 %517 = extractelement <4 x float> %515, i32 1 %518 = extractelement <4 x float> %515, i32 2 %519 = extractelement <4 x float> %515, i32 3 %520 = fmul float %516, %27 %521 = fmul float %517, %27 %522 = fmul float %518, %27 %523 = fmul float %519, %27 %524 = fadd float %385, %520 %525 = fadd float %387, %521 %526 = bitcast float %temp26.0 to i32 %527 = bitcast float %524 to i32 %528 = bitcast float %525 to i32 %529 = insertelement <4 x i32> undef, i32 %526, i32 0 %530 = insertelement <4 x i32> %529, i32 %527, i32 1 %531 = insertelement <4 x i32> %530, i32 %528, i32 2 %532 = insertelement <4 x i32> %531, i32 undef, i32 3 %533 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %532, <32 x i8> %103, <16 x i8> %105, i32 7) %534 = extractelement <4 x float> %533, i32 0 %535 = fadd float %507, %534 %536 = fadd float %385, %522 %537 = fadd float %387, %523 %538 = bitcast float %temp26.0 to i32 %539 = bitcast float %536 to i32 %540 = bitcast float %537 to i32 %541 = insertelement <4 x i32> undef, i32 %538, i32 0 %542 = insertelement <4 x i32> %541, i32 %539, i32 1 %543 = insertelement <4 x i32> %542, i32 %540, i32 2 %544 = insertelement <4 x i32> %543, i32 undef, i32 3 %545 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %544, <32 x i8> %103, <16 x i8> %105, i32 7) %546 = extractelement <4 x float> %545, i32 0 %547 = fadd float %535, %546 %548 = fmul float %547, 1.250000e-01 %549 = fsub float -0.000000e+00, %548 %550 = fadd float 1.000000e+00, %549 %551 = fmul float %548, %550 %552 = fcmp une float %551, 0.000000e+00 %553 = sext i1 %552 to i32 %554 = bitcast i32 %553 to float %555 = bitcast float %554 to i32 %556 = icmp ne i32 %555, 0 br i1 %556, label %IF53, label %ENDIF52 ENDIF49: ; preds = %ENDIF, %ENDIF52 %temp12.0 = phi float [ %1052, %ENDIF52 ], [ %244, %ENDIF ] %temp13.0 = phi float [ %1053, %ENDIF52 ], [ %246, %ENDIF ] %temp14.0 = phi float [ %1054, %ENDIF52 ], [ %248, %ENDIF ] %557 = fmul float %temp12.0, %22 %558 = fmul float %temp13.0, %23 %559 = fmul float %temp14.0, %24 %560 = fmul float %557, %84 %561 = fmul float %558, %85 %562 = fmul float %559, %86 %563 = fmul float %132, %87 %564 = call i32 @llvm.SI.packf16(float %560, float %561) %565 = bitcast i32 %564 to float %566 = call i32 @llvm.SI.packf16(float %562, float %563) %567 = bitcast i32 %566 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %565, float %567, float %565, float %567) ret void IF53: ; preds = %IF50 %568 = fmul float %548, 8.000000e+00 %569 = bitcast float %382 to i32 %570 = bitcast float %383 to i32 %571 = bitcast float 2.500000e-01 to i32 %572 = insertelement <4 x i32> undef, i32 %569, i32 0 %573 = insertelement <4 x i32> %572, i32 %570, i32 1 %574 = insertelement <4 x i32> %573, i32 %571, i32 2 %575 = insertelement <4 x i32> %574, i32 undef, i32 3 %576 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %575, <32 x i8> %107, <16 x i8> %109, i32 3) %577 = extractelement <4 x float> %576, i32 0 %578 = extractelement <4 x float> %576, i32 1 %579 = extractelement <4 x float> %576, i32 2 %580 = extractelement <4 x float> %576, i32 3 %581 = fmul float %577, %27 %582 = fmul float %578, %27 %583 = fmul float %579, %27 %584 = fmul float %580, %27 %585 = fadd float %385, %581 %586 = fadd float %387, %582 %587 = bitcast float %temp26.0 to i32 %588 = bitcast float %585 to i32 %589 = bitcast float %586 to i32 %590 = insertelement <4 x i32> undef, i32 %587, i32 0 %591 = insertelement <4 x i32> %590, i32 %588, i32 1 %592 = insertelement <4 x i32> %591, i32 %589, i32 2 %593 = insertelement <4 x i32> %592, i32 undef, i32 3 %594 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %593, <32 x i8> %103, <16 x i8> %105, i32 7) %595 = extractelement <4 x float> %594, i32 0 %596 = fadd float %568, %595 %597 = fadd float %385, %583 %598 = fadd float %387, %584 %599 = bitcast float %temp26.0 to i32 %600 = bitcast float %597 to i32 %601 = bitcast float %598 to i32 %602 = insertelement <4 x i32> undef, i32 %599, i32 0 %603 = insertelement <4 x i32> %602, i32 %600, i32 1 %604 = insertelement <4 x i32> %603, i32 %601, i32 2 %605 = insertelement <4 x i32> %604, i32 undef, i32 3 %606 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %605, <32 x i8> %103, <16 x i8> %105, i32 7) %607 = extractelement <4 x float> %606, i32 0 %608 = fadd float %596, %607 %609 = bitcast float %382 to i32 %610 = bitcast float %383 to i32 %611 = bitcast float 3.125000e-01 to i32 %612 = insertelement <4 x i32> undef, i32 %609, i32 0 %613 = insertelement <4 x i32> %612, i32 %610, i32 1 %614 = insertelement <4 x i32> %613, i32 %611, i32 2 %615 = insertelement <4 x i32> %614, i32 undef, i32 3 %616 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %615, <32 x i8> %107, <16 x i8> %109, i32 3) %617 = extractelement <4 x float> %616, i32 0 %618 = extractelement <4 x float> %616, i32 1 %619 = extractelement <4 x float> %616, i32 2 %620 = extractelement <4 x float> %616, i32 3 %621 = fmul float %617, %27 %622 = fmul float %618, %27 %623 = fmul float %619, %27 %624 = fmul float %620, %27 %625 = fadd float %385, %621 %626 = fadd float %387, %622 %627 = bitcast float %temp26.0 to i32 %628 = bitcast float %625 to i32 %629 = bitcast float %626 to i32 %630 = insertelement <4 x i32> undef, i32 %627, i32 0 %631 = insertelement <4 x i32> %630, i32 %628, i32 1 %632 = insertelement <4 x i32> %631, i32 %629, i32 2 %633 = insertelement <4 x i32> %632, i32 undef, i32 3 %634 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %633, <32 x i8> %103, <16 x i8> %105, i32 7) %635 = extractelement <4 x float> %634, i32 0 %636 = fadd float %608, %635 %637 = fadd float %385, %623 %638 = fadd float %387, %624 %639 = bitcast float %temp26.0 to i32 %640 = bitcast float %637 to i32 %641 = bitcast float %638 to i32 %642 = insertelement <4 x i32> undef, i32 %639, i32 0 %643 = insertelement <4 x i32> %642, i32 %640, i32 1 %644 = insertelement <4 x i32> %643, i32 %641, i32 2 %645 = insertelement <4 x i32> %644, i32 undef, i32 3 %646 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %645, <32 x i8> %103, <16 x i8> %105, i32 7) %647 = extractelement <4 x float> %646, i32 0 %648 = fadd float %636, %647 %649 = bitcast float %382 to i32 %650 = bitcast float %383 to i32 %651 = bitcast float 3.750000e-01 to i32 %652 = insertelement <4 x i32> undef, i32 %649, i32 0 %653 = insertelement <4 x i32> %652, i32 %650, i32 1 %654 = insertelement <4 x i32> %653, i32 %651, i32 2 %655 = insertelement <4 x i32> %654, i32 undef, i32 3 %656 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %655, <32 x i8> %107, <16 x i8> %109, i32 3) %657 = extractelement <4 x float> %656, i32 0 %658 = extractelement <4 x float> %656, i32 1 %659 = extractelement <4 x float> %656, i32 2 %660 = extractelement <4 x float> %656, i32 3 %661 = fmul float %657, %27 %662 = fmul float %658, %27 %663 = fmul float %659, %27 %664 = fmul float %660, %27 %665 = fadd float %385, %661 %666 = fadd float %387, %662 %667 = bitcast float %temp26.0 to i32 %668 = bitcast float %665 to i32 %669 = bitcast float %666 to i32 %670 = insertelement <4 x i32> undef, i32 %667, i32 0 %671 = insertelement <4 x i32> %670, i32 %668, i32 1 %672 = insertelement <4 x i32> %671, i32 %669, i32 2 %673 = insertelement <4 x i32> %672, i32 undef, i32 3 %674 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %673, <32 x i8> %103, <16 x i8> %105, i32 7) %675 = extractelement <4 x float> %674, i32 0 %676 = fadd float %648, %675 %677 = fadd float %385, %663 %678 = fadd float %387, %664 %679 = bitcast float %temp26.0 to i32 %680 = bitcast float %677 to i32 %681 = bitcast float %678 to i32 %682 = insertelement <4 x i32> undef, i32 %679, i32 0 %683 = insertelement <4 x i32> %682, i32 %680, i32 1 %684 = insertelement <4 x i32> %683, i32 %681, i32 2 %685 = insertelement <4 x i32> %684, i32 undef, i32 3 %686 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %685, <32 x i8> %103, <16 x i8> %105, i32 7) %687 = extractelement <4 x float> %686, i32 0 %688 = fadd float %676, %687 %689 = bitcast float %382 to i32 %690 = bitcast float %383 to i32 %691 = bitcast float 4.375000e-01 to i32 %692 = insertelement <4 x i32> undef, i32 %689, i32 0 %693 = insertelement <4 x i32> %692, i32 %690, i32 1 %694 = insertelement <4 x i32> %693, i32 %691, i32 2 %695 = insertelement <4 x i32> %694, i32 undef, i32 3 %696 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %695, <32 x i8> %107, <16 x i8> %109, i32 3) %697 = extractelement <4 x float> %696, i32 0 %698 = extractelement <4 x float> %696, i32 1 %699 = extractelement <4 x float> %696, i32 2 %700 = extractelement <4 x float> %696, i32 3 %701 = fmul float %697, %27 %702 = fmul float %698, %27 %703 = fmul float %699, %27 %704 = fmul float %700, %27 %705 = fadd float %385, %701 %706 = fadd float %387, %702 %707 = bitcast float %temp26.0 to i32 %708 = bitcast float %705 to i32 %709 = bitcast float %706 to i32 %710 = insertelement <4 x i32> undef, i32 %707, i32 0 %711 = insertelement <4 x i32> %710, i32 %708, i32 1 %712 = insertelement <4 x i32> %711, i32 %709, i32 2 %713 = insertelement <4 x i32> %712, i32 undef, i32 3 %714 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %713, <32 x i8> %103, <16 x i8> %105, i32 7) %715 = extractelement <4 x float> %714, i32 0 %716 = fadd float %688, %715 %717 = fadd float %385, %703 %718 = fadd float %387, %704 %719 = bitcast float %temp26.0 to i32 %720 = bitcast float %717 to i32 %721 = bitcast float %718 to i32 %722 = insertelement <4 x i32> undef, i32 %719, i32 0 %723 = insertelement <4 x i32> %722, i32 %720, i32 1 %724 = insertelement <4 x i32> %723, i32 %721, i32 2 %725 = insertelement <4 x i32> %724, i32 undef, i32 3 %726 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %725, <32 x i8> %103, <16 x i8> %105, i32 7) %727 = extractelement <4 x float> %726, i32 0 %728 = fadd float %716, %727 %729 = bitcast float %382 to i32 %730 = bitcast float %383 to i32 %731 = bitcast float 5.000000e-01 to i32 %732 = insertelement <4 x i32> undef, i32 %729, i32 0 %733 = insertelement <4 x i32> %732, i32 %730, i32 1 %734 = insertelement <4 x i32> %733, i32 %731, i32 2 %735 = insertelement <4 x i32> %734, i32 undef, i32 3 %736 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %735, <32 x i8> %107, <16 x i8> %109, i32 3) %737 = extractelement <4 x float> %736, i32 0 %738 = extractelement <4 x float> %736, i32 1 %739 = extractelement <4 x float> %736, i32 2 %740 = extractelement <4 x float> %736, i32 3 %741 = fmul float %737, %27 %742 = fmul float %738, %27 %743 = fmul float %739, %27 %744 = fmul float %740, %27 %745 = fadd float %385, %741 %746 = fadd float %387, %742 %747 = bitcast float %temp26.0 to i32 %748 = bitcast float %745 to i32 %749 = bitcast float %746 to i32 %750 = insertelement <4 x i32> undef, i32 %747, i32 0 %751 = insertelement <4 x i32> %750, i32 %748, i32 1 %752 = insertelement <4 x i32> %751, i32 %749, i32 2 %753 = insertelement <4 x i32> %752, i32 undef, i32 3 %754 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %753, <32 x i8> %103, <16 x i8> %105, i32 7) %755 = extractelement <4 x float> %754, i32 0 %756 = fadd float %728, %755 %757 = fadd float %385, %743 %758 = fadd float %387, %744 %759 = bitcast float %temp26.0 to i32 %760 = bitcast float %757 to i32 %761 = bitcast float %758 to i32 %762 = insertelement <4 x i32> undef, i32 %759, i32 0 %763 = insertelement <4 x i32> %762, i32 %760, i32 1 %764 = insertelement <4 x i32> %763, i32 %761, i32 2 %765 = insertelement <4 x i32> %764, i32 undef, i32 3 %766 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %765, <32 x i8> %103, <16 x i8> %105, i32 7) %767 = extractelement <4 x float> %766, i32 0 %768 = fadd float %756, %767 %769 = bitcast float %382 to i32 %770 = bitcast float %383 to i32 %771 = bitcast float 5.625000e-01 to i32 %772 = insertelement <4 x i32> undef, i32 %769, i32 0 %773 = insertelement <4 x i32> %772, i32 %770, i32 1 %774 = insertelement <4 x i32> %773, i32 %771, i32 2 %775 = insertelement <4 x i32> %774, i32 undef, i32 3 %776 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %775, <32 x i8> %107, <16 x i8> %109, i32 3) %777 = extractelement <4 x float> %776, i32 0 %778 = extractelement <4 x float> %776, i32 1 %779 = extractelement <4 x float> %776, i32 2 %780 = extractelement <4 x float> %776, i32 3 %781 = fmul float %777, %27 %782 = fmul float %778, %27 %783 = fmul float %779, %27 %784 = fmul float %780, %27 %785 = fadd float %385, %781 %786 = fadd float %387, %782 %787 = bitcast float %temp26.0 to i32 %788 = bitcast float %785 to i32 %789 = bitcast float %786 to i32 %790 = insertelement <4 x i32> undef, i32 %787, i32 0 %791 = insertelement <4 x i32> %790, i32 %788, i32 1 %792 = insertelement <4 x i32> %791, i32 %789, i32 2 %793 = insertelement <4 x i32> %792, i32 undef, i32 3 %794 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %793, <32 x i8> %103, <16 x i8> %105, i32 7) %795 = extractelement <4 x float> %794, i32 0 %796 = fadd float %768, %795 %797 = fadd float %385, %783 %798 = fadd float %387, %784 %799 = bitcast float %temp26.0 to i32 %800 = bitcast float %797 to i32 %801 = bitcast float %798 to i32 %802 = insertelement <4 x i32> undef, i32 %799, i32 0 %803 = insertelement <4 x i32> %802, i32 %800, i32 1 %804 = insertelement <4 x i32> %803, i32 %801, i32 2 %805 = insertelement <4 x i32> %804, i32 undef, i32 3 %806 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %805, <32 x i8> %103, <16 x i8> %105, i32 7) %807 = extractelement <4 x float> %806, i32 0 %808 = fadd float %796, %807 %809 = bitcast float %382 to i32 %810 = bitcast float %383 to i32 %811 = bitcast float 6.250000e-01 to i32 %812 = insertelement <4 x i32> undef, i32 %809, i32 0 %813 = insertelement <4 x i32> %812, i32 %810, i32 1 %814 = insertelement <4 x i32> %813, i32 %811, i32 2 %815 = insertelement <4 x i32> %814, i32 undef, i32 3 %816 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %815, <32 x i8> %107, <16 x i8> %109, i32 3) %817 = extractelement <4 x float> %816, i32 0 %818 = extractelement <4 x float> %816, i32 1 %819 = extractelement <4 x float> %816, i32 2 %820 = extractelement <4 x float> %816, i32 3 %821 = fmul float %817, %27 %822 = fmul float %818, %27 %823 = fmul float %819, %27 %824 = fmul float %820, %27 %825 = fadd float %385, %821 %826 = fadd float %387, %822 %827 = bitcast float %temp26.0 to i32 %828 = bitcast float %825 to i32 %829 = bitcast float %826 to i32 %830 = insertelement <4 x i32> undef, i32 %827, i32 0 %831 = insertelement <4 x i32> %830, i32 %828, i32 1 %832 = insertelement <4 x i32> %831, i32 %829, i32 2 %833 = insertelement <4 x i32> %832, i32 undef, i32 3 %834 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %833, <32 x i8> %103, <16 x i8> %105, i32 7) %835 = extractelement <4 x float> %834, i32 0 %836 = fadd float %808, %835 %837 = fadd float %385, %823 %838 = fadd float %387, %824 %839 = bitcast float %temp26.0 to i32 %840 = bitcast float %837 to i32 %841 = bitcast float %838 to i32 %842 = insertelement <4 x i32> undef, i32 %839, i32 0 %843 = insertelement <4 x i32> %842, i32 %840, i32 1 %844 = insertelement <4 x i32> %843, i32 %841, i32 2 %845 = insertelement <4 x i32> %844, i32 undef, i32 3 %846 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %845, <32 x i8> %103, <16 x i8> %105, i32 7) %847 = extractelement <4 x float> %846, i32 0 %848 = fadd float %836, %847 %849 = bitcast float %382 to i32 %850 = bitcast float %383 to i32 %851 = bitcast float 6.875000e-01 to i32 %852 = insertelement <4 x i32> undef, i32 %849, i32 0 %853 = insertelement <4 x i32> %852, i32 %850, i32 1 %854 = insertelement <4 x i32> %853, i32 %851, i32 2 %855 = insertelement <4 x i32> %854, i32 undef, i32 3 %856 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %855, <32 x i8> %107, <16 x i8> %109, i32 3) %857 = extractelement <4 x float> %856, i32 0 %858 = extractelement <4 x float> %856, i32 1 %859 = extractelement <4 x float> %856, i32 2 %860 = extractelement <4 x float> %856, i32 3 %861 = fmul float %857, %27 %862 = fmul float %858, %27 %863 = fmul float %859, %27 %864 = fmul float %860, %27 %865 = fadd float %385, %861 %866 = fadd float %387, %862 %867 = bitcast float %temp26.0 to i32 %868 = bitcast float %865 to i32 %869 = bitcast float %866 to i32 %870 = insertelement <4 x i32> undef, i32 %867, i32 0 %871 = insertelement <4 x i32> %870, i32 %868, i32 1 %872 = insertelement <4 x i32> %871, i32 %869, i32 2 %873 = insertelement <4 x i32> %872, i32 undef, i32 3 %874 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %873, <32 x i8> %103, <16 x i8> %105, i32 7) %875 = extractelement <4 x float> %874, i32 0 %876 = fadd float %848, %875 %877 = fadd float %385, %863 %878 = fadd float %387, %864 %879 = bitcast float %temp26.0 to i32 %880 = bitcast float %877 to i32 %881 = bitcast float %878 to i32 %882 = insertelement <4 x i32> undef, i32 %879, i32 0 %883 = insertelement <4 x i32> %882, i32 %880, i32 1 %884 = insertelement <4 x i32> %883, i32 %881, i32 2 %885 = insertelement <4 x i32> %884, i32 undef, i32 3 %886 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %885, <32 x i8> %103, <16 x i8> %105, i32 7) %887 = extractelement <4 x float> %886, i32 0 %888 = fadd float %876, %887 %889 = bitcast float %382 to i32 %890 = bitcast float %383 to i32 %891 = bitcast float 7.500000e-01 to i32 %892 = insertelement <4 x i32> undef, i32 %889, i32 0 %893 = insertelement <4 x i32> %892, i32 %890, i32 1 %894 = insertelement <4 x i32> %893, i32 %891, i32 2 %895 = insertelement <4 x i32> %894, i32 undef, i32 3 %896 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %895, <32 x i8> %107, <16 x i8> %109, i32 3) %897 = extractelement <4 x float> %896, i32 0 %898 = extractelement <4 x float> %896, i32 1 %899 = extractelement <4 x float> %896, i32 2 %900 = extractelement <4 x float> %896, i32 3 %901 = fmul float %897, %27 %902 = fmul float %898, %27 %903 = fmul float %899, %27 %904 = fmul float %900, %27 %905 = fadd float %385, %901 %906 = fadd float %387, %902 %907 = bitcast float %temp26.0 to i32 %908 = bitcast float %905 to i32 %909 = bitcast float %906 to i32 %910 = insertelement <4 x i32> undef, i32 %907, i32 0 %911 = insertelement <4 x i32> %910, i32 %908, i32 1 %912 = insertelement <4 x i32> %911, i32 %909, i32 2 %913 = insertelement <4 x i32> %912, i32 undef, i32 3 %914 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %913, <32 x i8> %103, <16 x i8> %105, i32 7) %915 = extractelement <4 x float> %914, i32 0 %916 = fadd float %888, %915 %917 = fadd float %385, %903 %918 = fadd float %387, %904 %919 = bitcast float %temp26.0 to i32 %920 = bitcast float %917 to i32 %921 = bitcast float %918 to i32 %922 = insertelement <4 x i32> undef, i32 %919, i32 0 %923 = insertelement <4 x i32> %922, i32 %920, i32 1 %924 = insertelement <4 x i32> %923, i32 %921, i32 2 %925 = insertelement <4 x i32> %924, i32 undef, i32 3 %926 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %925, <32 x i8> %103, <16 x i8> %105, i32 7) %927 = extractelement <4 x float> %926, i32 0 %928 = fadd float %916, %927 %929 = bitcast float %382 to i32 %930 = bitcast float %383 to i32 %931 = bitcast float 8.125000e-01 to i32 %932 = insertelement <4 x i32> undef, i32 %929, i32 0 %933 = insertelement <4 x i32> %932, i32 %930, i32 1 %934 = insertelement <4 x i32> %933, i32 %931, i32 2 %935 = insertelement <4 x i32> %934, i32 undef, i32 3 %936 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %935, <32 x i8> %107, <16 x i8> %109, i32 3) %937 = extractelement <4 x float> %936, i32 0 %938 = extractelement <4 x float> %936, i32 1 %939 = extractelement <4 x float> %936, i32 2 %940 = extractelement <4 x float> %936, i32 3 %941 = fmul float %937, %27 %942 = fmul float %938, %27 %943 = fmul float %939, %27 %944 = fmul float %940, %27 %945 = fadd float %385, %941 %946 = fadd float %387, %942 %947 = bitcast float %temp26.0 to i32 %948 = bitcast float %945 to i32 %949 = bitcast float %946 to i32 %950 = insertelement <4 x i32> undef, i32 %947, i32 0 %951 = insertelement <4 x i32> %950, i32 %948, i32 1 %952 = insertelement <4 x i32> %951, i32 %949, i32 2 %953 = insertelement <4 x i32> %952, i32 undef, i32 3 %954 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %953, <32 x i8> %103, <16 x i8> %105, i32 7) %955 = extractelement <4 x float> %954, i32 0 %956 = fadd float %928, %955 %957 = fadd float %385, %943 %958 = fadd float %387, %944 %959 = bitcast float %temp26.0 to i32 %960 = bitcast float %957 to i32 %961 = bitcast float %958 to i32 %962 = insertelement <4 x i32> undef, i32 %959, i32 0 %963 = insertelement <4 x i32> %962, i32 %960, i32 1 %964 = insertelement <4 x i32> %963, i32 %961, i32 2 %965 = insertelement <4 x i32> %964, i32 undef, i32 3 %966 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %965, <32 x i8> %103, <16 x i8> %105, i32 7) %967 = extractelement <4 x float> %966, i32 0 %968 = fadd float %956, %967 %969 = bitcast float %382 to i32 %970 = bitcast float %383 to i32 %971 = bitcast float 8.750000e-01 to i32 %972 = insertelement <4 x i32> undef, i32 %969, i32 0 %973 = insertelement <4 x i32> %972, i32 %970, i32 1 %974 = insertelement <4 x i32> %973, i32 %971, i32 2 %975 = insertelement <4 x i32> %974, i32 undef, i32 3 %976 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %975, <32 x i8> %107, <16 x i8> %109, i32 3) %977 = extractelement <4 x float> %976, i32 0 %978 = extractelement <4 x float> %976, i32 1 %979 = extractelement <4 x float> %976, i32 2 %980 = extractelement <4 x float> %976, i32 3 %981 = fmul float %977, %27 %982 = fmul float %978, %27 %983 = fmul float %979, %27 %984 = fmul float %980, %27 %985 = fadd float %385, %981 %986 = fadd float %387, %982 %987 = bitcast float %temp26.0 to i32 %988 = bitcast float %985 to i32 %989 = bitcast float %986 to i32 %990 = insertelement <4 x i32> undef, i32 %987, i32 0 %991 = insertelement <4 x i32> %990, i32 %988, i32 1 %992 = insertelement <4 x i32> %991, i32 %989, i32 2 %993 = insertelement <4 x i32> %992, i32 undef, i32 3 %994 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %993, <32 x i8> %103, <16 x i8> %105, i32 7) %995 = extractelement <4 x float> %994, i32 0 %996 = fadd float %968, %995 %997 = fadd float %385, %983 %998 = fadd float %387, %984 %999 = bitcast float %temp26.0 to i32 %1000 = bitcast float %997 to i32 %1001 = bitcast float %998 to i32 %1002 = insertelement <4 x i32> undef, i32 %999, i32 0 %1003 = insertelement <4 x i32> %1002, i32 %1000, i32 1 %1004 = insertelement <4 x i32> %1003, i32 %1001, i32 2 %1005 = insertelement <4 x i32> %1004, i32 undef, i32 3 %1006 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1005, <32 x i8> %103, <16 x i8> %105, i32 7) %1007 = extractelement <4 x float> %1006, i32 0 %1008 = fadd float %996, %1007 %1009 = bitcast float %382 to i32 %1010 = bitcast float %383 to i32 %1011 = bitcast float 9.375000e-01 to i32 %1012 = insertelement <4 x i32> undef, i32 %1009, i32 0 %1013 = insertelement <4 x i32> %1012, i32 %1010, i32 1 %1014 = insertelement <4 x i32> %1013, i32 %1011, i32 2 %1015 = insertelement <4 x i32> %1014, i32 undef, i32 3 %1016 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1015, <32 x i8> %107, <16 x i8> %109, i32 3) %1017 = extractelement <4 x float> %1016, i32 0 %1018 = extractelement <4 x float> %1016, i32 1 %1019 = extractelement <4 x float> %1016, i32 2 %1020 = extractelement <4 x float> %1016, i32 3 %1021 = fmul float %1017, %27 %1022 = fmul float %1018, %27 %1023 = fmul float %1019, %27 %1024 = fmul float %1020, %27 %1025 = fadd float %385, %1021 %1026 = fadd float %387, %1022 %1027 = bitcast float %temp26.0 to i32 %1028 = bitcast float %1025 to i32 %1029 = bitcast float %1026 to i32 %1030 = insertelement <4 x i32> undef, i32 %1027, i32 0 %1031 = insertelement <4 x i32> %1030, i32 %1028, i32 1 %1032 = insertelement <4 x i32> %1031, i32 %1029, i32 2 %1033 = insertelement <4 x i32> %1032, i32 undef, i32 3 %1034 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1033, <32 x i8> %103, <16 x i8> %105, i32 7) %1035 = extractelement <4 x float> %1034, i32 0 %1036 = fadd float %1008, %1035 %1037 = fadd float %385, %1023 %1038 = fadd float %387, %1024 %1039 = bitcast float %temp26.0 to i32 %1040 = bitcast float %1037 to i32 %1041 = bitcast float %1038 to i32 %1042 = insertelement <4 x i32> undef, i32 %1039, i32 0 %1043 = insertelement <4 x i32> %1042, i32 %1040, i32 1 %1044 = insertelement <4 x i32> %1043, i32 %1041, i32 2 %1045 = insertelement <4 x i32> %1044, i32 undef, i32 3 %1046 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1045, <32 x i8> %103, <16 x i8> %105, i32 7) %1047 = extractelement <4 x float> %1046, i32 0 %1048 = fadd float %1036, %1047 %1049 = fmul float %1048, 3.125000e-02 br label %ENDIF52 ENDIF52: ; preds = %IF50, %IF53 %temp16.4 = phi float [ %1049, %IF53 ], [ %548, %IF50 ] %1050 = fadd float %temp16.4, %25 %1051 = call float @llvm.AMDIL.clamp.(float %1050, float 0.000000e+00, float 1.000000e+00) %1052 = fmul float %244, %1051 %1053 = fmul float %246, %1051 %1054 = fmul float %248, %1051 br label %ENDIF49 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8140100 c8150101 c8100000 c8110001 c0840304 c0c60508 bf8c007f f0800300 00430604 bf8c0770 06100d06 061010f3 060c0f07 060c0cf3 100e0d06 d2820007 041e1108 080e0ef2 d2060807 02010107 7e125b07 10120f09 d2060007 22010107 d0080008 02020e80 d2000007 00221280 c8240600 c8250601 10141307 c82c0400 c82d0401 10181708 c8340500 c8350501 d206000e 2201010d 101e1d06 081e190f 0814150f 101e0d0a d282000f 043e0d0a 081c1f0e 101e110a d282000f 043e110a d206000b 2201010b 08161f0b c83c0800 c83d0801 10161f0b c8400900 c8410901 d282000b 042e210e 101c0f0a d282000a 043a0f0a d206000e 22010109 0814150e c8380a00 c8390a01 d282000a 042e1d0a 10161f0f d282000b 042e2110 d282000b 042e1d0e 7e165b0b 1014170a d206080a 0201010a 7e144f0a c0840308 c0c60510 bf8c007f f0800f00 00431104 7e2a02ff 38d1b717 bf8c0770 062a2b14 c0840100 bf8c007f c200094e bf8c007f 102a2a00 0e141515 7e144b0a c200094d bf8c007f 10141400 1010110f d2820008 04220d10 d2820008 04220f0e 10101708 d2060108 02010108 081010f2 d2060808 02010108 7e104f08 c200094a bf8c007f 0e101000 7e104b08 c2000949 c2008948 bf8c007f 7e160201 d2820008 042c0108 d2060808 02010108 1014110a d2820006 04320d0d d2820006 041a1307 d2060107 02010106 080e0ef2 c2000950 bf8c007f 0a0e0e00 d2080008 020000f2 7e105508 100e1107 d2060807 02010107 06100f07 081010ff 40400000 10101107 100e1107 d2060806 02010106 c2000951 bf8c007f d2820006 04180107 d2060806 02010106 c200094c bf8c007f 10160c00 c0860300 c0c80500 bf8c007f f0800f00 00640404 bf8c0770 10101706 d2820008 04221513 10121705 d2820009 04261512 10161704 d282000a 042e1511 c83c0d00 c83d0d01 c8400c00 c8410c01 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440e00 c8450e01 c2000911 bf8c007f d282000b 042e2200 c8480f00 c8490f01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c203096c c203896d bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c0310 c0ce0520 c086030c c0c80518 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c202896b c202096a c2018969 c2010968 c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL IN[4] DCL IN[5] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..225] DCL TEMP[0..14], LOCAL DCL ADDR[0] IMM[0] INT32 {1, 3, 0, 2} IMM[1] FLT32 { 2.0000, 1.0000, 0.0000, 0.0000} 0: F2I TEMP[0].x, CONST[8].xxxx 1: F2I TEMP[1], IN[1] 2: UMAD TEMP[0], SV[0].xxxx, TEMP[0].xxxx, TEMP[1] 3: UARL ADDR[0].x, TEMP[0].xxxx 4: UARL ADDR[0].x, TEMP[0].xxxx 5: MUL TEMP[1], CONST[ADDR[0].x+9], IN[2].xxxx 6: UADD TEMP[2].x, TEMP[0].xxxx, IMM[0].xxxx 7: UARL ADDR[0].x, TEMP[2].xxxx 8: MOV TEMP[2], CONST[ADDR[0].x+9] 9: MUL TEMP[3].x, TEMP[1].wwww, IMM[1].xxxx 10: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xxxx 11: MUL TEMP[4].xy, TEMP[2].xwww, TEMP[3].xxxx 12: MUL TEMP[5].xyz, TEMP[2].xyww, TEMP[3].yyyy 13: MUL TEMP[2], TEMP[2], TEMP[3].zzzz 14: ADD TEMP[3].x, TEMP[5].yyyy, TEMP[2].zzzz 15: ADD TEMP[3].x, TEMP[1].wwww, -TEMP[3].xxxx 16: ADD TEMP[6].x, TEMP[5].xxxx, -TEMP[2].wwww 17: MOV TEMP[3].y, TEMP[6].xxxx 18: ADD TEMP[6].x, TEMP[2].xxxx, TEMP[5].zzzz 19: MOV TEMP[3].z, TEMP[6].xxxx 20: MOV TEMP[3].w, TEMP[1].xxxx 21: ADD TEMP[6].x, TEMP[5].xxxx, TEMP[2].wwww 22: ADD TEMP[7].x, TEMP[4].xxxx, TEMP[2].zzzz 23: ADD TEMP[7].x, TEMP[1].wwww, -TEMP[7].xxxx 24: MOV TEMP[6].y, TEMP[7].xxxx 25: ADD TEMP[7].x, TEMP[2].yyyy, -TEMP[4].yyyy 26: MOV TEMP[6].z, TEMP[7].xxxx 27: MOV TEMP[6].w, TEMP[1].yyyy 28: ADD TEMP[7].x, TEMP[2].xxxx, -TEMP[5].zzzz 29: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[4].yyyy 30: MOV TEMP[7].y, TEMP[2].xxxx 31: ADD TEMP[2].x, TEMP[4].xxxx, TEMP[5].yyyy 32: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 33: MOV TEMP[7].z, TEMP[2].xxxx 34: MOV TEMP[7].w, TEMP[1].zzzz 35: UARL ADDR[0].x, TEMP[0].yyyy 36: UARL ADDR[0].x, TEMP[0].yyyy 37: MUL TEMP[1], CONST[ADDR[0].x+9], IN[2].yyyy 38: UADD TEMP[2].x, TEMP[0].yyyy, IMM[0].xxxx 39: UARL ADDR[0].x, TEMP[2].xxxx 40: MOV TEMP[2], CONST[ADDR[0].x+9] 41: MUL TEMP[4].x, TEMP[1].wwww, IMM[1].xxxx 42: MUL TEMP[4].xyz, TEMP[2].xyzz, TEMP[4].xxxx 43: MUL TEMP[5].xy, TEMP[2].xwww, TEMP[4].xxxx 44: MUL TEMP[8].xyz, TEMP[2].xyww, TEMP[4].yyyy 45: MUL TEMP[2], TEMP[2], TEMP[4].zzzz 46: ADD TEMP[4].x, TEMP[8].yyyy, TEMP[2].zzzz 47: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 48: ADD TEMP[9].x, TEMP[8].xxxx, -TEMP[2].wwww 49: MOV TEMP[4].y, TEMP[9].xxxx 50: ADD TEMP[9].x, TEMP[2].xxxx, TEMP[8].zzzz 51: MOV TEMP[4].z, TEMP[9].xxxx 52: MOV TEMP[4].w, TEMP[1].xxxx 53: ADD TEMP[9].x, TEMP[8].xxxx, TEMP[2].wwww 54: ADD TEMP[10].x, TEMP[5].xxxx, TEMP[2].zzzz 55: ADD TEMP[10].x, TEMP[1].wwww, -TEMP[10].xxxx 56: MOV TEMP[9].y, TEMP[10].xxxx 57: ADD TEMP[10].x, TEMP[2].yyyy, -TEMP[5].yyyy 58: MOV TEMP[9].z, TEMP[10].xxxx 59: MOV TEMP[9].w, TEMP[1].yyyy 60: ADD TEMP[10].x, TEMP[2].xxxx, -TEMP[8].zzzz 61: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[5].yyyy 62: MOV TEMP[10].y, TEMP[2].xxxx 63: ADD TEMP[2].x, TEMP[5].xxxx, TEMP[8].yyyy 64: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 65: MOV TEMP[10].z, TEMP[2].xxxx 66: MOV TEMP[10].w, TEMP[1].zzzz 67: UARL ADDR[0].x, TEMP[0].zzzz 68: UARL ADDR[0].x, TEMP[0].zzzz 69: MUL TEMP[1], CONST[ADDR[0].x+9], IN[2].zzzz 70: UADD TEMP[2].x, TEMP[0].zzzz, IMM[0].xxxx 71: UARL ADDR[0].x, TEMP[2].xxxx 72: MOV TEMP[2], CONST[ADDR[0].x+9] 73: MUL TEMP[5].x, TEMP[1].wwww, IMM[1].xxxx 74: MUL TEMP[5].xyz, TEMP[2].xyzz, TEMP[5].xxxx 75: MUL TEMP[8].xy, TEMP[2].xwww, TEMP[5].xxxx 76: MUL TEMP[11].xyz, TEMP[2].xyww, TEMP[5].yyyy 77: MUL TEMP[2], TEMP[2], TEMP[5].zzzz 78: ADD TEMP[5].x, TEMP[11].yyyy, TEMP[2].zzzz 79: ADD TEMP[5].x, TEMP[1].wwww, -TEMP[5].xxxx 80: ADD TEMP[12].x, TEMP[11].xxxx, -TEMP[2].wwww 81: MOV TEMP[5].y, TEMP[12].xxxx 82: ADD TEMP[12].x, TEMP[2].xxxx, TEMP[11].zzzz 83: MOV TEMP[5].z, TEMP[12].xxxx 84: MOV TEMP[5].w, TEMP[1].xxxx 85: ADD TEMP[12].x, TEMP[11].xxxx, TEMP[2].wwww 86: ADD TEMP[13].x, TEMP[8].xxxx, TEMP[2].zzzz 87: ADD TEMP[13].x, TEMP[1].wwww, -TEMP[13].xxxx 88: MOV TEMP[12].y, TEMP[13].xxxx 89: ADD TEMP[13].x, TEMP[2].yyyy, -TEMP[8].yyyy 90: MOV TEMP[12].z, TEMP[13].xxxx 91: MOV TEMP[12].w, TEMP[1].yyyy 92: ADD TEMP[13].x, TEMP[2].xxxx, -TEMP[11].zzzz 93: ADD TEMP[2].x, TEMP[2].yyyy, TEMP[8].yyyy 94: MOV TEMP[13].y, TEMP[2].xxxx 95: ADD TEMP[2].x, TEMP[8].xxxx, TEMP[11].yyyy 96: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 97: MOV TEMP[13].z, TEMP[2].xxxx 98: MOV TEMP[13].w, TEMP[1].zzzz 99: UARL ADDR[0].x, TEMP[0].wwww 100: UARL ADDR[0].x, TEMP[0].wwww 101: MUL TEMP[1], CONST[ADDR[0].x+9], IN[2].wwww 102: UADD TEMP[0].x, TEMP[0].wwww, IMM[0].xxxx 103: UARL ADDR[0].x, TEMP[0].xxxx 104: MOV TEMP[0], CONST[ADDR[0].x+9] 105: MUL TEMP[2].x, TEMP[1].wwww, IMM[1].xxxx 106: MUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx 107: MUL TEMP[8].xy, TEMP[0].xwww, TEMP[2].xxxx 108: MUL TEMP[11].xyz, TEMP[0].xyww, TEMP[2].yyyy 109: MUL TEMP[0], TEMP[0], TEMP[2].zzzz 110: ADD TEMP[2].x, TEMP[11].yyyy, TEMP[0].zzzz 111: ADD TEMP[2].x, TEMP[1].wwww, -TEMP[2].xxxx 112: ADD TEMP[14].x, TEMP[11].xxxx, -TEMP[0].wwww 113: MOV TEMP[2].y, TEMP[14].xxxx 114: ADD TEMP[14].x, TEMP[0].xxxx, TEMP[11].zzzz 115: MOV TEMP[2].z, TEMP[14].xxxx 116: MOV TEMP[2].w, TEMP[1].xxxx 117: ADD TEMP[3], TEMP[3], TEMP[4] 118: ADD TEMP[3], TEMP[3], TEMP[5] 119: ADD TEMP[2], TEMP[3], TEMP[2] 120: ADD TEMP[3].x, TEMP[11].xxxx, TEMP[0].wwww 121: ADD TEMP[4].x, TEMP[8].xxxx, TEMP[0].zzzz 122: ADD TEMP[4].x, TEMP[1].wwww, -TEMP[4].xxxx 123: MOV TEMP[3].y, TEMP[4].xxxx 124: ADD TEMP[4].x, TEMP[0].yyyy, -TEMP[8].yyyy 125: MOV TEMP[3].z, TEMP[4].xxxx 126: MOV TEMP[3].w, TEMP[1].yyyy 127: ADD TEMP[4], TEMP[6], TEMP[9] 128: ADD TEMP[4], TEMP[4], TEMP[12] 129: ADD TEMP[3], TEMP[4], TEMP[3] 130: ADD TEMP[4].x, TEMP[0].xxxx, -TEMP[11].zzzz 131: ADD TEMP[0].x, TEMP[0].yyyy, TEMP[8].yyyy 132: MOV TEMP[4].y, TEMP[0].xxxx 133: ADD TEMP[0].x, TEMP[8].xxxx, TEMP[11].yyyy 134: ADD TEMP[0].x, TEMP[1].wwww, -TEMP[0].xxxx 135: MOV TEMP[4].z, TEMP[0].xxxx 136: MOV TEMP[4].w, TEMP[1].zzzz 137: ADD TEMP[0], TEMP[7], TEMP[10] 138: ADD TEMP[0], TEMP[0], TEMP[13] 139: ADD TEMP[0], TEMP[0], TEMP[4] 140: MOV TEMP[1].w, IMM[1].yyyy 141: MOV TEMP[1].x, IN[0].xxxx 142: MOV TEMP[1].y, IN[0].yyyy 143: MOV TEMP[1].z, IN[4].wwww 144: MOV TEMP[4].w, IMM[1].yyyy 145: DP4 TEMP[4].x, TEMP[1], TEMP[2] 146: DP4 TEMP[5].x, TEMP[1], TEMP[3] 147: MOV TEMP[4].y, TEMP[5].xxxx 148: DP4 TEMP[1].x, TEMP[1], TEMP[0] 149: MOV TEMP[4].z, TEMP[1].xxxx 150: MOV TEMP[1].w, IMM[1].yyyy 151: DP3 TEMP[5].x, IN[4].xyzz, TEMP[2].xyzz 152: DP3 TEMP[6].x, IN[4].xyzz, TEMP[3].xyzz 153: MOV TEMP[5].y, TEMP[6].xxxx 154: DP3 TEMP[6].x, IN[4].xyzz, TEMP[0].xyzz 155: MOV TEMP[5].z, TEMP[6].xxxx 156: DP3 TEMP[2].x, IN[5].xyzz, TEMP[2].xyzz 157: DP3 TEMP[6].x, IN[5].xyzz, TEMP[3].xyzz 158: MOV TEMP[2].y, TEMP[6].xxxx 159: DP3 TEMP[6].x, IN[5].xyzz, TEMP[0].xyzz 160: MOV TEMP[2].z, TEMP[6].xxxx 161: UMUL TEMP[6].x, SV[0].xxxx, IMM[0].yyyy 162: UADD TEMP[6].xyz, TEMP[6].xxxx, IMM[0].zxww 163: UARL ADDR[0].x, TEMP[6].xxxx 164: MOV TEMP[7], CONST[ADDR[0].x+201] 165: UARL ADDR[0].x, TEMP[6].yyyy 166: MOV TEMP[3], CONST[ADDR[0].x+201] 167: UARL ADDR[0].x, TEMP[6].zzzz 168: MOV TEMP[0], CONST[ADDR[0].x+201] 169: DP4 TEMP[6].x, TEMP[4], TEMP[7] 170: DP4 TEMP[8].x, TEMP[4], TEMP[3] 171: MOV TEMP[6].y, TEMP[8].xxxx 172: DP4 TEMP[4].x, TEMP[4], TEMP[0] 173: MOV TEMP[6].z, TEMP[4].xxxx 174: MOV TEMP[1].xyz, TEMP[6].xyzx 175: DP3 TEMP[4].x, TEMP[5].xyzz, TEMP[7].xyzz 176: DP3 TEMP[8].x, TEMP[5].xyzz, TEMP[3].xyzz 177: MOV TEMP[4].y, TEMP[8].xxxx 178: DP3 TEMP[5].x, TEMP[5].xyzz, TEMP[0].xyzz 179: MOV TEMP[4].z, TEMP[5].xxxx 180: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[4].xyzz 181: RSQ TEMP[5].x, TEMP[5].xxxx 182: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx 183: DP3 TEMP[5].x, TEMP[2].xyzz, TEMP[7].xyzz 184: DP3 TEMP[3].x, TEMP[2].xyzz, TEMP[3].xyzz 185: MOV TEMP[5].y, TEMP[3].xxxx 186: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[0].xyzz 187: MOV TEMP[5].z, TEMP[0].xxxx 188: DP3 TEMP[0].x, TEMP[5].xyzz, TEMP[5].xyzz 189: RSQ TEMP[0].x, TEMP[0].xxxx 190: MUL TEMP[0].xyz, TEMP[5].xyzz, TEMP[0].xxxx 191: MUL TEMP[2].xyz, TEMP[4].zxyy, TEMP[0].yzxx 192: MAD TEMP[2].xyz, TEMP[4].yzxx, TEMP[0].zxyy, -TEMP[2].xyzz 193: MUL TEMP[2].xyz, TEMP[2].xyzz, IN[5].wwww 194: MOV TEMP[3].zw, IN[3].wwzw 195: MAD TEMP[3].xy, IN[3].xyyy, CONST[225].xyyy, CONST[225].zwww 196: ADD TEMP[5].xyz, TEMP[6].xyzz, -CONST[5].xyzz 197: MUL TEMP[7], CONST[0], TEMP[5].xxxx 198: MAD TEMP[7], CONST[1], TEMP[5].yyyy, TEMP[7] 199: MAD TEMP[5], CONST[2], TEMP[5].zzzz, TEMP[7] 200: ADD TEMP[5], TEMP[5], CONST[3] 201: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[0].xyzz 202: DP3 TEMP[8].x, CONST[6].xyzz, TEMP[2].xyzz 203: MOV TEMP[7].y, TEMP[8].xxxx 204: DP3 TEMP[8].x, CONST[6].xyzz, TEMP[4].xyzz 205: MUL TEMP[8].x, TEMP[8].xxxx, CONST[7].xxxx 206: MOV TEMP[7].z, TEMP[8].xxxx 207: ADD TEMP[6].xyz, CONST[4].xyzz, -TEMP[6].xyzz 208: DP3 TEMP[0].x, TEMP[6].xyzz, TEMP[0].xyzz 209: DP3 TEMP[2].x, TEMP[6].xyzz, TEMP[2].xyzz 210: MOV TEMP[0].y, TEMP[2].xxxx 211: DP3 TEMP[2].x, TEMP[6].xyzz, TEMP[4].xyzz 212: MUL TEMP[2].x, TEMP[2].xxxx, CONST[7].xxxx 213: MOV TEMP[0].z, TEMP[2].xxxx 214: MOV OUT[1], TEMP[3] 215: MOV OUT[2], TEMP[7] 216: MOV OUT[3], TEMP[0] 217: MOV OUT[4], TEMP[1] 218: MOV OUT[0], TEMP[5] 219: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3600) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3604) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3608) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 3612) %42 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %43, i32 0, i32 %5) %45 = extractelement <4 x float> %44, i32 0 %46 = extractelement <4 x float> %44, i32 1 %47 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %48 = load <16 x i8> addrspace(2)* %47, !tbaa !0 %49 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %48, i32 0, i32 %5) %50 = extractelement <4 x float> %49, i32 0 %51 = extractelement <4 x float> %49, i32 1 %52 = extractelement <4 x float> %49, i32 2 %53 = extractelement <4 x float> %49, i32 3 %54 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %55 = load <16 x i8> addrspace(2)* %54, !tbaa !0 %56 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %55, i32 0, i32 %5) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = extractelement <4 x float> %56, i32 2 %60 = extractelement <4 x float> %56, i32 3 %61 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %62 = load <16 x i8> addrspace(2)* %61, !tbaa !0 %63 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %62, i32 0, i32 %5) %64 = extractelement <4 x float> %63, i32 0 %65 = extractelement <4 x float> %63, i32 1 %66 = extractelement <4 x float> %63, i32 2 %67 = extractelement <4 x float> %63, i32 3 %68 = getelementptr <16 x i8> addrspace(2)* %3, i32 4 %69 = load <16 x i8> addrspace(2)* %68, !tbaa !0 %70 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %69, i32 0, i32 %5) %71 = extractelement <4 x float> %70, i32 0 %72 = extractelement <4 x float> %70, i32 1 %73 = extractelement <4 x float> %70, i32 2 %74 = extractelement <4 x float> %70, i32 3 %75 = getelementptr <16 x i8> addrspace(2)* %3, i32 5 %76 = load <16 x i8> addrspace(2)* %75, !tbaa !0 %77 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %76, i32 0, i32 %5) %78 = extractelement <4 x float> %77, i32 0 %79 = extractelement <4 x float> %77, i32 1 %80 = extractelement <4 x float> %77, i32 2 %81 = extractelement <4 x float> %77, i32 3 %82 = add i32 %8, %4 %83 = fptosi float %37 to i32 %84 = bitcast i32 %83 to float %85 = fptosi float %50 to i32 %86 = fptosi float %51 to i32 %87 = fptosi float %52 to i32 %88 = fptosi float %53 to i32 %89 = bitcast i32 %85 to float %90 = bitcast i32 %86 to float %91 = bitcast i32 %87 to float %92 = bitcast i32 %88 to float %93 = bitcast float %84 to i32 %94 = bitcast float %89 to i32 %95 = mul i32 %82, %93 %96 = add i32 %95, %94 %97 = bitcast float %84 to i32 %98 = bitcast float %90 to i32 %99 = mul i32 %82, %97 %100 = add i32 %99, %98 %101 = bitcast float %84 to i32 %102 = bitcast float %91 to i32 %103 = mul i32 %82, %101 %104 = add i32 %103, %102 %105 = bitcast float %84 to i32 %106 = bitcast float %92 to i32 %107 = mul i32 %82, %105 %108 = add i32 %107, %106 %109 = bitcast i32 %96 to float %110 = bitcast i32 %100 to float %111 = bitcast i32 %104 to float %112 = bitcast i32 %108 to float %113 = bitcast float %109 to i32 %114 = shl i32 %113, 4 %115 = add i32 %114, 144 %116 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %115) %117 = fmul float %116, %57 %118 = shl i32 %113, 4 %119 = add i32 %118, 148 %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %119) %121 = fmul float %120, %57 %122 = shl i32 %113, 4 %123 = add i32 %122, 152 %124 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %123) %125 = fmul float %124, %57 %126 = shl i32 %113, 4 %127 = add i32 %126, 156 %128 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %127) %129 = fmul float %128, %57 %130 = bitcast float %109 to i32 %131 = add i32 %130, 1 %132 = bitcast i32 %131 to float %133 = bitcast float %132 to i32 %134 = shl i32 %133, 4 %135 = add i32 %134, 144 %136 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %135) %137 = shl i32 %133, 4 %138 = add i32 %137, 148 %139 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %138) %140 = shl i32 %133, 4 %141 = add i32 %140, 152 %142 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %141) %143 = shl i32 %133, 4 %144 = add i32 %143, 156 %145 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %144) %146 = fmul float %129, 2.000000e+00 %147 = fmul float %136, %146 %148 = fmul float %139, %146 %149 = fmul float %142, %146 %150 = fmul float %136, %147 %151 = fmul float %145, %147 %152 = fmul float %136, %148 %153 = fmul float %139, %148 %154 = fmul float %145, %148 %155 = fmul float %136, %149 %156 = fmul float %139, %149 %157 = fmul float %142, %149 %158 = fmul float %145, %149 %159 = fadd float %153, %157 %160 = fsub float -0.000000e+00, %159 %161 = fadd float %129, %160 %162 = fsub float -0.000000e+00, %158 %163 = fadd float %152, %162 %164 = fadd float %155, %154 %165 = fadd float %152, %158 %166 = fadd float %150, %157 %167 = fsub float -0.000000e+00, %166 %168 = fadd float %129, %167 %169 = fsub float -0.000000e+00, %151 %170 = fadd float %156, %169 %171 = fsub float -0.000000e+00, %154 %172 = fadd float %155, %171 %173 = fadd float %156, %151 %174 = fadd float %150, %153 %175 = fsub float -0.000000e+00, %174 %176 = fadd float %129, %175 %177 = bitcast float %110 to i32 %178 = shl i32 %177, 4 %179 = add i32 %178, 144 %180 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %179) %181 = fmul float %180, %58 %182 = shl i32 %177, 4 %183 = add i32 %182, 148 %184 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %183) %185 = fmul float %184, %58 %186 = shl i32 %177, 4 %187 = add i32 %186, 152 %188 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %187) %189 = fmul float %188, %58 %190 = shl i32 %177, 4 %191 = add i32 %190, 156 %192 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %191) %193 = fmul float %192, %58 %194 = bitcast float %110 to i32 %195 = add i32 %194, 1 %196 = bitcast i32 %195 to float %197 = bitcast float %196 to i32 %198 = shl i32 %197, 4 %199 = add i32 %198, 144 %200 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %199) %201 = shl i32 %197, 4 %202 = add i32 %201, 148 %203 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %202) %204 = shl i32 %197, 4 %205 = add i32 %204, 152 %206 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %205) %207 = shl i32 %197, 4 %208 = add i32 %207, 156 %209 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %208) %210 = fmul float %193, 2.000000e+00 %211 = fmul float %200, %210 %212 = fmul float %203, %210 %213 = fmul float %206, %210 %214 = fmul float %200, %211 %215 = fmul float %209, %211 %216 = fmul float %200, %212 %217 = fmul float %203, %212 %218 = fmul float %209, %212 %219 = fmul float %200, %213 %220 = fmul float %203, %213 %221 = fmul float %206, %213 %222 = fmul float %209, %213 %223 = fadd float %217, %221 %224 = fsub float -0.000000e+00, %223 %225 = fadd float %193, %224 %226 = fsub float -0.000000e+00, %222 %227 = fadd float %216, %226 %228 = fadd float %219, %218 %229 = fadd float %216, %222 %230 = fadd float %214, %221 %231 = fsub float -0.000000e+00, %230 %232 = fadd float %193, %231 %233 = fsub float -0.000000e+00, %215 %234 = fadd float %220, %233 %235 = fsub float -0.000000e+00, %218 %236 = fadd float %219, %235 %237 = fadd float %220, %215 %238 = fadd float %214, %217 %239 = fsub float -0.000000e+00, %238 %240 = fadd float %193, %239 %241 = bitcast float %111 to i32 %242 = shl i32 %241, 4 %243 = add i32 %242, 144 %244 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %243) %245 = fmul float %244, %59 %246 = shl i32 %241, 4 %247 = add i32 %246, 148 %248 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %247) %249 = fmul float %248, %59 %250 = shl i32 %241, 4 %251 = add i32 %250, 152 %252 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %251) %253 = fmul float %252, %59 %254 = shl i32 %241, 4 %255 = add i32 %254, 156 %256 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %255) %257 = fmul float %256, %59 %258 = bitcast float %111 to i32 %259 = add i32 %258, 1 %260 = bitcast i32 %259 to float %261 = bitcast float %260 to i32 %262 = shl i32 %261, 4 %263 = add i32 %262, 144 %264 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %263) %265 = shl i32 %261, 4 %266 = add i32 %265, 148 %267 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %266) %268 = shl i32 %261, 4 %269 = add i32 %268, 152 %270 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %269) %271 = shl i32 %261, 4 %272 = add i32 %271, 156 %273 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %272) %274 = fmul float %257, 2.000000e+00 %275 = fmul float %264, %274 %276 = fmul float %267, %274 %277 = fmul float %270, %274 %278 = fmul float %264, %275 %279 = fmul float %273, %275 %280 = fmul float %264, %276 %281 = fmul float %267, %276 %282 = fmul float %273, %276 %283 = fmul float %264, %277 %284 = fmul float %267, %277 %285 = fmul float %270, %277 %286 = fmul float %273, %277 %287 = fadd float %281, %285 %288 = fsub float -0.000000e+00, %287 %289 = fadd float %257, %288 %290 = fsub float -0.000000e+00, %286 %291 = fadd float %280, %290 %292 = fadd float %283, %282 %293 = fadd float %280, %286 %294 = fadd float %278, %285 %295 = fsub float -0.000000e+00, %294 %296 = fadd float %257, %295 %297 = fsub float -0.000000e+00, %279 %298 = fadd float %284, %297 %299 = fsub float -0.000000e+00, %282 %300 = fadd float %283, %299 %301 = fadd float %284, %279 %302 = fadd float %278, %281 %303 = fsub float -0.000000e+00, %302 %304 = fadd float %257, %303 %305 = bitcast float %112 to i32 %306 = shl i32 %305, 4 %307 = add i32 %306, 144 %308 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %307) %309 = fmul float %308, %60 %310 = shl i32 %305, 4 %311 = add i32 %310, 148 %312 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %311) %313 = fmul float %312, %60 %314 = shl i32 %305, 4 %315 = add i32 %314, 152 %316 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %315) %317 = fmul float %316, %60 %318 = shl i32 %305, 4 %319 = add i32 %318, 156 %320 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %319) %321 = fmul float %320, %60 %322 = bitcast float %112 to i32 %323 = add i32 %322, 1 %324 = bitcast i32 %323 to float %325 = bitcast float %324 to i32 %326 = shl i32 %325, 4 %327 = add i32 %326, 144 %328 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %327) %329 = shl i32 %325, 4 %330 = add i32 %329, 148 %331 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %330) %332 = shl i32 %325, 4 %333 = add i32 %332, 152 %334 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %333) %335 = shl i32 %325, 4 %336 = add i32 %335, 156 %337 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %336) %338 = fmul float %321, 2.000000e+00 %339 = fmul float %328, %338 %340 = fmul float %331, %338 %341 = fmul float %334, %338 %342 = fmul float %328, %339 %343 = fmul float %337, %339 %344 = fmul float %328, %340 %345 = fmul float %331, %340 %346 = fmul float %337, %340 %347 = fmul float %328, %341 %348 = fmul float %331, %341 %349 = fmul float %334, %341 %350 = fmul float %337, %341 %351 = fadd float %345, %349 %352 = fsub float -0.000000e+00, %351 %353 = fadd float %321, %352 %354 = fsub float -0.000000e+00, %350 %355 = fadd float %344, %354 %356 = fadd float %347, %346 %357 = fadd float %161, %225 %358 = fadd float %163, %227 %359 = fadd float %164, %228 %360 = fadd float %117, %181 %361 = fadd float %357, %289 %362 = fadd float %358, %291 %363 = fadd float %359, %292 %364 = fadd float %360, %245 %365 = fadd float %361, %353 %366 = fadd float %362, %355 %367 = fadd float %363, %356 %368 = fadd float %364, %309 %369 = fadd float %344, %350 %370 = fadd float %342, %349 %371 = fsub float -0.000000e+00, %370 %372 = fadd float %321, %371 %373 = fsub float -0.000000e+00, %343 %374 = fadd float %348, %373 %375 = fadd float %165, %229 %376 = fadd float %168, %232 %377 = fadd float %170, %234 %378 = fadd float %121, %185 %379 = fadd float %375, %293 %380 = fadd float %376, %296 %381 = fadd float %377, %298 %382 = fadd float %378, %249 %383 = fadd float %379, %369 %384 = fadd float %380, %372 %385 = fadd float %381, %374 %386 = fadd float %382, %313 %387 = fsub float -0.000000e+00, %346 %388 = fadd float %347, %387 %389 = fadd float %348, %343 %390 = fadd float %342, %345 %391 = fsub float -0.000000e+00, %390 %392 = fadd float %321, %391 %393 = fadd float %172, %236 %394 = fadd float %173, %237 %395 = fadd float %176, %240 %396 = fadd float %125, %189 %397 = fadd float %393, %300 %398 = fadd float %394, %301 %399 = fadd float %395, %304 %400 = fadd float %396, %253 %401 = fadd float %397, %388 %402 = fadd float %398, %389 %403 = fadd float %399, %392 %404 = fadd float %400, %317 %405 = fmul float %45, %365 %406 = fmul float %46, %366 %407 = fadd float %405, %406 %408 = fmul float %74, %367 %409 = fadd float %407, %408 %410 = fmul float 1.000000e+00, %368 %411 = fadd float %409, %410 %412 = fmul float %45, %383 %413 = fmul float %46, %384 %414 = fadd float %412, %413 %415 = fmul float %74, %385 %416 = fadd float %414, %415 %417 = fmul float 1.000000e+00, %386 %418 = fadd float %416, %417 %419 = fmul float %45, %401 %420 = fmul float %46, %402 %421 = fadd float %419, %420 %422 = fmul float %74, %403 %423 = fadd float %421, %422 %424 = fmul float 1.000000e+00, %404 %425 = fadd float %423, %424 %426 = fmul float %71, %365 %427 = fmul float %72, %366 %428 = fadd float %427, %426 %429 = fmul float %73, %367 %430 = fadd float %428, %429 %431 = fmul float %71, %383 %432 = fmul float %72, %384 %433 = fadd float %432, %431 %434 = fmul float %73, %385 %435 = fadd float %433, %434 %436 = fmul float %71, %401 %437 = fmul float %72, %402 %438 = fadd float %437, %436 %439 = fmul float %73, %403 %440 = fadd float %438, %439 %441 = fmul float %78, %365 %442 = fmul float %79, %366 %443 = fadd float %442, %441 %444 = fmul float %80, %367 %445 = fadd float %443, %444 %446 = fmul float %78, %383 %447 = fmul float %79, %384 %448 = fadd float %447, %446 %449 = fmul float %80, %385 %450 = fadd float %448, %449 %451 = fmul float %78, %401 %452 = fmul float %79, %402 %453 = fadd float %452, %451 %454 = fmul float %80, %403 %455 = fadd float %453, %454 %456 = mul i32 %82, 3 %457 = bitcast i32 %456 to float %458 = bitcast float %457 to i32 %459 = add i32 %458, 0 %460 = bitcast float %457 to i32 %461 = add i32 %460, 1 %462 = bitcast float %457 to i32 %463 = add i32 %462, 2 %464 = bitcast i32 %459 to float %465 = bitcast i32 %461 to float %466 = bitcast i32 %463 to float %467 = bitcast float %464 to i32 %468 = shl i32 %467, 4 %469 = add i32 %468, 3216 %470 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %469) %471 = shl i32 %467, 4 %472 = add i32 %471, 3220 %473 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %472) %474 = shl i32 %467, 4 %475 = add i32 %474, 3224 %476 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %475) %477 = shl i32 %467, 4 %478 = add i32 %477, 3228 %479 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %478) %480 = bitcast float %465 to i32 %481 = shl i32 %480, 4 %482 = add i32 %481, 3216 %483 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %482) %484 = shl i32 %480, 4 %485 = add i32 %484, 3220 %486 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %485) %487 = shl i32 %480, 4 %488 = add i32 %487, 3224 %489 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %488) %490 = shl i32 %480, 4 %491 = add i32 %490, 3228 %492 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %491) %493 = bitcast float %466 to i32 %494 = shl i32 %493, 4 %495 = add i32 %494, 3216 %496 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %495) %497 = shl i32 %493, 4 %498 = add i32 %497, 3220 %499 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %498) %500 = shl i32 %493, 4 %501 = add i32 %500, 3224 %502 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %501) %503 = shl i32 %493, 4 %504 = add i32 %503, 3228 %505 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %504) %506 = fmul float %411, %470 %507 = fmul float %418, %473 %508 = fadd float %506, %507 %509 = fmul float %425, %476 %510 = fadd float %508, %509 %511 = fmul float 1.000000e+00, %479 %512 = fadd float %510, %511 %513 = fmul float %411, %483 %514 = fmul float %418, %486 %515 = fadd float %513, %514 %516 = fmul float %425, %489 %517 = fadd float %515, %516 %518 = fmul float 1.000000e+00, %492 %519 = fadd float %517, %518 %520 = fmul float %411, %496 %521 = fmul float %418, %499 %522 = fadd float %520, %521 %523 = fmul float %425, %502 %524 = fadd float %522, %523 %525 = fmul float 1.000000e+00, %505 %526 = fadd float %524, %525 %527 = fmul float %430, %470 %528 = fmul float %435, %473 %529 = fadd float %528, %527 %530 = fmul float %440, %476 %531 = fadd float %529, %530 %532 = fmul float %430, %483 %533 = fmul float %435, %486 %534 = fadd float %533, %532 %535 = fmul float %440, %489 %536 = fadd float %534, %535 %537 = fmul float %430, %496 %538 = fmul float %435, %499 %539 = fadd float %538, %537 %540 = fmul float %440, %502 %541 = fadd float %539, %540 %542 = fmul float %531, %531 %543 = fmul float %536, %536 %544 = fadd float %543, %542 %545 = fmul float %541, %541 %546 = fadd float %544, %545 %547 = call float @llvm.AMDGPU.rsq(float %546) %548 = fmul float %531, %547 %549 = fmul float %536, %547 %550 = fmul float %541, %547 %551 = fmul float %445, %470 %552 = fmul float %450, %473 %553 = fadd float %552, %551 %554 = fmul float %455, %476 %555 = fadd float %553, %554 %556 = fmul float %445, %483 %557 = fmul float %450, %486 %558 = fadd float %557, %556 %559 = fmul float %455, %489 %560 = fadd float %558, %559 %561 = fmul float %445, %496 %562 = fmul float %450, %499 %563 = fadd float %562, %561 %564 = fmul float %455, %502 %565 = fadd float %563, %564 %566 = fmul float %555, %555 %567 = fmul float %560, %560 %568 = fadd float %567, %566 %569 = fmul float %565, %565 %570 = fadd float %568, %569 %571 = call float @llvm.AMDGPU.rsq(float %570) %572 = fmul float %555, %571 %573 = fmul float %560, %571 %574 = fmul float %565, %571 %575 = fmul float %550, %573 %576 = fmul float %548, %574 %577 = fmul float %549, %572 %578 = fsub float -0.000000e+00, %575 %579 = fmul float %549, %574 %580 = fadd float %579, %578 %581 = fsub float -0.000000e+00, %576 %582 = fmul float %550, %572 %583 = fadd float %582, %581 %584 = fsub float -0.000000e+00, %577 %585 = fmul float %548, %573 %586 = fadd float %585, %584 %587 = fmul float %580, %81 %588 = fmul float %583, %81 %589 = fmul float %586, %81 %590 = fmul float %64, %38 %591 = fadd float %590, %40 %592 = fmul float %65, %39 %593 = fadd float %592, %41 %594 = fsub float -0.000000e+00, %30 %595 = fadd float %512, %594 %596 = fsub float -0.000000e+00, %31 %597 = fadd float %519, %596 %598 = fsub float -0.000000e+00, %32 %599 = fadd float %526, %598 %600 = fmul float %11, %595 %601 = fmul float %12, %595 %602 = fmul float %13, %595 %603 = fmul float %14, %595 %604 = fmul float %15, %597 %605 = fadd float %604, %600 %606 = fmul float %16, %597 %607 = fadd float %606, %601 %608 = fmul float %17, %597 %609 = fadd float %608, %602 %610 = fmul float %18, %597 %611 = fadd float %610, %603 %612 = fmul float %19, %599 %613 = fadd float %612, %605 %614 = fmul float %20, %599 %615 = fadd float %614, %607 %616 = fmul float %21, %599 %617 = fadd float %616, %609 %618 = fmul float %22, %599 %619 = fadd float %618, %611 %620 = fadd float %613, %23 %621 = fadd float %615, %24 %622 = fadd float %617, %25 %623 = fadd float %619, %26 %624 = fmul float %33, %572 %625 = fmul float %34, %573 %626 = fadd float %625, %624 %627 = fmul float %35, %574 %628 = fadd float %626, %627 %629 = fmul float %33, %587 %630 = fmul float %34, %588 %631 = fadd float %630, %629 %632 = fmul float %35, %589 %633 = fadd float %631, %632 %634 = fmul float %33, %548 %635 = fmul float %34, %549 %636 = fadd float %635, %634 %637 = fmul float %35, %550 %638 = fadd float %636, %637 %639 = fmul float %638, %36 %640 = fsub float -0.000000e+00, %512 %641 = fadd float %27, %640 %642 = fsub float -0.000000e+00, %519 %643 = fadd float %28, %642 %644 = fsub float -0.000000e+00, %526 %645 = fadd float %29, %644 %646 = fmul float %641, %572 %647 = fmul float %643, %573 %648 = fadd float %647, %646 %649 = fmul float %645, %574 %650 = fadd float %648, %649 %651 = fmul float %641, %587 %652 = fmul float %643, %588 %653 = fadd float %652, %651 %654 = fmul float %645, %589 %655 = fadd float %653, %654 %656 = fmul float %641, %548 %657 = fmul float %643, %549 %658 = fadd float %657, %656 %659 = fmul float %645, %550 %660 = fadd float %658, %659 %661 = fmul float %660, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %591, float %593, float %66, float %67) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %628, float %633, float %639, float %611) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %650, float %655, float %661, float %505) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %512, float %519, float %526, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %620, float %621, float %622, float %623) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 00000e1c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000e14 c2020004 bf8c007f 7e040204 c086070c bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000e18 c2020004 bf8c007f 7e040204 be8403ff 00000e10 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 c2020120 bf8c007f 7e041004 d2d60002 02020501 c0840704 bf8c007f e00c2000 80020300 bf8c0770 7e0e1104 4a0e0f02 34100e84 4a1210ff 0000009c e0301000 80000909 c0840708 bf8c0070 e00c2000 80020a00 bf8c0770 101c1709 d2820009 043a1709 4a0e0e81 340e0e84 4a1e0eff 00000094 e0301000 80000f0f bf8c0770 1020130f 4a220eff 00000098 e0301000 80001111 bf8c0770 10241311 4a260eff 0000009c e0301000 80001313 bf8c0770 10282513 4a0e0eff 00000090 e0301000 80000707 bf8c0770 d2820015 04522107 7e2c1103 4a2c2d02 342e2c84 4a302eff 0000009c e0301000 80001818 bf8c0770 10321518 d2820018 04661518 4a2c2c81 342c2c84 4a342cff 00000094 e0301000 80001a1a bf8c0770 1036311a 4a382cff 00000098 e0301000 80001c1c bf8c0770 103a311c 4a3c2cff 0000009c e0301000 80001e1e bf8c0770 103e3b1e 4a2c2cff 00000090 e0301000 80001616 bf8c0770 d2820020 047e3716 062a2b20 7e401105 4a404102 34424084 4a4442ff 0000009c e0301000 80002222 bf8c0770 10461922 d2820022 048e1922 4a404081 34404084 4a4840ff 00000094 e0301000 80002424 bf8c0770 104a4524 4a4c40ff 00000098 e0301000 80002626 bf8c0770 104e4526 4a5040ff 0000009c e0301000 80002828 bf8c0770 10524f28 4a4040ff 00000090 e0301000 80002020 bf8c0770 d282002a 04a64b20 062a5515 7e061106 4a040702 34060484 4a0806ff 0000009c e0301000 80000404 bf8c0770 100a1b04 d2820004 04161b04 4a040481 34040484 4a0c04ff 00000094 e0301000 80000606 bf8c0770 10540906 4a5604ff 00000098 e0301000 80002b2b bf8c0770 1058092b 4a5a04ff 0000009c e0301000 80002d2d bf8c0770 105c592d 4a0404ff 00000090 e0301000 80000202 bf8c0770 d282002f 04ba5502 062a5f15 c0840714 bf8c007f e00c2000 80022f00 bf8c0770 10662b2f 10121307 10222511 d2820034 04461307 0868690e 10303116 10383b1c d2820035 04723116 086a6b19 06686935 10444520 104c4f26 d2820035 049a4520 086a6b23 06686b34 10080902 1056592b d2820035 04ae0902 086a6b05 06686b34 d2820033 04ce6930 106a1313 106c250f 086c6b36 106e311e 10703b1a 08706f38 066c6d38 10704528 10724f24 08727139 066c7336 1072092d 10745906 0874733a 066c7536 d2820033 04ce6d31 10742107 0828293a 10743716 083e3f3a 0628291f 103e4b20 083e531f 06283f14 103e5502 083e5d1f 06283f14 d2820011 0446210f 0822230e d282001c 0472371a 08383919 0622231c d282001c 049a4b24 08383923 06223911 d282001c 04ae5506 08383905 06223911 1038232f d282001c 04722930 10262113 d282001f 044e2507 103c371e d2820026 047a3b16 063e3f26 104c4b28 d2820028 049a4f20 063e511f 1050552d d2820029 04a25902 063e531f d282001c 04723f31 d2d60001 02010701 4a520281 34525284 4a5652ff 00000c90 e0301000 80002b2b bf8c0770 105a571c 4a5c52ff 00000c94 e0301000 80002e2e bf8c0770 d282002d 04b65d33 d2820035 04d6250f d2820037 04de3b1a 066a6b37 d2820037 04e24f24 066a6f35 d2820037 04e65906 066a6f35 10242507 08242712 10263b16 08263d13 06242513 10264f20 08264d13 06242712 10265902 08265113 06242712 1026252f d2820013 044e6b30 101e210f d2820007 043e1307 080e0f0e 1012371a d2820009 04263116 08121319 060e0f09 10124b24 d2820009 04264520 08121323 060e1307 100c5506 d2820002 041a0902 08040505 06040507 d2820004 044e0531 4a0a52ff 00000c98 e0301000 80000505 bf8c0770 d2820006 04b60b04 340e0284 4a120eff 00000c90 e0301000 80000909 bf8c0770 101c131c 4a1e0eff 00000c94 e0301000 80000f0f bf8c0770 d282000e 043a1f33 4a200eff 00000c98 e0301000 80001010 bf8c0770 d282000e 043a2104 10261d0e d2820013 044e0d06 4a020282 34020284 4a2c02ff 00000c90 e0301000 80001616 bf8c0770 10302d1c 4a3202ff 00000c94 e0301000 80001919 bf8c0770 d2820018 04623333 4a3402ff 00000c98 e0301000 80001a1a bf8c0770 d2820004 04623504 d2820013 044e0904 7e265b13 10082704 c0840710 bf8c007f e00c2000 80021b00 bf8c0770 10302b1b d2820018 0462691c d2820018 04626d1d 1040231b d2820020 0482291c d2820020 04823f1d 10445720 d2820022 048a5d18 1046251b d2820023 048e6b1c d2820023 048e051d d2820022 048a0b23 10481320 d2820024 04921f18 d2820024 04922123 104a4924 d2820025 04964522 10402d20 d2820018 04823318 d2820018 04623523 d2820020 04963118 7e405b20 10464124 10480923 101c270e 10304118 104a1d18 08484925 10486524 100c2706 10260d18 10404122 10440920 08262722 10266513 c2020118 bf8c007f 10442604 c2028119 bf8c007f d2820022 048a4805 104a1d20 104c0d23 084a4b26 104a6525 c204011a bf8c007f d2820022 048a4a08 104c1c04 d2820026 049a0c05 d2820026 049a0808 104e4604 d2820027 049e4005 d2820027 049e3008 c202011c bf8c007f 104e4e04 c0840700 bf8c007f e00c2000 80022f00 bf8c0770 10002930 d2820000 0402232f d2820000 04023f1e 4a222eff 00000090 e0301000 80001111 4a2810ff 00000090 e0301000 80001414 bf8c0770 10281714 d2820011 04521511 4a2842ff 00000090 e0301000 80001414 bf8c0770 d2820011 04461914 4a2806ff 00000090 e0301000 80001414 bf8c0770 d2820011 04461b14 06002300 10226930 d2820011 04462b2f d2820011 04466d1e 4a282eff 00000094 e0301000 80001414 4a2a10ff 00000094 e0301000 80001515 bf8c0770 102a1715 d2820014 04561514 4a2a42ff 00000094 e0301000 80001515 bf8c0770 d2820014 04521915 4a2a06ff 00000094 e0301000 80001515 bf8c0770 d2820014 04521b15 06222911 10285d11 d2820014 04525700 102a6b30 d2820012 0456252f d2820002 044a051e 4a242eff 00000098 e0301000 80001212 4a1010ff 00000098 e0301000 80000808 bf8c0770 10101708 d2820008 04221512 4a2442ff 00000098 e0301000 80001212 bf8c0770 d2820008 04221912 4a0606ff 00000098 e0301000 80000303 bf8c0770 d2820003 04221b03 06040702 d2820003 04520b02 4a0a52ff 00000c9c e0301000 80000505 bf8c0770 06060b03 c2028115 bf8c007f 0a0a0605 10101f11 d2820008 04221300 d2820008 04222102 4a0e0eff 00000c9c e0301000 80000707 bf8c0770 060e0f08 c2028114 bf8c007f 0a100e05 c2028103 bf8c007f 10121005 c2028107 bf8c007f d2820009 04260a05 f800021f 09272226 c2028110 bf8c000f 08140e05 1016270a c2028111 bf8c007f 08180605 d282000b 042e490c 101a3311 d2820000 04362d00 d2820000 04023502 4a0202ff 00000c9c e0301000 80000101 bf8c0770 06000300 c2028112 bf8c007f 08040005 d282000b 042e4b02 101a1d0a d2820006 04360d0c d2820004 041a0902 100c470a d2820006 041a410c d2820002 041a3102 10040404 f800022f 01020b04 bf8c070f 7e0202f2 f800023f 01000307 c2020116 bf8c000f 0a000004 c202010b bf8c007f d2820001 04260004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10041004 c2020106 bf8c007f d2820002 040a0a04 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 c2020101 bf8c007f 10061004 c2020105 bf8c007f d2820003 040e0a04 c2020109 bf8c007f d2820003 040e0004 c202010d bf8c007f 06060604 c2020100 bf8c007f 10081004 c2020104 bf8c007f d2820004 04120a04 c2020108 bf8c007f d2820000 04120004 c200010c bf8c007f 06000000 f80008cf 01020300 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], POSITION, LINEAR DCL IN[1], GENERIC[0], PERSPECTIVE DCL IN[2], GENERIC[1], PERSPECTIVE DCL IN[3], GENERIC[2], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL SAMP[6] DCL SAMP[7] DCL CONST[31..32] DCL CONST[0..21] DCL CONST[30] DCL TEMP[0] DCL TEMP[1..10], LOCAL IMM[0] FLT32 { 2.0000, -1.0000, 1.0000, 0.0000} IMM[1] FLT32 { 0.0001, 3.0000, -0.2500, 0.2450} IMM[2] FLT32 { -0.7500, -0.2500, 0.0625, 0.1250} IMM[3] FLT32 { 0.1875, 0.2500, 8.0000, 0.3125} IMM[4] FLT32 { 0.3750, 0.4375, 0.5000, 0.5625} IMM[5] FLT32 { 0.6250, 0.6875, 0.7500, 0.8125} IMM[6] FLT32 { 0.8750, 0.9375, 0.0312, 0.0000} 0: MOV TEMP[0], IN[0] 1: MAD TEMP[0].y, IN[0], CONST[32].xxxx, CONST[32].yyyy 2: MOV TEMP[1].xy, IN[1].xyyy 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: MOV TEMP[2].xy, IN[1].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: MOV TEMP[3].xy, IN[1].xyyy 7: TEX TEMP[3], TEMP[3], SAMP[2], 2D 8: MAD TEMP[4].xy, IN[1].xyyy, CONST[30].xyyy, CONST[30].zwww 9: MOV TEMP[5].xy, TEMP[4].xyyy 10: TEX TEMP[5], TEMP[5], SAMP[3], 2D 11: MUL TEMP[6].x, TEMP[1].wwww, TEMP[5].wwww 12: MUL TEMP[6].xyz, CONST[18].xyzz, TEMP[6].xxxx 13: MAD TEMP[5].xyz, TEMP[5].xyzz, IMM[0].xxxx, IMM[0].yyyy 14: MAD_SAT TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx, TEMP[1].xyzz 15: MOV TEMP[7].xy, TEMP[4].xyyy 16: TEX TEMP[7].xyz, TEMP[7], SAMP[5], 2D 17: MAD TEMP[7].xyz, TEMP[7].xyzz, IMM[0].xxxx, IMM[0].yyyy 18: MAD_SAT TEMP[7].xyz, TEMP[7].xyzz, TEMP[6].zzzz, TEMP[3].xyzz 19: MOV TEMP[4].xy, TEMP[4].xyyy 20: TEX TEMP[4].xy, TEMP[4], SAMP[4], 2D 21: MAD TEMP[2].xy, TEMP[4].xyyy, TEMP[6].yyyy, TEMP[2].xyyy 22: MAD TEMP[4].xy, TEMP[2].xyyy, IMM[0].xxxx, IMM[0].yyyy 23: ADD TEMP[2].xy, TEMP[4].xyyy, -TEMP[6].yyyy 24: DP2 TEMP[4].x, TEMP[2].xyyy, TEMP[2].xyyy 25: ADD_SAT TEMP[4].x, IMM[0].zzzz, -TEMP[4].xxxx 26: RSQ TEMP[6].x, TEMP[4].xxxx 27: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[4].xxxx 28: CMP TEMP[6].x, -TEMP[4].xxxx, TEMP[6].xxxx, IMM[0].wwww 29: MOV TEMP[2].z, TEMP[6].xxxx 30: ADD TEMP[3].x, TEMP[3].wwww, IMM[1].xxxx 31: DP3 TEMP[4].x, IN[2].xyzz, TEMP[2].xyzz 32: ABS TEMP[6].x, TEMP[4].xxxx 33: ADD TEMP[6].x, IMM[0].zzzz, -TEMP[6].xxxx 34: ADD TEMP[6].x, TEMP[6].xxxx, -CONST[21].xxxx 35: ADD TEMP[8].x, IMM[0].zzzz, -CONST[21].xxxx 36: RCP TEMP[8].x, TEMP[8].xxxx 37: MUL_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[8].xxxx 38: DP3 TEMP[8].x, IN[3].xyzz, IN[3].xyzz 39: RSQ TEMP[8].x, TEMP[8].xxxx 40: MOV TEMP[9].xyz, -IN[2].xyzx 41: DP3 TEMP[10].x, TEMP[2].xyzz, TEMP[9].xyzz 42: MUL TEMP[10].xyz, TEMP[10].xxxx, TEMP[2].xyzz 43: MUL TEMP[10].xyz, IMM[0].xxxx, TEMP[10].xyzz 44: ADD TEMP[9].xyz, TEMP[9].xyzz, -TEMP[10].xyzz 45: DP3 TEMP[9].x, TEMP[9].xyzz, IN[3].xyzz 46: MUL_SAT TEMP[9].x, TEMP[9].xxxx, TEMP[8].xxxx 47: MUL TEMP[3].x, TEMP[3].xxxx, CONST[20].zzzz 48: POW TEMP[3].x, TEMP[9].xxxx, TEMP[3].xxxx 49: MUL TEMP[3].x, TEMP[3].xxxx, CONST[20].yyyy 50: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 51: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[8].xxxx 52: ABS TEMP[2].x, TEMP[2].xxxx 53: ADD_SAT TEMP[2].x, IMM[0].zzzz, -TEMP[2].xxxx 54: POW TEMP[2].x, TEMP[2].xxxx, CONST[19].zzzz 55: MAD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[19].yyyy, CONST[19].xxxx 56: MUL TEMP[2].x, TEMP[3].xxxx, TEMP[2].xxxx 57: MUL TEMP[3].x, IMM[0].xxxx, TEMP[6].xxxx 58: ADD TEMP[3].x, IMM[1].yyyy, -TEMP[3].xxxx 59: MUL TEMP[3].x, TEMP[6].xxxx, TEMP[3].xxxx 60: MUL TEMP[3].x, TEMP[6].xxxx, TEMP[3].xxxx 61: MOV_SAT TEMP[4].x, TEMP[4].xxxx 62: MAD_SAT TEMP[3].x, TEMP[3].xxxx, CONST[21].yyyy, TEMP[4].xxxx 63: MUL TEMP[3].x, TEMP[3].xxxx, CONST[20].xxxx 64: MUL TEMP[3].xyz, TEMP[5].xyzz, TEMP[3].xxxx 65: MAD TEMP[2].xyz, TEMP[7].xyzz, TEMP[2].xxxx, TEMP[3].xyzz 66: MOV TEMP[3].xyz, TEMP[2].xyzx 67: MOV TEMP[4].x, IMM[0].wwww 68: MUL TEMP[5], CONST[2], IN[4].xxxx 69: MAD TEMP[5], CONST[3], IN[4].yyyy, TEMP[5] 70: MAD TEMP[5], CONST[4], IN[4].zzzz, TEMP[5] 71: MAD TEMP[5], CONST[5], IN[4].wwww, TEMP[5] 72: MOV TEMP[6].xyz, TEMP[5] 73: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].zzzz 74: ABS TEMP[5].xy, TEMP[5].xyyy 75: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 76: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 77: UIF TEMP[5].xxxx :2 78: MUL TEMP[5], CONST[6], IN[4].xxxx 79: MAD TEMP[5], CONST[7], IN[4].yyyy, TEMP[5] 80: MAD TEMP[5], CONST[8], IN[4].zzzz, TEMP[5] 81: MAD TEMP[5], CONST[9], IN[4].wwww, TEMP[5] 82: MOV TEMP[6].xyz, TEMP[5] 83: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xyyy 84: ABS TEMP[5].xy, TEMP[5].xyyy 85: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 86: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 87: UIF TEMP[5].xxxx :2 88: MUL TEMP[5], CONST[10], IN[4].xxxx 89: MAD TEMP[5], CONST[11], IN[4].yyyy, TEMP[5] 90: MAD TEMP[5], CONST[12], IN[4].zzzz, TEMP[5] 91: MAD TEMP[5], CONST[13], IN[4].wwww, TEMP[5] 92: MOV TEMP[6], TEMP[5] 93: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].yxxx 94: ABS TEMP[5].xy, TEMP[5].xyyy 95: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 96: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 97: UIF TEMP[5].xxxx :2 98: MUL TEMP[5], CONST[14], IN[4].xxxx 99: MAD TEMP[5], CONST[15], IN[4].yyyy, TEMP[5] 100: MAD TEMP[5], CONST[16], IN[4].zzzz, TEMP[5] 101: MAD TEMP[5], CONST[17], IN[4].wwww, TEMP[5] 102: MOV TEMP[6], TEMP[5] 103: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[2].xxxx 104: ABS TEMP[5].xy, TEMP[5].xyyy 105: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[5].yyyy 106: FSGE TEMP[5].x, TEMP[5].xxxx, IMM[1].wwww 107: UIF TEMP[5].xxxx :2 108: MOV TEMP[4].x, IMM[0].zzzz 109: ENDIF 110: ENDIF 111: ENDIF 112: ENDIF 113: FSEQ TEMP[5].x, TEMP[4].xxxx, IMM[0].wwww 114: UIF TEMP[5].xxxx :2 115: MOV TEMP[5].z, IMM[0].wwww 116: MUL TEMP[5].xy, TEMP[0].xyyy, IMM[2].zzzz 117: MOV TEMP[7].xy, TEMP[5].xyxx 118: ADD TEMP[6].xy, TEMP[6].xyyy, -CONST[1].zzzz 119: MOV TEMP[5].xyz, TEMP[5].xyzz 120: TEX TEMP[5], TEMP[5], SAMP[7], 3D 121: MUL TEMP[5], TEMP[5], CONST[1].wwww 122: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 123: MOV TEMP[8].xy, TEMP[8].xyyy 124: MOV TEMP[8].z, TEMP[6].zzzz 125: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 126: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 127: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 128: MOV TEMP[5].xy, TEMP[5].xyyy 129: MOV TEMP[5].z, TEMP[6].zzzz 130: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 131: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 132: MOV TEMP[7].z, IMM[2].zzzz 133: MOV TEMP[5].xyz, TEMP[7].xyzz 134: TEX TEMP[5], TEMP[5], SAMP[7], 3D 135: MUL TEMP[5], TEMP[5], CONST[1].wwww 136: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 137: MOV TEMP[8].xy, TEMP[8].xyyy 138: MOV TEMP[8].z, TEMP[6].zzzz 139: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 140: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 141: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 142: MOV TEMP[5].xy, TEMP[5].xyyy 143: MOV TEMP[5].z, TEMP[6].zzzz 144: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 145: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 146: MOV TEMP[7].z, IMM[2].wwww 147: MOV TEMP[5].xyz, TEMP[7].xyzz 148: TEX TEMP[5], TEMP[5], SAMP[7], 3D 149: MUL TEMP[5], TEMP[5], CONST[1].wwww 150: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 151: MOV TEMP[8].xy, TEMP[8].xyyy 152: MOV TEMP[8].z, TEMP[6].zzzz 153: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 154: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 155: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 156: MOV TEMP[5].xy, TEMP[5].xyyy 157: MOV TEMP[5].z, TEMP[6].zzzz 158: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 159: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 160: MOV TEMP[7].z, IMM[3].xxxx 161: MOV TEMP[5].xyz, TEMP[7].xyzz 162: TEX TEMP[5], TEMP[5], SAMP[7], 3D 163: MUL TEMP[5], TEMP[5], CONST[1].wwww 164: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 165: MOV TEMP[8].xy, TEMP[8].xyyy 166: MOV TEMP[8].z, TEMP[6].zzzz 167: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 168: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 169: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 170: MOV TEMP[7].z, IMM[3].yyyy 171: MOV TEMP[5].xy, TEMP[5].xyyy 172: MOV TEMP[5].z, TEMP[6].zzzz 173: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 174: ADD TEMP[5].x, TEMP[4].xxxx, TEMP[5].xxxx 175: MUL TEMP[5].x, TEMP[5].xxxx, IMM[2].wwww 176: MOV TEMP[4].x, TEMP[5].xxxx 177: ADD TEMP[8].x, IMM[0].zzzz, -TEMP[5].xxxx 178: MUL TEMP[8].x, TEMP[5].xxxx, TEMP[8].xxxx 179: FSNE TEMP[8].x, TEMP[8].xxxx, IMM[0].wwww 180: UIF TEMP[8].xxxx :2 181: MUL TEMP[4].x, TEMP[5].xxxx, IMM[3].zzzz 182: MOV TEMP[5].xyz, TEMP[7].xyzz 183: TEX TEMP[5], TEMP[5], SAMP[7], 3D 184: MUL TEMP[5], TEMP[5], CONST[1].wwww 185: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 186: MOV TEMP[8].xy, TEMP[8].xyyy 187: MOV TEMP[8].z, TEMP[6].zzzz 188: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 189: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 190: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 191: MOV TEMP[5].xy, TEMP[5].xyyy 192: MOV TEMP[5].z, TEMP[6].zzzz 193: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 194: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 195: MOV TEMP[7].z, IMM[3].wwww 196: MOV TEMP[5].xyz, TEMP[7].xyzz 197: TEX TEMP[5], TEMP[5], SAMP[7], 3D 198: MUL TEMP[5], TEMP[5], CONST[1].wwww 199: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 200: MOV TEMP[8].xy, TEMP[8].xyyy 201: MOV TEMP[8].z, TEMP[6].zzzz 202: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 203: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 204: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 205: MOV TEMP[5].xy, TEMP[5].xyyy 206: MOV TEMP[5].z, TEMP[6].zzzz 207: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 208: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 209: MOV TEMP[7].z, IMM[4].xxxx 210: MOV TEMP[5].xyz, TEMP[7].xyzz 211: TEX TEMP[5], TEMP[5], SAMP[7], 3D 212: MUL TEMP[5], TEMP[5], CONST[1].wwww 213: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 214: MOV TEMP[8].xy, TEMP[8].xyyy 215: MOV TEMP[8].z, TEMP[6].zzzz 216: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 217: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 218: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 219: MOV TEMP[5].xy, TEMP[5].xyyy 220: MOV TEMP[5].z, TEMP[6].zzzz 221: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 222: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 223: MOV TEMP[7].z, IMM[4].yyyy 224: MOV TEMP[5].xyz, TEMP[7].xyzz 225: TEX TEMP[5], TEMP[5], SAMP[7], 3D 226: MUL TEMP[5], TEMP[5], CONST[1].wwww 227: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 228: MOV TEMP[8].xy, TEMP[8].xyyy 229: MOV TEMP[8].z, TEMP[6].zzzz 230: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 231: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 232: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 233: MOV TEMP[5].xy, TEMP[5].xyyy 234: MOV TEMP[5].z, TEMP[6].zzzz 235: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 236: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 237: MOV TEMP[7].z, IMM[4].zzzz 238: MOV TEMP[5].xyz, TEMP[7].xyzz 239: TEX TEMP[5], TEMP[5], SAMP[7], 3D 240: MUL TEMP[5], TEMP[5], CONST[1].wwww 241: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 242: MOV TEMP[8].xy, TEMP[8].xyyy 243: MOV TEMP[8].z, TEMP[6].zzzz 244: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 245: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 246: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 247: MOV TEMP[5].xy, TEMP[5].xyyy 248: MOV TEMP[5].z, TEMP[6].zzzz 249: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 250: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 251: MOV TEMP[7].z, IMM[4].wwww 252: MOV TEMP[5].xyz, TEMP[7].xyzz 253: TEX TEMP[5], TEMP[5], SAMP[7], 3D 254: MUL TEMP[5], TEMP[5], CONST[1].wwww 255: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 256: MOV TEMP[8].xy, TEMP[8].xyyy 257: MOV TEMP[8].z, TEMP[6].zzzz 258: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 259: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 260: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 261: MOV TEMP[5].xy, TEMP[5].xyyy 262: MOV TEMP[5].z, TEMP[6].zzzz 263: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 264: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 265: MOV TEMP[7].z, IMM[5].xxxx 266: MOV TEMP[5].xyz, TEMP[7].xyzz 267: TEX TEMP[5], TEMP[5], SAMP[7], 3D 268: MUL TEMP[5], TEMP[5], CONST[1].wwww 269: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 270: MOV TEMP[8].xy, TEMP[8].xyyy 271: MOV TEMP[8].z, TEMP[6].zzzz 272: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 273: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 274: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 275: MOV TEMP[5].xy, TEMP[5].xyyy 276: MOV TEMP[5].z, TEMP[6].zzzz 277: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 278: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 279: MOV TEMP[7].z, IMM[5].yyyy 280: MOV TEMP[5].xyz, TEMP[7].xyzz 281: TEX TEMP[5], TEMP[5], SAMP[7], 3D 282: MUL TEMP[5], TEMP[5], CONST[1].wwww 283: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 284: MOV TEMP[8].xy, TEMP[8].xyyy 285: MOV TEMP[8].z, TEMP[6].zzzz 286: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 287: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 288: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 289: MOV TEMP[5].xy, TEMP[5].xyyy 290: MOV TEMP[5].z, TEMP[6].zzzz 291: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 292: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 293: MOV TEMP[7].z, IMM[5].zzzz 294: MOV TEMP[5].xyz, TEMP[7].xyzz 295: TEX TEMP[5], TEMP[5], SAMP[7], 3D 296: MUL TEMP[5], TEMP[5], CONST[1].wwww 297: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 298: MOV TEMP[8].xy, TEMP[8].xyyy 299: MOV TEMP[8].z, TEMP[6].zzzz 300: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 301: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 302: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 303: MOV TEMP[5].xy, TEMP[5].xyyy 304: MOV TEMP[5].z, TEMP[6].zzzz 305: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 306: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 307: MOV TEMP[7].z, IMM[5].wwww 308: MOV TEMP[5].xyz, TEMP[7].xyzz 309: TEX TEMP[5], TEMP[5], SAMP[7], 3D 310: MUL TEMP[5], TEMP[5], CONST[1].wwww 311: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 312: MOV TEMP[8].xy, TEMP[8].xyyy 313: MOV TEMP[8].z, TEMP[6].zzzz 314: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 315: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 316: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 317: MOV TEMP[5].xy, TEMP[5].xyyy 318: MOV TEMP[5].z, TEMP[6].zzzz 319: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 320: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 321: MOV TEMP[7].z, IMM[6].xxxx 322: MOV TEMP[5].xyz, TEMP[7].xyzz 323: TEX TEMP[5], TEMP[5], SAMP[7], 3D 324: MUL TEMP[5], TEMP[5], CONST[1].wwww 325: ADD TEMP[8].xy, TEMP[6].xyyy, TEMP[5].xyyy 326: MOV TEMP[8].xy, TEMP[8].xyyy 327: MOV TEMP[8].z, TEMP[6].zzzz 328: TEX TEMP[8].x, TEMP[8], SAMP[6], SHADOW2D 329: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[8].xxxx 330: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 331: MOV TEMP[5].xy, TEMP[5].xyyy 332: MOV TEMP[5].z, TEMP[6].zzzz 333: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 334: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 335: MOV TEMP[7].z, IMM[6].yyyy 336: MOV TEMP[5].xyz, TEMP[7].xyzz 337: TEX TEMP[5], TEMP[5], SAMP[7], 3D 338: MUL TEMP[5], TEMP[5], CONST[1].wwww 339: ADD TEMP[7].xy, TEMP[6].xyyy, TEMP[5].xyyy 340: MOV TEMP[7].xy, TEMP[7].xyyy 341: MOV TEMP[7].z, TEMP[6].zzzz 342: TEX TEMP[7].x, TEMP[7], SAMP[6], SHADOW2D 343: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx 344: ADD TEMP[5].xy, TEMP[6].xyyy, TEMP[5].zwww 345: MOV TEMP[5].xy, TEMP[5].xyyy 346: MOV TEMP[5].z, TEMP[6].zzzz 347: TEX TEMP[5].x, TEMP[5], SAMP[6], SHADOW2D 348: ADD TEMP[4].x, TEMP[4].xxxx, TEMP[5].xxxx 349: MUL TEMP[4].x, TEMP[4].xxxx, IMM[6].zzzz 350: ENDIF 351: ADD_SAT TEMP[4].x, TEMP[4].xxxx, CONST[1].yyyy 352: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[4].xxxx 353: ENDIF 354: MUL TEMP[2].xyz, TEMP[3].xyzz, CONST[0].xyzz 355: MOV TEMP[2].w, TEMP[1].wwww 356: MUL TEMP[1], TEMP[2], CONST[31] 357: MOV OUT[0], TEMP[1] 358: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 28) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 328) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 336) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 340) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 480) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 484) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 488) %90 = call float @llvm.SI.load.const(<16 x i8> %21, i32 492) %91 = call float @llvm.SI.load.const(<16 x i8> %21, i32 496) %92 = call float @llvm.SI.load.const(<16 x i8> %21, i32 500) %93 = call float @llvm.SI.load.const(<16 x i8> %21, i32 504) %94 = call float @llvm.SI.load.const(<16 x i8> %21, i32 508) %95 = call float @llvm.SI.load.const(<16 x i8> %21, i32 512) %96 = call float @llvm.SI.load.const(<16 x i8> %21, i32 516) %97 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %98 = load <32 x i8> addrspace(2)* %97, !tbaa !0 %99 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %100 = load <16 x i8> addrspace(2)* %99, !tbaa !0 %101 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %102 = load <32 x i8> addrspace(2)* %101, !tbaa !0 %103 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %104 = load <16 x i8> addrspace(2)* %103, !tbaa !0 %105 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %106 = load <32 x i8> addrspace(2)* %105, !tbaa !0 %107 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %108 = load <16 x i8> addrspace(2)* %107, !tbaa !0 %109 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %110 = load <32 x i8> addrspace(2)* %109, !tbaa !0 %111 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %112 = load <16 x i8> addrspace(2)* %111, !tbaa !0 %113 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %114 = load <32 x i8> addrspace(2)* %113, !tbaa !0 %115 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %116 = load <16 x i8> addrspace(2)* %115, !tbaa !0 %117 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %118 = load <32 x i8> addrspace(2)* %117, !tbaa !0 %119 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %120 = load <16 x i8> addrspace(2)* %119, !tbaa !0 %121 = getelementptr <32 x i8> addrspace(2)* %2, i32 6 %122 = load <32 x i8> addrspace(2)* %121, !tbaa !0 %123 = getelementptr <16 x i8> addrspace(2)* %1, i32 6 %124 = load <16 x i8> addrspace(2)* %123, !tbaa !0 %125 = getelementptr <32 x i8> addrspace(2)* %2, i32 7 %126 = load <32 x i8> addrspace(2)* %125, !tbaa !0 %127 = getelementptr <16 x i8> addrspace(2)* %1, i32 7 %128 = load <16 x i8> addrspace(2)* %127, !tbaa !0 %129 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %130 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %131 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %132 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %133 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %134 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %135 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %136 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %137 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %138 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %139 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %140 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %141 = fmul float %13, %95 %142 = fadd float %141, %96 %143 = bitcast float %129 to i32 %144 = bitcast float %130 to i32 %145 = insertelement <2 x i32> undef, i32 %143, i32 0 %146 = insertelement <2 x i32> %145, i32 %144, i32 1 %147 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %146, <32 x i8> %98, <16 x i8> %100, i32 2) %148 = extractelement <4 x float> %147, i32 0 %149 = extractelement <4 x float> %147, i32 1 %150 = extractelement <4 x float> %147, i32 2 %151 = extractelement <4 x float> %147, i32 3 %152 = bitcast float %129 to i32 %153 = bitcast float %130 to i32 %154 = insertelement <2 x i32> undef, i32 %152, i32 0 %155 = insertelement <2 x i32> %154, i32 %153, i32 1 %156 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %155, <32 x i8> %102, <16 x i8> %104, i32 2) %157 = extractelement <4 x float> %156, i32 0 %158 = extractelement <4 x float> %156, i32 1 %159 = bitcast float %129 to i32 %160 = bitcast float %130 to i32 %161 = insertelement <2 x i32> undef, i32 %159, i32 0 %162 = insertelement <2 x i32> %161, i32 %160, i32 1 %163 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %162, <32 x i8> %106, <16 x i8> %108, i32 2) %164 = extractelement <4 x float> %163, i32 0 %165 = extractelement <4 x float> %163, i32 1 %166 = extractelement <4 x float> %163, i32 2 %167 = extractelement <4 x float> %163, i32 3 %168 = fmul float %129, %87 %169 = fadd float %168, %89 %170 = fmul float %130, %88 %171 = fadd float %170, %90 %172 = bitcast float %169 to i32 %173 = bitcast float %171 to i32 %174 = insertelement <2 x i32> undef, i32 %172, i32 0 %175 = insertelement <2 x i32> %174, i32 %173, i32 1 %176 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %175, <32 x i8> %110, <16 x i8> %112, i32 2) %177 = extractelement <4 x float> %176, i32 0 %178 = extractelement <4 x float> %176, i32 1 %179 = extractelement <4 x float> %176, i32 2 %180 = extractelement <4 x float> %176, i32 3 %181 = fmul float %151, %180 %182 = fmul float %76, %181 %183 = fmul float %77, %181 %184 = fmul float %78, %181 %185 = fmul float %177, 2.000000e+00 %186 = fadd float %185, -1.000000e+00 %187 = fmul float %178, 2.000000e+00 %188 = fadd float %187, -1.000000e+00 %189 = fmul float %179, 2.000000e+00 %190 = fadd float %189, -1.000000e+00 %191 = fmul float %186, %182 %192 = fadd float %191, %148 %193 = fmul float %188, %182 %194 = fadd float %193, %149 %195 = fmul float %190, %182 %196 = fadd float %195, %150 %197 = call float @llvm.AMDIL.clamp.(float %192, float 0.000000e+00, float 1.000000e+00) %198 = call float @llvm.AMDIL.clamp.(float %194, float 0.000000e+00, float 1.000000e+00) %199 = call float @llvm.AMDIL.clamp.(float %196, float 0.000000e+00, float 1.000000e+00) %200 = bitcast float %169 to i32 %201 = bitcast float %171 to i32 %202 = insertelement <2 x i32> undef, i32 %200, i32 0 %203 = insertelement <2 x i32> %202, i32 %201, i32 1 %204 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %203, <32 x i8> %118, <16 x i8> %120, i32 2) %205 = extractelement <4 x float> %204, i32 0 %206 = extractelement <4 x float> %204, i32 1 %207 = extractelement <4 x float> %204, i32 2 %208 = fmul float %205, 2.000000e+00 %209 = fadd float %208, -1.000000e+00 %210 = fmul float %206, 2.000000e+00 %211 = fadd float %210, -1.000000e+00 %212 = fmul float %207, 2.000000e+00 %213 = fadd float %212, -1.000000e+00 %214 = fmul float %209, %184 %215 = fadd float %214, %164 %216 = fmul float %211, %184 %217 = fadd float %216, %165 %218 = fmul float %213, %184 %219 = fadd float %218, %166 %220 = call float @llvm.AMDIL.clamp.(float %215, float 0.000000e+00, float 1.000000e+00) %221 = call float @llvm.AMDIL.clamp.(float %217, float 0.000000e+00, float 1.000000e+00) %222 = call float @llvm.AMDIL.clamp.(float %219, float 0.000000e+00, float 1.000000e+00) %223 = bitcast float %169 to i32 %224 = bitcast float %171 to i32 %225 = insertelement <2 x i32> undef, i32 %223, i32 0 %226 = insertelement <2 x i32> %225, i32 %224, i32 1 %227 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %226, <32 x i8> %114, <16 x i8> %116, i32 2) %228 = extractelement <4 x float> %227, i32 0 %229 = extractelement <4 x float> %227, i32 1 %230 = fmul float %228, %183 %231 = fadd float %230, %157 %232 = fmul float %229, %183 %233 = fadd float %232, %158 %234 = fmul float %231, 2.000000e+00 %235 = fadd float %234, -1.000000e+00 %236 = fmul float %233, 2.000000e+00 %237 = fadd float %236, -1.000000e+00 %238 = fsub float -0.000000e+00, %183 %239 = fadd float %235, %238 %240 = fsub float -0.000000e+00, %183 %241 = fadd float %237, %240 %242 = fmul float %239, %239 %243 = fmul float %241, %241 %244 = fadd float %242, %243 %245 = fsub float -0.000000e+00, %244 %246 = fadd float 1.000000e+00, %245 %247 = call float @llvm.AMDIL.clamp.(float %246, float 0.000000e+00, float 1.000000e+00) %248 = call float @llvm.AMDGPU.rsq(float %247) %249 = fmul float %248, %247 %250 = fsub float -0.000000e+00, %247 %251 = call float @llvm.AMDGPU.cndlt(float %250, float %249, float 0.000000e+00) %252 = fadd float %167, 0x3F1A36E2E0000000 %253 = fmul float %131, %239 %254 = fmul float %132, %241 %255 = fadd float %254, %253 %256 = fmul float %133, %251 %257 = fadd float %255, %256 %258 = call float @fabs(float %257) %259 = fsub float -0.000000e+00, %258 %260 = fadd float 1.000000e+00, %259 %261 = fsub float -0.000000e+00, %85 %262 = fadd float %260, %261 %263 = fsub float -0.000000e+00, %85 %264 = fadd float 1.000000e+00, %263 %265 = fdiv float 1.000000e+00, %264 %266 = fmul float %262, %265 %267 = call float @llvm.AMDIL.clamp.(float %266, float 0.000000e+00, float 1.000000e+00) %268 = fmul float %134, %134 %269 = fmul float %135, %135 %270 = fadd float %269, %268 %271 = fmul float %136, %136 %272 = fadd float %270, %271 %273 = call float @llvm.AMDGPU.rsq(float %272) %274 = fsub float -0.000000e+00, %131 %275 = fsub float -0.000000e+00, %132 %276 = fsub float -0.000000e+00, %133 %277 = fmul float %239, %274 %278 = fmul float %241, %275 %279 = fadd float %278, %277 %280 = fmul float %251, %276 %281 = fadd float %279, %280 %282 = fmul float %281, %239 %283 = fmul float %281, %241 %284 = fmul float %281, %251 %285 = fmul float 2.000000e+00, %282 %286 = fmul float 2.000000e+00, %283 %287 = fmul float 2.000000e+00, %284 %288 = fsub float -0.000000e+00, %285 %289 = fadd float %274, %288 %290 = fsub float -0.000000e+00, %286 %291 = fadd float %275, %290 %292 = fsub float -0.000000e+00, %287 %293 = fadd float %276, %292 %294 = fmul float %289, %134 %295 = fmul float %291, %135 %296 = fadd float %295, %294 %297 = fmul float %293, %136 %298 = fadd float %296, %297 %299 = fmul float %298, %273 %300 = call float @llvm.AMDIL.clamp.(float %299, float 0.000000e+00, float 1.000000e+00) %301 = fmul float %252, %84 %302 = call float @llvm.pow.f32(float %300, float %301) %303 = fmul float %302, %83 %304 = fmul float %134, %239 %305 = fmul float %135, %241 %306 = fadd float %305, %304 %307 = fmul float %136, %251 %308 = fadd float %306, %307 %309 = fmul float %308, %273 %310 = call float @fabs(float %309) %311 = fsub float -0.000000e+00, %310 %312 = fadd float 1.000000e+00, %311 %313 = call float @llvm.AMDIL.clamp.(float %312, float 0.000000e+00, float 1.000000e+00) %314 = call float @llvm.pow.f32(float %313, float %81) %315 = fmul float %314, %80 %316 = fadd float %315, %79 %317 = call float @llvm.AMDIL.clamp.(float %316, float 0.000000e+00, float 1.000000e+00) %318 = fmul float %303, %317 %319 = fmul float 2.000000e+00, %267 %320 = fsub float -0.000000e+00, %319 %321 = fadd float 3.000000e+00, %320 %322 = fmul float %267, %321 %323 = fmul float %267, %322 %324 = call float @llvm.AMDIL.clamp.(float %257, float 0.000000e+00, float 1.000000e+00) %325 = fmul float %323, %86 %326 = fadd float %325, %324 %327 = call float @llvm.AMDIL.clamp.(float %326, float 0.000000e+00, float 1.000000e+00) %328 = fmul float %327, %82 %329 = fmul float %197, %328 %330 = fmul float %198, %328 %331 = fmul float %199, %328 %332 = fmul float %220, %318 %333 = fadd float %332, %329 %334 = fmul float %221, %318 %335 = fadd float %334, %330 %336 = fmul float %222, %318 %337 = fadd float %336, %331 %338 = fmul float %28, %137 %339 = fmul float %29, %137 %340 = fmul float %30, %137 %341 = fmul float %31, %138 %342 = fadd float %341, %338 %343 = fmul float %32, %138 %344 = fadd float %343, %339 %345 = fmul float %33, %138 %346 = fadd float %345, %340 %347 = fmul float %34, %139 %348 = fadd float %347, %342 %349 = fmul float %35, %139 %350 = fadd float %349, %344 %351 = fmul float %36, %139 %352 = fadd float %351, %346 %353 = fmul float %37, %140 %354 = fadd float %353, %348 %355 = fmul float %38, %140 %356 = fadd float %355, %350 %357 = fmul float %39, %140 %358 = fadd float %357, %352 %359 = fadd float %354, -2.500000e-01 %360 = fadd float %356, -2.500000e-01 %361 = call float @fabs(float %359) %362 = call float @fabs(float %360) %363 = fcmp uge float %361, %362 %364 = select i1 %363, float %361, float %362 %365 = fcmp oge float %364, 0x3FCF5C2900000000 %366 = sext i1 %365 to i32 %367 = bitcast i32 %366 to float %368 = bitcast float %367 to i32 %369 = icmp ne i32 %368, 0 br i1 %369, label %IF, label %ENDIF IF: ; preds = %main_body %370 = fmul float %40, %137 %371 = fmul float %41, %137 %372 = fmul float %42, %137 %373 = fmul float %43, %138 %374 = fadd float %373, %370 %375 = fmul float %44, %138 %376 = fadd float %375, %371 %377 = fmul float %45, %138 %378 = fadd float %377, %372 %379 = fmul float %46, %139 %380 = fadd float %379, %374 %381 = fmul float %47, %139 %382 = fadd float %381, %376 %383 = fmul float %48, %139 %384 = fadd float %383, %378 %385 = fmul float %49, %140 %386 = fadd float %385, %380 %387 = fmul float %50, %140 %388 = fadd float %387, %382 %389 = fmul float %51, %140 %390 = fadd float %389, %384 %391 = fadd float %386, -7.500000e-01 %392 = fadd float %388, -2.500000e-01 %393 = call float @fabs(float %391) %394 = call float @fabs(float %392) %395 = fcmp uge float %393, %394 %396 = select i1 %395, float %393, float %394 %397 = fcmp oge float %396, 0x3FCF5C2900000000 %398 = sext i1 %397 to i32 %399 = bitcast i32 %398 to float %400 = bitcast float %399 to i32 %401 = icmp ne i32 %400, 0 br i1 %401, label %IF45, label %ENDIF ENDIF: ; preds = %IF48, %IF45, %IF, %main_body %temp16.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF48 ], [ 0.000000e+00, %IF45 ] %temp24.0 = phi float [ %354, %main_body ], [ %386, %IF ], [ %455, %IF48 ], [ %423, %IF45 ] %temp25.0 = phi float [ %356, %main_body ], [ %388, %IF ], [ %457, %IF48 ], [ %425, %IF45 ] %temp26.0 = phi float [ %358, %main_body ], [ %390, %IF ], [ %459, %IF48 ], [ %427, %IF45 ] %402 = fcmp oeq float %temp16.0, 0.000000e+00 %403 = sext i1 %402 to i32 %404 = bitcast i32 %403 to float %405 = bitcast float %404 to i32 %406 = icmp ne i32 %405, 0 br i1 %406, label %IF54, label %ENDIF53 IF45: ; preds = %IF %407 = fmul float %52, %137 %408 = fmul float %53, %137 %409 = fmul float %54, %137 %410 = fmul float %55, %138 %411 = fadd float %410, %407 %412 = fmul float %56, %138 %413 = fadd float %412, %408 %414 = fmul float %57, %138 %415 = fadd float %414, %409 %416 = fmul float %58, %139 %417 = fadd float %416, %411 %418 = fmul float %59, %139 %419 = fadd float %418, %413 %420 = fmul float %60, %139 %421 = fadd float %420, %415 %422 = fmul float %61, %140 %423 = fadd float %422, %417 %424 = fmul float %62, %140 %425 = fadd float %424, %419 %426 = fmul float %63, %140 %427 = fadd float %426, %421 %428 = fadd float %423, -2.500000e-01 %429 = fadd float %425, -7.500000e-01 %430 = call float @fabs(float %428) %431 = call float @fabs(float %429) %432 = fcmp uge float %430, %431 %433 = select i1 %432, float %430, float %431 %434 = fcmp oge float %433, 0x3FCF5C2900000000 %435 = sext i1 %434 to i32 %436 = bitcast i32 %435 to float %437 = bitcast float %436 to i32 %438 = icmp ne i32 %437, 0 br i1 %438, label %IF48, label %ENDIF IF48: ; preds = %IF45 %439 = fmul float %64, %137 %440 = fmul float %65, %137 %441 = fmul float %66, %137 %442 = fmul float %67, %138 %443 = fadd float %442, %439 %444 = fmul float %68, %138 %445 = fadd float %444, %440 %446 = fmul float %69, %138 %447 = fadd float %446, %441 %448 = fmul float %70, %139 %449 = fadd float %448, %443 %450 = fmul float %71, %139 %451 = fadd float %450, %445 %452 = fmul float %72, %139 %453 = fadd float %452, %447 %454 = fmul float %73, %140 %455 = fadd float %454, %449 %456 = fmul float %74, %140 %457 = fadd float %456, %451 %458 = fmul float %75, %140 %459 = fadd float %458, %453 %460 = fadd float %455, -7.500000e-01 %461 = fadd float %457, -7.500000e-01 %462 = call float @fabs(float %460) %463 = call float @fabs(float %461) %464 = fcmp uge float %462, %463 %465 = select i1 %464, float %462, float %463 %466 = fcmp oge float %465, 0x3FCF5C2900000000 %467 = sext i1 %466 to i32 %468 = bitcast i32 %467 to float %469 = bitcast float %468 to i32 %470 = icmp ne i32 %469, 0 %. = select i1 %470, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF54: ; preds = %ENDIF %471 = fmul float %12, 6.250000e-02 %472 = fmul float %142, 6.250000e-02 %473 = fsub float -0.000000e+00, %26 %474 = fadd float %temp24.0, %473 %475 = fsub float -0.000000e+00, %26 %476 = fadd float %temp25.0, %475 %477 = bitcast float %471 to i32 %478 = bitcast float %472 to i32 %479 = bitcast float 0.000000e+00 to i32 %480 = insertelement <4 x i32> undef, i32 %477, i32 0 %481 = insertelement <4 x i32> %480, i32 %478, i32 1 %482 = insertelement <4 x i32> %481, i32 %479, i32 2 %483 = insertelement <4 x i32> %482, i32 undef, i32 3 %484 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %483, <32 x i8> %126, <16 x i8> %128, i32 3) %485 = extractelement <4 x float> %484, i32 0 %486 = extractelement <4 x float> %484, i32 1 %487 = extractelement <4 x float> %484, i32 2 %488 = extractelement <4 x float> %484, i32 3 %489 = fmul float %485, %27 %490 = fmul float %486, %27 %491 = fmul float %487, %27 %492 = fmul float %488, %27 %493 = fadd float %474, %489 %494 = fadd float %476, %490 %495 = bitcast float %temp26.0 to i32 %496 = bitcast float %493 to i32 %497 = bitcast float %494 to i32 %498 = insertelement <4 x i32> undef, i32 %495, i32 0 %499 = insertelement <4 x i32> %498, i32 %496, i32 1 %500 = insertelement <4 x i32> %499, i32 %497, i32 2 %501 = insertelement <4 x i32> %500, i32 undef, i32 3 %502 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %501, <32 x i8> %122, <16 x i8> %124, i32 7) %503 = extractelement <4 x float> %502, i32 0 %504 = fadd float %temp16.0, %503 %505 = fadd float %474, %491 %506 = fadd float %476, %492 %507 = bitcast float %temp26.0 to i32 %508 = bitcast float %505 to i32 %509 = bitcast float %506 to i32 %510 = insertelement <4 x i32> undef, i32 %507, i32 0 %511 = insertelement <4 x i32> %510, i32 %508, i32 1 %512 = insertelement <4 x i32> %511, i32 %509, i32 2 %513 = insertelement <4 x i32> %512, i32 undef, i32 3 %514 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %513, <32 x i8> %122, <16 x i8> %124, i32 7) %515 = extractelement <4 x float> %514, i32 0 %516 = fadd float %504, %515 %517 = bitcast float %471 to i32 %518 = bitcast float %472 to i32 %519 = bitcast float 6.250000e-02 to i32 %520 = insertelement <4 x i32> undef, i32 %517, i32 0 %521 = insertelement <4 x i32> %520, i32 %518, i32 1 %522 = insertelement <4 x i32> %521, i32 %519, i32 2 %523 = insertelement <4 x i32> %522, i32 undef, i32 3 %524 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %523, <32 x i8> %126, <16 x i8> %128, i32 3) %525 = extractelement <4 x float> %524, i32 0 %526 = extractelement <4 x float> %524, i32 1 %527 = extractelement <4 x float> %524, i32 2 %528 = extractelement <4 x float> %524, i32 3 %529 = fmul float %525, %27 %530 = fmul float %526, %27 %531 = fmul float %527, %27 %532 = fmul float %528, %27 %533 = fadd float %474, %529 %534 = fadd float %476, %530 %535 = bitcast float %temp26.0 to i32 %536 = bitcast float %533 to i32 %537 = bitcast float %534 to i32 %538 = insertelement <4 x i32> undef, i32 %535, i32 0 %539 = insertelement <4 x i32> %538, i32 %536, i32 1 %540 = insertelement <4 x i32> %539, i32 %537, i32 2 %541 = insertelement <4 x i32> %540, i32 undef, i32 3 %542 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %541, <32 x i8> %122, <16 x i8> %124, i32 7) %543 = extractelement <4 x float> %542, i32 0 %544 = fadd float %516, %543 %545 = fadd float %474, %531 %546 = fadd float %476, %532 %547 = bitcast float %temp26.0 to i32 %548 = bitcast float %545 to i32 %549 = bitcast float %546 to i32 %550 = insertelement <4 x i32> undef, i32 %547, i32 0 %551 = insertelement <4 x i32> %550, i32 %548, i32 1 %552 = insertelement <4 x i32> %551, i32 %549, i32 2 %553 = insertelement <4 x i32> %552, i32 undef, i32 3 %554 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %553, <32 x i8> %122, <16 x i8> %124, i32 7) %555 = extractelement <4 x float> %554, i32 0 %556 = fadd float %544, %555 %557 = bitcast float %471 to i32 %558 = bitcast float %472 to i32 %559 = bitcast float 1.250000e-01 to i32 %560 = insertelement <4 x i32> undef, i32 %557, i32 0 %561 = insertelement <4 x i32> %560, i32 %558, i32 1 %562 = insertelement <4 x i32> %561, i32 %559, i32 2 %563 = insertelement <4 x i32> %562, i32 undef, i32 3 %564 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %563, <32 x i8> %126, <16 x i8> %128, i32 3) %565 = extractelement <4 x float> %564, i32 0 %566 = extractelement <4 x float> %564, i32 1 %567 = extractelement <4 x float> %564, i32 2 %568 = extractelement <4 x float> %564, i32 3 %569 = fmul float %565, %27 %570 = fmul float %566, %27 %571 = fmul float %567, %27 %572 = fmul float %568, %27 %573 = fadd float %474, %569 %574 = fadd float %476, %570 %575 = bitcast float %temp26.0 to i32 %576 = bitcast float %573 to i32 %577 = bitcast float %574 to i32 %578 = insertelement <4 x i32> undef, i32 %575, i32 0 %579 = insertelement <4 x i32> %578, i32 %576, i32 1 %580 = insertelement <4 x i32> %579, i32 %577, i32 2 %581 = insertelement <4 x i32> %580, i32 undef, i32 3 %582 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %581, <32 x i8> %122, <16 x i8> %124, i32 7) %583 = extractelement <4 x float> %582, i32 0 %584 = fadd float %556, %583 %585 = fadd float %474, %571 %586 = fadd float %476, %572 %587 = bitcast float %temp26.0 to i32 %588 = bitcast float %585 to i32 %589 = bitcast float %586 to i32 %590 = insertelement <4 x i32> undef, i32 %587, i32 0 %591 = insertelement <4 x i32> %590, i32 %588, i32 1 %592 = insertelement <4 x i32> %591, i32 %589, i32 2 %593 = insertelement <4 x i32> %592, i32 undef, i32 3 %594 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %593, <32 x i8> %122, <16 x i8> %124, i32 7) %595 = extractelement <4 x float> %594, i32 0 %596 = fadd float %584, %595 %597 = bitcast float %471 to i32 %598 = bitcast float %472 to i32 %599 = bitcast float 1.875000e-01 to i32 %600 = insertelement <4 x i32> undef, i32 %597, i32 0 %601 = insertelement <4 x i32> %600, i32 %598, i32 1 %602 = insertelement <4 x i32> %601, i32 %599, i32 2 %603 = insertelement <4 x i32> %602, i32 undef, i32 3 %604 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %603, <32 x i8> %126, <16 x i8> %128, i32 3) %605 = extractelement <4 x float> %604, i32 0 %606 = extractelement <4 x float> %604, i32 1 %607 = extractelement <4 x float> %604, i32 2 %608 = extractelement <4 x float> %604, i32 3 %609 = fmul float %605, %27 %610 = fmul float %606, %27 %611 = fmul float %607, %27 %612 = fmul float %608, %27 %613 = fadd float %474, %609 %614 = fadd float %476, %610 %615 = bitcast float %temp26.0 to i32 %616 = bitcast float %613 to i32 %617 = bitcast float %614 to i32 %618 = insertelement <4 x i32> undef, i32 %615, i32 0 %619 = insertelement <4 x i32> %618, i32 %616, i32 1 %620 = insertelement <4 x i32> %619, i32 %617, i32 2 %621 = insertelement <4 x i32> %620, i32 undef, i32 3 %622 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %621, <32 x i8> %122, <16 x i8> %124, i32 7) %623 = extractelement <4 x float> %622, i32 0 %624 = fadd float %596, %623 %625 = fadd float %474, %611 %626 = fadd float %476, %612 %627 = bitcast float %temp26.0 to i32 %628 = bitcast float %625 to i32 %629 = bitcast float %626 to i32 %630 = insertelement <4 x i32> undef, i32 %627, i32 0 %631 = insertelement <4 x i32> %630, i32 %628, i32 1 %632 = insertelement <4 x i32> %631, i32 %629, i32 2 %633 = insertelement <4 x i32> %632, i32 undef, i32 3 %634 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %633, <32 x i8> %122, <16 x i8> %124, i32 7) %635 = extractelement <4 x float> %634, i32 0 %636 = fadd float %624, %635 %637 = fmul float %636, 1.250000e-01 %638 = fsub float -0.000000e+00, %637 %639 = fadd float 1.000000e+00, %638 %640 = fmul float %637, %639 %641 = fcmp une float %640, 0.000000e+00 %642 = sext i1 %641 to i32 %643 = bitcast i32 %642 to float %644 = bitcast float %643 to i32 %645 = icmp ne i32 %644, 0 br i1 %645, label %IF57, label %ENDIF56 ENDIF53: ; preds = %ENDIF, %ENDIF56 %temp12.0 = phi float [ %1141, %ENDIF56 ], [ %333, %ENDIF ] %temp13.0 = phi float [ %1142, %ENDIF56 ], [ %335, %ENDIF ] %temp14.0 = phi float [ %1143, %ENDIF56 ], [ %337, %ENDIF ] %646 = fmul float %temp12.0, %22 %647 = fmul float %temp13.0, %23 %648 = fmul float %temp14.0, %24 %649 = fmul float %646, %91 %650 = fmul float %647, %92 %651 = fmul float %648, %93 %652 = fmul float %151, %94 %653 = call i32 @llvm.SI.packf16(float %649, float %650) %654 = bitcast i32 %653 to float %655 = call i32 @llvm.SI.packf16(float %651, float %652) %656 = bitcast i32 %655 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %654, float %656, float %654, float %656) ret void IF57: ; preds = %IF54 %657 = fmul float %637, 8.000000e+00 %658 = bitcast float %471 to i32 %659 = bitcast float %472 to i32 %660 = bitcast float 2.500000e-01 to i32 %661 = insertelement <4 x i32> undef, i32 %658, i32 0 %662 = insertelement <4 x i32> %661, i32 %659, i32 1 %663 = insertelement <4 x i32> %662, i32 %660, i32 2 %664 = insertelement <4 x i32> %663, i32 undef, i32 3 %665 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %664, <32 x i8> %126, <16 x i8> %128, i32 3) %666 = extractelement <4 x float> %665, i32 0 %667 = extractelement <4 x float> %665, i32 1 %668 = extractelement <4 x float> %665, i32 2 %669 = extractelement <4 x float> %665, i32 3 %670 = fmul float %666, %27 %671 = fmul float %667, %27 %672 = fmul float %668, %27 %673 = fmul float %669, %27 %674 = fadd float %474, %670 %675 = fadd float %476, %671 %676 = bitcast float %temp26.0 to i32 %677 = bitcast float %674 to i32 %678 = bitcast float %675 to i32 %679 = insertelement <4 x i32> undef, i32 %676, i32 0 %680 = insertelement <4 x i32> %679, i32 %677, i32 1 %681 = insertelement <4 x i32> %680, i32 %678, i32 2 %682 = insertelement <4 x i32> %681, i32 undef, i32 3 %683 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %682, <32 x i8> %122, <16 x i8> %124, i32 7) %684 = extractelement <4 x float> %683, i32 0 %685 = fadd float %657, %684 %686 = fadd float %474, %672 %687 = fadd float %476, %673 %688 = bitcast float %temp26.0 to i32 %689 = bitcast float %686 to i32 %690 = bitcast float %687 to i32 %691 = insertelement <4 x i32> undef, i32 %688, i32 0 %692 = insertelement <4 x i32> %691, i32 %689, i32 1 %693 = insertelement <4 x i32> %692, i32 %690, i32 2 %694 = insertelement <4 x i32> %693, i32 undef, i32 3 %695 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %694, <32 x i8> %122, <16 x i8> %124, i32 7) %696 = extractelement <4 x float> %695, i32 0 %697 = fadd float %685, %696 %698 = bitcast float %471 to i32 %699 = bitcast float %472 to i32 %700 = bitcast float 3.125000e-01 to i32 %701 = insertelement <4 x i32> undef, i32 %698, i32 0 %702 = insertelement <4 x i32> %701, i32 %699, i32 1 %703 = insertelement <4 x i32> %702, i32 %700, i32 2 %704 = insertelement <4 x i32> %703, i32 undef, i32 3 %705 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %704, <32 x i8> %126, <16 x i8> %128, i32 3) %706 = extractelement <4 x float> %705, i32 0 %707 = extractelement <4 x float> %705, i32 1 %708 = extractelement <4 x float> %705, i32 2 %709 = extractelement <4 x float> %705, i32 3 %710 = fmul float %706, %27 %711 = fmul float %707, %27 %712 = fmul float %708, %27 %713 = fmul float %709, %27 %714 = fadd float %474, %710 %715 = fadd float %476, %711 %716 = bitcast float %temp26.0 to i32 %717 = bitcast float %714 to i32 %718 = bitcast float %715 to i32 %719 = insertelement <4 x i32> undef, i32 %716, i32 0 %720 = insertelement <4 x i32> %719, i32 %717, i32 1 %721 = insertelement <4 x i32> %720, i32 %718, i32 2 %722 = insertelement <4 x i32> %721, i32 undef, i32 3 %723 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %722, <32 x i8> %122, <16 x i8> %124, i32 7) %724 = extractelement <4 x float> %723, i32 0 %725 = fadd float %697, %724 %726 = fadd float %474, %712 %727 = fadd float %476, %713 %728 = bitcast float %temp26.0 to i32 %729 = bitcast float %726 to i32 %730 = bitcast float %727 to i32 %731 = insertelement <4 x i32> undef, i32 %728, i32 0 %732 = insertelement <4 x i32> %731, i32 %729, i32 1 %733 = insertelement <4 x i32> %732, i32 %730, i32 2 %734 = insertelement <4 x i32> %733, i32 undef, i32 3 %735 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %734, <32 x i8> %122, <16 x i8> %124, i32 7) %736 = extractelement <4 x float> %735, i32 0 %737 = fadd float %725, %736 %738 = bitcast float %471 to i32 %739 = bitcast float %472 to i32 %740 = bitcast float 3.750000e-01 to i32 %741 = insertelement <4 x i32> undef, i32 %738, i32 0 %742 = insertelement <4 x i32> %741, i32 %739, i32 1 %743 = insertelement <4 x i32> %742, i32 %740, i32 2 %744 = insertelement <4 x i32> %743, i32 undef, i32 3 %745 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %744, <32 x i8> %126, <16 x i8> %128, i32 3) %746 = extractelement <4 x float> %745, i32 0 %747 = extractelement <4 x float> %745, i32 1 %748 = extractelement <4 x float> %745, i32 2 %749 = extractelement <4 x float> %745, i32 3 %750 = fmul float %746, %27 %751 = fmul float %747, %27 %752 = fmul float %748, %27 %753 = fmul float %749, %27 %754 = fadd float %474, %750 %755 = fadd float %476, %751 %756 = bitcast float %temp26.0 to i32 %757 = bitcast float %754 to i32 %758 = bitcast float %755 to i32 %759 = insertelement <4 x i32> undef, i32 %756, i32 0 %760 = insertelement <4 x i32> %759, i32 %757, i32 1 %761 = insertelement <4 x i32> %760, i32 %758, i32 2 %762 = insertelement <4 x i32> %761, i32 undef, i32 3 %763 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %762, <32 x i8> %122, <16 x i8> %124, i32 7) %764 = extractelement <4 x float> %763, i32 0 %765 = fadd float %737, %764 %766 = fadd float %474, %752 %767 = fadd float %476, %753 %768 = bitcast float %temp26.0 to i32 %769 = bitcast float %766 to i32 %770 = bitcast float %767 to i32 %771 = insertelement <4 x i32> undef, i32 %768, i32 0 %772 = insertelement <4 x i32> %771, i32 %769, i32 1 %773 = insertelement <4 x i32> %772, i32 %770, i32 2 %774 = insertelement <4 x i32> %773, i32 undef, i32 3 %775 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %774, <32 x i8> %122, <16 x i8> %124, i32 7) %776 = extractelement <4 x float> %775, i32 0 %777 = fadd float %765, %776 %778 = bitcast float %471 to i32 %779 = bitcast float %472 to i32 %780 = bitcast float 4.375000e-01 to i32 %781 = insertelement <4 x i32> undef, i32 %778, i32 0 %782 = insertelement <4 x i32> %781, i32 %779, i32 1 %783 = insertelement <4 x i32> %782, i32 %780, i32 2 %784 = insertelement <4 x i32> %783, i32 undef, i32 3 %785 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %784, <32 x i8> %126, <16 x i8> %128, i32 3) %786 = extractelement <4 x float> %785, i32 0 %787 = extractelement <4 x float> %785, i32 1 %788 = extractelement <4 x float> %785, i32 2 %789 = extractelement <4 x float> %785, i32 3 %790 = fmul float %786, %27 %791 = fmul float %787, %27 %792 = fmul float %788, %27 %793 = fmul float %789, %27 %794 = fadd float %474, %790 %795 = fadd float %476, %791 %796 = bitcast float %temp26.0 to i32 %797 = bitcast float %794 to i32 %798 = bitcast float %795 to i32 %799 = insertelement <4 x i32> undef, i32 %796, i32 0 %800 = insertelement <4 x i32> %799, i32 %797, i32 1 %801 = insertelement <4 x i32> %800, i32 %798, i32 2 %802 = insertelement <4 x i32> %801, i32 undef, i32 3 %803 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %802, <32 x i8> %122, <16 x i8> %124, i32 7) %804 = extractelement <4 x float> %803, i32 0 %805 = fadd float %777, %804 %806 = fadd float %474, %792 %807 = fadd float %476, %793 %808 = bitcast float %temp26.0 to i32 %809 = bitcast float %806 to i32 %810 = bitcast float %807 to i32 %811 = insertelement <4 x i32> undef, i32 %808, i32 0 %812 = insertelement <4 x i32> %811, i32 %809, i32 1 %813 = insertelement <4 x i32> %812, i32 %810, i32 2 %814 = insertelement <4 x i32> %813, i32 undef, i32 3 %815 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %814, <32 x i8> %122, <16 x i8> %124, i32 7) %816 = extractelement <4 x float> %815, i32 0 %817 = fadd float %805, %816 %818 = bitcast float %471 to i32 %819 = bitcast float %472 to i32 %820 = bitcast float 5.000000e-01 to i32 %821 = insertelement <4 x i32> undef, i32 %818, i32 0 %822 = insertelement <4 x i32> %821, i32 %819, i32 1 %823 = insertelement <4 x i32> %822, i32 %820, i32 2 %824 = insertelement <4 x i32> %823, i32 undef, i32 3 %825 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %824, <32 x i8> %126, <16 x i8> %128, i32 3) %826 = extractelement <4 x float> %825, i32 0 %827 = extractelement <4 x float> %825, i32 1 %828 = extractelement <4 x float> %825, i32 2 %829 = extractelement <4 x float> %825, i32 3 %830 = fmul float %826, %27 %831 = fmul float %827, %27 %832 = fmul float %828, %27 %833 = fmul float %829, %27 %834 = fadd float %474, %830 %835 = fadd float %476, %831 %836 = bitcast float %temp26.0 to i32 %837 = bitcast float %834 to i32 %838 = bitcast float %835 to i32 %839 = insertelement <4 x i32> undef, i32 %836, i32 0 %840 = insertelement <4 x i32> %839, i32 %837, i32 1 %841 = insertelement <4 x i32> %840, i32 %838, i32 2 %842 = insertelement <4 x i32> %841, i32 undef, i32 3 %843 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %842, <32 x i8> %122, <16 x i8> %124, i32 7) %844 = extractelement <4 x float> %843, i32 0 %845 = fadd float %817, %844 %846 = fadd float %474, %832 %847 = fadd float %476, %833 %848 = bitcast float %temp26.0 to i32 %849 = bitcast float %846 to i32 %850 = bitcast float %847 to i32 %851 = insertelement <4 x i32> undef, i32 %848, i32 0 %852 = insertelement <4 x i32> %851, i32 %849, i32 1 %853 = insertelement <4 x i32> %852, i32 %850, i32 2 %854 = insertelement <4 x i32> %853, i32 undef, i32 3 %855 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %854, <32 x i8> %122, <16 x i8> %124, i32 7) %856 = extractelement <4 x float> %855, i32 0 %857 = fadd float %845, %856 %858 = bitcast float %471 to i32 %859 = bitcast float %472 to i32 %860 = bitcast float 5.625000e-01 to i32 %861 = insertelement <4 x i32> undef, i32 %858, i32 0 %862 = insertelement <4 x i32> %861, i32 %859, i32 1 %863 = insertelement <4 x i32> %862, i32 %860, i32 2 %864 = insertelement <4 x i32> %863, i32 undef, i32 3 %865 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %864, <32 x i8> %126, <16 x i8> %128, i32 3) %866 = extractelement <4 x float> %865, i32 0 %867 = extractelement <4 x float> %865, i32 1 %868 = extractelement <4 x float> %865, i32 2 %869 = extractelement <4 x float> %865, i32 3 %870 = fmul float %866, %27 %871 = fmul float %867, %27 %872 = fmul float %868, %27 %873 = fmul float %869, %27 %874 = fadd float %474, %870 %875 = fadd float %476, %871 %876 = bitcast float %temp26.0 to i32 %877 = bitcast float %874 to i32 %878 = bitcast float %875 to i32 %879 = insertelement <4 x i32> undef, i32 %876, i32 0 %880 = insertelement <4 x i32> %879, i32 %877, i32 1 %881 = insertelement <4 x i32> %880, i32 %878, i32 2 %882 = insertelement <4 x i32> %881, i32 undef, i32 3 %883 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %882, <32 x i8> %122, <16 x i8> %124, i32 7) %884 = extractelement <4 x float> %883, i32 0 %885 = fadd float %857, %884 %886 = fadd float %474, %872 %887 = fadd float %476, %873 %888 = bitcast float %temp26.0 to i32 %889 = bitcast float %886 to i32 %890 = bitcast float %887 to i32 %891 = insertelement <4 x i32> undef, i32 %888, i32 0 %892 = insertelement <4 x i32> %891, i32 %889, i32 1 %893 = insertelement <4 x i32> %892, i32 %890, i32 2 %894 = insertelement <4 x i32> %893, i32 undef, i32 3 %895 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %894, <32 x i8> %122, <16 x i8> %124, i32 7) %896 = extractelement <4 x float> %895, i32 0 %897 = fadd float %885, %896 %898 = bitcast float %471 to i32 %899 = bitcast float %472 to i32 %900 = bitcast float 6.250000e-01 to i32 %901 = insertelement <4 x i32> undef, i32 %898, i32 0 %902 = insertelement <4 x i32> %901, i32 %899, i32 1 %903 = insertelement <4 x i32> %902, i32 %900, i32 2 %904 = insertelement <4 x i32> %903, i32 undef, i32 3 %905 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %904, <32 x i8> %126, <16 x i8> %128, i32 3) %906 = extractelement <4 x float> %905, i32 0 %907 = extractelement <4 x float> %905, i32 1 %908 = extractelement <4 x float> %905, i32 2 %909 = extractelement <4 x float> %905, i32 3 %910 = fmul float %906, %27 %911 = fmul float %907, %27 %912 = fmul float %908, %27 %913 = fmul float %909, %27 %914 = fadd float %474, %910 %915 = fadd float %476, %911 %916 = bitcast float %temp26.0 to i32 %917 = bitcast float %914 to i32 %918 = bitcast float %915 to i32 %919 = insertelement <4 x i32> undef, i32 %916, i32 0 %920 = insertelement <4 x i32> %919, i32 %917, i32 1 %921 = insertelement <4 x i32> %920, i32 %918, i32 2 %922 = insertelement <4 x i32> %921, i32 undef, i32 3 %923 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %922, <32 x i8> %122, <16 x i8> %124, i32 7) %924 = extractelement <4 x float> %923, i32 0 %925 = fadd float %897, %924 %926 = fadd float %474, %912 %927 = fadd float %476, %913 %928 = bitcast float %temp26.0 to i32 %929 = bitcast float %926 to i32 %930 = bitcast float %927 to i32 %931 = insertelement <4 x i32> undef, i32 %928, i32 0 %932 = insertelement <4 x i32> %931, i32 %929, i32 1 %933 = insertelement <4 x i32> %932, i32 %930, i32 2 %934 = insertelement <4 x i32> %933, i32 undef, i32 3 %935 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %934, <32 x i8> %122, <16 x i8> %124, i32 7) %936 = extractelement <4 x float> %935, i32 0 %937 = fadd float %925, %936 %938 = bitcast float %471 to i32 %939 = bitcast float %472 to i32 %940 = bitcast float 6.875000e-01 to i32 %941 = insertelement <4 x i32> undef, i32 %938, i32 0 %942 = insertelement <4 x i32> %941, i32 %939, i32 1 %943 = insertelement <4 x i32> %942, i32 %940, i32 2 %944 = insertelement <4 x i32> %943, i32 undef, i32 3 %945 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %944, <32 x i8> %126, <16 x i8> %128, i32 3) %946 = extractelement <4 x float> %945, i32 0 %947 = extractelement <4 x float> %945, i32 1 %948 = extractelement <4 x float> %945, i32 2 %949 = extractelement <4 x float> %945, i32 3 %950 = fmul float %946, %27 %951 = fmul float %947, %27 %952 = fmul float %948, %27 %953 = fmul float %949, %27 %954 = fadd float %474, %950 %955 = fadd float %476, %951 %956 = bitcast float %temp26.0 to i32 %957 = bitcast float %954 to i32 %958 = bitcast float %955 to i32 %959 = insertelement <4 x i32> undef, i32 %956, i32 0 %960 = insertelement <4 x i32> %959, i32 %957, i32 1 %961 = insertelement <4 x i32> %960, i32 %958, i32 2 %962 = insertelement <4 x i32> %961, i32 undef, i32 3 %963 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %962, <32 x i8> %122, <16 x i8> %124, i32 7) %964 = extractelement <4 x float> %963, i32 0 %965 = fadd float %937, %964 %966 = fadd float %474, %952 %967 = fadd float %476, %953 %968 = bitcast float %temp26.0 to i32 %969 = bitcast float %966 to i32 %970 = bitcast float %967 to i32 %971 = insertelement <4 x i32> undef, i32 %968, i32 0 %972 = insertelement <4 x i32> %971, i32 %969, i32 1 %973 = insertelement <4 x i32> %972, i32 %970, i32 2 %974 = insertelement <4 x i32> %973, i32 undef, i32 3 %975 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %974, <32 x i8> %122, <16 x i8> %124, i32 7) %976 = extractelement <4 x float> %975, i32 0 %977 = fadd float %965, %976 %978 = bitcast float %471 to i32 %979 = bitcast float %472 to i32 %980 = bitcast float 7.500000e-01 to i32 %981 = insertelement <4 x i32> undef, i32 %978, i32 0 %982 = insertelement <4 x i32> %981, i32 %979, i32 1 %983 = insertelement <4 x i32> %982, i32 %980, i32 2 %984 = insertelement <4 x i32> %983, i32 undef, i32 3 %985 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %984, <32 x i8> %126, <16 x i8> %128, i32 3) %986 = extractelement <4 x float> %985, i32 0 %987 = extractelement <4 x float> %985, i32 1 %988 = extractelement <4 x float> %985, i32 2 %989 = extractelement <4 x float> %985, i32 3 %990 = fmul float %986, %27 %991 = fmul float %987, %27 %992 = fmul float %988, %27 %993 = fmul float %989, %27 %994 = fadd float %474, %990 %995 = fadd float %476, %991 %996 = bitcast float %temp26.0 to i32 %997 = bitcast float %994 to i32 %998 = bitcast float %995 to i32 %999 = insertelement <4 x i32> undef, i32 %996, i32 0 %1000 = insertelement <4 x i32> %999, i32 %997, i32 1 %1001 = insertelement <4 x i32> %1000, i32 %998, i32 2 %1002 = insertelement <4 x i32> %1001, i32 undef, i32 3 %1003 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1002, <32 x i8> %122, <16 x i8> %124, i32 7) %1004 = extractelement <4 x float> %1003, i32 0 %1005 = fadd float %977, %1004 %1006 = fadd float %474, %992 %1007 = fadd float %476, %993 %1008 = bitcast float %temp26.0 to i32 %1009 = bitcast float %1006 to i32 %1010 = bitcast float %1007 to i32 %1011 = insertelement <4 x i32> undef, i32 %1008, i32 0 %1012 = insertelement <4 x i32> %1011, i32 %1009, i32 1 %1013 = insertelement <4 x i32> %1012, i32 %1010, i32 2 %1014 = insertelement <4 x i32> %1013, i32 undef, i32 3 %1015 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1014, <32 x i8> %122, <16 x i8> %124, i32 7) %1016 = extractelement <4 x float> %1015, i32 0 %1017 = fadd float %1005, %1016 %1018 = bitcast float %471 to i32 %1019 = bitcast float %472 to i32 %1020 = bitcast float 8.125000e-01 to i32 %1021 = insertelement <4 x i32> undef, i32 %1018, i32 0 %1022 = insertelement <4 x i32> %1021, i32 %1019, i32 1 %1023 = insertelement <4 x i32> %1022, i32 %1020, i32 2 %1024 = insertelement <4 x i32> %1023, i32 undef, i32 3 %1025 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1024, <32 x i8> %126, <16 x i8> %128, i32 3) %1026 = extractelement <4 x float> %1025, i32 0 %1027 = extractelement <4 x float> %1025, i32 1 %1028 = extractelement <4 x float> %1025, i32 2 %1029 = extractelement <4 x float> %1025, i32 3 %1030 = fmul float %1026, %27 %1031 = fmul float %1027, %27 %1032 = fmul float %1028, %27 %1033 = fmul float %1029, %27 %1034 = fadd float %474, %1030 %1035 = fadd float %476, %1031 %1036 = bitcast float %temp26.0 to i32 %1037 = bitcast float %1034 to i32 %1038 = bitcast float %1035 to i32 %1039 = insertelement <4 x i32> undef, i32 %1036, i32 0 %1040 = insertelement <4 x i32> %1039, i32 %1037, i32 1 %1041 = insertelement <4 x i32> %1040, i32 %1038, i32 2 %1042 = insertelement <4 x i32> %1041, i32 undef, i32 3 %1043 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1042, <32 x i8> %122, <16 x i8> %124, i32 7) %1044 = extractelement <4 x float> %1043, i32 0 %1045 = fadd float %1017, %1044 %1046 = fadd float %474, %1032 %1047 = fadd float %476, %1033 %1048 = bitcast float %temp26.0 to i32 %1049 = bitcast float %1046 to i32 %1050 = bitcast float %1047 to i32 %1051 = insertelement <4 x i32> undef, i32 %1048, i32 0 %1052 = insertelement <4 x i32> %1051, i32 %1049, i32 1 %1053 = insertelement <4 x i32> %1052, i32 %1050, i32 2 %1054 = insertelement <4 x i32> %1053, i32 undef, i32 3 %1055 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1054, <32 x i8> %122, <16 x i8> %124, i32 7) %1056 = extractelement <4 x float> %1055, i32 0 %1057 = fadd float %1045, %1056 %1058 = bitcast float %471 to i32 %1059 = bitcast float %472 to i32 %1060 = bitcast float 8.750000e-01 to i32 %1061 = insertelement <4 x i32> undef, i32 %1058, i32 0 %1062 = insertelement <4 x i32> %1061, i32 %1059, i32 1 %1063 = insertelement <4 x i32> %1062, i32 %1060, i32 2 %1064 = insertelement <4 x i32> %1063, i32 undef, i32 3 %1065 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1064, <32 x i8> %126, <16 x i8> %128, i32 3) %1066 = extractelement <4 x float> %1065, i32 0 %1067 = extractelement <4 x float> %1065, i32 1 %1068 = extractelement <4 x float> %1065, i32 2 %1069 = extractelement <4 x float> %1065, i32 3 %1070 = fmul float %1066, %27 %1071 = fmul float %1067, %27 %1072 = fmul float %1068, %27 %1073 = fmul float %1069, %27 %1074 = fadd float %474, %1070 %1075 = fadd float %476, %1071 %1076 = bitcast float %temp26.0 to i32 %1077 = bitcast float %1074 to i32 %1078 = bitcast float %1075 to i32 %1079 = insertelement <4 x i32> undef, i32 %1076, i32 0 %1080 = insertelement <4 x i32> %1079, i32 %1077, i32 1 %1081 = insertelement <4 x i32> %1080, i32 %1078, i32 2 %1082 = insertelement <4 x i32> %1081, i32 undef, i32 3 %1083 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1082, <32 x i8> %122, <16 x i8> %124, i32 7) %1084 = extractelement <4 x float> %1083, i32 0 %1085 = fadd float %1057, %1084 %1086 = fadd float %474, %1072 %1087 = fadd float %476, %1073 %1088 = bitcast float %temp26.0 to i32 %1089 = bitcast float %1086 to i32 %1090 = bitcast float %1087 to i32 %1091 = insertelement <4 x i32> undef, i32 %1088, i32 0 %1092 = insertelement <4 x i32> %1091, i32 %1089, i32 1 %1093 = insertelement <4 x i32> %1092, i32 %1090, i32 2 %1094 = insertelement <4 x i32> %1093, i32 undef, i32 3 %1095 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1094, <32 x i8> %122, <16 x i8> %124, i32 7) %1096 = extractelement <4 x float> %1095, i32 0 %1097 = fadd float %1085, %1096 %1098 = bitcast float %471 to i32 %1099 = bitcast float %472 to i32 %1100 = bitcast float 9.375000e-01 to i32 %1101 = insertelement <4 x i32> undef, i32 %1098, i32 0 %1102 = insertelement <4 x i32> %1101, i32 %1099, i32 1 %1103 = insertelement <4 x i32> %1102, i32 %1100, i32 2 %1104 = insertelement <4 x i32> %1103, i32 undef, i32 3 %1105 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1104, <32 x i8> %126, <16 x i8> %128, i32 3) %1106 = extractelement <4 x float> %1105, i32 0 %1107 = extractelement <4 x float> %1105, i32 1 %1108 = extractelement <4 x float> %1105, i32 2 %1109 = extractelement <4 x float> %1105, i32 3 %1110 = fmul float %1106, %27 %1111 = fmul float %1107, %27 %1112 = fmul float %1108, %27 %1113 = fmul float %1109, %27 %1114 = fadd float %474, %1110 %1115 = fadd float %476, %1111 %1116 = bitcast float %temp26.0 to i32 %1117 = bitcast float %1114 to i32 %1118 = bitcast float %1115 to i32 %1119 = insertelement <4 x i32> undef, i32 %1116, i32 0 %1120 = insertelement <4 x i32> %1119, i32 %1117, i32 1 %1121 = insertelement <4 x i32> %1120, i32 %1118, i32 2 %1122 = insertelement <4 x i32> %1121, i32 undef, i32 3 %1123 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1122, <32 x i8> %122, <16 x i8> %124, i32 7) %1124 = extractelement <4 x float> %1123, i32 0 %1125 = fadd float %1097, %1124 %1126 = fadd float %474, %1112 %1127 = fadd float %476, %1113 %1128 = bitcast float %temp26.0 to i32 %1129 = bitcast float %1126 to i32 %1130 = bitcast float %1127 to i32 %1131 = insertelement <4 x i32> undef, i32 %1128, i32 0 %1132 = insertelement <4 x i32> %1131, i32 %1129, i32 1 %1133 = insertelement <4 x i32> %1132, i32 %1130, i32 2 %1134 = insertelement <4 x i32> %1133, i32 undef, i32 3 %1135 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %1134, <32 x i8> %122, <16 x i8> %124, i32 7) %1136 = extractelement <4 x float> %1135, i32 0 %1137 = fadd float %1125, %1136 %1138 = fmul float %1137, 3.125000e-02 br label %ENDIF56 ENDIF56: ; preds = %IF54, %IF57 %temp16.4 = phi float [ %1138, %IF57 ], [ %637, %IF54 ] %1139 = fadd float %temp16.4, %25 %1140 = call float @llvm.AMDIL.clamp.(float %1139, float 0.000000e+00, float 1.000000e+00) %1141 = fmul float %333, %1140 %1142 = fmul float %335, %1140 %1143 = fmul float %337, %1140 br label %ENDIF53 } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8240100 c8250101 c8200000 c8210001 c0840300 c0c60500 bf8c007f f0800f00 00430408 c0840100 bf8c0070 c2000979 c200897b bf8c007f 7e140201 d282000b 04280109 c2000978 c200897a bf8c007f 7e180201 d282000a 04300108 c086030c c0c80518 bf8c007f f0800f00 00640c0a bf8c0770 10201f07 c2000949 bf8c007f 10222000 c0860304 c0c80508 bf8c007f f0800300 00641208 c0860310 c0c80520 bf8c0070 f0800300 0064140a bf8c0770 d2820016 044a2314 062c2d16 062c2cf3 082c2316 d2820012 044e2315 06242512 062424f3 08222312 10242311 d2820012 044a2d16 082424f2 d2060812 02010112 7e265b12 10262513 d2060012 22010112 d0080000 02022480 d2000012 00022680 c84c0600 c84d0601 10282712 c8540400 c8550401 102e2d15 c8600500 c8610501 d2060019 22010118 10343311 08342f1a 0828291a 10342314 d282001a 046a2314 08323519 10342d14 d282001a 046a2d14 d2060015 22010115 082a3515 c8680800 c8690801 102a3515 c86c0900 c86d0901 d2820015 04563719 10322514 d2820014 04662514 d2060019 22010113 08282919 c8640a00 c8650a01 d2820014 04563314 102a351a d2820015 0456371b d2820015 04563319 7e2a5b15 10282b14 d2060814 02010114 7e284f14 c0860308 c0c80510 bf8c007f f0800f00 00641c08 7e1002ff 38d1b717 bf8c0770 0610111f c2000952 bf8c007f 10101000 0e102908 7e104b08 c2000951 bf8c007f 10101000 10122d1a d2820009 0426231b d2820009 04262519 10122b09 d2060109 02010109 081212f2 d2060809 02010109 7e124f09 c200094e bf8c007f 0e121200 7e124b09 c200094d c200894c bf8c007f 7e280201 d2820009 04500109 d2060809 02010109 10281308 d2820008 045e2318 d2820008 04222712 d2060109 02010108 081212f2 c2000954 bf8c007f 0a121200 d2080011 020000f2 7e225511 10122309 d2060809 02010109 06221309 082222ff 40400000 10222309 10122309 d2060808 02010108 c2000955 bf8c007f d2820008 04200109 d2060808 02010108 c2000950 bf8c007f 10221000 c2000948 bf8c007f 10242000 06101d0e 061010f3 d2820008 041a2508 d2060808 02010108 10102308 c200094a bf8c007f 10202000 c0860314 c0c80528 bf8c007f f0800700 0064150a bf8c0770 06122f17 061212f3 d2820009 047a2109 d2060809 02010109 d2820008 04222909 06121b0d 061212f3 d2820009 04162509 d2060809 02010109 10122309 06142d16 061414f3 d282000a 0476210a d206080a 0201010a d2820009 0426290a 0614190c 061414f3 d282000a 0412250a d206080a 0201010a 1014230a 06162b15 061616f3 d282000b 0472210b d206080b 0201010b d282000a 042a290b c83c0d00 c83d0d01 c8400c00 c8410c01 c2000909 bf8c007f 10162000 c200090d bf8c007f d282000b 042e1e00 c8440e00 c8450e01 c2000911 bf8c007f d282000b 042e2200 c8480f00 c8490f01 c2000915 bf8c007f d2820001 042e2400 060002ff be800000 d2060100 02010100 c2000908 bf8c007f 10162000 c200090c bf8c007f d282000b 042e1e00 c2000910 bf8c007f d282000b 042e2200 c2000914 bf8c007f d2820013 042e2400 061626ff be800000 d206010b 0201010b d00c0000 0202010b d2000000 00021700 7e1602ff 3e7ae148 d00c0000 02021700 c203090a bf8c007f 10002006 c203090e bf8c007f d2820000 04021e06 c2030912 bf8c007f d2820000 04022206 c2030916 bf8c007f d282000b 04022406 c2030980 c2038981 bf8c007f 7e000207 d2820003 04000d03 7e280280 be802400 8980007e bf8800ab c2030926 c2038925 c2060924 c2068922 c2070921 c2078920 c208091e c208891d c209091c c209891a c20a0919 c20a8918 bf8c007f d2100000 02022014 d2820000 04021e11 d2820000 0402220e d2820001 04022407 060002ff be800000 d2060100 02010100 d210000b 02022015 d282000b 042e1e12 d282000b 042e220f d2820013 042e240c 061626ff bf400000 d206010b 0201010b d00c000e 0202010b d2000000 003a1700 7e1602ff 3e7ae148 d00c000e 02021700 d2100000 02022013 d2820000 04021e10 d2820000 0402220d d282000b 04022406 7e280280 be86240e 8986067e bf880071 c2060936 c2068935 c2070934 c2078932 c2080931 c2088930 c209092e c209892d c20a092c c20a892a c20b0929 c20b8928 bf8c007f d2100000 02022016 d2820000 04021e13 d2820000 04022210 d2820001 0402240d 060002ff bf400000 d2060100 02010100 d210000b 02022017 d282000b 042e1e14 d282000b 042e2211 d2820013 042e240e 061626ff be800000 d206010b 0201010b d00c0010 0202010b d2000000 00421700 7e1602ff 3e7ae148 d00c0010 02021700 d2100000 02022015 d2820000 04021e12 d2820000 0402220f d282000b 0402240c 7e280280 be8c2410 898c0c7e bf880037 c2070946 c2078945 c2080944 c2088942 c2090941 c2098940 c20a093e c20a893d c20b093c c20b893a c20c0939 c20c8938 bf8c007f d2100000 02022018 d2820000 04021e15 d2820000 04022212 d2820001 0402240f 060002ff bf400000 d2060100 02010100 d210000b 02022019 d282000b 042e1e16 d282000b 042e2213 d2820013 042e2410 061626ff bf400000 d206010b 0201010b d00c0012 0202010b d2000000 004a1700 7e1602ff 3e7ae148 d00c0012 02021700 d2000014 0049e480 d2100000 02022017 d2820000 04021e14 d2820000 04022211 d282000b 0402240e 88fe0c7e 88fe067e 88fe007e d0040000 02010114 be802400 8980007e bf8801b8 c08c031c c0ce0538 c0860318 c0c80530 c2020907 c2010906 c2018905 bf8c007f 7e000203 7e2a0202 d2080001 02022b01 7e1e02ff 3d800000 10201f03 101e04ff 3d800000 7e220280 f0800f00 00c7160f 7e060204 bf8c0770 d282001a 04060717 d2080002 02022b13 d2820013 040a0716 7e36030b 7e38030c 7e3a030d 7e3c030e 7e380313 7e3a031a f0a00100 0064131b bf8c0770 06262714 d2820014 04060719 d2820015 040a0718 7e2c030b 7e2e030c 7e30030d 7e32030e 7e2e0315 7e300314 f0a00100 00641416 bf8c0770 06262913 7e2802ff 3d800000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e000000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820014 040a0716 7e32030b 7e34030c 7e36030d 7e38030e 7e340314 7e360318 f0a00100 00641419 bf8c0770 06262913 7e2802ff 3e400000 7e2a030f 7e2c0310 7e2e0311 7e300312 7e2e0314 f0800f00 00c71415 bf8c0770 d2820018 04060715 d2820019 040a0714 7e34030b 7e36030c 7e38030d 7e3a030e 7e360319 7e380318 f0a00100 0064181a bf8c0770 06263113 d2820018 04060717 d2820003 040a0716 7e28030b 7e2a030c 7e2c030d 7e2e030e 7e2a0303 7e2c0318 f0a00100 00640314 bf8c0770 06060713 100606ff 3e000000 082606f2 10262703 d00a0002 02010113 be822402 8982027e bf880101 7e2202ff 3e800000 f0800f00 00c7130f 7e2e0204 bf8c0700 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b 7e3202ff 41000000 bf8c0770 d2820003 04623303 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ea00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ec00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3ee00000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202f0 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f100000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f200000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f300000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f400000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f500000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f600000 f0800f00 00c7130f bf8c0770 d282000d 04062f14 d282000c 040a2f13 f0a00100 0064180b bf8c0770 06063103 d282000d 04062f16 d282000c 040a2f15 f0a00100 0064130b bf8c0770 06062703 7e2202ff 3f700000 f0800f00 00c70f0f bf8c0770 d282000d 04062f10 d282000c 040a2f0f f0a00100 0064130b bf8c0770 06062703 d282000d 04062f12 d282000c 040a2f11 f0a00100 0064010b bf8c0770 06020303 100602ff 3d000000 88fe027e d2060000 02020103 d2060800 02010100 10100108 10120109 1014010a 88fe007e c202897f c202097e c201897d c201097c c2030902 c2038901 c2040900 bf8c007f 7e060205 7e040206 7e020207 7e000208 d2100003 02020707 d2100002 02020508 10040404 5e040702 d2100001 02020309 10020203 d2100000 0202010a 10000002 5e000300 f8001c0f 02000200 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[4] DCL CONST[0..104] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, 1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: UMUL TEMP[0].x, SV[0].xxxx, IMM[0].xxxx 1: UADD TEMP[0].xyz, TEMP[0].xxxx, IMM[0].yzww 2: UARL ADDR[0].x, TEMP[0].xxxx 3: MOV TEMP[1], CONST[ADDR[0].x+8] 4: UARL ADDR[0].x, TEMP[0].yyyy 5: MOV TEMP[2], CONST[ADDR[0].x+8] 6: UARL ADDR[0].x, TEMP[0].zzzz 7: MOV TEMP[0], CONST[ADDR[0].x+8] 8: MOV TEMP[3].w, IMM[1].xxxx 9: MOV TEMP[3].x, IN[0].xxxx 10: MOV TEMP[3].y, IN[0].yyyy 11: MOV TEMP[3].z, IN[2].wwww 12: MOV TEMP[4].w, IMM[1].xxxx 13: DP4 TEMP[4].x, TEMP[3], TEMP[1] 14: DP4 TEMP[5].x, TEMP[3], TEMP[2] 15: MOV TEMP[4].y, TEMP[5].xxxx 16: DP4 TEMP[3].x, TEMP[3], TEMP[0] 17: MOV TEMP[4].z, TEMP[3].xxxx 18: DP3 TEMP[3].x, IN[2].xyzz, TEMP[1].xyzz 19: DP3 TEMP[5].x, IN[2].xyzz, TEMP[2].xyzz 20: MOV TEMP[3].y, TEMP[5].xxxx 21: DP3 TEMP[5].x, IN[2].xyzz, TEMP[0].xyzz 22: MOV TEMP[3].z, TEMP[5].xxxx 23: DP3 TEMP[5].x, TEMP[3].xyzz, TEMP[3].xyzz 24: RSQ TEMP[5].x, TEMP[5].xxxx 25: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[5].xxxx 26: DP3 TEMP[1].x, IN[3].xyzz, TEMP[1].xyzz 27: DP3 TEMP[2].x, IN[3].xyzz, TEMP[2].xyzz 28: MOV TEMP[1].y, TEMP[2].xxxx 29: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 30: MOV TEMP[1].z, TEMP[0].xxxx 31: DP3 TEMP[0].x, TEMP[1].xyzz, TEMP[1].xyzz 32: RSQ TEMP[0].x, TEMP[0].xxxx 33: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 34: MUL TEMP[1].xyz, TEMP[3].zxyy, TEMP[0].yzxx 35: MAD TEMP[1].xyz, TEMP[3].yzxx, TEMP[0].zxyy, -TEMP[1].xyzz 36: MUL TEMP[1].xyz, TEMP[1].xyzz, IN[3].wwww 37: MOV TEMP[2].zw, IN[1].wwzw 38: MAD TEMP[2].xy, IN[1].xyyy, CONST[104].xyyy, CONST[104].zwww 39: ADD TEMP[5].xyz, TEMP[4].xyzz, -CONST[5].xyzz 40: MUL TEMP[6], CONST[0], TEMP[5].xxxx 41: MAD TEMP[6], CONST[1], TEMP[5].yyyy, TEMP[6] 42: MAD TEMP[5], CONST[2], TEMP[5].zzzz, TEMP[6] 43: ADD TEMP[5], TEMP[5], CONST[3] 44: DP3 TEMP[6].x, CONST[6].xyzz, TEMP[0].xyzz 45: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[1].xyzz 46: MOV TEMP[6].y, TEMP[7].xxxx 47: DP3 TEMP[7].x, CONST[6].xyzz, TEMP[3].xyzz 48: MUL TEMP[7].x, TEMP[7].xxxx, CONST[7].xxxx 49: MOV TEMP[6].z, TEMP[7].xxxx 50: ADD TEMP[7].xyz, CONST[4].xyzz, -TEMP[4].xyzz 51: DP3 TEMP[0].x, TEMP[7].xyzz, TEMP[0].xyzz 52: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[1].xyzz 53: MOV TEMP[0].y, TEMP[1].xxxx 54: DP3 TEMP[1].x, TEMP[7].xyzz, TEMP[3].xyzz 55: MUL TEMP[1].x, TEMP[1].xxxx, CONST[7].xxxx 56: MOV TEMP[0].z, TEMP[1].xxxx 57: MOV OUT[1], TEMP[2] 58: MOV OUT[2], TEMP[6] 59: MOV OUT[3], TEMP[0] 60: MOV OUT[4], TEMP[4] 61: MOV OUT[0], TEMP[5] 62: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1664) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1668) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1672) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 1676) %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %47 = load <16 x i8> addrspace(2)* %46, !tbaa !0 %48 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %47, i32 0, i32 %5) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %54, i32 0, i32 %5) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %61 = load <16 x i8> addrspace(2)* %60, !tbaa !0 %62 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %61, i32 0, i32 %5) %63 = extractelement <4 x float> %62, i32 0 %64 = extractelement <4 x float> %62, i32 1 %65 = extractelement <4 x float> %62, i32 2 %66 = extractelement <4 x float> %62, i32 3 %67 = add i32 %8, %4 %68 = mul i32 %67, 3 %69 = bitcast i32 %68 to float %70 = bitcast float %69 to i32 %71 = add i32 %70, 0 %72 = bitcast float %69 to i32 %73 = add i32 %72, 1 %74 = bitcast float %69 to i32 %75 = add i32 %74, 2 %76 = bitcast i32 %71 to float %77 = bitcast i32 %73 to float %78 = bitcast i32 %75 to float %79 = bitcast float %76 to i32 %80 = shl i32 %79, 4 %81 = add i32 %80, 128 %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %81) %83 = shl i32 %79, 4 %84 = add i32 %83, 132 %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %84) %86 = shl i32 %79, 4 %87 = add i32 %86, 136 %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %87) %89 = shl i32 %79, 4 %90 = add i32 %89, 140 %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %90) %92 = bitcast float %77 to i32 %93 = shl i32 %92, 4 %94 = add i32 %93, 128 %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %94) %96 = shl i32 %92, 4 %97 = add i32 %96, 132 %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %97) %99 = shl i32 %92, 4 %100 = add i32 %99, 136 %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %100) %102 = shl i32 %92, 4 %103 = add i32 %102, 140 %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %103) %105 = bitcast float %78 to i32 %106 = shl i32 %105, 4 %107 = add i32 %106, 128 %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %107) %109 = shl i32 %105, 4 %110 = add i32 %109, 132 %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %110) %112 = shl i32 %105, 4 %113 = add i32 %112, 136 %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %113) %115 = shl i32 %105, 4 %116 = add i32 %115, 140 %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 %116) %118 = fmul float %44, %82 %119 = fmul float %45, %85 %120 = fadd float %118, %119 %121 = fmul float %59, %88 %122 = fadd float %120, %121 %123 = fmul float 1.000000e+00, %91 %124 = fadd float %122, %123 %125 = fmul float %44, %95 %126 = fmul float %45, %98 %127 = fadd float %125, %126 %128 = fmul float %59, %101 %129 = fadd float %127, %128 %130 = fmul float 1.000000e+00, %104 %131 = fadd float %129, %130 %132 = fmul float %44, %108 %133 = fmul float %45, %111 %134 = fadd float %132, %133 %135 = fmul float %59, %114 %136 = fadd float %134, %135 %137 = fmul float 1.000000e+00, %117 %138 = fadd float %136, %137 %139 = fmul float %56, %82 %140 = fmul float %57, %85 %141 = fadd float %140, %139 %142 = fmul float %58, %88 %143 = fadd float %141, %142 %144 = fmul float %56, %95 %145 = fmul float %57, %98 %146 = fadd float %145, %144 %147 = fmul float %58, %101 %148 = fadd float %146, %147 %149 = fmul float %56, %108 %150 = fmul float %57, %111 %151 = fadd float %150, %149 %152 = fmul float %58, %114 %153 = fadd float %151, %152 %154 = fmul float %143, %143 %155 = fmul float %148, %148 %156 = fadd float %155, %154 %157 = fmul float %153, %153 %158 = fadd float %156, %157 %159 = call float @llvm.AMDGPU.rsq(float %158) %160 = fmul float %143, %159 %161 = fmul float %148, %159 %162 = fmul float %153, %159 %163 = fmul float %63, %82 %164 = fmul float %64, %85 %165 = fadd float %164, %163 %166 = fmul float %65, %88 %167 = fadd float %165, %166 %168 = fmul float %63, %95 %169 = fmul float %64, %98 %170 = fadd float %169, %168 %171 = fmul float %65, %101 %172 = fadd float %170, %171 %173 = fmul float %63, %108 %174 = fmul float %64, %111 %175 = fadd float %174, %173 %176 = fmul float %65, %114 %177 = fadd float %175, %176 %178 = fmul float %167, %167 %179 = fmul float %172, %172 %180 = fadd float %179, %178 %181 = fmul float %177, %177 %182 = fadd float %180, %181 %183 = call float @llvm.AMDGPU.rsq(float %182) %184 = fmul float %167, %183 %185 = fmul float %172, %183 %186 = fmul float %177, %183 %187 = fmul float %162, %185 %188 = fmul float %160, %186 %189 = fmul float %161, %184 %190 = fsub float -0.000000e+00, %187 %191 = fmul float %161, %186 %192 = fadd float %191, %190 %193 = fsub float -0.000000e+00, %188 %194 = fmul float %162, %184 %195 = fadd float %194, %193 %196 = fsub float -0.000000e+00, %189 %197 = fmul float %160, %185 %198 = fadd float %197, %196 %199 = fmul float %192, %66 %200 = fmul float %195, %66 %201 = fmul float %198, %66 %202 = fmul float %49, %37 %203 = fadd float %202, %39 %204 = fmul float %50, %38 %205 = fadd float %204, %40 %206 = fsub float -0.000000e+00, %30 %207 = fadd float %124, %206 %208 = fsub float -0.000000e+00, %31 %209 = fadd float %131, %208 %210 = fsub float -0.000000e+00, %32 %211 = fadd float %138, %210 %212 = fmul float %11, %207 %213 = fmul float %12, %207 %214 = fmul float %13, %207 %215 = fmul float %14, %207 %216 = fmul float %15, %209 %217 = fadd float %216, %212 %218 = fmul float %16, %209 %219 = fadd float %218, %213 %220 = fmul float %17, %209 %221 = fadd float %220, %214 %222 = fmul float %18, %209 %223 = fadd float %222, %215 %224 = fmul float %19, %211 %225 = fadd float %224, %217 %226 = fmul float %20, %211 %227 = fadd float %226, %219 %228 = fmul float %21, %211 %229 = fadd float %228, %221 %230 = fmul float %22, %211 %231 = fadd float %230, %223 %232 = fadd float %225, %23 %233 = fadd float %227, %24 %234 = fadd float %229, %25 %235 = fadd float %231, %26 %236 = fmul float %33, %184 %237 = fmul float %34, %185 %238 = fadd float %237, %236 %239 = fmul float %35, %186 %240 = fadd float %238, %239 %241 = fmul float %33, %199 %242 = fmul float %34, %200 %243 = fadd float %242, %241 %244 = fmul float %35, %201 %245 = fadd float %243, %244 %246 = fmul float %33, %160 %247 = fmul float %34, %161 %248 = fadd float %247, %246 %249 = fmul float %35, %162 %250 = fadd float %248, %249 %251 = fmul float %250, %36 %252 = fsub float -0.000000e+00, %124 %253 = fadd float %27, %252 %254 = fsub float -0.000000e+00, %131 %255 = fadd float %28, %254 %256 = fsub float -0.000000e+00, %138 %257 = fadd float %29, %256 %258 = fmul float %253, %184 %259 = fmul float %255, %185 %260 = fadd float %259, %258 %261 = fmul float %257, %186 %262 = fadd float %260, %261 %263 = fmul float %253, %199 %264 = fmul float %255, %200 %265 = fadd float %264, %263 %266 = fmul float %257, %201 %267 = fadd float %265, %266 %268 = fmul float %253, %160 %269 = fmul float %255, %161 %270 = fadd float %269, %268 %271 = fmul float %257, %162 %272 = fadd float %270, %271 %273 = fmul float %272, %36 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %203, float %205, float %51, float %52) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %240, float %245, float %251, float %223) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %262, float %267, float %273, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %124, float %131, float %138, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %232, float %233, float %234, float %235) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 be8403ff 0000068c bf8c007f c2020004 bf8c007f 7e020204 be8403ff 00000684 c2020004 bf8c007f 7e040204 c0860704 bf8c007f e00c2000 80030400 bf8c0770 d2820001 04060505 be8403ff 00000688 c2020004 bf8c007f 7e040204 be8403ff 00000680 c2020004 bf8c007f 7e100204 d2820002 040a1104 f800020f 07060102 bf8c070f 4a020608 d2d60001 02010701 4a040281 34040484 4a0604ff 00000080 e0301000 80000303 c084070c bf8c0070 e00c2000 80020400 bf8c0770 10100704 4a1204ff 00000084 e0301000 80000909 bf8c0770 d2820008 04221305 4a1404ff 00000088 e0301000 80000a0a bf8c0770 d2820008 04221506 34160284 4a1816ff 00000080 e0301000 80000c0c bf8c0770 101a1904 4a1c16ff 00000084 e0301000 80000e0e bf8c0770 d282000d 04361d05 4a1e16ff 00000088 e0301000 80000f0f bf8c0770 d282000d 04361f06 10201b0d d2820010 04421108 4a020282 34020284 4a2202ff 00000080 e0301000 80001111 bf8c0770 10242304 4a2602ff 00000084 e0301000 80001313 bf8c0770 d2820012 044a2705 4a2802ff 00000088 e0301000 80001414 bf8c0770 d2820012 044a2906 d2820010 04422512 7e205b10 10242112 c0840708 bf8c007f e00c2000 80021500 bf8c0770 10320715 d2820019 04661316 d2820019 04661517 10341915 d282001a 046a1d16 d282001a 046a1f17 1036351a d282001b 046e3319 10382315 d282001c 04722716 d282001c 04722917 d282001b 046e391c 7e365b1b 1034371a 103a251a 101a210d 1038371c 103c1b1c 083a3b1e 103a0f1d 10102108 1020111c 10323719 10362519 0820211b 10200f10 c2020118 bf8c007f 10362004 c2028119 bf8c007f d282001b 046e3a05 103c1b19 103e111a 083c3d1f 10080f1e c204011a bf8c007f d2820005 046e0808 100c1a04 d2820006 041a1005 d2820006 041a2408 100e3404 d2820007 041e3205 d2820007 041e3808 c202011c bf8c007f 100e0e04 c0840700 bf8c007f e00c2000 80021e00 bf8c0770 10001d1f d2820000 0402191e d2820000 04021f18 4a1616ff 0000008c e0301000 80000b0b bf8c0770 06001700 c2028114 bf8c007f 0a160005 c2028103 bf8c007f 10181605 1012131f d2820003 0426071e d2820003 040e1518 4a0404ff 0000008c e0301000 80000202 bf8c0770 06040503 c2028115 bf8c007f 0a060405 c2028107 bf8c007f d2820009 04320605 f800021f 09070506 c2028110 bf8c000f 080a0005 100c2105 c2028111 bf8c007f 080e0405 d2820006 041a3b07 1014271f d282000a 042a231e d282000a 042a2918 4a0202ff 0000008c e0301000 80000101 bf8c0770 0614030a c2028112 bf8c007f 08181405 d2820004 041a090c 100c1b05 d2820006 041a1107 d2820006 041a250c 100a3505 d2820005 04163307 d2820005 0416390c 100a0a04 f800022f 01050406 bf8c070f 7e0202f2 f800023f 010a0200 c2020116 bf8c000f 0a001404 c202010b bf8c007f d2820001 04260004 c202010f bf8c007f 06020204 c2020102 bf8c007f 10041604 c2020106 bf8c007f d2820002 040a0604 c202010a bf8c007f d2820002 040a0004 c202010e bf8c007f 06040404 c2020101 bf8c007f 10081604 c2020105 bf8c007f d2820004 04120604 c2020109 bf8c007f d2820004 04120004 c202010d bf8c007f 06080804 c2020100 bf8c007f 100a1604 c2020104 bf8c007f d2820003 04160604 c2020108 bf8c007f d2820000 040e0004 c200010c bf8c007f 06000000 f80008cf 01020400 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 2.0000, -1.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1], TEMP[0] 3: DP3 TEMP[2].x, IN[1].xyzz, IN[1].xyzz 4: RSQ TEMP[2].x, TEMP[2].xxxx 5: MUL TEMP[2].xyz, IN[1].xyzz, TEMP[2].xxxx 6: ABS TEMP[3].x, TEMP[0].zzzz 7: MUL TEMP[3].x, IN[1].wwww, TEMP[3].xxxx 8: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xxxx 9: DDX TEMP[3].xyz, TEMP[2].xyzz 10: MUL TEMP[4], CONST[1].xxxx, TEMP[2].xyzz 11: DDY TEMP[2].xyz, TEMP[4] 12: MOV TEMP[2].xyz, -TEMP[2].xyzx 13: MUL TEMP[4].xyz, TEMP[3].zxyy, TEMP[2].yzxx 14: MAD TEMP[2].xyz, TEMP[3].yzxx, TEMP[2].zxyy, -TEMP[4].xyzz 15: FSLT TEMP[3].x, TEMP[0].zzzz, IMM[0].xxxx 16: UIF TEMP[3].xxxx :0 17: MOV TEMP[1].w, -TEMP[0].zzzz 18: DP2 TEMP[0].x, TEMP[0].xyyy, TEMP[0].xyyy 19: ADD_SAT TEMP[0].x, IMM[0].yyyy, -TEMP[0].xxxx 20: RSQ TEMP[3].x, TEMP[0].xxxx 21: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[0].xxxx 22: CMP TEMP[0].x, -TEMP[0].xxxx, TEMP[3].xxxx, IMM[0].xxxx 23: MOV TEMP[1].z, TEMP[0].xxxx 24: MUL TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 25: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 26: MOV TEMP[2].xy, TEMP[0].xyxx 27: ADD TEMP[0].x, TEMP[0].zzzz, IMM[0].wwww 28: MOV TEMP[2].z, TEMP[0].xxxx 29: ELSE :0 30: MOV TEMP[1].w, TEMP[1].zzzz 31: DP3 TEMP[0].x, TEMP[2].xyzz, TEMP[2].xyzz 32: RSQ TEMP[0].x, TEMP[0].xxxx 33: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[0].xxxx 34: ENDIF 35: MOV TEMP[1].xyz, TEMP[2].xyzx 36: MOV OUT[0], TEMP[1] 37: END ; ModuleID = 'tgsi' @ddxy_lds = external addrspace(3) global [64 x i32] define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %23 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %24 = load <32 x i8> addrspace(2)* %23, !tbaa !0 %25 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %26 = load <16 x i8> addrspace(2)* %25, !tbaa !0 %27 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %33 = bitcast float %27 to i32 %34 = bitcast float %28 to i32 %35 = insertelement <2 x i32> undef, i32 %33, i32 0 %36 = insertelement <2 x i32> %35, i32 %34, i32 1 %37 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %36, <32 x i8> %24, <16 x i8> %26, i32 2) %38 = extractelement <4 x float> %37, i32 0 %39 = extractelement <4 x float> %37, i32 1 %40 = extractelement <4 x float> %37, i32 2 %41 = fmul float %29, %29 %42 = fmul float %30, %30 %43 = fadd float %42, %41 %44 = fmul float %31, %31 %45 = fadd float %43, %44 %46 = call float @llvm.AMDGPU.rsq(float %45) %47 = fmul float %29, %46 %48 = fmul float %30, %46 %49 = fmul float %31, %46 %50 = call float @fabs(float %40) %51 = fmul float %32, %50 %52 = fmul float %47, %51 %53 = fmul float %48, %51 %54 = fmul float %49, %51 %55 = call i32 @llvm.SI.tid() %56 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %55 %57 = bitcast float %52 to i32 store i32 %57, i32 addrspace(3)* %56 %58 = bitcast float %53 to i32 store i32 %58, i32 addrspace(3)* %56 %59 = bitcast float %54 to i32 store i32 %59, i32 addrspace(3)* %56 %60 = call i32 @llvm.SI.tid() %61 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %60 %62 = bitcast float %52 to i32 store i32 %62, i32 addrspace(3)* %61 %63 = bitcast float %53 to i32 store i32 %63, i32 addrspace(3)* %61 %64 = bitcast float %54 to i32 store i32 %64, i32 addrspace(3)* %61 %65 = call i32 @llvm.SI.tid() %66 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %65 %67 = and i32 %65, -4 %68 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %67 %69 = add i32 %67, 1 %70 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %69 %71 = bitcast float %52 to i32 store i32 %71, i32 addrspace(3)* %66 %72 = load i32 addrspace(3)* %68 %73 = bitcast i32 %72 to float %74 = load i32 addrspace(3)* %70 %75 = bitcast i32 %74 to float %76 = fsub float %75, %73 %77 = bitcast float %53 to i32 store i32 %77, i32 addrspace(3)* %66 %78 = load i32 addrspace(3)* %68 %79 = bitcast i32 %78 to float %80 = load i32 addrspace(3)* %70 %81 = bitcast i32 %80 to float %82 = fsub float %81, %79 %83 = bitcast float %54 to i32 store i32 %83, i32 addrspace(3)* %66 %84 = load i32 addrspace(3)* %68 %85 = bitcast i32 %84 to float %86 = load i32 addrspace(3)* %70 %87 = bitcast i32 %86 to float %88 = fsub float %87, %85 %89 = insertelement <4 x float> undef, float %76, i32 0 %90 = insertelement <4 x float> %89, float %82, i32 1 %91 = insertelement <4 x float> %90, float %88, i32 2 %92 = insertelement <4 x float> %91, float %88, i32 3 %93 = extractelement <4 x float> %92, i32 0 %94 = extractelement <4 x float> %92, i32 1 %95 = extractelement <4 x float> %92, i32 2 %96 = fmul float %22, %52 %97 = fmul float %22, %53 %98 = fmul float %22, %54 %99 = fmul float %22, %54 %100 = call i32 @llvm.SI.tid() %101 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %100 %102 = bitcast float %96 to i32 store i32 %102, i32 addrspace(3)* %101 %103 = bitcast float %97 to i32 store i32 %103, i32 addrspace(3)* %101 %104 = bitcast float %98 to i32 store i32 %104, i32 addrspace(3)* %101 %105 = bitcast float %99 to i32 store i32 %105, i32 addrspace(3)* %101 %106 = call i32 @llvm.SI.tid() %107 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %106 %108 = bitcast float %96 to i32 store i32 %108, i32 addrspace(3)* %107 %109 = bitcast float %97 to i32 store i32 %109, i32 addrspace(3)* %107 %110 = bitcast float %98 to i32 store i32 %110, i32 addrspace(3)* %107 %111 = bitcast float %99 to i32 store i32 %111, i32 addrspace(3)* %107 %112 = call i32 @llvm.SI.tid() %113 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %112 %114 = and i32 %112, -4 %115 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %114 %116 = add i32 %114, 2 %117 = getelementptr [64 x i32] addrspace(3)* @ddxy_lds, i32 0, i32 %116 %118 = bitcast float %96 to i32 store i32 %118, i32 addrspace(3)* %113 %119 = load i32 addrspace(3)* %115 %120 = bitcast i32 %119 to float %121 = load i32 addrspace(3)* %117 %122 = bitcast i32 %121 to float %123 = fsub float %122, %120 %124 = bitcast float %97 to i32 store i32 %124, i32 addrspace(3)* %113 %125 = load i32 addrspace(3)* %115 %126 = bitcast i32 %125 to float %127 = load i32 addrspace(3)* %117 %128 = bitcast i32 %127 to float %129 = fsub float %128, %126 %130 = bitcast float %98 to i32 store i32 %130, i32 addrspace(3)* %113 %131 = load i32 addrspace(3)* %115 %132 = bitcast i32 %131 to float %133 = load i32 addrspace(3)* %117 %134 = bitcast i32 %133 to float %135 = fsub float %134, %132 %136 = bitcast float %99 to i32 store i32 %136, i32 addrspace(3)* %113 %137 = load i32 addrspace(3)* %115 %138 = bitcast i32 %137 to float %139 = load i32 addrspace(3)* %117 %140 = bitcast i32 %139 to float %141 = fsub float %140, %138 %142 = insertelement <4 x float> undef, float %123, i32 0 %143 = insertelement <4 x float> %142, float %129, i32 1 %144 = insertelement <4 x float> %143, float %135, i32 2 %145 = insertelement <4 x float> %144, float %141, i32 3 %146 = extractelement <4 x float> %145, i32 0 %147 = extractelement <4 x float> %145, i32 1 %148 = extractelement <4 x float> %145, i32 2 %149 = fsub float -0.000000e+00, %146 %150 = fsub float -0.000000e+00, %147 %151 = fsub float -0.000000e+00, %148 %152 = fmul float %95, %150 %153 = fmul float %93, %151 %154 = fmul float %94, %149 %155 = fsub float -0.000000e+00, %152 %156 = fmul float %94, %151 %157 = fadd float %156, %155 %158 = fsub float -0.000000e+00, %153 %159 = fmul float %95, %149 %160 = fadd float %159, %158 %161 = fsub float -0.000000e+00, %154 %162 = fmul float %93, %150 %163 = fadd float %162, %161 %164 = fcmp olt float %40, 0.000000e+00 %165 = sext i1 %164 to i32 %166 = bitcast i32 %165 to float %167 = bitcast float %166 to i32 %168 = icmp ne i32 %167, 0 br i1 %168, label %IF, label %ELSE IF: ; preds = %main_body %169 = fsub float -0.000000e+00, %40 %170 = fmul float %38, %38 %171 = fmul float %39, %39 %172 = fadd float %170, %171 %173 = fsub float -0.000000e+00, %172 %174 = fadd float 1.000000e+00, %173 %175 = call float @llvm.AMDIL.clamp.(float %174, float 0.000000e+00, float 1.000000e+00) %176 = call float @llvm.AMDGPU.rsq(float %175) %177 = fmul float %176, %175 %178 = fsub float -0.000000e+00, %175 %179 = call float @llvm.AMDGPU.cndlt(float %178, float %177, float 0.000000e+00) %180 = fmul float %179, 2.000000e+00 %181 = fmul float %38, %180 %182 = fmul float %39, %180 %183 = fmul float %179, %180 %184 = fadd float %183, -1.000000e+00 br label %ENDIF ELSE: ; preds = %main_body %185 = fmul float %157, %157 %186 = fmul float %160, %160 %187 = fadd float %186, %185 %188 = fmul float %163, %163 %189 = fadd float %187, %188 %190 = call float @llvm.AMDGPU.rsq(float %189) %191 = fmul float %157, %190 %192 = fmul float %160, %190 %193 = fmul float %163, %190 br label %ENDIF ENDIF: ; preds = %ELSE, %IF %temp7.0 = phi float [ %169, %IF ], [ %40, %ELSE ] %temp8.0 = phi float [ %181, %IF ], [ %191, %ELSE ] %temp9.0 = phi float [ %182, %IF ], [ %192, %ELSE ] %temp10.0 = phi float [ %184, %IF ], [ %193, %ELSE ] %194 = call i32 @llvm.SI.packf16(float %temp8.0, float %temp9.0) %195 = bitcast i32 %194 to float %196 = call i32 @llvm.SI.packf16(float %temp10.0, float %temp7.0) %197 = bitcast i32 %196 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %195, float %197, float %195, float %197) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: readnone declare i32 @llvm.SI.tid() #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc03c1 befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800700 00430202 bf8c0770 d2060105 02010104 c8180700 c8190701 100a0b06 c8180500 c8190501 c81c0400 c81d0401 10100f07 d2820008 04220d06 c8240600 c8250601 d2820000 04221309 7e005b00 10020107 10020b01 d2460007 020100c1 480e0ec1 30100e9f d2c2000a 02010507 d8340000 0001010a 100c0106 100c0b06 d8340000 0006060a 10000109 10000b00 d8340000 0000000a d8340000 0001010a d8340000 0006060a d8340000 0000000a d8340000 0001010a 360e0ec4 38180e81 301a189f d2c2000c 0201050c d8d80000 050c0c0c 30100e9f d2c2000e 02010507 d8d80000 090e0e0e d8340000 0006060a d8d80000 100c0c0c d8d80000 110e0e0e d8340000 0000000a c0800100 bf8c007f c2000104 bf8c007f 10020200 d8d80000 0c0c0c0c d8d80000 0d0e0e0e d8340000 0001010a 100c0c00 d8340000 0006060a 10000000 d8340000 0000000a d8340000 0000000a d8340000 0001010a d8340000 0006060a d8340000 0000000a d8340000 0000000a d8340000 0001010a 380e0e82 30100e9f d2c20007 02010507 d8d80000 01070707 d8d80000 120e0e0e d8340000 0006060a d8d80000 06070707 d8d80000 130e0e0e d8340000 0000000a d8d80000 07070707 d8d80000 080e0e0e d8340000 0000000a 08002310 bf8c007f 08022501 10140300 080a1305 08122706 100c1305 080c0d0a 08141b0c 1002030a 08101107 100a1105 080e0305 1002130a 10001100 08100101 d0020000 02010104 d2000000 00018280 d1040000 02010100 be802400 8980007e d2100000 02021108 d2820000 04020f07 d2820000 04020d06 7e0a5b00 10000b06 10020b07 100a0b08 be802500 89fe007e bf880016 d2100000 02020703 d2820000 04020502 080000f2 d2060800 02010100 7e025b00 10020101 d2060000 22010100 d0080002 02020080 d2000000 000a0280 060a0100 d2820000 03ce0b00 10020b03 100a0b02 d2060004 22010104 88fe007e d25e0000 02020900 d25e0001 02020305 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..5] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { -1.0000, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MUL TEMP[2].x, IN[0].xxxx, CONST[5].xxxx 7: MUL TEMP[3].x, IN[0].yyyy, CONST[5].yyyy 8: MOV TEMP[2].y, TEMP[3].xxxx 9: MOV TEMP[2].z, IMM[0].xxxx 10: MOV TEMP[2].w, CONST[5].wwww 11: MOV OUT[1], TEMP[1] 12: MOV OUT[2], TEMP[2] 13: MOV OUT[0], TEMP[0] 14: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %33 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %34 = load <16 x i8> addrspace(2)* %33, !tbaa !0 %35 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %34, i32 0, i32 %5) %36 = extractelement <4 x float> %35, i32 0 %37 = extractelement <4 x float> %35, i32 1 %38 = extractelement <4 x float> %35, i32 2 %39 = extractelement <4 x float> %35, i32 3 %40 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %41, i32 0, i32 %5) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = fsub float -0.000000e+00, %27 %46 = fadd float %36, %45 %47 = fsub float -0.000000e+00, %28 %48 = fadd float %37, %47 %49 = fsub float -0.000000e+00, %29 %50 = fadd float %38, %49 %51 = fmul float %11, %46 %52 = fmul float %12, %46 %53 = fmul float %13, %46 %54 = fmul float %14, %46 %55 = fmul float %15, %48 %56 = fadd float %55, %51 %57 = fmul float %16, %48 %58 = fadd float %57, %52 %59 = fmul float %17, %48 %60 = fadd float %59, %53 %61 = fmul float %18, %48 %62 = fadd float %61, %54 %63 = fmul float %19, %50 %64 = fadd float %63, %56 %65 = fmul float %20, %50 %66 = fadd float %65, %58 %67 = fmul float %21, %50 %68 = fadd float %67, %60 %69 = fmul float %22, %50 %70 = fadd float %69, %62 %71 = fmul float %23, %39 %72 = fadd float %71, %64 %73 = fmul float %24, %39 %74 = fadd float %73, %66 %75 = fmul float %25, %39 %76 = fadd float %75, %68 %77 = fmul float %26, %39 %78 = fadd float %77, %70 %79 = fmul float %36, %30 %80 = fmul float %37, %31 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %43, float %44, float %60, float %62) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %79, float %80, float -1.000000e+00, float %32) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %72, float %74, float %76, float %78) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020115 bf8c000f 7e000204 d2100000 02020102 c2020114 bf8c007f 7e120204 d2100009 02021301 c2020117 7e1402f3 bf8c007f 7e160204 f800021f 0b0a0009 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL CONST[0] DCL CONST[3..5] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 1.0000, 0.9500, 2.0000, -1.0000} IMM[1] FLT32 { 0.0010, 0.0049, 0.2500, 0.0090} IMM[2] FLT32 { 0.0150, 0.0166, 0.6210, 0.7840} IMM[3] FLT32 { 0.0075, 0.0118, 0.0154, 0.0199} IMM[4] FLT32 { 0.4850, 0.8740, 0.0045, 0.0120} IMM[5] FLT32 { 0.0128, 0.0175, -0.4020, 0.9160} IMM[6] FLT32 { 0.0070, 0.0089, 0.0121, 0.0174} IMM[7] FLT32 { -0.6430, 0.7660, 0.0057, 0.0121} IMM[8] FLT32 { 0.0174, -0.9220, 0.3860, 0.0062} IMM[9] FLT32 { 0.0156, 0.0178, -0.9830, -0.1850} IMM[10] FLT32 { 0.0076, 0.0110, 0.0150, 0.0175} IMM[11] FLT32 { -0.7990, -0.6020, 0.0057, 0.0083} IMM[12] FLT32 { 0.0148, 0.0186, -0.1520, -0.9880} IMM[13] FLT32 { 0.0075, 0.0098, 0.0125, 0.0184} IMM[14] FLT32 { 0.3620, -0.9320, 0.0063, 0.0087} IMM[15] FLT32 { 0.0137, 0.0184, 0.8060, -0.5920} IMM[16] FLT32 { 0.0043, 0.0093, 0.0125, 0.0200} IMM[17] FLT32 { 0.9430, -0.3340, 0.0042, 0.0097} IMM[18] FLT32 { 0.0151, 0.0208, 0.0000, 0.0000} 0: MOV TEMP[0].xyz, IMM[0].xxxx 1: MOV TEMP[1].xy, IN[0].xyyy 2: TEX TEMP[1], TEMP[1], SAMP[0], 2D 3: FSLT TEMP[2].x, TEMP[1].wwww, IMM[0].yyyy 4: UIF TEMP[2].xxxx :0 5: DP3 TEMP[2].x, IN[2].xyzz, IN[2].xyzz 6: RSQ TEMP[2].x, TEMP[2].xxxx 7: MUL TEMP[2].xyz, IN[2].xyzz, TEMP[2].xxxx 8: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[1].wwww 9: MOV TEMP[3].xy, IN[1].xyyy 10: TEX TEMP[3].xy, TEMP[3], SAMP[1], 2D 11: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 12: MUL TEMP[4].x, CONST[0].xxxx, CONST[0].wwww 13: MUL TEMP[4].xy, TEMP[3].xyyy, TEMP[4].xxxx 14: MOV TEMP[5].x, TEMP[3].yyyy 15: MOV TEMP[5].y, -TEMP[3].xxxx 16: MAD TEMP[3].xy, TEMP[4].xyyy, IMM[1].xxxx, TEMP[5].xyyy 17: MAD_SAT TEMP[6].xy, TEMP[3].xyyy, IMM[1].yyyy, IN[0].xyyy 18: MOV TEMP[7].xy, TEMP[6].xyyy 19: TEX TEMP[7], TEMP[7], SAMP[0], 2D 20: MOV TEMP[8].z, IMM[0].wwww 21: MAD TEMP[6].xy, TEMP[6].xyyy, IMM[0].zzzz, IMM[0].wwww 22: MUL TEMP[8].xy, TEMP[6].xyyy, CONST[5].xyyy 23: DP3 TEMP[6].x, TEMP[8].xyzz, TEMP[8].xyzz 24: RSQ TEMP[6].x, TEMP[6].xxxx 25: MUL TEMP[6].xyz, TEMP[8].xyzz, TEMP[6].xxxx 26: MAD TEMP[6].xyz, TEMP[6].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 27: DP3 TEMP[8].x, TEMP[6].xyzz, TEMP[6].xyzz 28: RSQ TEMP[8].x, TEMP[8].xxxx 29: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 30: DP3 TEMP[7].x, TEMP[6].xyzz, TEMP[7].xyzz 31: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 32: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 33: DP3 TEMP[6].x, TEMP[6].xyzz, TEMP[1].xyzz 34: MAD_SAT TEMP[6].x, TEMP[6].xxxx, TEMP[8].xxxx, IMM[1].zzzz 35: MUL TEMP[6].x, TEMP[7].xxxx, TEMP[6].xxxx 36: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[1].wwww, IN[0].xyyy 37: MOV TEMP[8].xy, TEMP[7].xyyy 38: TEX TEMP[8], TEMP[8], SAMP[0], 2D 39: MOV TEMP[9].z, IMM[0].wwww 40: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 41: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 42: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 43: RSQ TEMP[7].x, TEMP[7].xxxx 44: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 45: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 46: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 47: RSQ TEMP[9].x, TEMP[9].xxxx 48: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 49: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 50: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 51: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 52: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 53: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 54: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 55: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[2].xxxx, IN[0].xyyy 56: MOV TEMP[8].xy, TEMP[7].xyyy 57: TEX TEMP[8], TEMP[8], SAMP[0], 2D 58: MOV TEMP[9].z, IMM[0].wwww 59: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 60: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 61: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 62: RSQ TEMP[7].x, TEMP[7].xxxx 63: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 64: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 65: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 66: RSQ TEMP[9].x, TEMP[9].xxxx 67: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 68: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 69: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 70: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 71: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 72: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 73: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 74: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[2].yyyy, IN[0].xyyy 75: MOV TEMP[7].xy, TEMP[3].xyyy 76: TEX TEMP[7], TEMP[7], SAMP[0], 2D 77: MOV TEMP[8].z, IMM[0].wwww 78: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 79: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 80: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 81: RSQ TEMP[3].x, TEMP[3].xxxx 82: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 83: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 84: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 85: RSQ TEMP[8].x, TEMP[8].xxxx 86: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 87: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 88: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 89: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 90: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 91: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 92: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 93: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[2].wwww 94: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[2].zzzz, TEMP[3].xyyy 95: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[3].xxxx, IN[0].xyyy 96: MOV TEMP[8].xy, TEMP[7].xyyy 97: TEX TEMP[8], TEMP[8], SAMP[0], 2D 98: MOV TEMP[9].z, IMM[0].wwww 99: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 100: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 101: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 102: RSQ TEMP[7].x, TEMP[7].xxxx 103: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 104: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 105: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 106: RSQ TEMP[9].x, TEMP[9].xxxx 107: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 108: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 109: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 110: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 111: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 112: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 113: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 114: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[3].yyyy, IN[0].xyyy 115: MOV TEMP[8].xy, TEMP[7].xyyy 116: TEX TEMP[8], TEMP[8], SAMP[0], 2D 117: MOV TEMP[9].z, IMM[0].wwww 118: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 119: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 120: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 121: RSQ TEMP[7].x, TEMP[7].xxxx 122: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 123: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 124: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 125: RSQ TEMP[9].x, TEMP[9].xxxx 126: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 127: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 128: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 129: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 130: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 131: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 132: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 133: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[3].zzzz, IN[0].xyyy 134: MOV TEMP[8].xy, TEMP[7].xyyy 135: TEX TEMP[8], TEMP[8], SAMP[0], 2D 136: MOV TEMP[9].z, IMM[0].wwww 137: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 138: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 139: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 140: RSQ TEMP[7].x, TEMP[7].xxxx 141: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 142: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 143: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 144: RSQ TEMP[9].x, TEMP[9].xxxx 145: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 146: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 147: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 148: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 149: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 150: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 151: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 152: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[3].wwww, IN[0].xyyy 153: MOV TEMP[7].xy, TEMP[3].xyyy 154: TEX TEMP[7], TEMP[7], SAMP[0], 2D 155: MOV TEMP[8].z, IMM[0].wwww 156: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 157: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 158: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 159: RSQ TEMP[3].x, TEMP[3].xxxx 160: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 161: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 162: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 163: RSQ TEMP[8].x, TEMP[8].xxxx 164: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 165: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 166: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 167: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 168: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 169: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 170: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 171: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[4].yyyy 172: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[4].xxxx, TEMP[3].xyyy 173: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[4].zzzz, IN[0].xyyy 174: MOV TEMP[8].xy, TEMP[7].xyyy 175: TEX TEMP[8], TEMP[8], SAMP[0], 2D 176: MOV TEMP[9].z, IMM[0].wwww 177: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 178: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 179: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 180: RSQ TEMP[7].x, TEMP[7].xxxx 181: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 182: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 183: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 184: RSQ TEMP[9].x, TEMP[9].xxxx 185: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 186: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 187: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 188: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 189: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 190: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 191: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 192: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[4].wwww, IN[0].xyyy 193: MOV TEMP[8].xy, TEMP[7].xyyy 194: TEX TEMP[8], TEMP[8], SAMP[0], 2D 195: MOV TEMP[9].z, IMM[0].wwww 196: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 197: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 198: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 199: RSQ TEMP[7].x, TEMP[7].xxxx 200: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 201: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 202: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 203: RSQ TEMP[9].x, TEMP[9].xxxx 204: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 205: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 206: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 207: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 208: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 209: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 210: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 211: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[5].xxxx, IN[0].xyyy 212: MOV TEMP[8].xy, TEMP[7].xyyy 213: TEX TEMP[8], TEMP[8], SAMP[0], 2D 214: MOV TEMP[9].z, IMM[0].wwww 215: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 216: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 217: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 218: RSQ TEMP[7].x, TEMP[7].xxxx 219: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 220: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 221: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 222: RSQ TEMP[9].x, TEMP[9].xxxx 223: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 224: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 225: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 226: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 227: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 228: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 229: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 230: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[5].yyyy, IN[0].xyyy 231: MOV TEMP[7].xy, TEMP[3].xyyy 232: TEX TEMP[7], TEMP[7], SAMP[0], 2D 233: MOV TEMP[8].z, IMM[0].wwww 234: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 235: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 236: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 237: RSQ TEMP[3].x, TEMP[3].xxxx 238: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 239: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 240: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 241: RSQ TEMP[8].x, TEMP[8].xxxx 242: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 243: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 244: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 245: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 246: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 247: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 248: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 249: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[5].wwww 250: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[5].zzzz, TEMP[3].xyyy 251: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[6].xxxx, IN[0].xyyy 252: MOV TEMP[8].xy, TEMP[7].xyyy 253: TEX TEMP[8], TEMP[8], SAMP[0], 2D 254: MOV TEMP[9].z, IMM[0].wwww 255: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 256: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 257: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 258: RSQ TEMP[7].x, TEMP[7].xxxx 259: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 260: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 261: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 262: RSQ TEMP[9].x, TEMP[9].xxxx 263: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 264: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 265: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 266: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 267: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 268: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 269: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 270: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[6].yyyy, IN[0].xyyy 271: MOV TEMP[8].xy, TEMP[7].xyyy 272: TEX TEMP[8], TEMP[8], SAMP[0], 2D 273: MOV TEMP[9].z, IMM[0].wwww 274: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 275: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 276: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 277: RSQ TEMP[7].x, TEMP[7].xxxx 278: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 279: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 280: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 281: RSQ TEMP[9].x, TEMP[9].xxxx 282: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 283: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 284: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 285: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 286: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 287: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 288: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 289: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[6].zzzz, IN[0].xyyy 290: MOV TEMP[8].xy, TEMP[7].xyyy 291: TEX TEMP[8], TEMP[8], SAMP[0], 2D 292: MOV TEMP[9].z, IMM[0].wwww 293: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 294: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 295: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 296: RSQ TEMP[7].x, TEMP[7].xxxx 297: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 298: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 299: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 300: RSQ TEMP[9].x, TEMP[9].xxxx 301: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 302: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 303: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 304: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 305: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 306: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 307: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 308: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[6].wwww, IN[0].xyyy 309: MOV TEMP[7].xy, TEMP[3].xyyy 310: TEX TEMP[7], TEMP[7], SAMP[0], 2D 311: MOV TEMP[8].z, IMM[0].wwww 312: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 313: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 314: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 315: RSQ TEMP[3].x, TEMP[3].xxxx 316: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 317: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 318: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 319: RSQ TEMP[8].x, TEMP[8].xxxx 320: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 321: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 322: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 323: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 324: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 325: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 326: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 327: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[7].yyyy 328: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[7].xxxx, TEMP[3].xyyy 329: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[7].zzzz, IN[0].xyyy 330: MOV TEMP[8].xy, TEMP[7].xyyy 331: TEX TEMP[8], TEMP[8], SAMP[0], 2D 332: MOV TEMP[9].z, IMM[0].wwww 333: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 334: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 335: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 336: RSQ TEMP[7].x, TEMP[7].xxxx 337: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 338: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 339: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 340: RSQ TEMP[9].x, TEMP[9].xxxx 341: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 342: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 343: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 344: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 345: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 346: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 347: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 348: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[6].yyyy, IN[0].xyyy 349: MOV TEMP[8].xy, TEMP[7].xyyy 350: TEX TEMP[8], TEMP[8], SAMP[0], 2D 351: MOV TEMP[9].z, IMM[0].wwww 352: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 353: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 354: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 355: RSQ TEMP[7].x, TEMP[7].xxxx 356: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 357: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 358: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 359: RSQ TEMP[9].x, TEMP[9].xxxx 360: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 361: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 362: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 363: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 364: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 365: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 366: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 367: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[7].wwww, IN[0].xyyy 368: MOV TEMP[8].xy, TEMP[7].xyyy 369: TEX TEMP[8], TEMP[8], SAMP[0], 2D 370: MOV TEMP[9].z, IMM[0].wwww 371: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 372: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 373: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 374: RSQ TEMP[7].x, TEMP[7].xxxx 375: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 376: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 377: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 378: RSQ TEMP[9].x, TEMP[9].xxxx 379: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 380: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 381: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 382: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 383: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 384: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 385: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 386: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[8].xxxx, IN[0].xyyy 387: MOV TEMP[7].xy, TEMP[3].xyyy 388: TEX TEMP[7], TEMP[7], SAMP[0], 2D 389: MOV TEMP[8].z, IMM[0].wwww 390: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 391: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 392: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 393: RSQ TEMP[3].x, TEMP[3].xxxx 394: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 395: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 396: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 397: RSQ TEMP[8].x, TEMP[8].xxxx 398: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 399: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 400: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 401: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 402: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 403: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 404: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 405: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[8].zzzz 406: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[8].yyyy, TEMP[3].xyyy 407: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[8].wwww, IN[0].xyyy 408: MOV TEMP[8].xy, TEMP[7].xyyy 409: TEX TEMP[8], TEMP[8], SAMP[0], 2D 410: MOV TEMP[9].z, IMM[0].wwww 411: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 412: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 413: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 414: RSQ TEMP[7].x, TEMP[7].xxxx 415: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 416: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 417: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 418: RSQ TEMP[9].x, TEMP[9].xxxx 419: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 420: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 421: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 422: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 423: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 424: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 425: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 426: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[3].yyyy, IN[0].xyyy 427: MOV TEMP[8].xy, TEMP[7].xyyy 428: TEX TEMP[8], TEMP[8], SAMP[0], 2D 429: MOV TEMP[9].z, IMM[0].wwww 430: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 431: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 432: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 433: RSQ TEMP[7].x, TEMP[7].xxxx 434: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 435: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 436: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 437: RSQ TEMP[9].x, TEMP[9].xxxx 438: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 439: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 440: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 441: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 442: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 443: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 444: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 445: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[9].xxxx, IN[0].xyyy 446: MOV TEMP[8].xy, TEMP[7].xyyy 447: TEX TEMP[8], TEMP[8], SAMP[0], 2D 448: MOV TEMP[9].z, IMM[0].wwww 449: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 450: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 451: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 452: RSQ TEMP[7].x, TEMP[7].xxxx 453: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 454: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 455: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 456: RSQ TEMP[9].x, TEMP[9].xxxx 457: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 458: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 459: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 460: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 461: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 462: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 463: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 464: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[9].yyyy, IN[0].xyyy 465: MOV TEMP[7].xy, TEMP[3].xyyy 466: TEX TEMP[7], TEMP[7], SAMP[0], 2D 467: MOV TEMP[8].z, IMM[0].wwww 468: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 469: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 470: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 471: RSQ TEMP[3].x, TEMP[3].xxxx 472: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 473: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 474: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 475: RSQ TEMP[8].x, TEMP[8].xxxx 476: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 477: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 478: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 479: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 480: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 481: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 482: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 483: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[9].wwww 484: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[9].zzzz, TEMP[3].xyyy 485: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[10].xxxx, IN[0].xyyy 486: MOV TEMP[8].xy, TEMP[7].xyyy 487: TEX TEMP[8], TEMP[8], SAMP[0], 2D 488: MOV TEMP[9].z, IMM[0].wwww 489: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 490: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 491: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 492: RSQ TEMP[7].x, TEMP[7].xxxx 493: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 494: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 495: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 496: RSQ TEMP[9].x, TEMP[9].xxxx 497: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 498: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 499: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 500: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 501: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 502: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 503: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 504: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[10].yyyy, IN[0].xyyy 505: MOV TEMP[8].xy, TEMP[7].xyyy 506: TEX TEMP[8], TEMP[8], SAMP[0], 2D 507: MOV TEMP[9].z, IMM[0].wwww 508: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 509: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 510: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 511: RSQ TEMP[7].x, TEMP[7].xxxx 512: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 513: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 514: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 515: RSQ TEMP[9].x, TEMP[9].xxxx 516: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 517: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 518: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 519: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 520: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 521: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 522: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 523: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[10].zzzz, IN[0].xyyy 524: MOV TEMP[8].xy, TEMP[7].xyyy 525: TEX TEMP[8], TEMP[8], SAMP[0], 2D 526: MOV TEMP[9].z, IMM[0].wwww 527: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 528: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 529: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 530: RSQ TEMP[7].x, TEMP[7].xxxx 531: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 532: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 533: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 534: RSQ TEMP[9].x, TEMP[9].xxxx 535: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 536: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 537: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 538: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 539: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 540: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 541: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 542: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[10].wwww, IN[0].xyyy 543: MOV TEMP[7].xy, TEMP[3].xyyy 544: TEX TEMP[7], TEMP[7], SAMP[0], 2D 545: MOV TEMP[8].z, IMM[0].wwww 546: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 547: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 548: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 549: RSQ TEMP[3].x, TEMP[3].xxxx 550: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 551: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 552: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 553: RSQ TEMP[8].x, TEMP[8].xxxx 554: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 555: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 556: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 557: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 558: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 559: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 560: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 561: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[11].yyyy 562: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[11].xxxx, TEMP[3].xyyy 563: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[11].zzzz, IN[0].xyyy 564: MOV TEMP[8].xy, TEMP[7].xyyy 565: TEX TEMP[8], TEMP[8], SAMP[0], 2D 566: MOV TEMP[9].z, IMM[0].wwww 567: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 568: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 569: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 570: RSQ TEMP[7].x, TEMP[7].xxxx 571: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 572: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 573: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 574: RSQ TEMP[9].x, TEMP[9].xxxx 575: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 576: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 577: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 578: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 579: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 580: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 581: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 582: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[11].wwww, IN[0].xyyy 583: MOV TEMP[8].xy, TEMP[7].xyyy 584: TEX TEMP[8], TEMP[8], SAMP[0], 2D 585: MOV TEMP[9].z, IMM[0].wwww 586: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 587: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 588: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 589: RSQ TEMP[7].x, TEMP[7].xxxx 590: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 591: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 592: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 593: RSQ TEMP[9].x, TEMP[9].xxxx 594: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 595: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 596: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 597: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 598: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 599: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 600: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 601: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[12].xxxx, IN[0].xyyy 602: MOV TEMP[8].xy, TEMP[7].xyyy 603: TEX TEMP[8], TEMP[8], SAMP[0], 2D 604: MOV TEMP[9].z, IMM[0].wwww 605: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 606: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 607: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 608: RSQ TEMP[7].x, TEMP[7].xxxx 609: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 610: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 611: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 612: RSQ TEMP[9].x, TEMP[9].xxxx 613: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 614: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 615: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 616: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 617: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 618: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 619: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 620: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[12].yyyy, IN[0].xyyy 621: MOV TEMP[7].xy, TEMP[3].xyyy 622: TEX TEMP[7], TEMP[7], SAMP[0], 2D 623: MOV TEMP[8].z, IMM[0].wwww 624: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 625: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 626: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 627: RSQ TEMP[3].x, TEMP[3].xxxx 628: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 629: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 630: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 631: RSQ TEMP[8].x, TEMP[8].xxxx 632: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 633: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 634: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 635: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 636: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 637: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 638: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 639: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[12].wwww 640: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[12].zzzz, TEMP[3].xyyy 641: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[13].xxxx, IN[0].xyyy 642: MOV TEMP[8].xy, TEMP[7].xyyy 643: TEX TEMP[8], TEMP[8], SAMP[0], 2D 644: MOV TEMP[9].z, IMM[0].wwww 645: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 646: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 647: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 648: RSQ TEMP[7].x, TEMP[7].xxxx 649: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 650: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 651: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 652: RSQ TEMP[9].x, TEMP[9].xxxx 653: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 654: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 655: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 656: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 657: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 658: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 659: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 660: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[13].yyyy, IN[0].xyyy 661: MOV TEMP[8].xy, TEMP[7].xyyy 662: TEX TEMP[8], TEMP[8], SAMP[0], 2D 663: MOV TEMP[9].z, IMM[0].wwww 664: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 665: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 666: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 667: RSQ TEMP[7].x, TEMP[7].xxxx 668: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 669: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 670: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 671: RSQ TEMP[9].x, TEMP[9].xxxx 672: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 673: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 674: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 675: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 676: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 677: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 678: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 679: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[13].zzzz, IN[0].xyyy 680: MOV TEMP[8].xy, TEMP[7].xyyy 681: TEX TEMP[8], TEMP[8], SAMP[0], 2D 682: MOV TEMP[9].z, IMM[0].wwww 683: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 684: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 685: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 686: RSQ TEMP[7].x, TEMP[7].xxxx 687: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 688: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 689: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 690: RSQ TEMP[9].x, TEMP[9].xxxx 691: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 692: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 693: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 694: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 695: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 696: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 697: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 698: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[13].wwww, IN[0].xyyy 699: MOV TEMP[7].xy, TEMP[3].xyyy 700: TEX TEMP[7], TEMP[7], SAMP[0], 2D 701: MOV TEMP[8].z, IMM[0].wwww 702: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 703: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 704: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 705: RSQ TEMP[3].x, TEMP[3].xxxx 706: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 707: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 708: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 709: RSQ TEMP[8].x, TEMP[8].xxxx 710: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 711: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 712: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 713: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 714: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 715: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 716: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 717: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[14].yyyy 718: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[14].xxxx, TEMP[3].xyyy 719: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[14].zzzz, IN[0].xyyy 720: MOV TEMP[8].xy, TEMP[7].xyyy 721: TEX TEMP[8], TEMP[8], SAMP[0], 2D 722: MOV TEMP[9].z, IMM[0].wwww 723: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 724: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 725: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 726: RSQ TEMP[7].x, TEMP[7].xxxx 727: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 728: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 729: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 730: RSQ TEMP[9].x, TEMP[9].xxxx 731: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 732: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 733: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 734: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 735: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 736: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 737: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 738: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[14].wwww, IN[0].xyyy 739: MOV TEMP[8].xy, TEMP[7].xyyy 740: TEX TEMP[8], TEMP[8], SAMP[0], 2D 741: MOV TEMP[9].z, IMM[0].wwww 742: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 743: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 744: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 745: RSQ TEMP[7].x, TEMP[7].xxxx 746: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 747: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 748: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 749: RSQ TEMP[9].x, TEMP[9].xxxx 750: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 751: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 752: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 753: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 754: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 755: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 756: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 757: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[15].xxxx, IN[0].xyyy 758: MOV TEMP[8].xy, TEMP[7].xyyy 759: TEX TEMP[8], TEMP[8], SAMP[0], 2D 760: MOV TEMP[9].z, IMM[0].wwww 761: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 762: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 763: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 764: RSQ TEMP[7].x, TEMP[7].xxxx 765: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 766: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 767: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 768: RSQ TEMP[9].x, TEMP[9].xxxx 769: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 770: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 771: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 772: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 773: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 774: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 775: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 776: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[15].yyyy, IN[0].xyyy 777: MOV TEMP[7].xy, TEMP[3].xyyy 778: TEX TEMP[7], TEMP[7], SAMP[0], 2D 779: MOV TEMP[8].z, IMM[0].wwww 780: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 781: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 782: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 783: RSQ TEMP[3].x, TEMP[3].xxxx 784: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 785: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 786: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 787: RSQ TEMP[8].x, TEMP[8].xxxx 788: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 789: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 790: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 791: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 792: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 793: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 794: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 795: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[15].wwww 796: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[15].zzzz, TEMP[3].xyyy 797: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[16].xxxx, IN[0].xyyy 798: MOV TEMP[8].xy, TEMP[7].xyyy 799: TEX TEMP[8], TEMP[8], SAMP[0], 2D 800: MOV TEMP[9].z, IMM[0].wwww 801: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 802: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 803: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 804: RSQ TEMP[7].x, TEMP[7].xxxx 805: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 806: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 807: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 808: RSQ TEMP[9].x, TEMP[9].xxxx 809: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 810: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 811: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 812: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 813: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 814: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 815: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 816: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[16].yyyy, IN[0].xyyy 817: MOV TEMP[8].xy, TEMP[7].xyyy 818: TEX TEMP[8], TEMP[8], SAMP[0], 2D 819: MOV TEMP[9].z, IMM[0].wwww 820: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 821: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 822: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 823: RSQ TEMP[7].x, TEMP[7].xxxx 824: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 825: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 826: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 827: RSQ TEMP[9].x, TEMP[9].xxxx 828: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 829: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 830: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 831: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 832: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 833: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 834: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 835: MAD_SAT TEMP[7].xy, TEMP[3].xyyy, IMM[16].zzzz, IN[0].xyyy 836: MOV TEMP[8].xy, TEMP[7].xyyy 837: TEX TEMP[8], TEMP[8], SAMP[0], 2D 838: MOV TEMP[9].z, IMM[0].wwww 839: MAD TEMP[7].xy, TEMP[7].xyyy, IMM[0].zzzz, IMM[0].wwww 840: MUL TEMP[9].xy, TEMP[7].xyyy, CONST[5].xyyy 841: DP3 TEMP[7].x, TEMP[9].xyzz, TEMP[9].xyzz 842: RSQ TEMP[7].x, TEMP[7].xxxx 843: MUL TEMP[7].xyz, TEMP[9].xyzz, TEMP[7].xxxx 844: MAD TEMP[7].xyz, TEMP[7].xyzz, TEMP[8].wwww, -TEMP[2].xyzz 845: DP3 TEMP[9].x, TEMP[7].xyzz, TEMP[7].xyzz 846: RSQ TEMP[9].x, TEMP[9].xxxx 847: MUL_SAT TEMP[10].x, CONST[3].xxxx, TEMP[9].xxxx 848: DP3 TEMP[8].x, TEMP[7].xyzz, TEMP[8].xyzz 849: MAD_SAT TEMP[8].x, -TEMP[8].xxxx, TEMP[9].xxxx, CONST[4].xxxx 850: MUL TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 851: DP3 TEMP[7].x, TEMP[7].xyzz, TEMP[1].xyzz 852: MAD_SAT TEMP[7].x, TEMP[7].xxxx, TEMP[9].xxxx, IMM[1].zzzz 853: MAD TEMP[6].x, TEMP[8].xxxx, TEMP[7].xxxx, TEMP[6].xxxx 854: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[16].wwww, IN[0].xyyy 855: MOV TEMP[7].xy, TEMP[3].xyyy 856: TEX TEMP[7], TEMP[7], SAMP[0], 2D 857: MOV TEMP[8].z, IMM[0].wwww 858: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 859: MUL TEMP[8].xy, TEMP[3].xyyy, CONST[5].xyyy 860: DP3 TEMP[3].x, TEMP[8].xyzz, TEMP[8].xyzz 861: RSQ TEMP[3].x, TEMP[3].xxxx 862: MUL TEMP[3].xyz, TEMP[8].xyzz, TEMP[3].xxxx 863: MAD TEMP[3].xyz, TEMP[3].xyzz, TEMP[7].wwww, -TEMP[2].xyzz 864: DP3 TEMP[8].x, TEMP[3].xyzz, TEMP[3].xyzz 865: RSQ TEMP[8].x, TEMP[8].xxxx 866: MUL_SAT TEMP[9].x, CONST[3].xxxx, TEMP[8].xxxx 867: DP3 TEMP[7].x, TEMP[3].xyzz, TEMP[7].xyzz 868: MAD_SAT TEMP[7].x, -TEMP[7].xxxx, TEMP[8].xxxx, CONST[4].xxxx 869: MUL TEMP[7].x, TEMP[9].xxxx, TEMP[7].xxxx 870: DP3 TEMP[3].x, TEMP[3].xyzz, TEMP[1].xyzz 871: MAD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[8].xxxx, IMM[1].zzzz 872: MAD TEMP[6].x, TEMP[7].xxxx, TEMP[3].xxxx, TEMP[6].xxxx 873: MUL TEMP[3].xy, TEMP[4].xyyy, IMM[17].yyyy 874: MAD TEMP[3].xy, TEMP[5].xyyy, IMM[17].xxxx, TEMP[3].xyyy 875: MAD_SAT TEMP[4].xy, TEMP[3].xyyy, IMM[17].zzzz, IN[0].xyyy 876: MOV TEMP[5].xy, TEMP[4].xyyy 877: TEX TEMP[5], TEMP[5], SAMP[0], 2D 878: MOV TEMP[7].z, IMM[0].wwww 879: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[0].zzzz, IMM[0].wwww 880: MUL TEMP[7].xy, TEMP[4].xyyy, CONST[5].xyyy 881: DP3 TEMP[4].x, TEMP[7].xyzz, TEMP[7].xyzz 882: RSQ TEMP[4].x, TEMP[4].xxxx 883: MUL TEMP[4].xyz, TEMP[7].xyzz, TEMP[4].xxxx 884: MAD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].wwww, -TEMP[2].xyzz 885: DP3 TEMP[7].x, TEMP[4].xyzz, TEMP[4].xyzz 886: RSQ TEMP[7].x, TEMP[7].xxxx 887: MUL_SAT TEMP[8].x, CONST[3].xxxx, TEMP[7].xxxx 888: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 889: MAD_SAT TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, CONST[4].xxxx 890: MUL TEMP[5].x, TEMP[8].xxxx, TEMP[5].xxxx 891: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[1].xyzz 892: MAD_SAT TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx, IMM[1].zzzz 893: MAD TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx, TEMP[6].xxxx 894: MAD_SAT TEMP[4].xy, TEMP[3].xyyy, IMM[17].wwww, IN[0].xyyy 895: MOV TEMP[5].xy, TEMP[4].xyyy 896: TEX TEMP[5], TEMP[5], SAMP[0], 2D 897: MOV TEMP[7].z, IMM[0].wwww 898: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[0].zzzz, IMM[0].wwww 899: MUL TEMP[7].xy, TEMP[4].xyyy, CONST[5].xyyy 900: DP3 TEMP[4].x, TEMP[7].xyzz, TEMP[7].xyzz 901: RSQ TEMP[4].x, TEMP[4].xxxx 902: MUL TEMP[4].xyz, TEMP[7].xyzz, TEMP[4].xxxx 903: MAD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].wwww, -TEMP[2].xyzz 904: DP3 TEMP[7].x, TEMP[4].xyzz, TEMP[4].xyzz 905: RSQ TEMP[7].x, TEMP[7].xxxx 906: MUL_SAT TEMP[8].x, CONST[3].xxxx, TEMP[7].xxxx 907: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 908: MAD_SAT TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, CONST[4].xxxx 909: MUL TEMP[5].x, TEMP[8].xxxx, TEMP[5].xxxx 910: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[1].xyzz 911: MAD_SAT TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx, IMM[1].zzzz 912: MAD TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx, TEMP[6].xxxx 913: MAD_SAT TEMP[4].xy, TEMP[3].xyyy, IMM[18].xxxx, IN[0].xyyy 914: MOV TEMP[5].xy, TEMP[4].xyyy 915: TEX TEMP[5], TEMP[5], SAMP[0], 2D 916: MOV TEMP[7].z, IMM[0].wwww 917: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[0].zzzz, IMM[0].wwww 918: MUL TEMP[7].xy, TEMP[4].xyyy, CONST[5].xyyy 919: DP3 TEMP[4].x, TEMP[7].xyzz, TEMP[7].xyzz 920: RSQ TEMP[4].x, TEMP[4].xxxx 921: MUL TEMP[4].xyz, TEMP[7].xyzz, TEMP[4].xxxx 922: MAD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].wwww, -TEMP[2].xyzz 923: DP3 TEMP[7].x, TEMP[4].xyzz, TEMP[4].xyzz 924: RSQ TEMP[7].x, TEMP[7].xxxx 925: MUL_SAT TEMP[8].x, CONST[3].xxxx, TEMP[7].xxxx 926: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 927: MAD_SAT TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, CONST[4].xxxx 928: MUL TEMP[5].x, TEMP[8].xxxx, TEMP[5].xxxx 929: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[1].xyzz 930: MAD_SAT TEMP[4].x, TEMP[4].xxxx, TEMP[7].xxxx, IMM[1].zzzz 931: MAD TEMP[6].x, TEMP[5].xxxx, TEMP[4].xxxx, TEMP[6].xxxx 932: MAD_SAT TEMP[3].xy, TEMP[3].xyyy, IMM[10].wwww, IN[0].xyyy 933: MOV TEMP[4].xy, TEMP[3].xyyy 934: TEX TEMP[4], TEMP[4], SAMP[0], 2D 935: MOV TEMP[5].z, IMM[0].wwww 936: MAD TEMP[3].xy, TEMP[3].xyyy, IMM[0].zzzz, IMM[0].wwww 937: MUL TEMP[5].xy, TEMP[3].xyyy, CONST[5].xyyy 938: DP3 TEMP[3].x, TEMP[5].xyzz, TEMP[5].xyzz 939: RSQ TEMP[3].x, TEMP[3].xxxx 940: MUL TEMP[3].xyz, TEMP[5].xyzz, TEMP[3].xxxx 941: MAD TEMP[2].xyz, TEMP[3].xyzz, TEMP[4].wwww, -TEMP[2].xyzz 942: DP3 TEMP[3].x, TEMP[2].xyzz, TEMP[2].xyzz 943: RSQ TEMP[3].x, TEMP[3].xxxx 944: MUL_SAT TEMP[5].x, CONST[3].xxxx, TEMP[3].xxxx 945: DP3 TEMP[4].x, TEMP[2].xyzz, TEMP[4].xyzz 946: MAD_SAT TEMP[4].x, -TEMP[4].xxxx, TEMP[3].xxxx, CONST[4].xxxx 947: MUL TEMP[4].x, TEMP[5].xxxx, TEMP[4].xxxx 948: DP3 TEMP[2].x, TEMP[2].xyzz, TEMP[1].xyzz 949: MAD_SAT TEMP[2].x, TEMP[2].xxxx, TEMP[3].xxxx, IMM[1].zzzz 950: MAD TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx, TEMP[6].xxxx 951: MUL TEMP[2].x, TEMP[2].xxxx, IMM[18].yyyy 952: ADD_SAT TEMP[2].x, IMM[0].xxxx, -TEMP[2].xxxx 953: MOV TEMP[0].xyz, TEMP[2].xxxx 954: ENDIF 955: MOV TEMP[0].xyz, TEMP[0].xyzx 956: MOV TEMP[0].w, TEMP[1].wwww 957: MOV OUT[0], TEMP[0] 958: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 12) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %28 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %29 = load <32 x i8> addrspace(2)* %28, !tbaa !0 %30 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %33 = load <32 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %43 = bitcast float %36 to i32 %44 = bitcast float %37 to i32 %45 = insertelement <2 x i32> undef, i32 %43, i32 0 %46 = insertelement <2 x i32> %45, i32 %44, i32 1 %47 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %46, <32 x i8> %29, <16 x i8> %31, i32 2) %48 = extractelement <4 x float> %47, i32 0 %49 = extractelement <4 x float> %47, i32 1 %50 = extractelement <4 x float> %47, i32 2 %51 = extractelement <4 x float> %47, i32 3 %52 = fcmp olt float %51, 0x3FEE666660000000 %53 = sext i1 %52 to i32 %54 = bitcast i32 %53 to float %55 = bitcast float %54 to i32 %56 = icmp ne i32 %55, 0 br i1 %56, label %IF, label %ENDIF IF: ; preds = %main_body %57 = fmul float %40, %40 %58 = fmul float %41, %41 %59 = fadd float %58, %57 %60 = fmul float %42, %42 %61 = fadd float %59, %60 %62 = call float @llvm.AMDGPU.rsq(float %61) %63 = fmul float %40, %62 %64 = fmul float %41, %62 %65 = fmul float %42, %62 %66 = fmul float %63, %51 %67 = fmul float %64, %51 %68 = fmul float %65, %51 %69 = bitcast float %38 to i32 %70 = bitcast float %39 to i32 %71 = insertelement <2 x i32> undef, i32 %69, i32 0 %72 = insertelement <2 x i32> %71, i32 %70, i32 1 %73 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %72, <32 x i8> %33, <16 x i8> %35, i32 2) %74 = extractelement <4 x float> %73, i32 0 %75 = extractelement <4 x float> %73, i32 1 %76 = fmul float %74, 2.000000e+00 %77 = fadd float %76, -1.000000e+00 %78 = fmul float %75, 2.000000e+00 %79 = fadd float %78, -1.000000e+00 %80 = fmul float %22, %23 %81 = fmul float %77, %80 %82 = fmul float %79, %80 %83 = fsub float -0.000000e+00, %77 %84 = fmul float %81, 0x3F50624DE0000000 %85 = fadd float %84, %79 %86 = fmul float %82, 0x3F50624DE0000000 %87 = fadd float %86, %83 %88 = fmul float %85, 0x3F73E81440000000 %89 = fadd float %88, %36 %90 = fmul float %87, 0x3F73E81440000000 %91 = fadd float %90, %37 %92 = call float @llvm.AMDIL.clamp.(float %89, float 0.000000e+00, float 1.000000e+00) %93 = call float @llvm.AMDIL.clamp.(float %91, float 0.000000e+00, float 1.000000e+00) %94 = bitcast float %92 to i32 %95 = bitcast float %93 to i32 %96 = insertelement <2 x i32> undef, i32 %94, i32 0 %97 = insertelement <2 x i32> %96, i32 %95, i32 1 %98 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %97, <32 x i8> %29, <16 x i8> %31, i32 2) %99 = extractelement <4 x float> %98, i32 0 %100 = extractelement <4 x float> %98, i32 1 %101 = extractelement <4 x float> %98, i32 2 %102 = extractelement <4 x float> %98, i32 3 %103 = fmul float %92, 2.000000e+00 %104 = fadd float %103, -1.000000e+00 %105 = fmul float %93, 2.000000e+00 %106 = fadd float %105, -1.000000e+00 %107 = fmul float %104, %26 %108 = fmul float %106, %27 %109 = fmul float %107, %107 %110 = fmul float %108, %108 %111 = fadd float %110, %109 %112 = fmul float -1.000000e+00, -1.000000e+00 %113 = fadd float %111, %112 %114 = call float @llvm.AMDGPU.rsq(float %113) %115 = fmul float %107, %114 %116 = fmul float %108, %114 %117 = fmul float -1.000000e+00, %114 %118 = fsub float -0.000000e+00, %66 %119 = fmul float %115, %102 %120 = fadd float %119, %118 %121 = fsub float -0.000000e+00, %67 %122 = fmul float %116, %102 %123 = fadd float %122, %121 %124 = fsub float -0.000000e+00, %68 %125 = fmul float %117, %102 %126 = fadd float %125, %124 %127 = fmul float %120, %120 %128 = fmul float %123, %123 %129 = fadd float %128, %127 %130 = fmul float %126, %126 %131 = fadd float %129, %130 %132 = call float @llvm.AMDGPU.rsq(float %131) %133 = fmul float %24, %132 %134 = call float @llvm.AMDIL.clamp.(float %133, float 0.000000e+00, float 1.000000e+00) %135 = fmul float %120, %99 %136 = fmul float %123, %100 %137 = fadd float %136, %135 %138 = fmul float %126, %101 %139 = fadd float %137, %138 %140 = fsub float -0.000000e+00, %139 %141 = fmul float %140, %132 %142 = fadd float %141, %25 %143 = call float @llvm.AMDIL.clamp.(float %142, float 0.000000e+00, float 1.000000e+00) %144 = fmul float %134, %143 %145 = fmul float %120, %48 %146 = fmul float %123, %49 %147 = fadd float %146, %145 %148 = fmul float %126, %50 %149 = fadd float %147, %148 %150 = fmul float %149, %132 %151 = fadd float %150, 2.500000e-01 %152 = call float @llvm.AMDIL.clamp.(float %151, float 0.000000e+00, float 1.000000e+00) %153 = fmul float %144, %152 %154 = fmul float %85, 0x3F82599EE0000000 %155 = fadd float %154, %36 %156 = fmul float %87, 0x3F82599EE0000000 %157 = fadd float %156, %37 %158 = call float @llvm.AMDIL.clamp.(float %155, float 0.000000e+00, float 1.000000e+00) %159 = call float @llvm.AMDIL.clamp.(float %157, float 0.000000e+00, float 1.000000e+00) %160 = bitcast float %158 to i32 %161 = bitcast float %159 to i32 %162 = insertelement <2 x i32> undef, i32 %160, i32 0 %163 = insertelement <2 x i32> %162, i32 %161, i32 1 %164 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %163, <32 x i8> %29, <16 x i8> %31, i32 2) %165 = extractelement <4 x float> %164, i32 0 %166 = extractelement <4 x float> %164, i32 1 %167 = extractelement <4 x float> %164, i32 2 %168 = extractelement <4 x float> %164, i32 3 %169 = fmul float %158, 2.000000e+00 %170 = fadd float %169, -1.000000e+00 %171 = fmul float %159, 2.000000e+00 %172 = fadd float %171, -1.000000e+00 %173 = fmul float %170, %26 %174 = fmul float %172, %27 %175 = fmul float %173, %173 %176 = fmul float %174, %174 %177 = fadd float %176, %175 %178 = fmul float -1.000000e+00, -1.000000e+00 %179 = fadd float %177, %178 %180 = call float @llvm.AMDGPU.rsq(float %179) %181 = fmul float %173, %180 %182 = fmul float %174, %180 %183 = fmul float -1.000000e+00, %180 %184 = fsub float -0.000000e+00, %66 %185 = fmul float %181, %168 %186 = fadd float %185, %184 %187 = fsub float -0.000000e+00, %67 %188 = fmul float %182, %168 %189 = fadd float %188, %187 %190 = fsub float -0.000000e+00, %68 %191 = fmul float %183, %168 %192 = fadd float %191, %190 %193 = fmul float %186, %186 %194 = fmul float %189, %189 %195 = fadd float %194, %193 %196 = fmul float %192, %192 %197 = fadd float %195, %196 %198 = call float @llvm.AMDGPU.rsq(float %197) %199 = fmul float %24, %198 %200 = call float @llvm.AMDIL.clamp.(float %199, float 0.000000e+00, float 1.000000e+00) %201 = fmul float %186, %165 %202 = fmul float %189, %166 %203 = fadd float %202, %201 %204 = fmul float %192, %167 %205 = fadd float %203, %204 %206 = fsub float -0.000000e+00, %205 %207 = fmul float %206, %198 %208 = fadd float %207, %25 %209 = call float @llvm.AMDIL.clamp.(float %208, float 0.000000e+00, float 1.000000e+00) %210 = fmul float %200, %209 %211 = fmul float %186, %48 %212 = fmul float %189, %49 %213 = fadd float %212, %211 %214 = fmul float %192, %50 %215 = fadd float %213, %214 %216 = fmul float %215, %198 %217 = fadd float %216, 2.500000e-01 %218 = call float @llvm.AMDIL.clamp.(float %217, float 0.000000e+00, float 1.000000e+00) %219 = fmul float %210, %218 %220 = fadd float %219, %153 %221 = fmul float %85, 0x3F8EADD580000000 %222 = fadd float %221, %36 %223 = fmul float %87, 0x3F8EADD580000000 %224 = fadd float %223, %37 %225 = call float @llvm.AMDIL.clamp.(float %222, float 0.000000e+00, float 1.000000e+00) %226 = call float @llvm.AMDIL.clamp.(float %224, float 0.000000e+00, float 1.000000e+00) %227 = bitcast float %225 to i32 %228 = bitcast float %226 to i32 %229 = insertelement <2 x i32> undef, i32 %227, i32 0 %230 = insertelement <2 x i32> %229, i32 %228, i32 1 %231 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %230, <32 x i8> %29, <16 x i8> %31, i32 2) %232 = extractelement <4 x float> %231, i32 0 %233 = extractelement <4 x float> %231, i32 1 %234 = extractelement <4 x float> %231, i32 2 %235 = extractelement <4 x float> %231, i32 3 %236 = fmul float %225, 2.000000e+00 %237 = fadd float %236, -1.000000e+00 %238 = fmul float %226, 2.000000e+00 %239 = fadd float %238, -1.000000e+00 %240 = fmul float %237, %26 %241 = fmul float %239, %27 %242 = fmul float %240, %240 %243 = fmul float %241, %241 %244 = fadd float %243, %242 %245 = fmul float -1.000000e+00, -1.000000e+00 %246 = fadd float %244, %245 %247 = call float @llvm.AMDGPU.rsq(float %246) %248 = fmul float %240, %247 %249 = fmul float %241, %247 %250 = fmul float -1.000000e+00, %247 %251 = fsub float -0.000000e+00, %66 %252 = fmul float %248, %235 %253 = fadd float %252, %251 %254 = fsub float -0.000000e+00, %67 %255 = fmul float %249, %235 %256 = fadd float %255, %254 %257 = fsub float -0.000000e+00, %68 %258 = fmul float %250, %235 %259 = fadd float %258, %257 %260 = fmul float %253, %253 %261 = fmul float %256, %256 %262 = fadd float %261, %260 %263 = fmul float %259, %259 %264 = fadd float %262, %263 %265 = call float @llvm.AMDGPU.rsq(float %264) %266 = fmul float %24, %265 %267 = call float @llvm.AMDIL.clamp.(float %266, float 0.000000e+00, float 1.000000e+00) %268 = fmul float %253, %232 %269 = fmul float %256, %233 %270 = fadd float %269, %268 %271 = fmul float %259, %234 %272 = fadd float %270, %271 %273 = fsub float -0.000000e+00, %272 %274 = fmul float %273, %265 %275 = fadd float %274, %25 %276 = call float @llvm.AMDIL.clamp.(float %275, float 0.000000e+00, float 1.000000e+00) %277 = fmul float %267, %276 %278 = fmul float %253, %48 %279 = fmul float %256, %49 %280 = fadd float %279, %278 %281 = fmul float %259, %50 %282 = fadd float %280, %281 %283 = fmul float %282, %265 %284 = fadd float %283, 2.500000e-01 %285 = call float @llvm.AMDIL.clamp.(float %284, float 0.000000e+00, float 1.000000e+00) %286 = fmul float %277, %285 %287 = fadd float %286, %220 %288 = fmul float %85, 0x3F90FF9720000000 %289 = fadd float %288, %36 %290 = fmul float %87, 0x3F90FF9720000000 %291 = fadd float %290, %37 %292 = call float @llvm.AMDIL.clamp.(float %289, float 0.000000e+00, float 1.000000e+00) %293 = call float @llvm.AMDIL.clamp.(float %291, float 0.000000e+00, float 1.000000e+00) %294 = bitcast float %292 to i32 %295 = bitcast float %293 to i32 %296 = insertelement <2 x i32> undef, i32 %294, i32 0 %297 = insertelement <2 x i32> %296, i32 %295, i32 1 %298 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %297, <32 x i8> %29, <16 x i8> %31, i32 2) %299 = extractelement <4 x float> %298, i32 0 %300 = extractelement <4 x float> %298, i32 1 %301 = extractelement <4 x float> %298, i32 2 %302 = extractelement <4 x float> %298, i32 3 %303 = fmul float %292, 2.000000e+00 %304 = fadd float %303, -1.000000e+00 %305 = fmul float %293, 2.000000e+00 %306 = fadd float %305, -1.000000e+00 %307 = fmul float %304, %26 %308 = fmul float %306, %27 %309 = fmul float %307, %307 %310 = fmul float %308, %308 %311 = fadd float %310, %309 %312 = fmul float -1.000000e+00, -1.000000e+00 %313 = fadd float %311, %312 %314 = call float @llvm.AMDGPU.rsq(float %313) %315 = fmul float %307, %314 %316 = fmul float %308, %314 %317 = fmul float -1.000000e+00, %314 %318 = fsub float -0.000000e+00, %66 %319 = fmul float %315, %302 %320 = fadd float %319, %318 %321 = fsub float -0.000000e+00, %67 %322 = fmul float %316, %302 %323 = fadd float %322, %321 %324 = fsub float -0.000000e+00, %68 %325 = fmul float %317, %302 %326 = fadd float %325, %324 %327 = fmul float %320, %320 %328 = fmul float %323, %323 %329 = fadd float %328, %327 %330 = fmul float %326, %326 %331 = fadd float %329, %330 %332 = call float @llvm.AMDGPU.rsq(float %331) %333 = fmul float %24, %332 %334 = call float @llvm.AMDIL.clamp.(float %333, float 0.000000e+00, float 1.000000e+00) %335 = fmul float %320, %299 %336 = fmul float %323, %300 %337 = fadd float %336, %335 %338 = fmul float %326, %301 %339 = fadd float %337, %338 %340 = fsub float -0.000000e+00, %339 %341 = fmul float %340, %332 %342 = fadd float %341, %25 %343 = call float @llvm.AMDIL.clamp.(float %342, float 0.000000e+00, float 1.000000e+00) %344 = fmul float %334, %343 %345 = fmul float %320, %48 %346 = fmul float %323, %49 %347 = fadd float %346, %345 %348 = fmul float %326, %50 %349 = fadd float %347, %348 %350 = fmul float %349, %332 %351 = fadd float %350, 2.500000e-01 %352 = call float @llvm.AMDIL.clamp.(float %351, float 0.000000e+00, float 1.000000e+00) %353 = fmul float %344, %352 %354 = fadd float %353, %287 %355 = fmul float %81, 0x3FE9168720000000 %356 = fmul float %82, 0x3FE9168720000000 %357 = fmul float %79, 0x3FE3DF3B60000000 %358 = fadd float %357, %355 %359 = fmul float %83, 0x3FE3DF3B60000000 %360 = fadd float %359, %356 %361 = fmul float %358, 0x3F7ECD4A80000000 %362 = fadd float %361, %36 %363 = fmul float %360, 0x3F7ECD4A80000000 %364 = fadd float %363, %37 %365 = call float @llvm.AMDIL.clamp.(float %362, float 0.000000e+00, float 1.000000e+00) %366 = call float @llvm.AMDIL.clamp.(float %364, float 0.000000e+00, float 1.000000e+00) %367 = bitcast float %365 to i32 %368 = bitcast float %366 to i32 %369 = insertelement <2 x i32> undef, i32 %367, i32 0 %370 = insertelement <2 x i32> %369, i32 %368, i32 1 %371 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %370, <32 x i8> %29, <16 x i8> %31, i32 2) %372 = extractelement <4 x float> %371, i32 0 %373 = extractelement <4 x float> %371, i32 1 %374 = extractelement <4 x float> %371, i32 2 %375 = extractelement <4 x float> %371, i32 3 %376 = fmul float %365, 2.000000e+00 %377 = fadd float %376, -1.000000e+00 %378 = fmul float %366, 2.000000e+00 %379 = fadd float %378, -1.000000e+00 %380 = fmul float %377, %26 %381 = fmul float %379, %27 %382 = fmul float %380, %380 %383 = fmul float %381, %381 %384 = fadd float %383, %382 %385 = fmul float -1.000000e+00, -1.000000e+00 %386 = fadd float %384, %385 %387 = call float @llvm.AMDGPU.rsq(float %386) %388 = fmul float %380, %387 %389 = fmul float %381, %387 %390 = fmul float -1.000000e+00, %387 %391 = fsub float -0.000000e+00, %66 %392 = fmul float %388, %375 %393 = fadd float %392, %391 %394 = fsub float -0.000000e+00, %67 %395 = fmul float %389, %375 %396 = fadd float %395, %394 %397 = fsub float -0.000000e+00, %68 %398 = fmul float %390, %375 %399 = fadd float %398, %397 %400 = fmul float %393, %393 %401 = fmul float %396, %396 %402 = fadd float %401, %400 %403 = fmul float %399, %399 %404 = fadd float %402, %403 %405 = call float @llvm.AMDGPU.rsq(float %404) %406 = fmul float %24, %405 %407 = call float @llvm.AMDIL.clamp.(float %406, float 0.000000e+00, float 1.000000e+00) %408 = fmul float %393, %372 %409 = fmul float %396, %373 %410 = fadd float %409, %408 %411 = fmul float %399, %374 %412 = fadd float %410, %411 %413 = fsub float -0.000000e+00, %412 %414 = fmul float %413, %405 %415 = fadd float %414, %25 %416 = call float @llvm.AMDIL.clamp.(float %415, float 0.000000e+00, float 1.000000e+00) %417 = fmul float %407, %416 %418 = fmul float %393, %48 %419 = fmul float %396, %49 %420 = fadd float %419, %418 %421 = fmul float %399, %50 %422 = fadd float %420, %421 %423 = fmul float %422, %405 %424 = fadd float %423, 2.500000e-01 %425 = call float @llvm.AMDIL.clamp.(float %424, float 0.000000e+00, float 1.000000e+00) %426 = fmul float %417, %425 %427 = fadd float %426, %354 %428 = fmul float %358, 0x3F88201CC0000000 %429 = fadd float %428, %36 %430 = fmul float %360, 0x3F88201CC0000000 %431 = fadd float %430, %37 %432 = call float @llvm.AMDIL.clamp.(float %429, float 0.000000e+00, float 1.000000e+00) %433 = call float @llvm.AMDIL.clamp.(float %431, float 0.000000e+00, float 1.000000e+00) %434 = bitcast float %432 to i32 %435 = bitcast float %433 to i32 %436 = insertelement <2 x i32> undef, i32 %434, i32 0 %437 = insertelement <2 x i32> %436, i32 %435, i32 1 %438 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %437, <32 x i8> %29, <16 x i8> %31, i32 2) %439 = extractelement <4 x float> %438, i32 0 %440 = extractelement <4 x float> %438, i32 1 %441 = extractelement <4 x float> %438, i32 2 %442 = extractelement <4 x float> %438, i32 3 %443 = fmul float %432, 2.000000e+00 %444 = fadd float %443, -1.000000e+00 %445 = fmul float %433, 2.000000e+00 %446 = fadd float %445, -1.000000e+00 %447 = fmul float %444, %26 %448 = fmul float %446, %27 %449 = fmul float %447, %447 %450 = fmul float %448, %448 %451 = fadd float %450, %449 %452 = fmul float -1.000000e+00, -1.000000e+00 %453 = fadd float %451, %452 %454 = call float @llvm.AMDGPU.rsq(float %453) %455 = fmul float %447, %454 %456 = fmul float %448, %454 %457 = fmul float -1.000000e+00, %454 %458 = fsub float -0.000000e+00, %66 %459 = fmul float %455, %442 %460 = fadd float %459, %458 %461 = fsub float -0.000000e+00, %67 %462 = fmul float %456, %442 %463 = fadd float %462, %461 %464 = fsub float -0.000000e+00, %68 %465 = fmul float %457, %442 %466 = fadd float %465, %464 %467 = fmul float %460, %460 %468 = fmul float %463, %463 %469 = fadd float %468, %467 %470 = fmul float %466, %466 %471 = fadd float %469, %470 %472 = call float @llvm.AMDGPU.rsq(float %471) %473 = fmul float %24, %472 %474 = call float @llvm.AMDIL.clamp.(float %473, float 0.000000e+00, float 1.000000e+00) %475 = fmul float %460, %439 %476 = fmul float %463, %440 %477 = fadd float %476, %475 %478 = fmul float %466, %441 %479 = fadd float %477, %478 %480 = fsub float -0.000000e+00, %479 %481 = fmul float %480, %472 %482 = fadd float %481, %25 %483 = call float @llvm.AMDIL.clamp.(float %482, float 0.000000e+00, float 1.000000e+00) %484 = fmul float %474, %483 %485 = fmul float %460, %48 %486 = fmul float %463, %49 %487 = fadd float %486, %485 %488 = fmul float %466, %50 %489 = fadd float %487, %488 %490 = fmul float %489, %472 %491 = fadd float %490, 2.500000e-01 %492 = call float @llvm.AMDIL.clamp.(float %491, float 0.000000e+00, float 1.000000e+00) %493 = fmul float %484, %492 %494 = fadd float %493, %427 %495 = fmul float %358, 0x3F8F8A08E0000000 %496 = fadd float %495, %36 %497 = fmul float %360, 0x3F8F8A08E0000000 %498 = fadd float %497, %37 %499 = call float @llvm.AMDIL.clamp.(float %496, float 0.000000e+00, float 1.000000e+00) %500 = call float @llvm.AMDIL.clamp.(float %498, float 0.000000e+00, float 1.000000e+00) %501 = bitcast float %499 to i32 %502 = bitcast float %500 to i32 %503 = insertelement <2 x i32> undef, i32 %501, i32 0 %504 = insertelement <2 x i32> %503, i32 %502, i32 1 %505 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %504, <32 x i8> %29, <16 x i8> %31, i32 2) %506 = extractelement <4 x float> %505, i32 0 %507 = extractelement <4 x float> %505, i32 1 %508 = extractelement <4 x float> %505, i32 2 %509 = extractelement <4 x float> %505, i32 3 %510 = fmul float %499, 2.000000e+00 %511 = fadd float %510, -1.000000e+00 %512 = fmul float %500, 2.000000e+00 %513 = fadd float %512, -1.000000e+00 %514 = fmul float %511, %26 %515 = fmul float %513, %27 %516 = fmul float %514, %514 %517 = fmul float %515, %515 %518 = fadd float %517, %516 %519 = fmul float -1.000000e+00, -1.000000e+00 %520 = fadd float %518, %519 %521 = call float @llvm.AMDGPU.rsq(float %520) %522 = fmul float %514, %521 %523 = fmul float %515, %521 %524 = fmul float -1.000000e+00, %521 %525 = fsub float -0.000000e+00, %66 %526 = fmul float %522, %509 %527 = fadd float %526, %525 %528 = fsub float -0.000000e+00, %67 %529 = fmul float %523, %509 %530 = fadd float %529, %528 %531 = fsub float -0.000000e+00, %68 %532 = fmul float %524, %509 %533 = fadd float %532, %531 %534 = fmul float %527, %527 %535 = fmul float %530, %530 %536 = fadd float %535, %534 %537 = fmul float %533, %533 %538 = fadd float %536, %537 %539 = call float @llvm.AMDGPU.rsq(float %538) %540 = fmul float %24, %539 %541 = call float @llvm.AMDIL.clamp.(float %540, float 0.000000e+00, float 1.000000e+00) %542 = fmul float %527, %506 %543 = fmul float %530, %507 %544 = fadd float %543, %542 %545 = fmul float %533, %508 %546 = fadd float %544, %545 %547 = fsub float -0.000000e+00, %546 %548 = fmul float %547, %539 %549 = fadd float %548, %25 %550 = call float @llvm.AMDIL.clamp.(float %549, float 0.000000e+00, float 1.000000e+00) %551 = fmul float %541, %550 %552 = fmul float %527, %48 %553 = fmul float %530, %49 %554 = fadd float %553, %552 %555 = fmul float %533, %50 %556 = fadd float %554, %555 %557 = fmul float %556, %539 %558 = fadd float %557, 2.500000e-01 %559 = call float @llvm.AMDIL.clamp.(float %558, float 0.000000e+00, float 1.000000e+00) %560 = fmul float %551, %559 %561 = fadd float %560, %494 %562 = fmul float %358, 0x3F946B26C0000000 %563 = fadd float %562, %36 %564 = fmul float %360, 0x3F946B26C0000000 %565 = fadd float %564, %37 %566 = call float @llvm.AMDIL.clamp.(float %563, float 0.000000e+00, float 1.000000e+00) %567 = call float @llvm.AMDIL.clamp.(float %565, float 0.000000e+00, float 1.000000e+00) %568 = bitcast float %566 to i32 %569 = bitcast float %567 to i32 %570 = insertelement <2 x i32> undef, i32 %568, i32 0 %571 = insertelement <2 x i32> %570, i32 %569, i32 1 %572 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %571, <32 x i8> %29, <16 x i8> %31, i32 2) %573 = extractelement <4 x float> %572, i32 0 %574 = extractelement <4 x float> %572, i32 1 %575 = extractelement <4 x float> %572, i32 2 %576 = extractelement <4 x float> %572, i32 3 %577 = fmul float %566, 2.000000e+00 %578 = fadd float %577, -1.000000e+00 %579 = fmul float %567, 2.000000e+00 %580 = fadd float %579, -1.000000e+00 %581 = fmul float %578, %26 %582 = fmul float %580, %27 %583 = fmul float %581, %581 %584 = fmul float %582, %582 %585 = fadd float %584, %583 %586 = fmul float -1.000000e+00, -1.000000e+00 %587 = fadd float %585, %586 %588 = call float @llvm.AMDGPU.rsq(float %587) %589 = fmul float %581, %588 %590 = fmul float %582, %588 %591 = fmul float -1.000000e+00, %588 %592 = fsub float -0.000000e+00, %66 %593 = fmul float %589, %576 %594 = fadd float %593, %592 %595 = fsub float -0.000000e+00, %67 %596 = fmul float %590, %576 %597 = fadd float %596, %595 %598 = fsub float -0.000000e+00, %68 %599 = fmul float %591, %576 %600 = fadd float %599, %598 %601 = fmul float %594, %594 %602 = fmul float %597, %597 %603 = fadd float %602, %601 %604 = fmul float %600, %600 %605 = fadd float %603, %604 %606 = call float @llvm.AMDGPU.rsq(float %605) %607 = fmul float %24, %606 %608 = call float @llvm.AMDIL.clamp.(float %607, float 0.000000e+00, float 1.000000e+00) %609 = fmul float %594, %573 %610 = fmul float %597, %574 %611 = fadd float %610, %609 %612 = fmul float %600, %575 %613 = fadd float %611, %612 %614 = fsub float -0.000000e+00, %613 %615 = fmul float %614, %606 %616 = fadd float %615, %25 %617 = call float @llvm.AMDIL.clamp.(float %616, float 0.000000e+00, float 1.000000e+00) %618 = fmul float %608, %617 %619 = fmul float %594, %48 %620 = fmul float %597, %49 %621 = fadd float %620, %619 %622 = fmul float %600, %50 %623 = fadd float %621, %622 %624 = fmul float %623, %606 %625 = fadd float %624, 2.500000e-01 %626 = call float @llvm.AMDIL.clamp.(float %625, float 0.000000e+00, float 1.000000e+00) %627 = fmul float %618, %626 %628 = fadd float %627, %561 %629 = fmul float %81, 0x3FEBF7CEE0000000 %630 = fmul float %82, 0x3FEBF7CEE0000000 %631 = fmul float %79, 0x3FDF0A3D80000000 %632 = fadd float %631, %629 %633 = fmul float %83, 0x3FDF0A3D80000000 %634 = fadd float %633, %630 %635 = fmul float %632, 0x3F726E9780000000 %636 = fadd float %635, %36 %637 = fmul float %634, 0x3F726E9780000000 %638 = fadd float %637, %37 %639 = call float @llvm.AMDIL.clamp.(float %636, float 0.000000e+00, float 1.000000e+00) %640 = call float @llvm.AMDIL.clamp.(float %638, float 0.000000e+00, float 1.000000e+00) %641 = bitcast float %639 to i32 %642 = bitcast float %640 to i32 %643 = insertelement <2 x i32> undef, i32 %641, i32 0 %644 = insertelement <2 x i32> %643, i32 %642, i32 1 %645 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %644, <32 x i8> %29, <16 x i8> %31, i32 2) %646 = extractelement <4 x float> %645, i32 0 %647 = extractelement <4 x float> %645, i32 1 %648 = extractelement <4 x float> %645, i32 2 %649 = extractelement <4 x float> %645, i32 3 %650 = fmul float %639, 2.000000e+00 %651 = fadd float %650, -1.000000e+00 %652 = fmul float %640, 2.000000e+00 %653 = fadd float %652, -1.000000e+00 %654 = fmul float %651, %26 %655 = fmul float %653, %27 %656 = fmul float %654, %654 %657 = fmul float %655, %655 %658 = fadd float %657, %656 %659 = fmul float -1.000000e+00, -1.000000e+00 %660 = fadd float %658, %659 %661 = call float @llvm.AMDGPU.rsq(float %660) %662 = fmul float %654, %661 %663 = fmul float %655, %661 %664 = fmul float -1.000000e+00, %661 %665 = fsub float -0.000000e+00, %66 %666 = fmul float %662, %649 %667 = fadd float %666, %665 %668 = fsub float -0.000000e+00, %67 %669 = fmul float %663, %649 %670 = fadd float %669, %668 %671 = fsub float -0.000000e+00, %68 %672 = fmul float %664, %649 %673 = fadd float %672, %671 %674 = fmul float %667, %667 %675 = fmul float %670, %670 %676 = fadd float %675, %674 %677 = fmul float %673, %673 %678 = fadd float %676, %677 %679 = call float @llvm.AMDGPU.rsq(float %678) %680 = fmul float %24, %679 %681 = call float @llvm.AMDIL.clamp.(float %680, float 0.000000e+00, float 1.000000e+00) %682 = fmul float %667, %646 %683 = fmul float %670, %647 %684 = fadd float %683, %682 %685 = fmul float %673, %648 %686 = fadd float %684, %685 %687 = fsub float -0.000000e+00, %686 %688 = fmul float %687, %679 %689 = fadd float %688, %25 %690 = call float @llvm.AMDIL.clamp.(float %689, float 0.000000e+00, float 1.000000e+00) %691 = fmul float %681, %690 %692 = fmul float %667, %48 %693 = fmul float %670, %49 %694 = fadd float %693, %692 %695 = fmul float %673, %50 %696 = fadd float %694, %695 %697 = fmul float %696, %679 %698 = fadd float %697, 2.500000e-01 %699 = call float @llvm.AMDIL.clamp.(float %698, float 0.000000e+00, float 1.000000e+00) %700 = fmul float %691, %699 %701 = fadd float %700, %628 %702 = fmul float %632, 0x3F889374C0000000 %703 = fadd float %702, %36 %704 = fmul float %634, 0x3F889374C0000000 %705 = fadd float %704, %37 %706 = call float @llvm.AMDIL.clamp.(float %703, float 0.000000e+00, float 1.000000e+00) %707 = call float @llvm.AMDIL.clamp.(float %705, float 0.000000e+00, float 1.000000e+00) %708 = bitcast float %706 to i32 %709 = bitcast float %707 to i32 %710 = insertelement <2 x i32> undef, i32 %708, i32 0 %711 = insertelement <2 x i32> %710, i32 %709, i32 1 %712 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %711, <32 x i8> %29, <16 x i8> %31, i32 2) %713 = extractelement <4 x float> %712, i32 0 %714 = extractelement <4 x float> %712, i32 1 %715 = extractelement <4 x float> %712, i32 2 %716 = extractelement <4 x float> %712, i32 3 %717 = fmul float %706, 2.000000e+00 %718 = fadd float %717, -1.000000e+00 %719 = fmul float %707, 2.000000e+00 %720 = fadd float %719, -1.000000e+00 %721 = fmul float %718, %26 %722 = fmul float %720, %27 %723 = fmul float %721, %721 %724 = fmul float %722, %722 %725 = fadd float %724, %723 %726 = fmul float -1.000000e+00, -1.000000e+00 %727 = fadd float %725, %726 %728 = call float @llvm.AMDGPU.rsq(float %727) %729 = fmul float %721, %728 %730 = fmul float %722, %728 %731 = fmul float -1.000000e+00, %728 %732 = fsub float -0.000000e+00, %66 %733 = fmul float %729, %716 %734 = fadd float %733, %732 %735 = fsub float -0.000000e+00, %67 %736 = fmul float %730, %716 %737 = fadd float %736, %735 %738 = fsub float -0.000000e+00, %68 %739 = fmul float %731, %716 %740 = fadd float %739, %738 %741 = fmul float %734, %734 %742 = fmul float %737, %737 %743 = fadd float %742, %741 %744 = fmul float %740, %740 %745 = fadd float %743, %744 %746 = call float @llvm.AMDGPU.rsq(float %745) %747 = fmul float %24, %746 %748 = call float @llvm.AMDIL.clamp.(float %747, float 0.000000e+00, float 1.000000e+00) %749 = fmul float %734, %713 %750 = fmul float %737, %714 %751 = fadd float %750, %749 %752 = fmul float %740, %715 %753 = fadd float %751, %752 %754 = fsub float -0.000000e+00, %753 %755 = fmul float %754, %746 %756 = fadd float %755, %25 %757 = call float @llvm.AMDIL.clamp.(float %756, float 0.000000e+00, float 1.000000e+00) %758 = fmul float %748, %757 %759 = fmul float %734, %48 %760 = fmul float %737, %49 %761 = fadd float %760, %759 %762 = fmul float %740, %50 %763 = fadd float %761, %762 %764 = fmul float %763, %746 %765 = fadd float %764, 2.500000e-01 %766 = call float @llvm.AMDIL.clamp.(float %765, float 0.000000e+00, float 1.000000e+00) %767 = fmul float %758, %766 %768 = fadd float %767, %701 %769 = fmul float %632, 0x3F8A2C6680000000 %770 = fadd float %769, %36 %771 = fmul float %634, 0x3F8A2C6680000000 %772 = fadd float %771, %37 %773 = call float @llvm.AMDIL.clamp.(float %770, float 0.000000e+00, float 1.000000e+00) %774 = call float @llvm.AMDIL.clamp.(float %772, float 0.000000e+00, float 1.000000e+00) %775 = bitcast float %773 to i32 %776 = bitcast float %774 to i32 %777 = insertelement <2 x i32> undef, i32 %775, i32 0 %778 = insertelement <2 x i32> %777, i32 %776, i32 1 %779 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %778, <32 x i8> %29, <16 x i8> %31, i32 2) %780 = extractelement <4 x float> %779, i32 0 %781 = extractelement <4 x float> %779, i32 1 %782 = extractelement <4 x float> %779, i32 2 %783 = extractelement <4 x float> %779, i32 3 %784 = fmul float %773, 2.000000e+00 %785 = fadd float %784, -1.000000e+00 %786 = fmul float %774, 2.000000e+00 %787 = fadd float %786, -1.000000e+00 %788 = fmul float %785, %26 %789 = fmul float %787, %27 %790 = fmul float %788, %788 %791 = fmul float %789, %789 %792 = fadd float %791, %790 %793 = fmul float -1.000000e+00, -1.000000e+00 %794 = fadd float %792, %793 %795 = call float @llvm.AMDGPU.rsq(float %794) %796 = fmul float %788, %795 %797 = fmul float %789, %795 %798 = fmul float -1.000000e+00, %795 %799 = fsub float -0.000000e+00, %66 %800 = fmul float %796, %783 %801 = fadd float %800, %799 %802 = fsub float -0.000000e+00, %67 %803 = fmul float %797, %783 %804 = fadd float %803, %802 %805 = fsub float -0.000000e+00, %68 %806 = fmul float %798, %783 %807 = fadd float %806, %805 %808 = fmul float %801, %801 %809 = fmul float %804, %804 %810 = fadd float %809, %808 %811 = fmul float %807, %807 %812 = fadd float %810, %811 %813 = call float @llvm.AMDGPU.rsq(float %812) %814 = fmul float %24, %813 %815 = call float @llvm.AMDIL.clamp.(float %814, float 0.000000e+00, float 1.000000e+00) %816 = fmul float %801, %780 %817 = fmul float %804, %781 %818 = fadd float %817, %816 %819 = fmul float %807, %782 %820 = fadd float %818, %819 %821 = fsub float -0.000000e+00, %820 %822 = fmul float %821, %813 %823 = fadd float %822, %25 %824 = call float @llvm.AMDIL.clamp.(float %823, float 0.000000e+00, float 1.000000e+00) %825 = fmul float %815, %824 %826 = fmul float %801, %48 %827 = fmul float %804, %49 %828 = fadd float %827, %826 %829 = fmul float %807, %50 %830 = fadd float %828, %829 %831 = fmul float %830, %813 %832 = fadd float %831, 2.500000e-01 %833 = call float @llvm.AMDIL.clamp.(float %832, float 0.000000e+00, float 1.000000e+00) %834 = fmul float %825, %833 %835 = fadd float %834, %768 %836 = fmul float %632, 0x3F91E646E0000000 %837 = fadd float %836, %36 %838 = fmul float %634, 0x3F91E646E0000000 %839 = fadd float %838, %37 %840 = call float @llvm.AMDIL.clamp.(float %837, float 0.000000e+00, float 1.000000e+00) %841 = call float @llvm.AMDIL.clamp.(float %839, float 0.000000e+00, float 1.000000e+00) %842 = bitcast float %840 to i32 %843 = bitcast float %841 to i32 %844 = insertelement <2 x i32> undef, i32 %842, i32 0 %845 = insertelement <2 x i32> %844, i32 %843, i32 1 %846 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %845, <32 x i8> %29, <16 x i8> %31, i32 2) %847 = extractelement <4 x float> %846, i32 0 %848 = extractelement <4 x float> %846, i32 1 %849 = extractelement <4 x float> %846, i32 2 %850 = extractelement <4 x float> %846, i32 3 %851 = fmul float %840, 2.000000e+00 %852 = fadd float %851, -1.000000e+00 %853 = fmul float %841, 2.000000e+00 %854 = fadd float %853, -1.000000e+00 %855 = fmul float %852, %26 %856 = fmul float %854, %27 %857 = fmul float %855, %855 %858 = fmul float %856, %856 %859 = fadd float %858, %857 %860 = fmul float -1.000000e+00, -1.000000e+00 %861 = fadd float %859, %860 %862 = call float @llvm.AMDGPU.rsq(float %861) %863 = fmul float %855, %862 %864 = fmul float %856, %862 %865 = fmul float -1.000000e+00, %862 %866 = fsub float -0.000000e+00, %66 %867 = fmul float %863, %850 %868 = fadd float %867, %866 %869 = fsub float -0.000000e+00, %67 %870 = fmul float %864, %850 %871 = fadd float %870, %869 %872 = fsub float -0.000000e+00, %68 %873 = fmul float %865, %850 %874 = fadd float %873, %872 %875 = fmul float %868, %868 %876 = fmul float %871, %871 %877 = fadd float %876, %875 %878 = fmul float %874, %874 %879 = fadd float %877, %878 %880 = call float @llvm.AMDGPU.rsq(float %879) %881 = fmul float %24, %880 %882 = call float @llvm.AMDIL.clamp.(float %881, float 0.000000e+00, float 1.000000e+00) %883 = fmul float %868, %847 %884 = fmul float %871, %848 %885 = fadd float %884, %883 %886 = fmul float %874, %849 %887 = fadd float %885, %886 %888 = fsub float -0.000000e+00, %887 %889 = fmul float %888, %880 %890 = fadd float %889, %25 %891 = call float @llvm.AMDIL.clamp.(float %890, float 0.000000e+00, float 1.000000e+00) %892 = fmul float %882, %891 %893 = fmul float %868, %48 %894 = fmul float %871, %49 %895 = fadd float %894, %893 %896 = fmul float %874, %50 %897 = fadd float %895, %896 %898 = fmul float %897, %880 %899 = fadd float %898, 2.500000e-01 %900 = call float @llvm.AMDIL.clamp.(float %899, float 0.000000e+00, float 1.000000e+00) %901 = fmul float %892, %900 %902 = fadd float %901, %835 %903 = fmul float %81, 0x3FED4FDF40000000 %904 = fmul float %82, 0x3FED4FDF40000000 %905 = fmul float %79, 0xBFD9BA5E40000000 %906 = fadd float %905, %903 %907 = fmul float %83, 0xBFD9BA5E40000000 %908 = fadd float %907, %904 %909 = fmul float %906, 0x3F7CC100E0000000 %910 = fadd float %909, %36 %911 = fmul float %908, 0x3F7CC100E0000000 %912 = fadd float %911, %37 %913 = call float @llvm.AMDIL.clamp.(float %910, float 0.000000e+00, float 1.000000e+00) %914 = call float @llvm.AMDIL.clamp.(float %912, float 0.000000e+00, float 1.000000e+00) %915 = bitcast float %913 to i32 %916 = bitcast float %914 to i32 %917 = insertelement <2 x i32> undef, i32 %915, i32 0 %918 = insertelement <2 x i32> %917, i32 %916, i32 1 %919 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %918, <32 x i8> %29, <16 x i8> %31, i32 2) %920 = extractelement <4 x float> %919, i32 0 %921 = extractelement <4 x float> %919, i32 1 %922 = extractelement <4 x float> %919, i32 2 %923 = extractelement <4 x float> %919, i32 3 %924 = fmul float %913, 2.000000e+00 %925 = fadd float %924, -1.000000e+00 %926 = fmul float %914, 2.000000e+00 %927 = fadd float %926, -1.000000e+00 %928 = fmul float %925, %26 %929 = fmul float %927, %27 %930 = fmul float %928, %928 %931 = fmul float %929, %929 %932 = fadd float %931, %930 %933 = fmul float -1.000000e+00, -1.000000e+00 %934 = fadd float %932, %933 %935 = call float @llvm.AMDGPU.rsq(float %934) %936 = fmul float %928, %935 %937 = fmul float %929, %935 %938 = fmul float -1.000000e+00, %935 %939 = fsub float -0.000000e+00, %66 %940 = fmul float %936, %923 %941 = fadd float %940, %939 %942 = fsub float -0.000000e+00, %67 %943 = fmul float %937, %923 %944 = fadd float %943, %942 %945 = fsub float -0.000000e+00, %68 %946 = fmul float %938, %923 %947 = fadd float %946, %945 %948 = fmul float %941, %941 %949 = fmul float %944, %944 %950 = fadd float %949, %948 %951 = fmul float %947, %947 %952 = fadd float %950, %951 %953 = call float @llvm.AMDGPU.rsq(float %952) %954 = fmul float %24, %953 %955 = call float @llvm.AMDIL.clamp.(float %954, float 0.000000e+00, float 1.000000e+00) %956 = fmul float %941, %920 %957 = fmul float %944, %921 %958 = fadd float %957, %956 %959 = fmul float %947, %922 %960 = fadd float %958, %959 %961 = fsub float -0.000000e+00, %960 %962 = fmul float %961, %953 %963 = fadd float %962, %25 %964 = call float @llvm.AMDIL.clamp.(float %963, float 0.000000e+00, float 1.000000e+00) %965 = fmul float %955, %964 %966 = fmul float %941, %48 %967 = fmul float %944, %49 %968 = fadd float %967, %966 %969 = fmul float %947, %50 %970 = fadd float %968, %969 %971 = fmul float %970, %953 %972 = fadd float %971, 2.500000e-01 %973 = call float @llvm.AMDIL.clamp.(float %972, float 0.000000e+00, float 1.000000e+00) %974 = fmul float %965, %973 %975 = fadd float %974, %902 %976 = fmul float %906, 0x3F8244A620000000 %977 = fadd float %976, %36 %978 = fmul float %908, 0x3F8244A620000000 %979 = fadd float %978, %37 %980 = call float @llvm.AMDIL.clamp.(float %977, float 0.000000e+00, float 1.000000e+00) %981 = call float @llvm.AMDIL.clamp.(float %979, float 0.000000e+00, float 1.000000e+00) %982 = bitcast float %980 to i32 %983 = bitcast float %981 to i32 %984 = insertelement <2 x i32> undef, i32 %982, i32 0 %985 = insertelement <2 x i32> %984, i32 %983, i32 1 %986 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %985, <32 x i8> %29, <16 x i8> %31, i32 2) %987 = extractelement <4 x float> %986, i32 0 %988 = extractelement <4 x float> %986, i32 1 %989 = extractelement <4 x float> %986, i32 2 %990 = extractelement <4 x float> %986, i32 3 %991 = fmul float %980, 2.000000e+00 %992 = fadd float %991, -1.000000e+00 %993 = fmul float %981, 2.000000e+00 %994 = fadd float %993, -1.000000e+00 %995 = fmul float %992, %26 %996 = fmul float %994, %27 %997 = fmul float %995, %995 %998 = fmul float %996, %996 %999 = fadd float %998, %997 %1000 = fmul float -1.000000e+00, -1.000000e+00 %1001 = fadd float %999, %1000 %1002 = call float @llvm.AMDGPU.rsq(float %1001) %1003 = fmul float %995, %1002 %1004 = fmul float %996, %1002 %1005 = fmul float -1.000000e+00, %1002 %1006 = fsub float -0.000000e+00, %66 %1007 = fmul float %1003, %990 %1008 = fadd float %1007, %1006 %1009 = fsub float -0.000000e+00, %67 %1010 = fmul float %1004, %990 %1011 = fadd float %1010, %1009 %1012 = fsub float -0.000000e+00, %68 %1013 = fmul float %1005, %990 %1014 = fadd float %1013, %1012 %1015 = fmul float %1008, %1008 %1016 = fmul float %1011, %1011 %1017 = fadd float %1016, %1015 %1018 = fmul float %1014, %1014 %1019 = fadd float %1017, %1018 %1020 = call float @llvm.AMDGPU.rsq(float %1019) %1021 = fmul float %24, %1020 %1022 = call float @llvm.AMDIL.clamp.(float %1021, float 0.000000e+00, float 1.000000e+00) %1023 = fmul float %1008, %987 %1024 = fmul float %1011, %988 %1025 = fadd float %1024, %1023 %1026 = fmul float %1014, %989 %1027 = fadd float %1025, %1026 %1028 = fsub float -0.000000e+00, %1027 %1029 = fmul float %1028, %1020 %1030 = fadd float %1029, %25 %1031 = call float @llvm.AMDIL.clamp.(float %1030, float 0.000000e+00, float 1.000000e+00) %1032 = fmul float %1022, %1031 %1033 = fmul float %1008, %48 %1034 = fmul float %1011, %49 %1035 = fadd float %1034, %1033 %1036 = fmul float %1014, %50 %1037 = fadd float %1035, %1036 %1038 = fmul float %1037, %1020 %1039 = fadd float %1038, 2.500000e-01 %1040 = call float @llvm.AMDIL.clamp.(float %1039, float 0.000000e+00, float 1.000000e+00) %1041 = fmul float %1032, %1040 %1042 = fadd float %1041, %975 %1043 = fmul float %906, 0x3F88DCDB20000000 %1044 = fadd float %1043, %36 %1045 = fmul float %908, 0x3F88DCDB20000000 %1046 = fadd float %1045, %37 %1047 = call float @llvm.AMDIL.clamp.(float %1044, float 0.000000e+00, float 1.000000e+00) %1048 = call float @llvm.AMDIL.clamp.(float %1046, float 0.000000e+00, float 1.000000e+00) %1049 = bitcast float %1047 to i32 %1050 = bitcast float %1048 to i32 %1051 = insertelement <2 x i32> undef, i32 %1049, i32 0 %1052 = insertelement <2 x i32> %1051, i32 %1050, i32 1 %1053 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1052, <32 x i8> %29, <16 x i8> %31, i32 2) %1054 = extractelement <4 x float> %1053, i32 0 %1055 = extractelement <4 x float> %1053, i32 1 %1056 = extractelement <4 x float> %1053, i32 2 %1057 = extractelement <4 x float> %1053, i32 3 %1058 = fmul float %1047, 2.000000e+00 %1059 = fadd float %1058, -1.000000e+00 %1060 = fmul float %1048, 2.000000e+00 %1061 = fadd float %1060, -1.000000e+00 %1062 = fmul float %1059, %26 %1063 = fmul float %1061, %27 %1064 = fmul float %1062, %1062 %1065 = fmul float %1063, %1063 %1066 = fadd float %1065, %1064 %1067 = fmul float -1.000000e+00, -1.000000e+00 %1068 = fadd float %1066, %1067 %1069 = call float @llvm.AMDGPU.rsq(float %1068) %1070 = fmul float %1062, %1069 %1071 = fmul float %1063, %1069 %1072 = fmul float -1.000000e+00, %1069 %1073 = fsub float -0.000000e+00, %66 %1074 = fmul float %1070, %1057 %1075 = fadd float %1074, %1073 %1076 = fsub float -0.000000e+00, %67 %1077 = fmul float %1071, %1057 %1078 = fadd float %1077, %1076 %1079 = fsub float -0.000000e+00, %68 %1080 = fmul float %1072, %1057 %1081 = fadd float %1080, %1079 %1082 = fmul float %1075, %1075 %1083 = fmul float %1078, %1078 %1084 = fadd float %1083, %1082 %1085 = fmul float %1081, %1081 %1086 = fadd float %1084, %1085 %1087 = call float @llvm.AMDGPU.rsq(float %1086) %1088 = fmul float %24, %1087 %1089 = call float @llvm.AMDIL.clamp.(float %1088, float 0.000000e+00, float 1.000000e+00) %1090 = fmul float %1075, %1054 %1091 = fmul float %1078, %1055 %1092 = fadd float %1091, %1090 %1093 = fmul float %1081, %1056 %1094 = fadd float %1092, %1093 %1095 = fsub float -0.000000e+00, %1094 %1096 = fmul float %1095, %1087 %1097 = fadd float %1096, %25 %1098 = call float @llvm.AMDIL.clamp.(float %1097, float 0.000000e+00, float 1.000000e+00) %1099 = fmul float %1089, %1098 %1100 = fmul float %1075, %48 %1101 = fmul float %1078, %49 %1102 = fadd float %1101, %1100 %1103 = fmul float %1081, %50 %1104 = fadd float %1102, %1103 %1105 = fmul float %1104, %1087 %1106 = fadd float %1105, 2.500000e-01 %1107 = call float @llvm.AMDIL.clamp.(float %1106, float 0.000000e+00, float 1.000000e+00) %1108 = fmul float %1099, %1107 %1109 = fadd float %1108, %1042 %1110 = fmul float %906, 0x3F91D14E40000000 %1111 = fadd float %1110, %36 %1112 = fmul float %908, 0x3F91D14E40000000 %1113 = fadd float %1112, %37 %1114 = call float @llvm.AMDIL.clamp.(float %1111, float 0.000000e+00, float 1.000000e+00) %1115 = call float @llvm.AMDIL.clamp.(float %1113, float 0.000000e+00, float 1.000000e+00) %1116 = bitcast float %1114 to i32 %1117 = bitcast float %1115 to i32 %1118 = insertelement <2 x i32> undef, i32 %1116, i32 0 %1119 = insertelement <2 x i32> %1118, i32 %1117, i32 1 %1120 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1119, <32 x i8> %29, <16 x i8> %31, i32 2) %1121 = extractelement <4 x float> %1120, i32 0 %1122 = extractelement <4 x float> %1120, i32 1 %1123 = extractelement <4 x float> %1120, i32 2 %1124 = extractelement <4 x float> %1120, i32 3 %1125 = fmul float %1114, 2.000000e+00 %1126 = fadd float %1125, -1.000000e+00 %1127 = fmul float %1115, 2.000000e+00 %1128 = fadd float %1127, -1.000000e+00 %1129 = fmul float %1126, %26 %1130 = fmul float %1128, %27 %1131 = fmul float %1129, %1129 %1132 = fmul float %1130, %1130 %1133 = fadd float %1132, %1131 %1134 = fmul float -1.000000e+00, -1.000000e+00 %1135 = fadd float %1133, %1134 %1136 = call float @llvm.AMDGPU.rsq(float %1135) %1137 = fmul float %1129, %1136 %1138 = fmul float %1130, %1136 %1139 = fmul float -1.000000e+00, %1136 %1140 = fsub float -0.000000e+00, %66 %1141 = fmul float %1137, %1124 %1142 = fadd float %1141, %1140 %1143 = fsub float -0.000000e+00, %67 %1144 = fmul float %1138, %1124 %1145 = fadd float %1144, %1143 %1146 = fsub float -0.000000e+00, %68 %1147 = fmul float %1139, %1124 %1148 = fadd float %1147, %1146 %1149 = fmul float %1142, %1142 %1150 = fmul float %1145, %1145 %1151 = fadd float %1150, %1149 %1152 = fmul float %1148, %1148 %1153 = fadd float %1151, %1152 %1154 = call float @llvm.AMDGPU.rsq(float %1153) %1155 = fmul float %24, %1154 %1156 = call float @llvm.AMDIL.clamp.(float %1155, float 0.000000e+00, float 1.000000e+00) %1157 = fmul float %1142, %1121 %1158 = fmul float %1145, %1122 %1159 = fadd float %1158, %1157 %1160 = fmul float %1148, %1123 %1161 = fadd float %1159, %1160 %1162 = fsub float -0.000000e+00, %1161 %1163 = fmul float %1162, %1154 %1164 = fadd float %1163, %25 %1165 = call float @llvm.AMDIL.clamp.(float %1164, float 0.000000e+00, float 1.000000e+00) %1166 = fmul float %1156, %1165 %1167 = fmul float %1142, %48 %1168 = fmul float %1145, %49 %1169 = fadd float %1168, %1167 %1170 = fmul float %1148, %50 %1171 = fadd float %1169, %1170 %1172 = fmul float %1171, %1154 %1173 = fadd float %1172, 2.500000e-01 %1174 = call float @llvm.AMDIL.clamp.(float %1173, float 0.000000e+00, float 1.000000e+00) %1175 = fmul float %1166, %1174 %1176 = fadd float %1175, %1109 %1177 = fmul float %81, 0x3FE8831260000000 %1178 = fmul float %82, 0x3FE8831260000000 %1179 = fmul float %79, 0xBFE49374C0000000 %1180 = fadd float %1179, %1177 %1181 = fmul float %83, 0xBFE49374C0000000 %1182 = fadd float %1181, %1178 %1183 = fmul float %1180, 0x3F772EF0A0000000 %1184 = fadd float %1183, %36 %1185 = fmul float %1182, 0x3F772EF0A0000000 %1186 = fadd float %1185, %37 %1187 = call float @llvm.AMDIL.clamp.(float %1184, float 0.000000e+00, float 1.000000e+00) %1188 = call float @llvm.AMDIL.clamp.(float %1186, float 0.000000e+00, float 1.000000e+00) %1189 = bitcast float %1187 to i32 %1190 = bitcast float %1188 to i32 %1191 = insertelement <2 x i32> undef, i32 %1189, i32 0 %1192 = insertelement <2 x i32> %1191, i32 %1190, i32 1 %1193 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1192, <32 x i8> %29, <16 x i8> %31, i32 2) %1194 = extractelement <4 x float> %1193, i32 0 %1195 = extractelement <4 x float> %1193, i32 1 %1196 = extractelement <4 x float> %1193, i32 2 %1197 = extractelement <4 x float> %1193, i32 3 %1198 = fmul float %1187, 2.000000e+00 %1199 = fadd float %1198, -1.000000e+00 %1200 = fmul float %1188, 2.000000e+00 %1201 = fadd float %1200, -1.000000e+00 %1202 = fmul float %1199, %26 %1203 = fmul float %1201, %27 %1204 = fmul float %1202, %1202 %1205 = fmul float %1203, %1203 %1206 = fadd float %1205, %1204 %1207 = fmul float -1.000000e+00, -1.000000e+00 %1208 = fadd float %1206, %1207 %1209 = call float @llvm.AMDGPU.rsq(float %1208) %1210 = fmul float %1202, %1209 %1211 = fmul float %1203, %1209 %1212 = fmul float -1.000000e+00, %1209 %1213 = fsub float -0.000000e+00, %66 %1214 = fmul float %1210, %1197 %1215 = fadd float %1214, %1213 %1216 = fsub float -0.000000e+00, %67 %1217 = fmul float %1211, %1197 %1218 = fadd float %1217, %1216 %1219 = fsub float -0.000000e+00, %68 %1220 = fmul float %1212, %1197 %1221 = fadd float %1220, %1219 %1222 = fmul float %1215, %1215 %1223 = fmul float %1218, %1218 %1224 = fadd float %1223, %1222 %1225 = fmul float %1221, %1221 %1226 = fadd float %1224, %1225 %1227 = call float @llvm.AMDGPU.rsq(float %1226) %1228 = fmul float %24, %1227 %1229 = call float @llvm.AMDIL.clamp.(float %1228, float 0.000000e+00, float 1.000000e+00) %1230 = fmul float %1215, %1194 %1231 = fmul float %1218, %1195 %1232 = fadd float %1231, %1230 %1233 = fmul float %1221, %1196 %1234 = fadd float %1232, %1233 %1235 = fsub float -0.000000e+00, %1234 %1236 = fmul float %1235, %1227 %1237 = fadd float %1236, %25 %1238 = call float @llvm.AMDIL.clamp.(float %1237, float 0.000000e+00, float 1.000000e+00) %1239 = fmul float %1229, %1238 %1240 = fmul float %1215, %48 %1241 = fmul float %1218, %49 %1242 = fadd float %1241, %1240 %1243 = fmul float %1221, %50 %1244 = fadd float %1242, %1243 %1245 = fmul float %1244, %1227 %1246 = fadd float %1245, 2.500000e-01 %1247 = call float @llvm.AMDIL.clamp.(float %1246, float 0.000000e+00, float 1.000000e+00) %1248 = fmul float %1239, %1247 %1249 = fadd float %1248, %1176 %1250 = fmul float %1180, 0x3F8244A620000000 %1251 = fadd float %1250, %36 %1252 = fmul float %1182, 0x3F8244A620000000 %1253 = fadd float %1252, %37 %1254 = call float @llvm.AMDIL.clamp.(float %1251, float 0.000000e+00, float 1.000000e+00) %1255 = call float @llvm.AMDIL.clamp.(float %1253, float 0.000000e+00, float 1.000000e+00) %1256 = bitcast float %1254 to i32 %1257 = bitcast float %1255 to i32 %1258 = insertelement <2 x i32> undef, i32 %1256, i32 0 %1259 = insertelement <2 x i32> %1258, i32 %1257, i32 1 %1260 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1259, <32 x i8> %29, <16 x i8> %31, i32 2) %1261 = extractelement <4 x float> %1260, i32 0 %1262 = extractelement <4 x float> %1260, i32 1 %1263 = extractelement <4 x float> %1260, i32 2 %1264 = extractelement <4 x float> %1260, i32 3 %1265 = fmul float %1254, 2.000000e+00 %1266 = fadd float %1265, -1.000000e+00 %1267 = fmul float %1255, 2.000000e+00 %1268 = fadd float %1267, -1.000000e+00 %1269 = fmul float %1266, %26 %1270 = fmul float %1268, %27 %1271 = fmul float %1269, %1269 %1272 = fmul float %1270, %1270 %1273 = fadd float %1272, %1271 %1274 = fmul float -1.000000e+00, -1.000000e+00 %1275 = fadd float %1273, %1274 %1276 = call float @llvm.AMDGPU.rsq(float %1275) %1277 = fmul float %1269, %1276 %1278 = fmul float %1270, %1276 %1279 = fmul float -1.000000e+00, %1276 %1280 = fsub float -0.000000e+00, %66 %1281 = fmul float %1277, %1264 %1282 = fadd float %1281, %1280 %1283 = fsub float -0.000000e+00, %67 %1284 = fmul float %1278, %1264 %1285 = fadd float %1284, %1283 %1286 = fsub float -0.000000e+00, %68 %1287 = fmul float %1279, %1264 %1288 = fadd float %1287, %1286 %1289 = fmul float %1282, %1282 %1290 = fmul float %1285, %1285 %1291 = fadd float %1290, %1289 %1292 = fmul float %1288, %1288 %1293 = fadd float %1291, %1292 %1294 = call float @llvm.AMDGPU.rsq(float %1293) %1295 = fmul float %24, %1294 %1296 = call float @llvm.AMDIL.clamp.(float %1295, float 0.000000e+00, float 1.000000e+00) %1297 = fmul float %1282, %1261 %1298 = fmul float %1285, %1262 %1299 = fadd float %1298, %1297 %1300 = fmul float %1288, %1263 %1301 = fadd float %1299, %1300 %1302 = fsub float -0.000000e+00, %1301 %1303 = fmul float %1302, %1294 %1304 = fadd float %1303, %25 %1305 = call float @llvm.AMDIL.clamp.(float %1304, float 0.000000e+00, float 1.000000e+00) %1306 = fmul float %1296, %1305 %1307 = fmul float %1282, %48 %1308 = fmul float %1285, %49 %1309 = fadd float %1308, %1307 %1310 = fmul float %1288, %50 %1311 = fadd float %1309, %1310 %1312 = fmul float %1311, %1294 %1313 = fadd float %1312, 2.500000e-01 %1314 = call float @llvm.AMDIL.clamp.(float %1313, float 0.000000e+00, float 1.000000e+00) %1315 = fmul float %1306, %1314 %1316 = fadd float %1315, %1249 %1317 = fmul float %1180, 0x3F88BD6600000000 %1318 = fadd float %1317, %36 %1319 = fmul float %1182, 0x3F88BD6600000000 %1320 = fadd float %1319, %37 %1321 = call float @llvm.AMDIL.clamp.(float %1318, float 0.000000e+00, float 1.000000e+00) %1322 = call float @llvm.AMDIL.clamp.(float %1320, float 0.000000e+00, float 1.000000e+00) %1323 = bitcast float %1321 to i32 %1324 = bitcast float %1322 to i32 %1325 = insertelement <2 x i32> undef, i32 %1323, i32 0 %1326 = insertelement <2 x i32> %1325, i32 %1324, i32 1 %1327 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1326, <32 x i8> %29, <16 x i8> %31, i32 2) %1328 = extractelement <4 x float> %1327, i32 0 %1329 = extractelement <4 x float> %1327, i32 1 %1330 = extractelement <4 x float> %1327, i32 2 %1331 = extractelement <4 x float> %1327, i32 3 %1332 = fmul float %1321, 2.000000e+00 %1333 = fadd float %1332, -1.000000e+00 %1334 = fmul float %1322, 2.000000e+00 %1335 = fadd float %1334, -1.000000e+00 %1336 = fmul float %1333, %26 %1337 = fmul float %1335, %27 %1338 = fmul float %1336, %1336 %1339 = fmul float %1337, %1337 %1340 = fadd float %1339, %1338 %1341 = fmul float -1.000000e+00, -1.000000e+00 %1342 = fadd float %1340, %1341 %1343 = call float @llvm.AMDGPU.rsq(float %1342) %1344 = fmul float %1336, %1343 %1345 = fmul float %1337, %1343 %1346 = fmul float -1.000000e+00, %1343 %1347 = fsub float -0.000000e+00, %66 %1348 = fmul float %1344, %1331 %1349 = fadd float %1348, %1347 %1350 = fsub float -0.000000e+00, %67 %1351 = fmul float %1345, %1331 %1352 = fadd float %1351, %1350 %1353 = fsub float -0.000000e+00, %68 %1354 = fmul float %1346, %1331 %1355 = fadd float %1354, %1353 %1356 = fmul float %1349, %1349 %1357 = fmul float %1352, %1352 %1358 = fadd float %1357, %1356 %1359 = fmul float %1355, %1355 %1360 = fadd float %1358, %1359 %1361 = call float @llvm.AMDGPU.rsq(float %1360) %1362 = fmul float %24, %1361 %1363 = call float @llvm.AMDIL.clamp.(float %1362, float 0.000000e+00, float 1.000000e+00) %1364 = fmul float %1349, %1328 %1365 = fmul float %1352, %1329 %1366 = fadd float %1365, %1364 %1367 = fmul float %1355, %1330 %1368 = fadd float %1366, %1367 %1369 = fsub float -0.000000e+00, %1368 %1370 = fmul float %1369, %1361 %1371 = fadd float %1370, %25 %1372 = call float @llvm.AMDIL.clamp.(float %1371, float 0.000000e+00, float 1.000000e+00) %1373 = fmul float %1363, %1372 %1374 = fmul float %1349, %48 %1375 = fmul float %1352, %49 %1376 = fadd float %1375, %1374 %1377 = fmul float %1355, %50 %1378 = fadd float %1376, %1377 %1379 = fmul float %1378, %1361 %1380 = fadd float %1379, 2.500000e-01 %1381 = call float @llvm.AMDIL.clamp.(float %1380, float 0.000000e+00, float 1.000000e+00) %1382 = fmul float %1373, %1381 %1383 = fadd float %1382, %1316 %1384 = fmul float %1180, 0x3F91C6D1E0000000 %1385 = fadd float %1384, %36 %1386 = fmul float %1182, 0x3F91C6D1E0000000 %1387 = fadd float %1386, %37 %1388 = call float @llvm.AMDIL.clamp.(float %1385, float 0.000000e+00, float 1.000000e+00) %1389 = call float @llvm.AMDIL.clamp.(float %1387, float 0.000000e+00, float 1.000000e+00) %1390 = bitcast float %1388 to i32 %1391 = bitcast float %1389 to i32 %1392 = insertelement <2 x i32> undef, i32 %1390, i32 0 %1393 = insertelement <2 x i32> %1392, i32 %1391, i32 1 %1394 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1393, <32 x i8> %29, <16 x i8> %31, i32 2) %1395 = extractelement <4 x float> %1394, i32 0 %1396 = extractelement <4 x float> %1394, i32 1 %1397 = extractelement <4 x float> %1394, i32 2 %1398 = extractelement <4 x float> %1394, i32 3 %1399 = fmul float %1388, 2.000000e+00 %1400 = fadd float %1399, -1.000000e+00 %1401 = fmul float %1389, 2.000000e+00 %1402 = fadd float %1401, -1.000000e+00 %1403 = fmul float %1400, %26 %1404 = fmul float %1402, %27 %1405 = fmul float %1403, %1403 %1406 = fmul float %1404, %1404 %1407 = fadd float %1406, %1405 %1408 = fmul float -1.000000e+00, -1.000000e+00 %1409 = fadd float %1407, %1408 %1410 = call float @llvm.AMDGPU.rsq(float %1409) %1411 = fmul float %1403, %1410 %1412 = fmul float %1404, %1410 %1413 = fmul float -1.000000e+00, %1410 %1414 = fsub float -0.000000e+00, %66 %1415 = fmul float %1411, %1398 %1416 = fadd float %1415, %1414 %1417 = fsub float -0.000000e+00, %67 %1418 = fmul float %1412, %1398 %1419 = fadd float %1418, %1417 %1420 = fsub float -0.000000e+00, %68 %1421 = fmul float %1413, %1398 %1422 = fadd float %1421, %1420 %1423 = fmul float %1416, %1416 %1424 = fmul float %1419, %1419 %1425 = fadd float %1424, %1423 %1426 = fmul float %1422, %1422 %1427 = fadd float %1425, %1426 %1428 = call float @llvm.AMDGPU.rsq(float %1427) %1429 = fmul float %24, %1428 %1430 = call float @llvm.AMDIL.clamp.(float %1429, float 0.000000e+00, float 1.000000e+00) %1431 = fmul float %1416, %1395 %1432 = fmul float %1419, %1396 %1433 = fadd float %1432, %1431 %1434 = fmul float %1422, %1397 %1435 = fadd float %1433, %1434 %1436 = fsub float -0.000000e+00, %1435 %1437 = fmul float %1436, %1428 %1438 = fadd float %1437, %25 %1439 = call float @llvm.AMDIL.clamp.(float %1438, float 0.000000e+00, float 1.000000e+00) %1440 = fmul float %1430, %1439 %1441 = fmul float %1416, %48 %1442 = fmul float %1419, %49 %1443 = fadd float %1442, %1441 %1444 = fmul float %1422, %50 %1445 = fadd float %1443, %1444 %1446 = fmul float %1445, %1428 %1447 = fadd float %1446, 2.500000e-01 %1448 = call float @llvm.AMDIL.clamp.(float %1447, float 0.000000e+00, float 1.000000e+00) %1449 = fmul float %1440, %1448 %1450 = fadd float %1449, %1383 %1451 = fmul float %81, 0x3FD8B43960000000 %1452 = fmul float %82, 0x3FD8B43960000000 %1453 = fmul float %79, 0xBFED810620000000 %1454 = fadd float %1453, %1451 %1455 = fmul float %83, 0xBFED810620000000 %1456 = fadd float %1455, %1452 %1457 = fmul float %1454, 0x3F79652BC0000000 %1458 = fadd float %1457, %36 %1459 = fmul float %1456, 0x3F79652BC0000000 %1460 = fadd float %1459, %37 %1461 = call float @llvm.AMDIL.clamp.(float %1458, float 0.000000e+00, float 1.000000e+00) %1462 = call float @llvm.AMDIL.clamp.(float %1460, float 0.000000e+00, float 1.000000e+00) %1463 = bitcast float %1461 to i32 %1464 = bitcast float %1462 to i32 %1465 = insertelement <2 x i32> undef, i32 %1463, i32 0 %1466 = insertelement <2 x i32> %1465, i32 %1464, i32 1 %1467 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1466, <32 x i8> %29, <16 x i8> %31, i32 2) %1468 = extractelement <4 x float> %1467, i32 0 %1469 = extractelement <4 x float> %1467, i32 1 %1470 = extractelement <4 x float> %1467, i32 2 %1471 = extractelement <4 x float> %1467, i32 3 %1472 = fmul float %1461, 2.000000e+00 %1473 = fadd float %1472, -1.000000e+00 %1474 = fmul float %1462, 2.000000e+00 %1475 = fadd float %1474, -1.000000e+00 %1476 = fmul float %1473, %26 %1477 = fmul float %1475, %27 %1478 = fmul float %1476, %1476 %1479 = fmul float %1477, %1477 %1480 = fadd float %1479, %1478 %1481 = fmul float -1.000000e+00, -1.000000e+00 %1482 = fadd float %1480, %1481 %1483 = call float @llvm.AMDGPU.rsq(float %1482) %1484 = fmul float %1476, %1483 %1485 = fmul float %1477, %1483 %1486 = fmul float -1.000000e+00, %1483 %1487 = fsub float -0.000000e+00, %66 %1488 = fmul float %1484, %1471 %1489 = fadd float %1488, %1487 %1490 = fsub float -0.000000e+00, %67 %1491 = fmul float %1485, %1471 %1492 = fadd float %1491, %1490 %1493 = fsub float -0.000000e+00, %68 %1494 = fmul float %1486, %1471 %1495 = fadd float %1494, %1493 %1496 = fmul float %1489, %1489 %1497 = fmul float %1492, %1492 %1498 = fadd float %1497, %1496 %1499 = fmul float %1495, %1495 %1500 = fadd float %1498, %1499 %1501 = call float @llvm.AMDGPU.rsq(float %1500) %1502 = fmul float %24, %1501 %1503 = call float @llvm.AMDIL.clamp.(float %1502, float 0.000000e+00, float 1.000000e+00) %1504 = fmul float %1489, %1468 %1505 = fmul float %1492, %1469 %1506 = fadd float %1505, %1504 %1507 = fmul float %1495, %1470 %1508 = fadd float %1506, %1507 %1509 = fsub float -0.000000e+00, %1508 %1510 = fmul float %1509, %1501 %1511 = fadd float %1510, %25 %1512 = call float @llvm.AMDIL.clamp.(float %1511, float 0.000000e+00, float 1.000000e+00) %1513 = fmul float %1503, %1512 %1514 = fmul float %1489, %48 %1515 = fmul float %1492, %49 %1516 = fadd float %1515, %1514 %1517 = fmul float %1495, %50 %1518 = fadd float %1516, %1517 %1519 = fmul float %1518, %1501 %1520 = fadd float %1519, 2.500000e-01 %1521 = call float @llvm.AMDIL.clamp.(float %1520, float 0.000000e+00, float 1.000000e+00) %1522 = fmul float %1513, %1521 %1523 = fadd float %1522, %1450 %1524 = fmul float %1454, 0x3F88201CC0000000 %1525 = fadd float %1524, %36 %1526 = fmul float %1456, 0x3F88201CC0000000 %1527 = fadd float %1526, %37 %1528 = call float @llvm.AMDIL.clamp.(float %1525, float 0.000000e+00, float 1.000000e+00) %1529 = call float @llvm.AMDIL.clamp.(float %1527, float 0.000000e+00, float 1.000000e+00) %1530 = bitcast float %1528 to i32 %1531 = bitcast float %1529 to i32 %1532 = insertelement <2 x i32> undef, i32 %1530, i32 0 %1533 = insertelement <2 x i32> %1532, i32 %1531, i32 1 %1534 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1533, <32 x i8> %29, <16 x i8> %31, i32 2) %1535 = extractelement <4 x float> %1534, i32 0 %1536 = extractelement <4 x float> %1534, i32 1 %1537 = extractelement <4 x float> %1534, i32 2 %1538 = extractelement <4 x float> %1534, i32 3 %1539 = fmul float %1528, 2.000000e+00 %1540 = fadd float %1539, -1.000000e+00 %1541 = fmul float %1529, 2.000000e+00 %1542 = fadd float %1541, -1.000000e+00 %1543 = fmul float %1540, %26 %1544 = fmul float %1542, %27 %1545 = fmul float %1543, %1543 %1546 = fmul float %1544, %1544 %1547 = fadd float %1546, %1545 %1548 = fmul float -1.000000e+00, -1.000000e+00 %1549 = fadd float %1547, %1548 %1550 = call float @llvm.AMDGPU.rsq(float %1549) %1551 = fmul float %1543, %1550 %1552 = fmul float %1544, %1550 %1553 = fmul float -1.000000e+00, %1550 %1554 = fsub float -0.000000e+00, %66 %1555 = fmul float %1551, %1538 %1556 = fadd float %1555, %1554 %1557 = fsub float -0.000000e+00, %67 %1558 = fmul float %1552, %1538 %1559 = fadd float %1558, %1557 %1560 = fsub float -0.000000e+00, %68 %1561 = fmul float %1553, %1538 %1562 = fadd float %1561, %1560 %1563 = fmul float %1556, %1556 %1564 = fmul float %1559, %1559 %1565 = fadd float %1564, %1563 %1566 = fmul float %1562, %1562 %1567 = fadd float %1565, %1566 %1568 = call float @llvm.AMDGPU.rsq(float %1567) %1569 = fmul float %24, %1568 %1570 = call float @llvm.AMDIL.clamp.(float %1569, float 0.000000e+00, float 1.000000e+00) %1571 = fmul float %1556, %1535 %1572 = fmul float %1559, %1536 %1573 = fadd float %1572, %1571 %1574 = fmul float %1562, %1537 %1575 = fadd float %1573, %1574 %1576 = fsub float -0.000000e+00, %1575 %1577 = fmul float %1576, %1568 %1578 = fadd float %1577, %25 %1579 = call float @llvm.AMDIL.clamp.(float %1578, float 0.000000e+00, float 1.000000e+00) %1580 = fmul float %1570, %1579 %1581 = fmul float %1556, %48 %1582 = fmul float %1559, %49 %1583 = fadd float %1582, %1581 %1584 = fmul float %1562, %50 %1585 = fadd float %1583, %1584 %1586 = fmul float %1585, %1568 %1587 = fadd float %1586, 2.500000e-01 %1588 = call float @llvm.AMDIL.clamp.(float %1587, float 0.000000e+00, float 1.000000e+00) %1589 = fmul float %1580, %1588 %1590 = fadd float %1589, %1523 %1591 = fmul float %1454, 0x3F8FF2E460000000 %1592 = fadd float %1591, %36 %1593 = fmul float %1456, 0x3F8FF2E460000000 %1594 = fadd float %1593, %37 %1595 = call float @llvm.AMDIL.clamp.(float %1592, float 0.000000e+00, float 1.000000e+00) %1596 = call float @llvm.AMDIL.clamp.(float %1594, float 0.000000e+00, float 1.000000e+00) %1597 = bitcast float %1595 to i32 %1598 = bitcast float %1596 to i32 %1599 = insertelement <2 x i32> undef, i32 %1597, i32 0 %1600 = insertelement <2 x i32> %1599, i32 %1598, i32 1 %1601 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1600, <32 x i8> %29, <16 x i8> %31, i32 2) %1602 = extractelement <4 x float> %1601, i32 0 %1603 = extractelement <4 x float> %1601, i32 1 %1604 = extractelement <4 x float> %1601, i32 2 %1605 = extractelement <4 x float> %1601, i32 3 %1606 = fmul float %1595, 2.000000e+00 %1607 = fadd float %1606, -1.000000e+00 %1608 = fmul float %1596, 2.000000e+00 %1609 = fadd float %1608, -1.000000e+00 %1610 = fmul float %1607, %26 %1611 = fmul float %1609, %27 %1612 = fmul float %1610, %1610 %1613 = fmul float %1611, %1611 %1614 = fadd float %1613, %1612 %1615 = fmul float -1.000000e+00, -1.000000e+00 %1616 = fadd float %1614, %1615 %1617 = call float @llvm.AMDGPU.rsq(float %1616) %1618 = fmul float %1610, %1617 %1619 = fmul float %1611, %1617 %1620 = fmul float -1.000000e+00, %1617 %1621 = fsub float -0.000000e+00, %66 %1622 = fmul float %1618, %1605 %1623 = fadd float %1622, %1621 %1624 = fsub float -0.000000e+00, %67 %1625 = fmul float %1619, %1605 %1626 = fadd float %1625, %1624 %1627 = fsub float -0.000000e+00, %68 %1628 = fmul float %1620, %1605 %1629 = fadd float %1628, %1627 %1630 = fmul float %1623, %1623 %1631 = fmul float %1626, %1626 %1632 = fadd float %1631, %1630 %1633 = fmul float %1629, %1629 %1634 = fadd float %1632, %1633 %1635 = call float @llvm.AMDGPU.rsq(float %1634) %1636 = fmul float %24, %1635 %1637 = call float @llvm.AMDIL.clamp.(float %1636, float 0.000000e+00, float 1.000000e+00) %1638 = fmul float %1623, %1602 %1639 = fmul float %1626, %1603 %1640 = fadd float %1639, %1638 %1641 = fmul float %1629, %1604 %1642 = fadd float %1640, %1641 %1643 = fsub float -0.000000e+00, %1642 %1644 = fmul float %1643, %1635 %1645 = fadd float %1644, %25 %1646 = call float @llvm.AMDIL.clamp.(float %1645, float 0.000000e+00, float 1.000000e+00) %1647 = fmul float %1637, %1646 %1648 = fmul float %1623, %48 %1649 = fmul float %1626, %49 %1650 = fadd float %1649, %1648 %1651 = fmul float %1629, %50 %1652 = fadd float %1650, %1651 %1653 = fmul float %1652, %1635 %1654 = fadd float %1653, 2.500000e-01 %1655 = call float @llvm.AMDIL.clamp.(float %1654, float 0.000000e+00, float 1.000000e+00) %1656 = fmul float %1647, %1655 %1657 = fadd float %1656, %1590 %1658 = fmul float %1454, 0x3F923F67E0000000 %1659 = fadd float %1658, %36 %1660 = fmul float %1456, 0x3F923F67E0000000 %1661 = fadd float %1660, %37 %1662 = call float @llvm.AMDIL.clamp.(float %1659, float 0.000000e+00, float 1.000000e+00) %1663 = call float @llvm.AMDIL.clamp.(float %1661, float 0.000000e+00, float 1.000000e+00) %1664 = bitcast float %1662 to i32 %1665 = bitcast float %1663 to i32 %1666 = insertelement <2 x i32> undef, i32 %1664, i32 0 %1667 = insertelement <2 x i32> %1666, i32 %1665, i32 1 %1668 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1667, <32 x i8> %29, <16 x i8> %31, i32 2) %1669 = extractelement <4 x float> %1668, i32 0 %1670 = extractelement <4 x float> %1668, i32 1 %1671 = extractelement <4 x float> %1668, i32 2 %1672 = extractelement <4 x float> %1668, i32 3 %1673 = fmul float %1662, 2.000000e+00 %1674 = fadd float %1673, -1.000000e+00 %1675 = fmul float %1663, 2.000000e+00 %1676 = fadd float %1675, -1.000000e+00 %1677 = fmul float %1674, %26 %1678 = fmul float %1676, %27 %1679 = fmul float %1677, %1677 %1680 = fmul float %1678, %1678 %1681 = fadd float %1680, %1679 %1682 = fmul float -1.000000e+00, -1.000000e+00 %1683 = fadd float %1681, %1682 %1684 = call float @llvm.AMDGPU.rsq(float %1683) %1685 = fmul float %1677, %1684 %1686 = fmul float %1678, %1684 %1687 = fmul float -1.000000e+00, %1684 %1688 = fsub float -0.000000e+00, %66 %1689 = fmul float %1685, %1672 %1690 = fadd float %1689, %1688 %1691 = fsub float -0.000000e+00, %67 %1692 = fmul float %1686, %1672 %1693 = fadd float %1692, %1691 %1694 = fsub float -0.000000e+00, %68 %1695 = fmul float %1687, %1672 %1696 = fadd float %1695, %1694 %1697 = fmul float %1690, %1690 %1698 = fmul float %1693, %1693 %1699 = fadd float %1698, %1697 %1700 = fmul float %1696, %1696 %1701 = fadd float %1699, %1700 %1702 = call float @llvm.AMDGPU.rsq(float %1701) %1703 = fmul float %24, %1702 %1704 = call float @llvm.AMDIL.clamp.(float %1703, float 0.000000e+00, float 1.000000e+00) %1705 = fmul float %1690, %1669 %1706 = fmul float %1693, %1670 %1707 = fadd float %1706, %1705 %1708 = fmul float %1696, %1671 %1709 = fadd float %1707, %1708 %1710 = fsub float -0.000000e+00, %1709 %1711 = fmul float %1710, %1702 %1712 = fadd float %1711, %25 %1713 = call float @llvm.AMDIL.clamp.(float %1712, float 0.000000e+00, float 1.000000e+00) %1714 = fmul float %1704, %1713 %1715 = fmul float %1690, %48 %1716 = fmul float %1693, %49 %1717 = fadd float %1716, %1715 %1718 = fmul float %1696, %50 %1719 = fadd float %1717, %1718 %1720 = fmul float %1719, %1702 %1721 = fadd float %1720, 2.500000e-01 %1722 = call float @llvm.AMDIL.clamp.(float %1721, float 0.000000e+00, float 1.000000e+00) %1723 = fmul float %1714, %1722 %1724 = fadd float %1723, %1657 %1725 = fmul float %81, 0xBFC7AE1480000000 %1726 = fmul float %82, 0xBFC7AE1480000000 %1727 = fmul float %79, 0xBFEF74BC60000000 %1728 = fadd float %1727, %1725 %1729 = fmul float %83, 0xBFEF74BC60000000 %1730 = fadd float %1729, %1726 %1731 = fmul float %1728, 0x3F7F0C34C0000000 %1732 = fadd float %1731, %36 %1733 = fmul float %1730, 0x3F7F0C34C0000000 %1734 = fadd float %1733, %37 %1735 = call float @llvm.AMDIL.clamp.(float %1732, float 0.000000e+00, float 1.000000e+00) %1736 = call float @llvm.AMDIL.clamp.(float %1734, float 0.000000e+00, float 1.000000e+00) %1737 = bitcast float %1735 to i32 %1738 = bitcast float %1736 to i32 %1739 = insertelement <2 x i32> undef, i32 %1737, i32 0 %1740 = insertelement <2 x i32> %1739, i32 %1738, i32 1 %1741 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1740, <32 x i8> %29, <16 x i8> %31, i32 2) %1742 = extractelement <4 x float> %1741, i32 0 %1743 = extractelement <4 x float> %1741, i32 1 %1744 = extractelement <4 x float> %1741, i32 2 %1745 = extractelement <4 x float> %1741, i32 3 %1746 = fmul float %1735, 2.000000e+00 %1747 = fadd float %1746, -1.000000e+00 %1748 = fmul float %1736, 2.000000e+00 %1749 = fadd float %1748, -1.000000e+00 %1750 = fmul float %1747, %26 %1751 = fmul float %1749, %27 %1752 = fmul float %1750, %1750 %1753 = fmul float %1751, %1751 %1754 = fadd float %1753, %1752 %1755 = fmul float -1.000000e+00, -1.000000e+00 %1756 = fadd float %1754, %1755 %1757 = call float @llvm.AMDGPU.rsq(float %1756) %1758 = fmul float %1750, %1757 %1759 = fmul float %1751, %1757 %1760 = fmul float -1.000000e+00, %1757 %1761 = fsub float -0.000000e+00, %66 %1762 = fmul float %1758, %1745 %1763 = fadd float %1762, %1761 %1764 = fsub float -0.000000e+00, %67 %1765 = fmul float %1759, %1745 %1766 = fadd float %1765, %1764 %1767 = fsub float -0.000000e+00, %68 %1768 = fmul float %1760, %1745 %1769 = fadd float %1768, %1767 %1770 = fmul float %1763, %1763 %1771 = fmul float %1766, %1766 %1772 = fadd float %1771, %1770 %1773 = fmul float %1769, %1769 %1774 = fadd float %1772, %1773 %1775 = call float @llvm.AMDGPU.rsq(float %1774) %1776 = fmul float %24, %1775 %1777 = call float @llvm.AMDIL.clamp.(float %1776, float 0.000000e+00, float 1.000000e+00) %1778 = fmul float %1763, %1742 %1779 = fmul float %1766, %1743 %1780 = fadd float %1779, %1778 %1781 = fmul float %1769, %1744 %1782 = fadd float %1780, %1781 %1783 = fsub float -0.000000e+00, %1782 %1784 = fmul float %1783, %1775 %1785 = fadd float %1784, %25 %1786 = call float @llvm.AMDIL.clamp.(float %1785, float 0.000000e+00, float 1.000000e+00) %1787 = fmul float %1777, %1786 %1788 = fmul float %1763, %48 %1789 = fmul float %1766, %49 %1790 = fadd float %1789, %1788 %1791 = fmul float %1769, %50 %1792 = fadd float %1790, %1791 %1793 = fmul float %1792, %1775 %1794 = fadd float %1793, 2.500000e-01 %1795 = call float @llvm.AMDIL.clamp.(float %1794, float 0.000000e+00, float 1.000000e+00) %1796 = fmul float %1787, %1795 %1797 = fadd float %1796, %1724 %1798 = fmul float %1728, 0x3F867CAEA0000000 %1799 = fadd float %1798, %36 %1800 = fmul float %1730, 0x3F867CAEA0000000 %1801 = fadd float %1800, %37 %1802 = call float @llvm.AMDIL.clamp.(float %1799, float 0.000000e+00, float 1.000000e+00) %1803 = call float @llvm.AMDIL.clamp.(float %1801, float 0.000000e+00, float 1.000000e+00) %1804 = bitcast float %1802 to i32 %1805 = bitcast float %1803 to i32 %1806 = insertelement <2 x i32> undef, i32 %1804, i32 0 %1807 = insertelement <2 x i32> %1806, i32 %1805, i32 1 %1808 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1807, <32 x i8> %29, <16 x i8> %31, i32 2) %1809 = extractelement <4 x float> %1808, i32 0 %1810 = extractelement <4 x float> %1808, i32 1 %1811 = extractelement <4 x float> %1808, i32 2 %1812 = extractelement <4 x float> %1808, i32 3 %1813 = fmul float %1802, 2.000000e+00 %1814 = fadd float %1813, -1.000000e+00 %1815 = fmul float %1803, 2.000000e+00 %1816 = fadd float %1815, -1.000000e+00 %1817 = fmul float %1814, %26 %1818 = fmul float %1816, %27 %1819 = fmul float %1817, %1817 %1820 = fmul float %1818, %1818 %1821 = fadd float %1820, %1819 %1822 = fmul float -1.000000e+00, -1.000000e+00 %1823 = fadd float %1821, %1822 %1824 = call float @llvm.AMDGPU.rsq(float %1823) %1825 = fmul float %1817, %1824 %1826 = fmul float %1818, %1824 %1827 = fmul float -1.000000e+00, %1824 %1828 = fsub float -0.000000e+00, %66 %1829 = fmul float %1825, %1812 %1830 = fadd float %1829, %1828 %1831 = fsub float -0.000000e+00, %67 %1832 = fmul float %1826, %1812 %1833 = fadd float %1832, %1831 %1834 = fsub float -0.000000e+00, %68 %1835 = fmul float %1827, %1812 %1836 = fadd float %1835, %1834 %1837 = fmul float %1830, %1830 %1838 = fmul float %1833, %1833 %1839 = fadd float %1838, %1837 %1840 = fmul float %1836, %1836 %1841 = fadd float %1839, %1840 %1842 = call float @llvm.AMDGPU.rsq(float %1841) %1843 = fmul float %24, %1842 %1844 = call float @llvm.AMDIL.clamp.(float %1843, float 0.000000e+00, float 1.000000e+00) %1845 = fmul float %1830, %1809 %1846 = fmul float %1833, %1810 %1847 = fadd float %1846, %1845 %1848 = fmul float %1836, %1811 %1849 = fadd float %1847, %1848 %1850 = fsub float -0.000000e+00, %1849 %1851 = fmul float %1850, %1842 %1852 = fadd float %1851, %25 %1853 = call float @llvm.AMDIL.clamp.(float %1852, float 0.000000e+00, float 1.000000e+00) %1854 = fmul float %1844, %1853 %1855 = fmul float %1830, %48 %1856 = fmul float %1833, %49 %1857 = fadd float %1856, %1855 %1858 = fmul float %1836, %50 %1859 = fadd float %1857, %1858 %1860 = fmul float %1859, %1842 %1861 = fadd float %1860, 2.500000e-01 %1862 = call float @llvm.AMDIL.clamp.(float %1861, float 0.000000e+00, float 1.000000e+00) %1863 = fmul float %1854, %1862 %1864 = fadd float %1863, %1797 %1865 = fmul float %1728, 0x3F8EB851E0000000 %1866 = fadd float %1865, %36 %1867 = fmul float %1730, 0x3F8EB851E0000000 %1868 = fadd float %1867, %37 %1869 = call float @llvm.AMDIL.clamp.(float %1866, float 0.000000e+00, float 1.000000e+00) %1870 = call float @llvm.AMDIL.clamp.(float %1868, float 0.000000e+00, float 1.000000e+00) %1871 = bitcast float %1869 to i32 %1872 = bitcast float %1870 to i32 %1873 = insertelement <2 x i32> undef, i32 %1871, i32 0 %1874 = insertelement <2 x i32> %1873, i32 %1872, i32 1 %1875 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1874, <32 x i8> %29, <16 x i8> %31, i32 2) %1876 = extractelement <4 x float> %1875, i32 0 %1877 = extractelement <4 x float> %1875, i32 1 %1878 = extractelement <4 x float> %1875, i32 2 %1879 = extractelement <4 x float> %1875, i32 3 %1880 = fmul float %1869, 2.000000e+00 %1881 = fadd float %1880, -1.000000e+00 %1882 = fmul float %1870, 2.000000e+00 %1883 = fadd float %1882, -1.000000e+00 %1884 = fmul float %1881, %26 %1885 = fmul float %1883, %27 %1886 = fmul float %1884, %1884 %1887 = fmul float %1885, %1885 %1888 = fadd float %1887, %1886 %1889 = fmul float -1.000000e+00, -1.000000e+00 %1890 = fadd float %1888, %1889 %1891 = call float @llvm.AMDGPU.rsq(float %1890) %1892 = fmul float %1884, %1891 %1893 = fmul float %1885, %1891 %1894 = fmul float -1.000000e+00, %1891 %1895 = fsub float -0.000000e+00, %66 %1896 = fmul float %1892, %1879 %1897 = fadd float %1896, %1895 %1898 = fsub float -0.000000e+00, %67 %1899 = fmul float %1893, %1879 %1900 = fadd float %1899, %1898 %1901 = fsub float -0.000000e+00, %68 %1902 = fmul float %1894, %1879 %1903 = fadd float %1902, %1901 %1904 = fmul float %1897, %1897 %1905 = fmul float %1900, %1900 %1906 = fadd float %1905, %1904 %1907 = fmul float %1903, %1903 %1908 = fadd float %1906, %1907 %1909 = call float @llvm.AMDGPU.rsq(float %1908) %1910 = fmul float %24, %1909 %1911 = call float @llvm.AMDIL.clamp.(float %1910, float 0.000000e+00, float 1.000000e+00) %1912 = fmul float %1897, %1876 %1913 = fmul float %1900, %1877 %1914 = fadd float %1913, %1912 %1915 = fmul float %1903, %1878 %1916 = fadd float %1914, %1915 %1917 = fsub float -0.000000e+00, %1916 %1918 = fmul float %1917, %1909 %1919 = fadd float %1918, %25 %1920 = call float @llvm.AMDIL.clamp.(float %1919, float 0.000000e+00, float 1.000000e+00) %1921 = fmul float %1911, %1920 %1922 = fmul float %1897, %48 %1923 = fmul float %1900, %49 %1924 = fadd float %1923, %1922 %1925 = fmul float %1903, %50 %1926 = fadd float %1924, %1925 %1927 = fmul float %1926, %1909 %1928 = fadd float %1927, 2.500000e-01 %1929 = call float @llvm.AMDIL.clamp.(float %1928, float 0.000000e+00, float 1.000000e+00) %1930 = fmul float %1921, %1929 %1931 = fadd float %1930, %1864 %1932 = fmul float %1728, 0x3F91E108C0000000 %1933 = fadd float %1932, %36 %1934 = fmul float %1730, 0x3F91E108C0000000 %1935 = fadd float %1934, %37 %1936 = call float @llvm.AMDIL.clamp.(float %1933, float 0.000000e+00, float 1.000000e+00) %1937 = call float @llvm.AMDIL.clamp.(float %1935, float 0.000000e+00, float 1.000000e+00) %1938 = bitcast float %1936 to i32 %1939 = bitcast float %1937 to i32 %1940 = insertelement <2 x i32> undef, i32 %1938, i32 0 %1941 = insertelement <2 x i32> %1940, i32 %1939, i32 1 %1942 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1941, <32 x i8> %29, <16 x i8> %31, i32 2) %1943 = extractelement <4 x float> %1942, i32 0 %1944 = extractelement <4 x float> %1942, i32 1 %1945 = extractelement <4 x float> %1942, i32 2 %1946 = extractelement <4 x float> %1942, i32 3 %1947 = fmul float %1936, 2.000000e+00 %1948 = fadd float %1947, -1.000000e+00 %1949 = fmul float %1937, 2.000000e+00 %1950 = fadd float %1949, -1.000000e+00 %1951 = fmul float %1948, %26 %1952 = fmul float %1950, %27 %1953 = fmul float %1951, %1951 %1954 = fmul float %1952, %1952 %1955 = fadd float %1954, %1953 %1956 = fmul float -1.000000e+00, -1.000000e+00 %1957 = fadd float %1955, %1956 %1958 = call float @llvm.AMDGPU.rsq(float %1957) %1959 = fmul float %1951, %1958 %1960 = fmul float %1952, %1958 %1961 = fmul float -1.000000e+00, %1958 %1962 = fsub float -0.000000e+00, %66 %1963 = fmul float %1959, %1946 %1964 = fadd float %1963, %1962 %1965 = fsub float -0.000000e+00, %67 %1966 = fmul float %1960, %1946 %1967 = fadd float %1966, %1965 %1968 = fsub float -0.000000e+00, %68 %1969 = fmul float %1961, %1946 %1970 = fadd float %1969, %1968 %1971 = fmul float %1964, %1964 %1972 = fmul float %1967, %1967 %1973 = fadd float %1972, %1971 %1974 = fmul float %1970, %1970 %1975 = fadd float %1973, %1974 %1976 = call float @llvm.AMDGPU.rsq(float %1975) %1977 = fmul float %24, %1976 %1978 = call float @llvm.AMDIL.clamp.(float %1977, float 0.000000e+00, float 1.000000e+00) %1979 = fmul float %1964, %1943 %1980 = fmul float %1967, %1944 %1981 = fadd float %1980, %1979 %1982 = fmul float %1970, %1945 %1983 = fadd float %1981, %1982 %1984 = fsub float -0.000000e+00, %1983 %1985 = fmul float %1984, %1976 %1986 = fadd float %1985, %25 %1987 = call float @llvm.AMDIL.clamp.(float %1986, float 0.000000e+00, float 1.000000e+00) %1988 = fmul float %1978, %1987 %1989 = fmul float %1964, %48 %1990 = fmul float %1967, %49 %1991 = fadd float %1990, %1989 %1992 = fmul float %1970, %50 %1993 = fadd float %1991, %1992 %1994 = fmul float %1993, %1976 %1995 = fadd float %1994, 2.500000e-01 %1996 = call float @llvm.AMDIL.clamp.(float %1995, float 0.000000e+00, float 1.000000e+00) %1997 = fmul float %1988, %1996 %1998 = fadd float %1997, %1931 %1999 = fmul float %81, 0xBFE3439580000000 %2000 = fmul float %82, 0xBFE3439580000000 %2001 = fmul float %79, 0xBFE9916880000000 %2002 = fadd float %2001, %1999 %2003 = fmul float %83, 0xBFE9916880000000 %2004 = fadd float %2003, %2000 %2005 = fmul float %2002, 0x3F7782D380000000 %2006 = fadd float %2005, %36 %2007 = fmul float %2004, 0x3F7782D380000000 %2008 = fadd float %2007, %37 %2009 = call float @llvm.AMDIL.clamp.(float %2006, float 0.000000e+00, float 1.000000e+00) %2010 = call float @llvm.AMDIL.clamp.(float %2008, float 0.000000e+00, float 1.000000e+00) %2011 = bitcast float %2009 to i32 %2012 = bitcast float %2010 to i32 %2013 = insertelement <2 x i32> undef, i32 %2011, i32 0 %2014 = insertelement <2 x i32> %2013, i32 %2012, i32 1 %2015 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2014, <32 x i8> %29, <16 x i8> %31, i32 2) %2016 = extractelement <4 x float> %2015, i32 0 %2017 = extractelement <4 x float> %2015, i32 1 %2018 = extractelement <4 x float> %2015, i32 2 %2019 = extractelement <4 x float> %2015, i32 3 %2020 = fmul float %2009, 2.000000e+00 %2021 = fadd float %2020, -1.000000e+00 %2022 = fmul float %2010, 2.000000e+00 %2023 = fadd float %2022, -1.000000e+00 %2024 = fmul float %2021, %26 %2025 = fmul float %2023, %27 %2026 = fmul float %2024, %2024 %2027 = fmul float %2025, %2025 %2028 = fadd float %2027, %2026 %2029 = fmul float -1.000000e+00, -1.000000e+00 %2030 = fadd float %2028, %2029 %2031 = call float @llvm.AMDGPU.rsq(float %2030) %2032 = fmul float %2024, %2031 %2033 = fmul float %2025, %2031 %2034 = fmul float -1.000000e+00, %2031 %2035 = fsub float -0.000000e+00, %66 %2036 = fmul float %2032, %2019 %2037 = fadd float %2036, %2035 %2038 = fsub float -0.000000e+00, %67 %2039 = fmul float %2033, %2019 %2040 = fadd float %2039, %2038 %2041 = fsub float -0.000000e+00, %68 %2042 = fmul float %2034, %2019 %2043 = fadd float %2042, %2041 %2044 = fmul float %2037, %2037 %2045 = fmul float %2040, %2040 %2046 = fadd float %2045, %2044 %2047 = fmul float %2043, %2043 %2048 = fadd float %2046, %2047 %2049 = call float @llvm.AMDGPU.rsq(float %2048) %2050 = fmul float %24, %2049 %2051 = call float @llvm.AMDIL.clamp.(float %2050, float 0.000000e+00, float 1.000000e+00) %2052 = fmul float %2037, %2016 %2053 = fmul float %2040, %2017 %2054 = fadd float %2053, %2052 %2055 = fmul float %2043, %2018 %2056 = fadd float %2054, %2055 %2057 = fsub float -0.000000e+00, %2056 %2058 = fmul float %2057, %2049 %2059 = fadd float %2058, %25 %2060 = call float @llvm.AMDIL.clamp.(float %2059, float 0.000000e+00, float 1.000000e+00) %2061 = fmul float %2051, %2060 %2062 = fmul float %2037, %48 %2063 = fmul float %2040, %49 %2064 = fadd float %2063, %2062 %2065 = fmul float %2043, %50 %2066 = fadd float %2064, %2065 %2067 = fmul float %2066, %2049 %2068 = fadd float %2067, 2.500000e-01 %2069 = call float @llvm.AMDIL.clamp.(float %2068, float 0.000000e+00, float 1.000000e+00) %2070 = fmul float %2061, %2069 %2071 = fadd float %2070, %1998 %2072 = fmul float %2002, 0x3F80EA9E60000000 %2073 = fadd float %2072, %36 %2074 = fmul float %2004, 0x3F80EA9E60000000 %2075 = fadd float %2074, %37 %2076 = call float @llvm.AMDIL.clamp.(float %2073, float 0.000000e+00, float 1.000000e+00) %2077 = call float @llvm.AMDIL.clamp.(float %2075, float 0.000000e+00, float 1.000000e+00) %2078 = bitcast float %2076 to i32 %2079 = bitcast float %2077 to i32 %2080 = insertelement <2 x i32> undef, i32 %2078, i32 0 %2081 = insertelement <2 x i32> %2080, i32 %2079, i32 1 %2082 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2081, <32 x i8> %29, <16 x i8> %31, i32 2) %2083 = extractelement <4 x float> %2082, i32 0 %2084 = extractelement <4 x float> %2082, i32 1 %2085 = extractelement <4 x float> %2082, i32 2 %2086 = extractelement <4 x float> %2082, i32 3 %2087 = fmul float %2076, 2.000000e+00 %2088 = fadd float %2087, -1.000000e+00 %2089 = fmul float %2077, 2.000000e+00 %2090 = fadd float %2089, -1.000000e+00 %2091 = fmul float %2088, %26 %2092 = fmul float %2090, %27 %2093 = fmul float %2091, %2091 %2094 = fmul float %2092, %2092 %2095 = fadd float %2094, %2093 %2096 = fmul float -1.000000e+00, -1.000000e+00 %2097 = fadd float %2095, %2096 %2098 = call float @llvm.AMDGPU.rsq(float %2097) %2099 = fmul float %2091, %2098 %2100 = fmul float %2092, %2098 %2101 = fmul float -1.000000e+00, %2098 %2102 = fsub float -0.000000e+00, %66 %2103 = fmul float %2099, %2086 %2104 = fadd float %2103, %2102 %2105 = fsub float -0.000000e+00, %67 %2106 = fmul float %2100, %2086 %2107 = fadd float %2106, %2105 %2108 = fsub float -0.000000e+00, %68 %2109 = fmul float %2101, %2086 %2110 = fadd float %2109, %2108 %2111 = fmul float %2104, %2104 %2112 = fmul float %2107, %2107 %2113 = fadd float %2112, %2111 %2114 = fmul float %2110, %2110 %2115 = fadd float %2113, %2114 %2116 = call float @llvm.AMDGPU.rsq(float %2115) %2117 = fmul float %24, %2116 %2118 = call float @llvm.AMDIL.clamp.(float %2117, float 0.000000e+00, float 1.000000e+00) %2119 = fmul float %2104, %2083 %2120 = fmul float %2107, %2084 %2121 = fadd float %2120, %2119 %2122 = fmul float %2110, %2085 %2123 = fadd float %2121, %2122 %2124 = fsub float -0.000000e+00, %2123 %2125 = fmul float %2124, %2116 %2126 = fadd float %2125, %25 %2127 = call float @llvm.AMDIL.clamp.(float %2126, float 0.000000e+00, float 1.000000e+00) %2128 = fmul float %2118, %2127 %2129 = fmul float %2104, %48 %2130 = fmul float %2107, %49 %2131 = fadd float %2130, %2129 %2132 = fmul float %2110, %50 %2133 = fadd float %2131, %2132 %2134 = fmul float %2133, %2116 %2135 = fadd float %2134, 2.500000e-01 %2136 = call float @llvm.AMDIL.clamp.(float %2135, float 0.000000e+00, float 1.000000e+00) %2137 = fmul float %2128, %2136 %2138 = fadd float %2137, %2071 %2139 = fmul float %2002, 0x3F8E4F7660000000 %2140 = fadd float %2139, %36 %2141 = fmul float %2004, 0x3F8E4F7660000000 %2142 = fadd float %2141, %37 %2143 = call float @llvm.AMDIL.clamp.(float %2140, float 0.000000e+00, float 1.000000e+00) %2144 = call float @llvm.AMDIL.clamp.(float %2142, float 0.000000e+00, float 1.000000e+00) %2145 = bitcast float %2143 to i32 %2146 = bitcast float %2144 to i32 %2147 = insertelement <2 x i32> undef, i32 %2145, i32 0 %2148 = insertelement <2 x i32> %2147, i32 %2146, i32 1 %2149 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2148, <32 x i8> %29, <16 x i8> %31, i32 2) %2150 = extractelement <4 x float> %2149, i32 0 %2151 = extractelement <4 x float> %2149, i32 1 %2152 = extractelement <4 x float> %2149, i32 2 %2153 = extractelement <4 x float> %2149, i32 3 %2154 = fmul float %2143, 2.000000e+00 %2155 = fadd float %2154, -1.000000e+00 %2156 = fmul float %2144, 2.000000e+00 %2157 = fadd float %2156, -1.000000e+00 %2158 = fmul float %2155, %26 %2159 = fmul float %2157, %27 %2160 = fmul float %2158, %2158 %2161 = fmul float %2159, %2159 %2162 = fadd float %2161, %2160 %2163 = fmul float -1.000000e+00, -1.000000e+00 %2164 = fadd float %2162, %2163 %2165 = call float @llvm.AMDGPU.rsq(float %2164) %2166 = fmul float %2158, %2165 %2167 = fmul float %2159, %2165 %2168 = fmul float -1.000000e+00, %2165 %2169 = fsub float -0.000000e+00, %66 %2170 = fmul float %2166, %2153 %2171 = fadd float %2170, %2169 %2172 = fsub float -0.000000e+00, %67 %2173 = fmul float %2167, %2153 %2174 = fadd float %2173, %2172 %2175 = fsub float -0.000000e+00, %68 %2176 = fmul float %2168, %2153 %2177 = fadd float %2176, %2175 %2178 = fmul float %2171, %2171 %2179 = fmul float %2174, %2174 %2180 = fadd float %2179, %2178 %2181 = fmul float %2177, %2177 %2182 = fadd float %2180, %2181 %2183 = call float @llvm.AMDGPU.rsq(float %2182) %2184 = fmul float %24, %2183 %2185 = call float @llvm.AMDIL.clamp.(float %2184, float 0.000000e+00, float 1.000000e+00) %2186 = fmul float %2171, %2150 %2187 = fmul float %2174, %2151 %2188 = fadd float %2187, %2186 %2189 = fmul float %2177, %2152 %2190 = fadd float %2188, %2189 %2191 = fsub float -0.000000e+00, %2190 %2192 = fmul float %2191, %2183 %2193 = fadd float %2192, %25 %2194 = call float @llvm.AMDIL.clamp.(float %2193, float 0.000000e+00, float 1.000000e+00) %2195 = fmul float %2185, %2194 %2196 = fmul float %2171, %48 %2197 = fmul float %2174, %49 %2198 = fadd float %2197, %2196 %2199 = fmul float %2177, %50 %2200 = fadd float %2198, %2199 %2201 = fmul float %2200, %2183 %2202 = fadd float %2201, 2.500000e-01 %2203 = call float @llvm.AMDIL.clamp.(float %2202, float 0.000000e+00, float 1.000000e+00) %2204 = fmul float %2195, %2203 %2205 = fadd float %2204, %2138 %2206 = fmul float %2002, 0x3F93016480000000 %2207 = fadd float %2206, %36 %2208 = fmul float %2004, 0x3F93016480000000 %2209 = fadd float %2208, %37 %2210 = call float @llvm.AMDIL.clamp.(float %2207, float 0.000000e+00, float 1.000000e+00) %2211 = call float @llvm.AMDIL.clamp.(float %2209, float 0.000000e+00, float 1.000000e+00) %2212 = bitcast float %2210 to i32 %2213 = bitcast float %2211 to i32 %2214 = insertelement <2 x i32> undef, i32 %2212, i32 0 %2215 = insertelement <2 x i32> %2214, i32 %2213, i32 1 %2216 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2215, <32 x i8> %29, <16 x i8> %31, i32 2) %2217 = extractelement <4 x float> %2216, i32 0 %2218 = extractelement <4 x float> %2216, i32 1 %2219 = extractelement <4 x float> %2216, i32 2 %2220 = extractelement <4 x float> %2216, i32 3 %2221 = fmul float %2210, 2.000000e+00 %2222 = fadd float %2221, -1.000000e+00 %2223 = fmul float %2211, 2.000000e+00 %2224 = fadd float %2223, -1.000000e+00 %2225 = fmul float %2222, %26 %2226 = fmul float %2224, %27 %2227 = fmul float %2225, %2225 %2228 = fmul float %2226, %2226 %2229 = fadd float %2228, %2227 %2230 = fmul float -1.000000e+00, -1.000000e+00 %2231 = fadd float %2229, %2230 %2232 = call float @llvm.AMDGPU.rsq(float %2231) %2233 = fmul float %2225, %2232 %2234 = fmul float %2226, %2232 %2235 = fmul float -1.000000e+00, %2232 %2236 = fsub float -0.000000e+00, %66 %2237 = fmul float %2233, %2220 %2238 = fadd float %2237, %2236 %2239 = fsub float -0.000000e+00, %67 %2240 = fmul float %2234, %2220 %2241 = fadd float %2240, %2239 %2242 = fsub float -0.000000e+00, %68 %2243 = fmul float %2235, %2220 %2244 = fadd float %2243, %2242 %2245 = fmul float %2238, %2238 %2246 = fmul float %2241, %2241 %2247 = fadd float %2246, %2245 %2248 = fmul float %2244, %2244 %2249 = fadd float %2247, %2248 %2250 = call float @llvm.AMDGPU.rsq(float %2249) %2251 = fmul float %24, %2250 %2252 = call float @llvm.AMDIL.clamp.(float %2251, float 0.000000e+00, float 1.000000e+00) %2253 = fmul float %2238, %2217 %2254 = fmul float %2241, %2218 %2255 = fadd float %2254, %2253 %2256 = fmul float %2244, %2219 %2257 = fadd float %2255, %2256 %2258 = fsub float -0.000000e+00, %2257 %2259 = fmul float %2258, %2250 %2260 = fadd float %2259, %25 %2261 = call float @llvm.AMDIL.clamp.(float %2260, float 0.000000e+00, float 1.000000e+00) %2262 = fmul float %2252, %2261 %2263 = fmul float %2238, %48 %2264 = fmul float %2241, %49 %2265 = fadd float %2264, %2263 %2266 = fmul float %2244, %50 %2267 = fadd float %2265, %2266 %2268 = fmul float %2267, %2250 %2269 = fadd float %2268, 2.500000e-01 %2270 = call float @llvm.AMDIL.clamp.(float %2269, float 0.000000e+00, float 1.000000e+00) %2271 = fmul float %2262, %2270 %2272 = fadd float %2271, %2205 %2273 = fmul float %81, 0xBFEF9DB220000000 %2274 = fmul float %82, 0xBFEF9DB220000000 %2275 = fmul float %79, 0xBFC374BC60000000 %2276 = fadd float %2275, %2273 %2277 = fmul float %83, 0xBFC374BC60000000 %2278 = fadd float %2277, %2274 %2279 = fmul float %2276, 0x3F7E8E6060000000 %2280 = fadd float %2279, %36 %2281 = fmul float %2278, 0x3F7E8E6060000000 %2282 = fadd float %2281, %37 %2283 = call float @llvm.AMDIL.clamp.(float %2280, float 0.000000e+00, float 1.000000e+00) %2284 = call float @llvm.AMDIL.clamp.(float %2282, float 0.000000e+00, float 1.000000e+00) %2285 = bitcast float %2283 to i32 %2286 = bitcast float %2284 to i32 %2287 = insertelement <2 x i32> undef, i32 %2285, i32 0 %2288 = insertelement <2 x i32> %2287, i32 %2286, i32 1 %2289 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2288, <32 x i8> %29, <16 x i8> %31, i32 2) %2290 = extractelement <4 x float> %2289, i32 0 %2291 = extractelement <4 x float> %2289, i32 1 %2292 = extractelement <4 x float> %2289, i32 2 %2293 = extractelement <4 x float> %2289, i32 3 %2294 = fmul float %2283, 2.000000e+00 %2295 = fadd float %2294, -1.000000e+00 %2296 = fmul float %2284, 2.000000e+00 %2297 = fadd float %2296, -1.000000e+00 %2298 = fmul float %2295, %26 %2299 = fmul float %2297, %27 %2300 = fmul float %2298, %2298 %2301 = fmul float %2299, %2299 %2302 = fadd float %2301, %2300 %2303 = fmul float -1.000000e+00, -1.000000e+00 %2304 = fadd float %2302, %2303 %2305 = call float @llvm.AMDGPU.rsq(float %2304) %2306 = fmul float %2298, %2305 %2307 = fmul float %2299, %2305 %2308 = fmul float -1.000000e+00, %2305 %2309 = fsub float -0.000000e+00, %66 %2310 = fmul float %2306, %2293 %2311 = fadd float %2310, %2309 %2312 = fsub float -0.000000e+00, %67 %2313 = fmul float %2307, %2293 %2314 = fadd float %2313, %2312 %2315 = fsub float -0.000000e+00, %68 %2316 = fmul float %2308, %2293 %2317 = fadd float %2316, %2315 %2318 = fmul float %2311, %2311 %2319 = fmul float %2314, %2314 %2320 = fadd float %2319, %2318 %2321 = fmul float %2317, %2317 %2322 = fadd float %2320, %2321 %2323 = call float @llvm.AMDGPU.rsq(float %2322) %2324 = fmul float %24, %2323 %2325 = call float @llvm.AMDIL.clamp.(float %2324, float 0.000000e+00, float 1.000000e+00) %2326 = fmul float %2311, %2290 %2327 = fmul float %2314, %2291 %2328 = fadd float %2327, %2326 %2329 = fmul float %2317, %2292 %2330 = fadd float %2328, %2329 %2331 = fsub float -0.000000e+00, %2330 %2332 = fmul float %2331, %2323 %2333 = fadd float %2332, %25 %2334 = call float @llvm.AMDIL.clamp.(float %2333, float 0.000000e+00, float 1.000000e+00) %2335 = fmul float %2325, %2334 %2336 = fmul float %2311, %48 %2337 = fmul float %2314, %49 %2338 = fadd float %2337, %2336 %2339 = fmul float %2317, %50 %2340 = fadd float %2338, %2339 %2341 = fmul float %2340, %2323 %2342 = fadd float %2341, 2.500000e-01 %2343 = call float @llvm.AMDIL.clamp.(float %2342, float 0.000000e+00, float 1.000000e+00) %2344 = fmul float %2335, %2343 %2345 = fadd float %2344, %2272 %2346 = fmul float %2276, 0x3F841205C0000000 %2347 = fadd float %2346, %36 %2348 = fmul float %2278, 0x3F841205C0000000 %2349 = fadd float %2348, %37 %2350 = call float @llvm.AMDIL.clamp.(float %2347, float 0.000000e+00, float 1.000000e+00) %2351 = call float @llvm.AMDIL.clamp.(float %2349, float 0.000000e+00, float 1.000000e+00) %2352 = bitcast float %2350 to i32 %2353 = bitcast float %2351 to i32 %2354 = insertelement <2 x i32> undef, i32 %2352, i32 0 %2355 = insertelement <2 x i32> %2354, i32 %2353, i32 1 %2356 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2355, <32 x i8> %29, <16 x i8> %31, i32 2) %2357 = extractelement <4 x float> %2356, i32 0 %2358 = extractelement <4 x float> %2356, i32 1 %2359 = extractelement <4 x float> %2356, i32 2 %2360 = extractelement <4 x float> %2356, i32 3 %2361 = fmul float %2350, 2.000000e+00 %2362 = fadd float %2361, -1.000000e+00 %2363 = fmul float %2351, 2.000000e+00 %2364 = fadd float %2363, -1.000000e+00 %2365 = fmul float %2362, %26 %2366 = fmul float %2364, %27 %2367 = fmul float %2365, %2365 %2368 = fmul float %2366, %2366 %2369 = fadd float %2368, %2367 %2370 = fmul float -1.000000e+00, -1.000000e+00 %2371 = fadd float %2369, %2370 %2372 = call float @llvm.AMDGPU.rsq(float %2371) %2373 = fmul float %2365, %2372 %2374 = fmul float %2366, %2372 %2375 = fmul float -1.000000e+00, %2372 %2376 = fsub float -0.000000e+00, %66 %2377 = fmul float %2373, %2360 %2378 = fadd float %2377, %2376 %2379 = fsub float -0.000000e+00, %67 %2380 = fmul float %2374, %2360 %2381 = fadd float %2380, %2379 %2382 = fsub float -0.000000e+00, %68 %2383 = fmul float %2375, %2360 %2384 = fadd float %2383, %2382 %2385 = fmul float %2378, %2378 %2386 = fmul float %2381, %2381 %2387 = fadd float %2386, %2385 %2388 = fmul float %2384, %2384 %2389 = fadd float %2387, %2388 %2390 = call float @llvm.AMDGPU.rsq(float %2389) %2391 = fmul float %24, %2390 %2392 = call float @llvm.AMDIL.clamp.(float %2391, float 0.000000e+00, float 1.000000e+00) %2393 = fmul float %2378, %2357 %2394 = fmul float %2381, %2358 %2395 = fadd float %2394, %2393 %2396 = fmul float %2384, %2359 %2397 = fadd float %2395, %2396 %2398 = fsub float -0.000000e+00, %2397 %2399 = fmul float %2398, %2390 %2400 = fadd float %2399, %25 %2401 = call float @llvm.AMDIL.clamp.(float %2400, float 0.000000e+00, float 1.000000e+00) %2402 = fmul float %2392, %2401 %2403 = fmul float %2378, %48 %2404 = fmul float %2381, %49 %2405 = fadd float %2404, %2403 %2406 = fmul float %2384, %50 %2407 = fadd float %2405, %2406 %2408 = fmul float %2407, %2390 %2409 = fadd float %2408, 2.500000e-01 %2410 = call float @llvm.AMDIL.clamp.(float %2409, float 0.000000e+00, float 1.000000e+00) %2411 = fmul float %2402, %2410 %2412 = fadd float %2411, %2345 %2413 = fmul float %2276, 0x3F89A415E0000000 %2414 = fadd float %2413, %36 %2415 = fmul float %2278, 0x3F89A415E0000000 %2416 = fadd float %2415, %37 %2417 = call float @llvm.AMDIL.clamp.(float %2414, float 0.000000e+00, float 1.000000e+00) %2418 = call float @llvm.AMDIL.clamp.(float %2416, float 0.000000e+00, float 1.000000e+00) %2419 = bitcast float %2417 to i32 %2420 = bitcast float %2418 to i32 %2421 = insertelement <2 x i32> undef, i32 %2419, i32 0 %2422 = insertelement <2 x i32> %2421, i32 %2420, i32 1 %2423 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2422, <32 x i8> %29, <16 x i8> %31, i32 2) %2424 = extractelement <4 x float> %2423, i32 0 %2425 = extractelement <4 x float> %2423, i32 1 %2426 = extractelement <4 x float> %2423, i32 2 %2427 = extractelement <4 x float> %2423, i32 3 %2428 = fmul float %2417, 2.000000e+00 %2429 = fadd float %2428, -1.000000e+00 %2430 = fmul float %2418, 2.000000e+00 %2431 = fadd float %2430, -1.000000e+00 %2432 = fmul float %2429, %26 %2433 = fmul float %2431, %27 %2434 = fmul float %2432, %2432 %2435 = fmul float %2433, %2433 %2436 = fadd float %2435, %2434 %2437 = fmul float -1.000000e+00, -1.000000e+00 %2438 = fadd float %2436, %2437 %2439 = call float @llvm.AMDGPU.rsq(float %2438) %2440 = fmul float %2432, %2439 %2441 = fmul float %2433, %2439 %2442 = fmul float -1.000000e+00, %2439 %2443 = fsub float -0.000000e+00, %66 %2444 = fmul float %2440, %2427 %2445 = fadd float %2444, %2443 %2446 = fsub float -0.000000e+00, %67 %2447 = fmul float %2441, %2427 %2448 = fadd float %2447, %2446 %2449 = fsub float -0.000000e+00, %68 %2450 = fmul float %2442, %2427 %2451 = fadd float %2450, %2449 %2452 = fmul float %2445, %2445 %2453 = fmul float %2448, %2448 %2454 = fadd float %2453, %2452 %2455 = fmul float %2451, %2451 %2456 = fadd float %2454, %2455 %2457 = call float @llvm.AMDGPU.rsq(float %2456) %2458 = fmul float %24, %2457 %2459 = call float @llvm.AMDIL.clamp.(float %2458, float 0.000000e+00, float 1.000000e+00) %2460 = fmul float %2445, %2424 %2461 = fmul float %2448, %2425 %2462 = fadd float %2461, %2460 %2463 = fmul float %2451, %2426 %2464 = fadd float %2462, %2463 %2465 = fsub float -0.000000e+00, %2464 %2466 = fmul float %2465, %2457 %2467 = fadd float %2466, %25 %2468 = call float @llvm.AMDIL.clamp.(float %2467, float 0.000000e+00, float 1.000000e+00) %2469 = fmul float %2459, %2468 %2470 = fmul float %2445, %48 %2471 = fmul float %2448, %49 %2472 = fadd float %2471, %2470 %2473 = fmul float %2451, %50 %2474 = fadd float %2472, %2473 %2475 = fmul float %2474, %2457 %2476 = fadd float %2475, 2.500000e-01 %2477 = call float @llvm.AMDIL.clamp.(float %2476, float 0.000000e+00, float 1.000000e+00) %2478 = fmul float %2469, %2477 %2479 = fadd float %2478, %2412 %2480 = fmul float %2276, 0x3F92CCF6C0000000 %2481 = fadd float %2480, %36 %2482 = fmul float %2278, 0x3F92CCF6C0000000 %2483 = fadd float %2482, %37 %2484 = call float @llvm.AMDIL.clamp.(float %2481, float 0.000000e+00, float 1.000000e+00) %2485 = call float @llvm.AMDIL.clamp.(float %2483, float 0.000000e+00, float 1.000000e+00) %2486 = bitcast float %2484 to i32 %2487 = bitcast float %2485 to i32 %2488 = insertelement <2 x i32> undef, i32 %2486, i32 0 %2489 = insertelement <2 x i32> %2488, i32 %2487, i32 1 %2490 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2489, <32 x i8> %29, <16 x i8> %31, i32 2) %2491 = extractelement <4 x float> %2490, i32 0 %2492 = extractelement <4 x float> %2490, i32 1 %2493 = extractelement <4 x float> %2490, i32 2 %2494 = extractelement <4 x float> %2490, i32 3 %2495 = fmul float %2484, 2.000000e+00 %2496 = fadd float %2495, -1.000000e+00 %2497 = fmul float %2485, 2.000000e+00 %2498 = fadd float %2497, -1.000000e+00 %2499 = fmul float %2496, %26 %2500 = fmul float %2498, %27 %2501 = fmul float %2499, %2499 %2502 = fmul float %2500, %2500 %2503 = fadd float %2502, %2501 %2504 = fmul float -1.000000e+00, -1.000000e+00 %2505 = fadd float %2503, %2504 %2506 = call float @llvm.AMDGPU.rsq(float %2505) %2507 = fmul float %2499, %2506 %2508 = fmul float %2500, %2506 %2509 = fmul float -1.000000e+00, %2506 %2510 = fsub float -0.000000e+00, %66 %2511 = fmul float %2507, %2494 %2512 = fadd float %2511, %2510 %2513 = fsub float -0.000000e+00, %67 %2514 = fmul float %2508, %2494 %2515 = fadd float %2514, %2513 %2516 = fsub float -0.000000e+00, %68 %2517 = fmul float %2509, %2494 %2518 = fadd float %2517, %2516 %2519 = fmul float %2512, %2512 %2520 = fmul float %2515, %2515 %2521 = fadd float %2520, %2519 %2522 = fmul float %2518, %2518 %2523 = fadd float %2521, %2522 %2524 = call float @llvm.AMDGPU.rsq(float %2523) %2525 = fmul float %24, %2524 %2526 = call float @llvm.AMDIL.clamp.(float %2525, float 0.000000e+00, float 1.000000e+00) %2527 = fmul float %2512, %2491 %2528 = fmul float %2515, %2492 %2529 = fadd float %2528, %2527 %2530 = fmul float %2518, %2493 %2531 = fadd float %2529, %2530 %2532 = fsub float -0.000000e+00, %2531 %2533 = fmul float %2532, %2524 %2534 = fadd float %2533, %25 %2535 = call float @llvm.AMDIL.clamp.(float %2534, float 0.000000e+00, float 1.000000e+00) %2536 = fmul float %2526, %2535 %2537 = fmul float %2512, %48 %2538 = fmul float %2515, %49 %2539 = fadd float %2538, %2537 %2540 = fmul float %2518, %50 %2541 = fadd float %2539, %2540 %2542 = fmul float %2541, %2524 %2543 = fadd float %2542, 2.500000e-01 %2544 = call float @llvm.AMDIL.clamp.(float %2543, float 0.000000e+00, float 1.000000e+00) %2545 = fmul float %2536, %2544 %2546 = fadd float %2545, %2479 %2547 = fmul float %81, 0xBFEDD2F1A0000000 %2548 = fmul float %82, 0xBFEDD2F1A0000000 %2549 = fmul float %79, 0x3FD72B0200000000 %2550 = fadd float %2549, %2547 %2551 = fmul float %83, 0x3FD72B0200000000 %2552 = fadd float %2551, %2548 %2553 = fmul float %2550, 0x3F79A415E0000000 %2554 = fadd float %2553, %36 %2555 = fmul float %2552, 0x3F79A415E0000000 %2556 = fadd float %2555, %37 %2557 = call float @llvm.AMDIL.clamp.(float %2554, float 0.000000e+00, float 1.000000e+00) %2558 = call float @llvm.AMDIL.clamp.(float %2556, float 0.000000e+00, float 1.000000e+00) %2559 = bitcast float %2557 to i32 %2560 = bitcast float %2558 to i32 %2561 = insertelement <2 x i32> undef, i32 %2559, i32 0 %2562 = insertelement <2 x i32> %2561, i32 %2560, i32 1 %2563 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2562, <32 x i8> %29, <16 x i8> %31, i32 2) %2564 = extractelement <4 x float> %2563, i32 0 %2565 = extractelement <4 x float> %2563, i32 1 %2566 = extractelement <4 x float> %2563, i32 2 %2567 = extractelement <4 x float> %2563, i32 3 %2568 = fmul float %2557, 2.000000e+00 %2569 = fadd float %2568, -1.000000e+00 %2570 = fmul float %2558, 2.000000e+00 %2571 = fadd float %2570, -1.000000e+00 %2572 = fmul float %2569, %26 %2573 = fmul float %2571, %27 %2574 = fmul float %2572, %2572 %2575 = fmul float %2573, %2573 %2576 = fadd float %2575, %2574 %2577 = fmul float -1.000000e+00, -1.000000e+00 %2578 = fadd float %2576, %2577 %2579 = call float @llvm.AMDGPU.rsq(float %2578) %2580 = fmul float %2572, %2579 %2581 = fmul float %2573, %2579 %2582 = fmul float -1.000000e+00, %2579 %2583 = fsub float -0.000000e+00, %66 %2584 = fmul float %2580, %2567 %2585 = fadd float %2584, %2583 %2586 = fsub float -0.000000e+00, %67 %2587 = fmul float %2581, %2567 %2588 = fadd float %2587, %2586 %2589 = fsub float -0.000000e+00, %68 %2590 = fmul float %2582, %2567 %2591 = fadd float %2590, %2589 %2592 = fmul float %2585, %2585 %2593 = fmul float %2588, %2588 %2594 = fadd float %2593, %2592 %2595 = fmul float %2591, %2591 %2596 = fadd float %2594, %2595 %2597 = call float @llvm.AMDGPU.rsq(float %2596) %2598 = fmul float %24, %2597 %2599 = call float @llvm.AMDIL.clamp.(float %2598, float 0.000000e+00, float 1.000000e+00) %2600 = fmul float %2585, %2564 %2601 = fmul float %2588, %2565 %2602 = fadd float %2601, %2600 %2603 = fmul float %2591, %2566 %2604 = fadd float %2602, %2603 %2605 = fsub float -0.000000e+00, %2604 %2606 = fmul float %2605, %2597 %2607 = fadd float %2606, %25 %2608 = call float @llvm.AMDIL.clamp.(float %2607, float 0.000000e+00, float 1.000000e+00) %2609 = fmul float %2599, %2608 %2610 = fmul float %2585, %48 %2611 = fmul float %2588, %49 %2612 = fadd float %2611, %2610 %2613 = fmul float %2591, %50 %2614 = fadd float %2612, %2613 %2615 = fmul float %2614, %2597 %2616 = fadd float %2615, 2.500000e-01 %2617 = call float @llvm.AMDIL.clamp.(float %2616, float 0.000000e+00, float 1.000000e+00) %2618 = fmul float %2609, %2617 %2619 = fadd float %2618, %2546 %2620 = fmul float %2550, 0x3F81C6D1E0000000 %2621 = fadd float %2620, %36 %2622 = fmul float %2552, 0x3F81C6D1E0000000 %2623 = fadd float %2622, %37 %2624 = call float @llvm.AMDIL.clamp.(float %2621, float 0.000000e+00, float 1.000000e+00) %2625 = call float @llvm.AMDIL.clamp.(float %2623, float 0.000000e+00, float 1.000000e+00) %2626 = bitcast float %2624 to i32 %2627 = bitcast float %2625 to i32 %2628 = insertelement <2 x i32> undef, i32 %2626, i32 0 %2629 = insertelement <2 x i32> %2628, i32 %2627, i32 1 %2630 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2629, <32 x i8> %29, <16 x i8> %31, i32 2) %2631 = extractelement <4 x float> %2630, i32 0 %2632 = extractelement <4 x float> %2630, i32 1 %2633 = extractelement <4 x float> %2630, i32 2 %2634 = extractelement <4 x float> %2630, i32 3 %2635 = fmul float %2624, 2.000000e+00 %2636 = fadd float %2635, -1.000000e+00 %2637 = fmul float %2625, 2.000000e+00 %2638 = fadd float %2637, -1.000000e+00 %2639 = fmul float %2636, %26 %2640 = fmul float %2638, %27 %2641 = fmul float %2639, %2639 %2642 = fmul float %2640, %2640 %2643 = fadd float %2642, %2641 %2644 = fmul float -1.000000e+00, -1.000000e+00 %2645 = fadd float %2643, %2644 %2646 = call float @llvm.AMDGPU.rsq(float %2645) %2647 = fmul float %2639, %2646 %2648 = fmul float %2640, %2646 %2649 = fmul float -1.000000e+00, %2646 %2650 = fsub float -0.000000e+00, %66 %2651 = fmul float %2647, %2634 %2652 = fadd float %2651, %2650 %2653 = fsub float -0.000000e+00, %67 %2654 = fmul float %2648, %2634 %2655 = fadd float %2654, %2653 %2656 = fsub float -0.000000e+00, %68 %2657 = fmul float %2649, %2634 %2658 = fadd float %2657, %2656 %2659 = fmul float %2652, %2652 %2660 = fmul float %2655, %2655 %2661 = fadd float %2660, %2659 %2662 = fmul float %2658, %2658 %2663 = fadd float %2661, %2662 %2664 = call float @llvm.AMDGPU.rsq(float %2663) %2665 = fmul float %24, %2664 %2666 = call float @llvm.AMDIL.clamp.(float %2665, float 0.000000e+00, float 1.000000e+00) %2667 = fmul float %2652, %2631 %2668 = fmul float %2655, %2632 %2669 = fadd float %2668, %2667 %2670 = fmul float %2658, %2633 %2671 = fadd float %2669, %2670 %2672 = fsub float -0.000000e+00, %2671 %2673 = fmul float %2672, %2664 %2674 = fadd float %2673, %25 %2675 = call float @llvm.AMDIL.clamp.(float %2674, float 0.000000e+00, float 1.000000e+00) %2676 = fmul float %2666, %2675 %2677 = fmul float %2652, %48 %2678 = fmul float %2655, %49 %2679 = fadd float %2678, %2677 %2680 = fmul float %2658, %50 %2681 = fadd float %2679, %2680 %2682 = fmul float %2681, %2664 %2683 = fadd float %2682, 2.500000e-01 %2684 = call float @llvm.AMDIL.clamp.(float %2683, float 0.000000e+00, float 1.000000e+00) %2685 = fmul float %2676, %2684 %2686 = fadd float %2685, %2619 %2687 = fmul float %2550, 0x3F8C044280000000 %2688 = fadd float %2687, %36 %2689 = fmul float %2552, 0x3F8C044280000000 %2690 = fadd float %2689, %37 %2691 = call float @llvm.AMDIL.clamp.(float %2688, float 0.000000e+00, float 1.000000e+00) %2692 = call float @llvm.AMDIL.clamp.(float %2690, float 0.000000e+00, float 1.000000e+00) %2693 = bitcast float %2691 to i32 %2694 = bitcast float %2692 to i32 %2695 = insertelement <2 x i32> undef, i32 %2693, i32 0 %2696 = insertelement <2 x i32> %2695, i32 %2694, i32 1 %2697 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2696, <32 x i8> %29, <16 x i8> %31, i32 2) %2698 = extractelement <4 x float> %2697, i32 0 %2699 = extractelement <4 x float> %2697, i32 1 %2700 = extractelement <4 x float> %2697, i32 2 %2701 = extractelement <4 x float> %2697, i32 3 %2702 = fmul float %2691, 2.000000e+00 %2703 = fadd float %2702, -1.000000e+00 %2704 = fmul float %2692, 2.000000e+00 %2705 = fadd float %2704, -1.000000e+00 %2706 = fmul float %2703, %26 %2707 = fmul float %2705, %27 %2708 = fmul float %2706, %2706 %2709 = fmul float %2707, %2707 %2710 = fadd float %2709, %2708 %2711 = fmul float -1.000000e+00, -1.000000e+00 %2712 = fadd float %2710, %2711 %2713 = call float @llvm.AMDGPU.rsq(float %2712) %2714 = fmul float %2706, %2713 %2715 = fmul float %2707, %2713 %2716 = fmul float -1.000000e+00, %2713 %2717 = fsub float -0.000000e+00, %66 %2718 = fmul float %2714, %2701 %2719 = fadd float %2718, %2717 %2720 = fsub float -0.000000e+00, %67 %2721 = fmul float %2715, %2701 %2722 = fadd float %2721, %2720 %2723 = fsub float -0.000000e+00, %68 %2724 = fmul float %2716, %2701 %2725 = fadd float %2724, %2723 %2726 = fmul float %2719, %2719 %2727 = fmul float %2722, %2722 %2728 = fadd float %2727, %2726 %2729 = fmul float %2725, %2725 %2730 = fadd float %2728, %2729 %2731 = call float @llvm.AMDGPU.rsq(float %2730) %2732 = fmul float %24, %2731 %2733 = call float @llvm.AMDIL.clamp.(float %2732, float 0.000000e+00, float 1.000000e+00) %2734 = fmul float %2719, %2698 %2735 = fmul float %2722, %2699 %2736 = fadd float %2735, %2734 %2737 = fmul float %2725, %2700 %2738 = fadd float %2736, %2737 %2739 = fsub float -0.000000e+00, %2738 %2740 = fmul float %2739, %2731 %2741 = fadd float %2740, %25 %2742 = call float @llvm.AMDIL.clamp.(float %2741, float 0.000000e+00, float 1.000000e+00) %2743 = fmul float %2733, %2742 %2744 = fmul float %2719, %48 %2745 = fmul float %2722, %49 %2746 = fadd float %2745, %2744 %2747 = fmul float %2725, %50 %2748 = fadd float %2746, %2747 %2749 = fmul float %2748, %2731 %2750 = fadd float %2749, 2.500000e-01 %2751 = call float @llvm.AMDIL.clamp.(float %2750, float 0.000000e+00, float 1.000000e+00) %2752 = fmul float %2743, %2751 %2753 = fadd float %2752, %2686 %2754 = fmul float %2550, 0x3F92D77320000000 %2755 = fadd float %2754, %36 %2756 = fmul float %2552, 0x3F92D77320000000 %2757 = fadd float %2756, %37 %2758 = call float @llvm.AMDIL.clamp.(float %2755, float 0.000000e+00, float 1.000000e+00) %2759 = call float @llvm.AMDIL.clamp.(float %2757, float 0.000000e+00, float 1.000000e+00) %2760 = bitcast float %2758 to i32 %2761 = bitcast float %2759 to i32 %2762 = insertelement <2 x i32> undef, i32 %2760, i32 0 %2763 = insertelement <2 x i32> %2762, i32 %2761, i32 1 %2764 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2763, <32 x i8> %29, <16 x i8> %31, i32 2) %2765 = extractelement <4 x float> %2764, i32 0 %2766 = extractelement <4 x float> %2764, i32 1 %2767 = extractelement <4 x float> %2764, i32 2 %2768 = extractelement <4 x float> %2764, i32 3 %2769 = fmul float %2758, 2.000000e+00 %2770 = fadd float %2769, -1.000000e+00 %2771 = fmul float %2759, 2.000000e+00 %2772 = fadd float %2771, -1.000000e+00 %2773 = fmul float %2770, %26 %2774 = fmul float %2772, %27 %2775 = fmul float %2773, %2773 %2776 = fmul float %2774, %2774 %2777 = fadd float %2776, %2775 %2778 = fmul float -1.000000e+00, -1.000000e+00 %2779 = fadd float %2777, %2778 %2780 = call float @llvm.AMDGPU.rsq(float %2779) %2781 = fmul float %2773, %2780 %2782 = fmul float %2774, %2780 %2783 = fmul float -1.000000e+00, %2780 %2784 = fsub float -0.000000e+00, %66 %2785 = fmul float %2781, %2768 %2786 = fadd float %2785, %2784 %2787 = fsub float -0.000000e+00, %67 %2788 = fmul float %2782, %2768 %2789 = fadd float %2788, %2787 %2790 = fsub float -0.000000e+00, %68 %2791 = fmul float %2783, %2768 %2792 = fadd float %2791, %2790 %2793 = fmul float %2786, %2786 %2794 = fmul float %2789, %2789 %2795 = fadd float %2794, %2793 %2796 = fmul float %2792, %2792 %2797 = fadd float %2795, %2796 %2798 = call float @llvm.AMDGPU.rsq(float %2797) %2799 = fmul float %24, %2798 %2800 = call float @llvm.AMDIL.clamp.(float %2799, float 0.000000e+00, float 1.000000e+00) %2801 = fmul float %2786, %2765 %2802 = fmul float %2789, %2766 %2803 = fadd float %2802, %2801 %2804 = fmul float %2792, %2767 %2805 = fadd float %2803, %2804 %2806 = fsub float -0.000000e+00, %2805 %2807 = fmul float %2806, %2798 %2808 = fadd float %2807, %25 %2809 = call float @llvm.AMDIL.clamp.(float %2808, float 0.000000e+00, float 1.000000e+00) %2810 = fmul float %2800, %2809 %2811 = fmul float %2786, %48 %2812 = fmul float %2789, %49 %2813 = fadd float %2812, %2811 %2814 = fmul float %2792, %50 %2815 = fadd float %2813, %2814 %2816 = fmul float %2815, %2798 %2817 = fadd float %2816, 2.500000e-01 %2818 = call float @llvm.AMDIL.clamp.(float %2817, float 0.000000e+00, float 1.000000e+00) %2819 = fmul float %2810, %2818 %2820 = fadd float %2819, %2753 %2821 = fmul float %81, 0xBFE2F1AA00000000 %2822 = fmul float %82, 0xBFE2F1AA00000000 %2823 = fmul float %79, 0x3FE9CAC080000000 %2824 = fadd float %2823, %2821 %2825 = fmul float %83, 0x3FE9CAC080000000 %2826 = fadd float %2825, %2822 %2827 = fmul float %2824, 0x3F7187E7C0000000 %2828 = fadd float %2827, %36 %2829 = fmul float %2826, 0x3F7187E7C0000000 %2830 = fadd float %2829, %37 %2831 = call float @llvm.AMDIL.clamp.(float %2828, float 0.000000e+00, float 1.000000e+00) %2832 = call float @llvm.AMDIL.clamp.(float %2830, float 0.000000e+00, float 1.000000e+00) %2833 = bitcast float %2831 to i32 %2834 = bitcast float %2832 to i32 %2835 = insertelement <2 x i32> undef, i32 %2833, i32 0 %2836 = insertelement <2 x i32> %2835, i32 %2834, i32 1 %2837 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2836, <32 x i8> %29, <16 x i8> %31, i32 2) %2838 = extractelement <4 x float> %2837, i32 0 %2839 = extractelement <4 x float> %2837, i32 1 %2840 = extractelement <4 x float> %2837, i32 2 %2841 = extractelement <4 x float> %2837, i32 3 %2842 = fmul float %2831, 2.000000e+00 %2843 = fadd float %2842, -1.000000e+00 %2844 = fmul float %2832, 2.000000e+00 %2845 = fadd float %2844, -1.000000e+00 %2846 = fmul float %2843, %26 %2847 = fmul float %2845, %27 %2848 = fmul float %2846, %2846 %2849 = fmul float %2847, %2847 %2850 = fadd float %2849, %2848 %2851 = fmul float -1.000000e+00, -1.000000e+00 %2852 = fadd float %2850, %2851 %2853 = call float @llvm.AMDGPU.rsq(float %2852) %2854 = fmul float %2846, %2853 %2855 = fmul float %2847, %2853 %2856 = fmul float -1.000000e+00, %2853 %2857 = fsub float -0.000000e+00, %66 %2858 = fmul float %2854, %2841 %2859 = fadd float %2858, %2857 %2860 = fsub float -0.000000e+00, %67 %2861 = fmul float %2855, %2841 %2862 = fadd float %2861, %2860 %2863 = fsub float -0.000000e+00, %68 %2864 = fmul float %2856, %2841 %2865 = fadd float %2864, %2863 %2866 = fmul float %2859, %2859 %2867 = fmul float %2862, %2862 %2868 = fadd float %2867, %2866 %2869 = fmul float %2865, %2865 %2870 = fadd float %2868, %2869 %2871 = call float @llvm.AMDGPU.rsq(float %2870) %2872 = fmul float %24, %2871 %2873 = call float @llvm.AMDIL.clamp.(float %2872, float 0.000000e+00, float 1.000000e+00) %2874 = fmul float %2859, %2838 %2875 = fmul float %2862, %2839 %2876 = fadd float %2875, %2874 %2877 = fmul float %2865, %2840 %2878 = fadd float %2876, %2877 %2879 = fsub float -0.000000e+00, %2878 %2880 = fmul float %2879, %2871 %2881 = fadd float %2880, %25 %2882 = call float @llvm.AMDIL.clamp.(float %2881, float 0.000000e+00, float 1.000000e+00) %2883 = fmul float %2873, %2882 %2884 = fmul float %2859, %48 %2885 = fmul float %2862, %49 %2886 = fadd float %2885, %2884 %2887 = fmul float %2865, %50 %2888 = fadd float %2886, %2887 %2889 = fmul float %2888, %2871 %2890 = fadd float %2889, 2.500000e-01 %2891 = call float @llvm.AMDIL.clamp.(float %2890, float 0.000000e+00, float 1.000000e+00) %2892 = fmul float %2883, %2891 %2893 = fadd float %2892, %2820 %2894 = fmul float %2824, 0x3F830BE0E0000000 %2895 = fadd float %2894, %36 %2896 = fmul float %2826, 0x3F830BE0E0000000 %2897 = fadd float %2896, %37 %2898 = call float @llvm.AMDIL.clamp.(float %2895, float 0.000000e+00, float 1.000000e+00) %2899 = call float @llvm.AMDIL.clamp.(float %2897, float 0.000000e+00, float 1.000000e+00) %2900 = bitcast float %2898 to i32 %2901 = bitcast float %2899 to i32 %2902 = insertelement <2 x i32> undef, i32 %2900, i32 0 %2903 = insertelement <2 x i32> %2902, i32 %2901, i32 1 %2904 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2903, <32 x i8> %29, <16 x i8> %31, i32 2) %2905 = extractelement <4 x float> %2904, i32 0 %2906 = extractelement <4 x float> %2904, i32 1 %2907 = extractelement <4 x float> %2904, i32 2 %2908 = extractelement <4 x float> %2904, i32 3 %2909 = fmul float %2898, 2.000000e+00 %2910 = fadd float %2909, -1.000000e+00 %2911 = fmul float %2899, 2.000000e+00 %2912 = fadd float %2911, -1.000000e+00 %2913 = fmul float %2910, %26 %2914 = fmul float %2912, %27 %2915 = fmul float %2913, %2913 %2916 = fmul float %2914, %2914 %2917 = fadd float %2916, %2915 %2918 = fmul float -1.000000e+00, -1.000000e+00 %2919 = fadd float %2917, %2918 %2920 = call float @llvm.AMDGPU.rsq(float %2919) %2921 = fmul float %2913, %2920 %2922 = fmul float %2914, %2920 %2923 = fmul float -1.000000e+00, %2920 %2924 = fsub float -0.000000e+00, %66 %2925 = fmul float %2921, %2908 %2926 = fadd float %2925, %2924 %2927 = fsub float -0.000000e+00, %67 %2928 = fmul float %2922, %2908 %2929 = fadd float %2928, %2927 %2930 = fsub float -0.000000e+00, %68 %2931 = fmul float %2923, %2908 %2932 = fadd float %2931, %2930 %2933 = fmul float %2926, %2926 %2934 = fmul float %2929, %2929 %2935 = fadd float %2934, %2933 %2936 = fmul float %2932, %2932 %2937 = fadd float %2935, %2936 %2938 = call float @llvm.AMDGPU.rsq(float %2937) %2939 = fmul float %24, %2938 %2940 = call float @llvm.AMDIL.clamp.(float %2939, float 0.000000e+00, float 1.000000e+00) %2941 = fmul float %2926, %2905 %2942 = fmul float %2929, %2906 %2943 = fadd float %2942, %2941 %2944 = fmul float %2932, %2907 %2945 = fadd float %2943, %2944 %2946 = fsub float -0.000000e+00, %2945 %2947 = fmul float %2946, %2938 %2948 = fadd float %2947, %25 %2949 = call float @llvm.AMDIL.clamp.(float %2948, float 0.000000e+00, float 1.000000e+00) %2950 = fmul float %2940, %2949 %2951 = fmul float %2926, %48 %2952 = fmul float %2929, %49 %2953 = fadd float %2952, %2951 %2954 = fmul float %2932, %50 %2955 = fadd float %2953, %2954 %2956 = fmul float %2955, %2938 %2957 = fadd float %2956, 2.500000e-01 %2958 = call float @llvm.AMDIL.clamp.(float %2957, float 0.000000e+00, float 1.000000e+00) %2959 = fmul float %2950, %2958 %2960 = fadd float %2959, %2893 %2961 = fmul float %2824, 0x3F89AE9240000000 %2962 = fadd float %2961, %36 %2963 = fmul float %2826, 0x3F89AE9240000000 %2964 = fadd float %2963, %37 %2965 = call float @llvm.AMDIL.clamp.(float %2962, float 0.000000e+00, float 1.000000e+00) %2966 = call float @llvm.AMDIL.clamp.(float %2964, float 0.000000e+00, float 1.000000e+00) %2967 = bitcast float %2965 to i32 %2968 = bitcast float %2966 to i32 %2969 = insertelement <2 x i32> undef, i32 %2967, i32 0 %2970 = insertelement <2 x i32> %2969, i32 %2968, i32 1 %2971 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2970, <32 x i8> %29, <16 x i8> %31, i32 2) %2972 = extractelement <4 x float> %2971, i32 0 %2973 = extractelement <4 x float> %2971, i32 1 %2974 = extractelement <4 x float> %2971, i32 2 %2975 = extractelement <4 x float> %2971, i32 3 %2976 = fmul float %2965, 2.000000e+00 %2977 = fadd float %2976, -1.000000e+00 %2978 = fmul float %2966, 2.000000e+00 %2979 = fadd float %2978, -1.000000e+00 %2980 = fmul float %2977, %26 %2981 = fmul float %2979, %27 %2982 = fmul float %2980, %2980 %2983 = fmul float %2981, %2981 %2984 = fadd float %2983, %2982 %2985 = fmul float -1.000000e+00, -1.000000e+00 %2986 = fadd float %2984, %2985 %2987 = call float @llvm.AMDGPU.rsq(float %2986) %2988 = fmul float %2980, %2987 %2989 = fmul float %2981, %2987 %2990 = fmul float -1.000000e+00, %2987 %2991 = fsub float -0.000000e+00, %66 %2992 = fmul float %2988, %2975 %2993 = fadd float %2992, %2991 %2994 = fsub float -0.000000e+00, %67 %2995 = fmul float %2989, %2975 %2996 = fadd float %2995, %2994 %2997 = fsub float -0.000000e+00, %68 %2998 = fmul float %2990, %2975 %2999 = fadd float %2998, %2997 %3000 = fmul float %2993, %2993 %3001 = fmul float %2996, %2996 %3002 = fadd float %3001, %3000 %3003 = fmul float %2999, %2999 %3004 = fadd float %3002, %3003 %3005 = call float @llvm.AMDGPU.rsq(float %3004) %3006 = fmul float %24, %3005 %3007 = call float @llvm.AMDIL.clamp.(float %3006, float 0.000000e+00, float 1.000000e+00) %3008 = fmul float %2993, %2972 %3009 = fmul float %2996, %2973 %3010 = fadd float %3009, %3008 %3011 = fmul float %2999, %2974 %3012 = fadd float %3010, %3011 %3013 = fsub float -0.000000e+00, %3012 %3014 = fmul float %3013, %3005 %3015 = fadd float %3014, %25 %3016 = call float @llvm.AMDIL.clamp.(float %3015, float 0.000000e+00, float 1.000000e+00) %3017 = fmul float %3007, %3016 %3018 = fmul float %2993, %48 %3019 = fmul float %2996, %49 %3020 = fadd float %3019, %3018 %3021 = fmul float %2999, %50 %3022 = fadd float %3020, %3021 %3023 = fmul float %3022, %3005 %3024 = fadd float %3023, 2.500000e-01 %3025 = call float @llvm.AMDIL.clamp.(float %3024, float 0.000000e+00, float 1.000000e+00) %3026 = fmul float %3017, %3025 %3027 = fadd float %3026, %2960 %3028 = fmul float %2824, 0x3F9475A320000000 %3029 = fadd float %3028, %36 %3030 = fmul float %2826, 0x3F9475A320000000 %3031 = fadd float %3030, %37 %3032 = call float @llvm.AMDIL.clamp.(float %3029, float 0.000000e+00, float 1.000000e+00) %3033 = call float @llvm.AMDIL.clamp.(float %3031, float 0.000000e+00, float 1.000000e+00) %3034 = bitcast float %3032 to i32 %3035 = bitcast float %3033 to i32 %3036 = insertelement <2 x i32> undef, i32 %3034, i32 0 %3037 = insertelement <2 x i32> %3036, i32 %3035, i32 1 %3038 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %3037, <32 x i8> %29, <16 x i8> %31, i32 2) %3039 = extractelement <4 x float> %3038, i32 0 %3040 = extractelement <4 x float> %3038, i32 1 %3041 = extractelement <4 x float> %3038, i32 2 %3042 = extractelement <4 x float> %3038, i32 3 %3043 = fmul float %3032, 2.000000e+00 %3044 = fadd float %3043, -1.000000e+00 %3045 = fmul float %3033, 2.000000e+00 %3046 = fadd float %3045, -1.000000e+00 %3047 = fmul float %3044, %26 %3048 = fmul float %3046, %27 %3049 = fmul float %3047, %3047 %3050 = fmul float %3048, %3048 %3051 = fadd float %3050, %3049 %3052 = fmul float -1.000000e+00, -1.000000e+00 %3053 = fadd float %3051, %3052 %3054 = call float @llvm.AMDGPU.rsq(float %3053) %3055 = fmul float %3047, %3054 %3056 = fmul float %3048, %3054 %3057 = fmul float -1.000000e+00, %3054 %3058 = fsub float -0.000000e+00, %66 %3059 = fmul float %3055, %3042 %3060 = fadd float %3059, %3058 %3061 = fsub float -0.000000e+00, %67 %3062 = fmul float %3056, %3042 %3063 = fadd float %3062, %3061 %3064 = fsub float -0.000000e+00, %68 %3065 = fmul float %3057, %3042 %3066 = fadd float %3065, %3064 %3067 = fmul float %3060, %3060 %3068 = fmul float %3063, %3063 %3069 = fadd float %3068, %3067 %3070 = fmul float %3066, %3066 %3071 = fadd float %3069, %3070 %3072 = call float @llvm.AMDGPU.rsq(float %3071) %3073 = fmul float %24, %3072 %3074 = call float @llvm.AMDIL.clamp.(float %3073, float 0.000000e+00, float 1.000000e+00) %3075 = fmul float %3060, %3039 %3076 = fmul float %3063, %3040 %3077 = fadd float %3076, %3075 %3078 = fmul float %3066, %3041 %3079 = fadd float %3077, %3078 %3080 = fsub float -0.000000e+00, %3079 %3081 = fmul float %3080, %3072 %3082 = fadd float %3081, %25 %3083 = call float @llvm.AMDIL.clamp.(float %3082, float 0.000000e+00, float 1.000000e+00) %3084 = fmul float %3074, %3083 %3085 = fmul float %3060, %48 %3086 = fmul float %3063, %49 %3087 = fadd float %3086, %3085 %3088 = fmul float %3066, %50 %3089 = fadd float %3087, %3088 %3090 = fmul float %3089, %3072 %3091 = fadd float %3090, 2.500000e-01 %3092 = call float @llvm.AMDIL.clamp.(float %3091, float 0.000000e+00, float 1.000000e+00) %3093 = fmul float %3084, %3092 %3094 = fadd float %3093, %3027 %3095 = fmul float %81, 0xBFD5604180000000 %3096 = fmul float %82, 0xBFD5604180000000 %3097 = fmul float %79, 0x3FEE2D0E60000000 %3098 = fadd float %3097, %3095 %3099 = fmul float %83, 0x3FEE2D0E60000000 %3100 = fadd float %3099, %3096 %3101 = fmul float %3098, 0x3F713404E0000000 %3102 = fadd float %3101, %36 %3103 = fmul float %3100, 0x3F713404E0000000 %3104 = fadd float %3103, %37 %3105 = call float @llvm.AMDIL.clamp.(float %3102, float 0.000000e+00, float 1.000000e+00) %3106 = call float @llvm.AMDIL.clamp.(float %3104, float 0.000000e+00, float 1.000000e+00) %3107 = bitcast float %3105 to i32 %3108 = bitcast float %3106 to i32 %3109 = insertelement <2 x i32> undef, i32 %3107, i32 0 %3110 = insertelement <2 x i32> %3109, i32 %3108, i32 1 %3111 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %3110, <32 x i8> %29, <16 x i8> %31, i32 2) %3112 = extractelement <4 x float> %3111, i32 0 %3113 = extractelement <4 x float> %3111, i32 1 %3114 = extractelement <4 x float> %3111, i32 2 %3115 = extractelement <4 x float> %3111, i32 3 %3116 = fmul float %3105, 2.000000e+00 %3117 = fadd float %3116, -1.000000e+00 %3118 = fmul float %3106, 2.000000e+00 %3119 = fadd float %3118, -1.000000e+00 %3120 = fmul float %3117, %26 %3121 = fmul float %3119, %27 %3122 = fmul float %3120, %3120 %3123 = fmul float %3121, %3121 %3124 = fadd float %3123, %3122 %3125 = fmul float -1.000000e+00, -1.000000e+00 %3126 = fadd float %3124, %3125 %3127 = call float @llvm.AMDGPU.rsq(float %3126) %3128 = fmul float %3120, %3127 %3129 = fmul float %3121, %3127 %3130 = fmul float -1.000000e+00, %3127 %3131 = fsub float -0.000000e+00, %66 %3132 = fmul float %3128, %3115 %3133 = fadd float %3132, %3131 %3134 = fsub float -0.000000e+00, %67 %3135 = fmul float %3129, %3115 %3136 = fadd float %3135, %3134 %3137 = fsub float -0.000000e+00, %68 %3138 = fmul float %3130, %3115 %3139 = fadd float %3138, %3137 %3140 = fmul float %3133, %3133 %3141 = fmul float %3136, %3136 %3142 = fadd float %3141, %3140 %3143 = fmul float %3139, %3139 %3144 = fadd float %3142, %3143 %3145 = call float @llvm.AMDGPU.rsq(float %3144) %3146 = fmul float %24, %3145 %3147 = call float @llvm.AMDIL.clamp.(float %3146, float 0.000000e+00, float 1.000000e+00) %3148 = fmul float %3133, %3112 %3149 = fmul float %3136, %3113 %3150 = fadd float %3149, %3148 %3151 = fmul float %3139, %3114 %3152 = fadd float %3150, %3151 %3153 = fsub float -0.000000e+00, %3152 %3154 = fmul float %3153, %3145 %3155 = fadd float %3154, %25 %3156 = call float @llvm.AMDIL.clamp.(float %3155, float 0.000000e+00, float 1.000000e+00) %3157 = fmul float %3147, %3156 %3158 = fmul float %3133, %48 %3159 = fmul float %3136, %49 %3160 = fadd float %3159, %3158 %3161 = fmul float %3139, %50 %3162 = fadd float %3160, %3161 %3163 = fmul float %3162, %3145 %3164 = fadd float %3163, 2.500000e-01 %3165 = call float @llvm.AMDIL.clamp.(float %3164, float 0.000000e+00, float 1.000000e+00) %3166 = fmul float %3157, %3165 %3167 = fadd float %3166, %3094 %3168 = fmul float %3098, 0x3F83DD9800000000 %3169 = fadd float %3168, %36 %3170 = fmul float %3100, 0x3F83DD9800000000 %3171 = fadd float %3170, %37 %3172 = call float @llvm.AMDIL.clamp.(float %3169, float 0.000000e+00, float 1.000000e+00) %3173 = call float @llvm.AMDIL.clamp.(float %3171, float 0.000000e+00, float 1.000000e+00) %3174 = bitcast float %3172 to i32 %3175 = bitcast float %3173 to i32 %3176 = insertelement <2 x i32> undef, i32 %3174, i32 0 %3177 = insertelement <2 x i32> %3176, i32 %3175, i32 1 %3178 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %3177, <32 x i8> %29, <16 x i8> %31, i32 2) %3179 = extractelement <4 x float> %3178, i32 0 %3180 = extractelement <4 x float> %3178, i32 1 %3181 = extractelement <4 x float> %3178, i32 2 %3182 = extractelement <4 x float> %3178, i32 3 %3183 = fmul float %3172, 2.000000e+00 %3184 = fadd float %3183, -1.000000e+00 %3185 = fmul float %3173, 2.000000e+00 %3186 = fadd float %3185, -1.000000e+00 %3187 = fmul float %3184, %26 %3188 = fmul float %3186, %27 %3189 = fmul float %3187, %3187 %3190 = fmul float %3188, %3188 %3191 = fadd float %3190, %3189 %3192 = fmul float -1.000000e+00, -1.000000e+00 %3193 = fadd float %3191, %3192 %3194 = call float @llvm.AMDGPU.rsq(float %3193) %3195 = fmul float %3187, %3194 %3196 = fmul float %3188, %3194 %3197 = fmul float -1.000000e+00, %3194 %3198 = fsub float -0.000000e+00, %66 %3199 = fmul float %3195, %3182 %3200 = fadd float %3199, %3198 %3201 = fsub float -0.000000e+00, %67 %3202 = fmul float %3196, %3182 %3203 = fadd float %3202, %3201 %3204 = fsub float -0.000000e+00, %68 %3205 = fmul float %3197, %3182 %3206 = fadd float %3205, %3204 %3207 = fmul float %3200, %3200 %3208 = fmul float %3203, %3203 %3209 = fadd float %3208, %3207 %3210 = fmul float %3206, %3206 %3211 = fadd float %3209, %3210 %3212 = call float @llvm.AMDGPU.rsq(float %3211) %3213 = fmul float %24, %3212 %3214 = call float @llvm.AMDIL.clamp.(float %3213, float 0.000000e+00, float 1.000000e+00) %3215 = fmul float %3200, %3179 %3216 = fmul float %3203, %3180 %3217 = fadd float %3216, %3215 %3218 = fmul float %3206, %3181 %3219 = fadd float %3217, %3218 %3220 = fsub float -0.000000e+00, %3219 %3221 = fmul float %3220, %3212 %3222 = fadd float %3221, %25 %3223 = call float @llvm.AMDIL.clamp.(float %3222, float 0.000000e+00, float 1.000000e+00) %3224 = fmul float %3214, %3223 %3225 = fmul float %3200, %48 %3226 = fmul float %3203, %49 %3227 = fadd float %3226, %3225 %3228 = fmul float %3206, %50 %3229 = fadd float %3227, %3228 %3230 = fmul float %3229, %3212 %3231 = fadd float %3230, 2.500000e-01 %3232 = call float @llvm.AMDIL.clamp.(float %3231, float 0.000000e+00, float 1.000000e+00) %3233 = fmul float %3224, %3232 %3234 = fadd float %3233, %3167 %3235 = fmul float %3098, 0x3F8ED7C700000000 %3236 = fadd float %3235, %36 %3237 = fmul float %3100, 0x3F8ED7C700000000 %3238 = fadd float %3237, %37 %3239 = call float @llvm.AMDIL.clamp.(float %3236, float 0.000000e+00, float 1.000000e+00) %3240 = call float @llvm.AMDIL.clamp.(float %3238, float 0.000000e+00, float 1.000000e+00) %3241 = bitcast float %3239 to i32 %3242 = bitcast float %3240 to i32 %3243 = insertelement <2 x i32> undef, i32 %3241, i32 0 %3244 = insertelement <2 x i32> %3243, i32 %3242, i32 1 %3245 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %3244, <32 x i8> %29, <16 x i8> %31, i32 2) %3246 = extractelement <4 x float> %3245, i32 0 %3247 = extractelement <4 x float> %3245, i32 1 %3248 = extractelement <4 x float> %3245, i32 2 %3249 = extractelement <4 x float> %3245, i32 3 %3250 = fmul float %3239, 2.000000e+00 %3251 = fadd float %3250, -1.000000e+00 %3252 = fmul float %3240, 2.000000e+00 %3253 = fadd float %3252, -1.000000e+00 %3254 = fmul float %3251, %26 %3255 = fmul float %3253, %27 %3256 = fmul float %3254, %3254 %3257 = fmul float %3255, %3255 %3258 = fadd float %3257, %3256 %3259 = fmul float -1.000000e+00, -1.000000e+00 %3260 = fadd float %3258, %3259 %3261 = call float @llvm.AMDGPU.rsq(float %3260) %3262 = fmul float %3254, %3261 %3263 = fmul float %3255, %3261 %3264 = fmul float -1.000000e+00, %3261 %3265 = fsub float -0.000000e+00, %66 %3266 = fmul float %3262, %3249 %3267 = fadd float %3266, %3265 %3268 = fsub float -0.000000e+00, %67 %3269 = fmul float %3263, %3249 %3270 = fadd float %3269, %3268 %3271 = fsub float -0.000000e+00, %68 %3272 = fmul float %3264, %3249 %3273 = fadd float %3272, %3271 %3274 = fmul float %3267, %3267 %3275 = fmul float %3270, %3270 %3276 = fadd float %3275, %3274 %3277 = fmul float %3273, %3273 %3278 = fadd float %3276, %3277 %3279 = call float @llvm.AMDGPU.rsq(float %3278) %3280 = fmul float %24, %3279 %3281 = call float @llvm.AMDIL.clamp.(float %3280, float 0.000000e+00, float 1.000000e+00) %3282 = fmul float %3267, %3246 %3283 = fmul float %3270, %3247 %3284 = fadd float %3283, %3282 %3285 = fmul float %3273, %3248 %3286 = fadd float %3284, %3285 %3287 = fsub float -0.000000e+00, %3286 %3288 = fmul float %3287, %3279 %3289 = fadd float %3288, %25 %3290 = call float @llvm.AMDIL.clamp.(float %3289, float 0.000000e+00, float 1.000000e+00) %3291 = fmul float %3281, %3290 %3292 = fmul float %3267, %48 %3293 = fmul float %3270, %49 %3294 = fadd float %3293, %3292 %3295 = fmul float %3273, %50 %3296 = fadd float %3294, %3295 %3297 = fmul float %3296, %3279 %3298 = fadd float %3297, 2.500000e-01 %3299 = call float @llvm.AMDIL.clamp.(float %3298, float 0.000000e+00, float 1.000000e+00) %3300 = fmul float %3291, %3299 %3301 = fadd float %3300, %3234 %3302 = fmul float %3098, 0x3F91E108C0000000 %3303 = fadd float %3302, %36 %3304 = fmul float %3100, 0x3F91E108C0000000 %3305 = fadd float %3304, %37 %3306 = call float @llvm.AMDIL.clamp.(float %3303, float 0.000000e+00, float 1.000000e+00) %3307 = call float @llvm.AMDIL.clamp.(float %3305, float 0.000000e+00, float 1.000000e+00) %3308 = bitcast float %3306 to i32 %3309 = bitcast float %3307 to i32 %3310 = insertelement <2 x i32> undef, i32 %3308, i32 0 %3311 = insertelement <2 x i32> %3310, i32 %3309, i32 1 %3312 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %3311, <32 x i8> %29, <16 x i8> %31, i32 2) %3313 = extractelement <4 x float> %3312, i32 0 %3314 = extractelement <4 x float> %3312, i32 1 %3315 = extractelement <4 x float> %3312, i32 2 %3316 = extractelement <4 x float> %3312, i32 3 %3317 = fmul float %3306, 2.000000e+00 %3318 = fadd float %3317, -1.000000e+00 %3319 = fmul float %3307, 2.000000e+00 %3320 = fadd float %3319, -1.000000e+00 %3321 = fmul float %3318, %26 %3322 = fmul float %3320, %27 %3323 = fmul float %3321, %3321 %3324 = fmul float %3322, %3322 %3325 = fadd float %3324, %3323 %3326 = fmul float -1.000000e+00, -1.000000e+00 %3327 = fadd float %3325, %3326 %3328 = call float @llvm.AMDGPU.rsq(float %3327) %3329 = fmul float %3321, %3328 %3330 = fmul float %3322, %3328 %3331 = fmul float -1.000000e+00, %3328 %3332 = fsub float -0.000000e+00, %66 %3333 = fmul float %3329, %3316 %3334 = fadd float %3333, %3332 %3335 = fsub float -0.000000e+00, %67 %3336 = fmul float %3330, %3316 %3337 = fadd float %3336, %3335 %3338 = fsub float -0.000000e+00, %68 %3339 = fmul float %3331, %3316 %3340 = fadd float %3339, %3338 %3341 = fmul float %3334, %3334 %3342 = fmul float %3337, %3337 %3343 = fadd float %3342, %3341 %3344 = fmul float %3340, %3340 %3345 = fadd float %3343, %3344 %3346 = call float @llvm.AMDGPU.rsq(float %3345) %3347 = fmul float %24, %3346 %3348 = call float @llvm.AMDIL.clamp.(float %3347, float 0.000000e+00, float 1.000000e+00) %3349 = fmul float %3334, %3313 %3350 = fmul float %3337, %3314 %3351 = fadd float %3350, %3349 %3352 = fmul float %3340, %3315 %3353 = fadd float %3351, %3352 %3354 = fsub float -0.000000e+00, %3353 %3355 = fmul float %3354, %3346 %3356 = fadd float %3355, %25 %3357 = call float @llvm.AMDIL.clamp.(float %3356, float 0.000000e+00, float 1.000000e+00) %3358 = fmul float %3348, %3357 %3359 = fmul float %3334, %48 %3360 = fmul float %3337, %49 %3361 = fadd float %3360, %3359 %3362 = fmul float %3340, %50 %3363 = fadd float %3361, %3362 %3364 = fmul float %3363, %3346 %3365 = fadd float %3364, 2.500000e-01 %3366 = call float @llvm.AMDIL.clamp.(float %3365, float 0.000000e+00, float 1.000000e+00) %3367 = fmul float %3358, %3366 %3368 = fadd float %3367, %3301 %3369 = fmul float %3368, 0x3F95555560000000 %3370 = fsub float -0.000000e+00, %3369 %3371 = fadd float 1.000000e+00, %3370 %3372 = call float @llvm.AMDIL.clamp.(float %3371, float 0.000000e+00, float 1.000000e+00) br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp2.0 = phi float [ %3372, %IF ], [ 1.000000e+00, %main_body ] %3373 = call i32 @llvm.SI.packf16(float %temp2.0, float %temp2.0) %3374 = bitcast i32 %3373 to float %3375 = call i32 @llvm.SI.packf16(float %temp2.0, float %51) %3376 = bitcast i32 %3375 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %3374, float %3376, float %3374, float %3376) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c81c0100 c81d0101 c8180000 c8190001 c0840300 c0c60500 bf8c007f f0800f00 00430206 7e1002ff 3f733333 bf8c0770 d0020014 02021105 c8200a00 c8210a01 c8240900 c8250901 c8280800 c8290801 c8300500 c8310501 c82c0400 c82d0401 7e0002f2 be862414 8986067e bf880ca5 c08a0304 c0cc0508 c0800100 bf8c007f c2020115 c2028114 c2100110 c210810c c2110103 c2000100 bf8c007f 7e000222 d2100000 02020000 f0800300 00a60b0b bf8c0770 0602190c 060202f3 101a0101 101c1aff 3a83126f 0616170b 061616f3 0818170e 7e1c02ff 3b9f40a2 d282000f 041e1d0c d2060810 0201010f 06222110 062222f3 10222204 1000010b 7e2402ff 3a83126f d2820012 04062500 d282000e 041a1d12 d206080f 0201010e 061c1f0f 061c1cf3 101c1c05 10261d0e d2820013 044e2311 062626f2 7e265b13 10222711 f0800f00 0043140f bf8c0770 101e2f11 d2100010 0202150a d2820010 04421309 d2820010 04421108 7e205b10 10122109 10121305 081e130f 101c270e 101c2f0e 1014210a 10141505 081c150e 1022290e d2820011 04462b0f d2060013 22010113 10262f13 10102108 10101105 08201113 d2820011 04462d10 10261d0e d2820013 044e1f0f d2820013 044e2110 7e265b13 10222711 08222220 d2060811 02010111 10282621 d2060814 02010114 10222314 101c1d02 d282000e 043a070f d282000e 043a0910 7e1e02ff 3e800000 d282000e 043e270e d206080e 0201010e 101c1d11 7e2002ff 3c12ccf7 d2820011 041e210c d2060814 02010111 06222914 062222f3 10222204 d2820010 041a2112 d2060813 02010110 06202713 062020f3 10202005 102a2110 d2820015 04562311 062a2af2 7e2a5b15 10222b11 f0800f00 00431613 bf8c0770 10223311 08221311 10202b10 10203310 08201510 10262d10 d2820013 044e2f11 d2060014 22010115 10283314 08281114 d2820013 044e3114 102a2110 d2820015 04562311 d2820015 04562914 7e2a5b15 10262b13 08262620 d2060813 02010113 102c2a21 d2060816 02010116 10262716 10202102 d2820010 04420711 d2820010 04420914 d2820010 043e2b10 d2060810 02010110 d282000e 043a2113 7e2002ff 3c756eac d2820011 041e210c d2060814 02010111 06222914 062222f3 10222204 d2820010 041a2112 d2060813 02010110 06202713 062020f3 10202005 102a2110 d2820015 04562311 062a2af2 7e2a5b15 10222b11 f0800f00 00431613 bf8c0770 10223311 08221311 10202b10 10203310 08201510 10262d10 d2820013 044e2f11 d2060014 22010115 10283314 08281114 d2820013 044e3114 102a2110 d2820015 04562311 d2820015 04562914 7e2a5b15 10262b13 08262620 d2060813 02010113 102c2a21 d2060816 02010116 10262716 10202102 d2820010 04420711 d2820010 04420914 d2820010 043e2b10 d2060810 02010110 d282000e 043a2113 7e2002ff 3c87fcb9 d282000c 041e210c d2060814 0201010c 06182914 061818f3 10181804 d2820010 041a2112 d2060813 02010110 06202713 062020f3 10202005 10222110 d2820011 0446190c 062222f2 7e225b11 1018230c f0800f00 00431213 bf8c0770 10182b0c 0818130c 10202310 10202b10 08201510 102c2510 d2820016 045a270c d2060011 22010111 10222b11 08221111 d2820012 045a2911 10262110 d2820013 044e190c d2820013 044e2311 7e265b13 10242712 08242420 d2060812 02010112 10282621 d2060814 02010114 10242514 10202102 d282000c 0442070c d282000c 04320911 d282000c 043e270c d206080c 0201010c d282000c 043a1912 101c1aff 3f48b439 102016ff 3f1ef9db 081c210e 7e2002ff 3bf66a54 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 102800ff 3f48b439 7e2a02ff 3f1ef9db d2820014 04522b01 d2820010 041a2114 d2060811 02010110 06202311 062020f3 10202005 102a2110 d2820015 04562713 062a2af2 7e2a5b15 10262b13 f0800f00 00431611 bf8c0770 10223313 08221311 10202b10 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010115 10263313 08261113 d2820012 044a3113 102a2110 d2820015 04562311 d2820015 04562713 7e2a5b15 10242b12 08242420 d2060812 02010112 102c2a21 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2b10 d2060810 02010110 d282000c 04322112 7e2002ff 3c4100e6 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 d2820015 041a2114 d2060811 02010115 062a2311 062a2af3 102a2a05 102c2b15 d2820016 045a2713 062c2cf2 7e2c5b16 10262d13 f0800f00 00431711 bf8c0770 10223513 08221311 10242d15 10243512 08241512 10262f12 d2820013 044e3111 d2060015 22010116 102a3515 082a1115 d2820013 044e3315 102c2512 d2820016 045a2311 d2820016 045a2b15 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10242502 d2820011 044a0711 d2820011 04460915 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c7c5047 d2820012 041e230e d2060813 02010112 062a2713 062a2af3 102a2a04 d2820011 041a2314 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2b15 062c2cf2 7e2c5b16 102a2d15 f0800f00 00431712 bf8c0770 10243515 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060015 22010116 102a3515 082a1115 d2820013 044e3315 102c2311 d2820016 045a2512 d2820016 045a2b15 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460915 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3ca35936 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2314 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff 3f5fbe77 102216ff 3ef851ec 081c230e 7e2202ff 3b9374bc d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff 3f5fbe77 7e2c02ff 3ef851ec d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c449ba6 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c516334 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c8f3237 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff 3f6a7efa 102216ff becdd2f2 081c230e 7e2202ff 3be60807 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff 3f6a7efa 7e2c02ff becdd2f2 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c122531 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820016 041a2315 d2060812 02010116 062c2512 062c2cf3 102c2c05 102e2d16 d2820017 045e2914 062e2ef2 7e2e5b17 10282f14 f0800f00 00431812 bf8c0770 10243714 08241312 10262f16 10263713 08261513 10283113 d2820014 04523312 d2060016 22010117 102c3716 082c1116 d2820014 04523516 102e2713 d2820017 045e2512 d2820017 045e2d16 7e2e5b17 10282f14 08282820 d2060814 02010114 10302e21 d2060818 02010118 10282918 10262702 d2820012 044e0712 d2820012 044a0916 d2820012 043e2f12 d2060812 02010112 d282000c 04322514 7e2402ff 3c46e6d9 d2820013 041e250e d2060814 02010113 062c2914 062c2cf3 102c2c04 d2820012 041a2515 d2060813 02010112 06242713 062424f3 10242405 102e2512 d2820017 045e2d16 062e2ef2 7e2e5b17 102c2f16 f0800f00 00431813 bf8c0770 10263716 08261313 10242f12 10243712 08241512 10283112 d2820014 04523313 d2060016 22010117 102c3716 082c1116 d2820014 04523516 102e2512 d2820017 045e2713 d2820017 045e2d16 7e2e5b17 10282f14 08282820 d2060814 02010114 10302e21 d2060818 02010118 10282918 10242502 d2820012 044a0713 d2820012 044a0916 d2820012 043e2f12 d2060812 02010112 d282000c 04322514 7e2402ff 3c8e8a72 d282000e 041e250e d2060814 0201010e 061c2914 061c1cf3 101c1c04 d2820012 041a2515 d2060813 02010112 06242713 062424f3 10242405 102a2512 d2820015 04561d0e 062a2af2 7e2a5b15 101c2b0e f0800f00 00431613 bf8c0770 101c330e 081c130e 10242b12 10243312 08241512 10262d12 d2820013 044e2f0e d2060014 22010115 10283314 08281114 d2820013 044e3114 102a2512 d2820015 04561d0e d2820015 04562914 7e2a5b15 10262b13 08262620 d2060813 02010113 102c2a21 d2060816 02010116 10262716 10242502 d282000e 044a070e d282000e 043a0914 d282000e 043e2b0e d206080e 0201010e d282000c 04321d13 101c1aff 3f441893 102416ff bf249ba6 081c250e 7e2402ff 3bb97785 d2820013 041e250e d2060814 02010113 062a2914 062a2af3 102a2a04 102c00ff 3f441893 7e2e02ff bf249ba6 d2820016 045a2f01 d2820012 041a2516 d2060813 02010112 06242713 062424f3 10242405 102e2512 d2820017 045e2b15 062e2ef2 7e2e5b17 102a2f15 f0800f00 00431813 bf8c0770 10263715 08261313 10242f12 10243712 08241512 10283112 d2820014 04523313 d2060015 22010117 102a3715 082a1115 d2820014 04523515 102e2512 d2820017 045e2713 d2820017 045e2b15 7e2e5b17 10282f14 08282820 d2060814 02010114 10302e21 d2060818 02010118 10282918 10242502 d2820012 044a0713 d2820012 044a0915 d2820012 043e2f12 d2060812 02010112 d282000c 04322514 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2316 d2060812 02010111 06222512 062222f3 10222205 102a2311 d2820015 04562914 062a2af2 7e2a5b15 10282b14 f0800f00 00431712 bf8c0770 10243514 08241312 10222b11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010115 10283514 08281114 d2820013 044e3314 102a2311 d2820015 04562512 d2820015 04562914 7e2a5b15 10262b13 08262620 d2060813 02010113 102e2a21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2b11 d2060811 02010111 d282000c 04322313 7e2202ff 3c45eb30 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2316 d2060812 02010111 06222512 062222f3 10222205 102a2311 d2820015 04562914 062a2af2 7e2a5b15 10282b14 f0800f00 00431712 bf8c0770 10243514 08241312 10222b11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010115 10283514 08281114 d2820013 044e3314 102a2311 d2820015 04562512 d2820015 04562914 7e2a5b15 10262b13 08262620 d2060813 02010113 102e2a21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2b11 d2060811 02010111 d282000c 04322313 7e2202ff 3c8e368f d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2316 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff 3ec5a1cb 102216ff bf6c0831 081c230e 7e2202ff 3bcb295e d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff 3ec5a1cb 7e2c02ff bf6c0831 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 d2820010 041a2115 d2060811 02010110 06202311 062020f3 10202005 10282110 d2820014 04522713 062828f2 7e285b14 10262913 f0800f00 00431611 bf8c0770 10223313 08221311 10202910 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010114 10263313 08261113 d2820012 044a3113 10282110 d2820014 04522311 d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102c2821 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2910 d2060810 02010110 d282000c 04322112 7e2002ff 3c7f9723 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 d2820010 041a2115 d2060811 02010110 06202311 062020f3 10202005 10282110 d2820014 04522713 062828f2 7e285b14 10262913 f0800f00 00431611 bf8c0770 10223313 08221311 10202910 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010114 10263313 08261113 d2820012 044a3113 10282110 d2820014 04522311 d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102c2821 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2910 d2060810 02010110 d282000c 04322112 7e2002ff 3c91fb3f d282000e 041e210e d2060812 0201010e 061c2512 061c1cf3 101c1c04 d2820010 041a2115 d2060811 02010110 06202311 062020f3 10202005 10262110 d2820013 044e1d0e 062626f2 7e265b13 101c270e f0800f00 00431411 bf8c0770 101c2f0e 081c130e 10202710 10202f10 08201510 10222910 d2820011 04462b0e d2060012 22010113 10242f12 08241112 d2820011 04462d12 10262110 d2820013 044e1d0e d2820013 044e2512 7e265b13 10222711 08222220 d2060811 02010111 10282621 d2060814 02010114 10222314 10202102 d282000e 0442070e d282000e 043a0912 d282000e 043e270e d206080e 0201010e d282000c 04321d11 101c1aff be3d70a4 102016ff bf7ba5e3 081c210e 7e2002ff 3bf861a6 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 102800ff be3d70a4 7e2a02ff bf7ba5e3 d2820014 04522b01 d2820010 041a2114 d2060811 02010110 06202311 062020f3 10202005 102a2110 d2820015 04562713 062a2af2 7e2a5b15 10262b13 f0800f00 00431611 bf8c0770 10223313 08221311 10202b10 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010115 10263313 08261113 d2820012 044a3113 102a2110 d2820015 04562311 d2820015 04562713 7e2a5b15 10242b12 08242420 d2060812 02010112 102c2a21 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2b10 d2060810 02010110 d282000c 04322112 7e2002ff 3c33e575 d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 d2820010 041a2114 d2060811 02010110 06202311 062020f3 10202005 102a2110 d2820015 04562713 062a2af2 7e2a5b15 10262b13 f0800f00 00431611 bf8c0770 10223313 08221311 10202b10 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010115 10263313 08261113 d2820012 044a3113 102a2110 d2820015 04562311 d2820015 04562713 7e2a5b15 10242b12 08242420 d2060812 02010112 102c2a21 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2b10 d2060810 02010110 d282000c 04322112 7e2002ff 3c75c28f d2820011 041e210e d2060812 02010111 06262512 062626f3 10262604 d2820010 041a2114 d2060811 02010110 06202311 062020f3 10202005 102a2110 d2820015 04562713 062a2af2 7e2a5b15 10262b13 f0800f00 00431611 bf8c0770 10223313 08221311 10202b10 10203310 08201510 10242d10 d2820012 044a2f11 d2060013 22010115 10263313 08261113 d2820012 044a3113 102a2110 d2820015 04562311 d2820015 04562713 7e2a5b15 10242b12 08242420 d2060812 02010112 102c2a21 d2060816 02010116 10242516 10202102 d2820010 04420711 d2820010 04420913 d2820010 043e2b10 d2060810 02010110 d282000c 04322112 7e2002ff 3c8f0846 d282000e 041e210e d2060812 0201010e 061c2512 061c1cf3 101c1c04 d2820013 041a2114 d2060811 02010113 06262311 062626f3 10262605 10282713 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431511 bf8c0770 101c310e 081c130e 10222913 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff bf1a1cac 102216ff bf4c8b44 081c230e 7e2202ff 3bbc169c d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff bf1a1cac 7e2c02ff bf4c8b44 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c0754f3 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c727bb3 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c980b24 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff bf7ced91 102216ff be1ba5e3 081c230e 7e2202ff 3bf47303 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff bf7ced91 7e2c02ff be1ba5e3 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c20902e d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c4d20af d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c9667b6 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff bf6e978d 102216ff 3eb95810 081c230e 7e2202ff 3bcd20af d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff bf6e978d 7e2c02ff 3eb95810 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c0e368f d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c602214 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c96bb99 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101c1aff bf178d50 102216ff 3f4e5604 081c230e 7e2202ff 3b8c3f3e d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 102a00ff bf178d50 7e2c02ff 3f4e5604 d2820015 04562d01 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c185f07 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3c4d7492 d2820012 041e230e d2060813 02010112 06282713 062828f3 10282804 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 102c2311 d2820016 045a2914 062c2cf2 7e2c5b16 10282d14 f0800f00 00431712 bf8c0770 10243514 08241312 10222d11 10223511 08221511 10262f11 d2820013 044e3112 d2060014 22010116 10283514 08281114 d2820013 044e3314 102c2311 d2820016 045a2512 d2820016 045a2914 7e2c5b16 10262d13 08262620 d2060813 02010113 102e2c21 d2060817 02010117 10262717 10222302 d2820011 04460712 d2820011 04460914 d2820011 043e2d11 d2060811 02010111 d282000c 04322313 7e2202ff 3ca3ad19 d282000e 041e230e d2060813 0201010e 061c2713 061c1cf3 101c1c04 d2820011 041a2315 d2060812 02010111 06222512 062222f3 10222205 10282311 d2820014 04521d0e 062828f2 7e285b14 101c290e f0800f00 00431512 bf8c0770 101c310e 081c130e 10222911 10223111 08221511 10242b11 d2820012 044a2d0e d2060013 22010114 10263113 08261113 d2820012 044a2f13 10282311 d2820014 04521d0e d2820014 04522713 7e285b14 10242912 08242420 d2060812 02010112 102a2821 d2060815 02010115 10242515 10222302 d282000e 0446070e d282000e 043a0913 d282000e 043e290e d206080e 0201010e d282000c 04321d12 101a1aff beab020c 101616ff 3f716873 0816170d 7e1a02ff 3b89a027 d282000e 041e1b0b d2060812 0201010e 061c2512 061c1cf3 101c1c04 100000ff beab020c 7e2602ff 3f716873 d2820000 04022701 d2820001 041a1b00 d2060811 02010101 06022311 060202f3 10020205 101a0301 d282000d 04361d0e 061a1af2 7e1a5b0d 101c1b0e f0800f00 00431111 bf8c0770 101c290e 081c130e 10021b01 10022901 08021501 102a2301 d2820015 0456250e d206000d 2201010d 101a290d 081a110d d2820011 0456270d 10240301 d2820012 044a1d0e d2820012 044a1b0d 7e245b12 10222511 08222220 d2060811 02010111 10262421 d2060813 02010113 10222313 10020302 d2820001 0406070e d2820001 0406090d d2820001 043e2501 d2060801 02010101 d2820001 04320311 7e1802ff 3c1eecc0 d282000d 041e190b d206080e 0201010d 06221d0e 062222f3 10222204 d282000c 041a1900 d206080d 0201010c 06181b0d 061818f3 10181805 1024190c d2820012 044a2311 062424f2 7e245b12 10222511 f0800f00 0043130d bf8c0770 101a2d11 081a130d 1018250c 10182d0c 0818150c 101c270c d282000e 043a290d d2060011 22010112 10222d11 08221111 d282000e 043a2b11 1024190c d2820012 044a1b0d d2820012 044a2311 7e245b12 101c250e 081c1c20 d206080e 0201010e 10262421 d2060813 02010113 101c1d13 10181902 d282000c 0432070d d282000c 04320911 d282000c 043e250c d206080c 0201010c d2820001 0406190e 7e1802ff 3c76be38 d282000d 041e190b d206080e 0201010d 06221d0e 062222f3 10222204 d282000c 041a1900 d206080d 0201010c 06181b0d 061818f3 10181805 1024190c d2820012 044a2311 062424f2 7e245b12 10222511 f0800f00 0043130d bf8c0770 101a2d11 081a130d 1018250c 10182d0c 0818150c 101c270c d282000e 043a290d d2060011 22010112 10222d11 08221111 d282000e 043a2b11 1024190c d2820012 044a1b0d d2820012 044a2311 7e245b12 101c250e 081c1c20 d206080e 0201010e 10262421 d2060813 02010113 101c1d13 10181902 d282000c 0432070d d282000c 04320911 d282000c 043e250c d206080c 0201010c d2820001 0406190e d282000b 041e210b d206080c 0201010b 061a190c 061a1af3 101a1a04 d2820000 041a2100 d206080b 02010100 0600170b 060000f3 10000005 100c0100 d2820006 041a1b0d 060c0cf2 7e0c5b06 100e0d0d f0800f00 00430b0b bf8c0770 100e1d07 080e1307 10000d00 10001d00 08001500 10121700 d2820009 04261907 d2060006 22010106 100c1d06 080c1106 d2820008 04261b06 10120100 d2820009 04260f07 d2820009 04260d06 7e125b09 10101308 08101020 d2060808 02010108 10141221 d206080a 0201010a 1010110a 10000102 d2820000 04020707 d2820000 04020906 d2820000 043e1300 d2060800 02010100 d2820000 04060108 7e0202ff bcaaaaab d2820000 03ca0300 d2060800 02010100 88fe067e d25e0001 02020b00 d25e0000 02020100 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL CONST[0..6] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 0.2500, -1.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MUL TEMP[2].xy, IN[1].xyyy, CONST[0].xyyy 7: MUL TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx 8: MUL TEMP[3].x, IN[0].xxxx, CONST[6].xxxx 9: MUL TEMP[4].x, IN[0].yyyy, CONST[6].yyyy 10: MOV TEMP[3].y, TEMP[4].xxxx 11: MOV TEMP[3].z, IMM[0].yyyy 12: MOV OUT[1], TEMP[1] 13: MOV OUT[2], TEMP[2] 14: MOV OUT[3], TEMP[3] 15: MOV OUT[0], TEMP[0] 16: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %34 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %35, i32 0, i32 %5) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = extractelement <4 x float> %36, i32 2 %40 = extractelement <4 x float> %36, i32 3 %41 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %42 = load <16 x i8> addrspace(2)* %41, !tbaa !0 %43 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %42, i32 0, i32 %5) %44 = extractelement <4 x float> %43, i32 0 %45 = extractelement <4 x float> %43, i32 1 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %37, %46 %48 = fsub float -0.000000e+00, %30 %49 = fadd float %38, %48 %50 = fsub float -0.000000e+00, %31 %51 = fadd float %39, %50 %52 = fmul float %13, %47 %53 = fmul float %14, %47 %54 = fmul float %15, %47 %55 = fmul float %16, %47 %56 = fmul float %17, %49 %57 = fadd float %56, %52 %58 = fmul float %18, %49 %59 = fadd float %58, %53 %60 = fmul float %19, %49 %61 = fadd float %60, %54 %62 = fmul float %20, %49 %63 = fadd float %62, %55 %64 = fmul float %21, %51 %65 = fadd float %64, %57 %66 = fmul float %22, %51 %67 = fadd float %66, %59 %68 = fmul float %23, %51 %69 = fadd float %68, %61 %70 = fmul float %24, %51 %71 = fadd float %70, %63 %72 = fmul float %25, %40 %73 = fadd float %72, %65 %74 = fmul float %26, %40 %75 = fadd float %74, %67 %76 = fmul float %27, %40 %77 = fadd float %76, %69 %78 = fmul float %28, %40 %79 = fadd float %78, %71 %80 = fmul float %44, %11 %81 = fmul float %45, %12 %82 = fmul float %80, 2.500000e-01 %83 = fmul float %81, 2.500000e-01 %84 = fmul float %37, %32 %85 = fmul float %38, %33 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %44, float %45, float %61, float %63) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %82, float %83, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %84, float %85, float -1.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %73, float %75, float %77, float %79) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020115 bf8c007f 7e0a0204 d2080005 02020b02 c2020114 bf8c007f 7e0c0204 d2080006 02020d01 c2020107 bf8c007f 100e0c04 c202010b bf8c007f d2820007 041e0a04 c2020106 bf8c007f 10100c04 c202010a bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020101 bf8c000f 7e000204 d2100000 0202010a 100000ff 3e800000 c2020100 bf8c007f 7e1a0204 d2100009 02021b09 101212ff 3e800000 7e140280 f800021f 0a0a0009 c2020119 bf8c000f 7e000204 d2100000 02020102 c2020118 bf8c007f 7e120204 d2100009 02021301 7e1602f3 f800022f 0a0b0009 c2020116 bf8c000f 7e000204 d2080000 02020103 c202010f bf8c007f d2820007 041e0004 c2020113 bf8c007f d2820007 041e0804 c202010e bf8c007f d2820008 04220004 c2020112 bf8c007f d2820008 04220804 c2020105 bf8c007f 10120c04 c2020109 bf8c007f d2820009 04260a04 c202010d bf8c007f d2820009 04260004 c2020111 bf8c007f d2820009 04260804 c2020104 bf8c007f 100c0c04 c2020108 bf8c007f d2820005 041a0a04 c202010c bf8c007f d2820000 04160004 c2000110 bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 GLShader::loadFragment(): error in "core/shaders/render/fragment_occlusion_blur.shader" file defines: UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' 0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)' VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL CONST[0] DCL CONST[3..7] DCL TEMP[0..7], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0000, 0.0000} 0: DP3 TEMP[0].x, IN[1].xyzz, IN[1].xyzz 1: RSQ TEMP[1].x, TEMP[0].xxxx 2: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[0].xxxx 3: CMP TEMP[0].x, -TEMP[0].xxxx, TEMP[1].xxxx, IMM[0].xxxx 4: MOV TEMP[1].xy, IN[4].xyyy 5: MOV TEMP[1].w, IN[4].wwww 6: TXP TEMP[1].z, TEMP[1], SAMP[0], 2D 7: ABS TEMP[1].x, TEMP[1].zzzz 8: ADD TEMP[1].x, TEMP[1].xxxx, -TEMP[0].xxxx 9: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].xxxx 10: MUL TEMP[2].x, IN[1].wwww, TEMP[1].xxxx 11: POW TEMP[2].x, TEMP[2].xxxx, CONST[4].xxxx 12: EX2 TEMP[2].x, -TEMP[2].xxxx 13: EX2 TEMP[3].x, IN[2].wwww 14: MUL TEMP[3].x, TEMP[3].xxxx, IN[3].xxxx 15: MOV TEMP[4].x, TEMP[3].xxxx 16: EX2 TEMP[5].x, -TEMP[3].xxxx 17: ADD TEMP[5].x, IMM[0].yyyy, -TEMP[5].xxxx 18: DP3 TEMP[6].x, IN[1].xyzz, IN[2].xyzz 19: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[1].xxxx 20: RCP TEMP[7].x, TEMP[0].xxxx 21: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 22: ABS TEMP[7].x, TEMP[6].xxxx 23: FSLT TEMP[7].x, IMM[0].zzzz, TEMP[7].xxxx 24: UIF TEMP[7].xxxx :0 25: EX2 TEMP[7].x, -TEMP[6].xxxx 26: ADD TEMP[7].x, IMM[0].yyyy, -TEMP[7].xxxx 27: RCP TEMP[6].x, TEMP[6].xxxx 28: MUL TEMP[6].x, TEMP[7].xxxx, TEMP[6].xxxx 29: MUL TEMP[4].x, TEMP[3].xxxx, TEMP[6].xxxx 30: ENDIF 31: MUL TEMP[1].x, TEMP[4].xxxx, TEMP[1].xxxx 32: POW TEMP[1].x, TEMP[1].xxxx, CONST[6].xxxx 33: EX2 TEMP[1].x, -TEMP[1].xxxx 34: ADD TEMP[1].x, IMM[0].yyyy, -TEMP[1].xxxx 35: MUL TEMP[1].x, TEMP[5].xxxx, TEMP[1].xxxx 36: MAD TEMP[0].xyz, CONST[5].xyzz, TEMP[1].xxxx, CONST[3].xyzz 37: MOV TEMP[1].xyz, IN[0].xyzz 38: TEX TEMP[1].xyz, TEMP[1], SAMP[1], CUBE 39: MAD TEMP[1].xyz, TEMP[1].xyzz, CONST[7].xxxx, CONST[0].xyzz 40: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xyzz 41: MOV TEMP[0].xyz, TEMP[0].xyzx 42: ADD TEMP[1].x, IMM[0].yyyy, -TEMP[2].xxxx 43: MOV TEMP[0].w, TEMP[1].xxxx 44: MOV OUT[0], TEMP[0] 45: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %34 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %35 = load <32 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %37 = load <16 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %39 = load <32 x i8> addrspace(2)* %38, !tbaa !0 %40 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %56 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %57 = fmul float %45, %45 %58 = fmul float %46, %46 %59 = fadd float %58, %57 %60 = fmul float %47, %47 %61 = fadd float %59, %60 %62 = call float @llvm.AMDGPU.rsq(float %61) %63 = fmul float %62, %61 %64 = fsub float -0.000000e+00, %61 %65 = call float @llvm.AMDGPU.cndlt(float %64, float %63, float 0.000000e+00) %66 = fdiv float %54, %56 %67 = fdiv float %55, %56 %68 = bitcast float %66 to i32 %69 = bitcast float %67 to i32 %70 = insertelement <2 x i32> undef, i32 %68, i32 0 %71 = insertelement <2 x i32> %70, i32 %69, i32 1 %72 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %71, <32 x i8> %35, <16 x i8> %37, i32 2) %73 = extractelement <4 x float> %72, i32 2 %74 = call float @fabs(float %73) %75 = fsub float -0.000000e+00, %65 %76 = fadd float %74, %75 %77 = fcmp uge float %76, 0.000000e+00 %78 = select i1 %77, float %76, float 0.000000e+00 %79 = fmul float %48, %78 %80 = call float @llvm.pow.f32(float %79, float %28) %81 = fsub float -0.000000e+00, %80 %82 = call float @llvm.AMDIL.exp.(float %81) %83 = call float @llvm.AMDIL.exp.(float %52) %84 = fmul float %83, %53 %85 = fsub float -0.000000e+00, %84 %86 = call float @llvm.AMDIL.exp.(float %85) %87 = fsub float -0.000000e+00, %86 %88 = fadd float 1.000000e+00, %87 %89 = fmul float %45, %49 %90 = fmul float %46, %50 %91 = fadd float %90, %89 %92 = fmul float %47, %51 %93 = fadd float %91, %92 %94 = fmul float %93, %78 %95 = fdiv float 1.000000e+00, %65 %96 = fmul float %94, %95 %97 = call float @fabs(float %96) %98 = fcmp olt float 0x3EE4F8B580000000, %97 %99 = sext i1 %98 to i32 %100 = bitcast i32 %99 to float %101 = bitcast float %100 to i32 %102 = icmp ne i32 %101, 0 br i1 %102, label %IF, label %ENDIF IF: ; preds = %main_body %103 = fsub float -0.000000e+00, %96 %104 = call float @llvm.AMDIL.exp.(float %103) %105 = fsub float -0.000000e+00, %104 %106 = fadd float 1.000000e+00, %105 %107 = fdiv float 1.000000e+00, %96 %108 = fmul float %106, %107 %109 = fmul float %84, %108 br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp16.0 = phi float [ %109, %IF ], [ %84, %main_body ] %110 = fmul float %temp16.0, %78 %111 = call float @llvm.pow.f32(float %110, float %32) %112 = fsub float -0.000000e+00, %111 %113 = call float @llvm.AMDIL.exp.(float %112) %114 = fsub float -0.000000e+00, %113 %115 = fadd float 1.000000e+00, %114 %116 = fmul float %88, %115 %117 = fmul float %29, %116 %118 = fadd float %117, %25 %119 = fmul float %30, %116 %120 = fadd float %119, %26 %121 = fmul float %31, %116 %122 = fadd float %121, %27 %123 = insertelement <4 x float> undef, float %42, i32 0 %124 = insertelement <4 x float> %123, float %43, i32 1 %125 = insertelement <4 x float> %124, float %44, i32 2 %126 = insertelement <4 x float> %125, float %56, i32 3 %127 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %126) %128 = extractelement <4 x float> %127, i32 0 %129 = extractelement <4 x float> %127, i32 1 %130 = extractelement <4 x float> %127, i32 2 %131 = extractelement <4 x float> %127, i32 3 %132 = call float @fabs(float %130) %133 = fdiv float 1.000000e+00, %132 %134 = fmul float %128, %133 %135 = fadd float %134, 1.500000e+00 %136 = fmul float %129, %133 %137 = fadd float %136, 1.500000e+00 %138 = bitcast float %137 to i32 %139 = bitcast float %135 to i32 %140 = bitcast float %131 to i32 %141 = insertelement <4 x i32> undef, i32 %138, i32 0 %142 = insertelement <4 x i32> %141, i32 %139, i32 1 %143 = insertelement <4 x i32> %142, i32 %140, i32 2 %144 = insertelement <4 x i32> %143, i32 undef, i32 3 %145 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %144, <32 x i8> %39, <16 x i8> %41, i32 4) %146 = extractelement <4 x float> %145, i32 0 %147 = extractelement <4 x float> %145, i32 1 %148 = extractelement <4 x float> %145, i32 2 %149 = fmul float %146, %33 %150 = fadd float %149, %22 %151 = fmul float %147, %33 %152 = fadd float %151, %23 %153 = fmul float %148, %33 %154 = fadd float %153, %24 %155 = fmul float %118, %150 %156 = fmul float %120, %152 %157 = fmul float %122, %154 %158 = fsub float -0.000000e+00, %82 %159 = fadd float 1.000000e+00, %158 %160 = call i32 @llvm.SI.packf16(float %155, float %156) %161 = bitcast i32 %160 to float %162 = call i32 @llvm.SI.packf16(float %157, float %159) %163 = bitcast i32 %162 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %161, float %163, float %161, float %163) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8200500 c8210501 c8240400 c8250401 10041309 d2820002 040a1108 c8280600 c8290601 d2820002 040a150a 7e065b02 10060503 d2060002 22010102 d0080008 02020480 d200000b 00220680 c8081100 c8091101 c8181300 c8191301 7e0e5506 101a0f02 c8081000 c8091001 10180f02 c0840300 c0c60500 bf8c007f f0800400 0043020c bf8c0770 d2060102 02010102 08041702 d00c0008 02010102 d2000007 00220480 c8080700 c8090701 10040f02 7e044f02 c08a0100 bf8c007f c2001510 bf8c007f 0e040400 7e044b02 d2060002 22010102 7e044b02 c8300800 c8310801 10121909 c8300900 c8310901 d2820008 04261908 c8240a00 c8250a01 d2820008 0422130a 10100f08 7e12550b 101a1308 d2060108 0201010d 7e1202ff 3727c5ac d0080018 02021308 c8200c00 c8210c01 c8240b00 c8250b01 7e124b09 10121109 d2060008 22010109 7e104b08 081010f2 c8140200 c8150201 c8100100 c8110101 c80c0000 c80d0001 c0840304 c0c60508 c202151c c2019518 c2001516 c2011515 c2009514 c202950e c203150d c203950c c20d1502 c20d9501 c20a1500 bf8c007f 7e000205 7e160206 7e140207 7e02021a 7e1c021b 7e180214 be862418 8986067e 7e1e550d d206000d 2201010d 7e1a4b0d 081a1af2 101a1f0d 10121b09 88fe067e d28a0010 04160903 d28c000f 04160903 d28e0011 04160903 d2880012 04160903 d2060103 02010111 7e065503 7e0802ff 3fc00000 d2820011 0412070f d2820010 04120710 f0800700 00430310 7e0c0204 bf8c0770 d282000d 043a0d04 d2100007 02020f09 7e0e4f07 0e0e0e03 7e0e4b07 d2060007 22010107 7e0e4b07 080e0ef2 100e0f08 d2820008 042e0e02 10101b08 d2820009 04320d03 d282000a 042a0e01 1012130a 5e101109 d2820001 04060d05 d2820000 04020e00 10000300 d2080001 020204f2 5e000300 f8001c0f 00080008 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[7] DCL CONST[0..11] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, 0.0000, 0.0000} 0: MOV TEMP[0].x, CONST[1].zzzz 1: MOV TEMP[0].y, CONST[2].zzzz 2: MOV TEMP[0].z, CONST[3].zzzz 3: RCP TEMP[1].x, CONST[0].yyyy 4: MUL TEMP[1].xyz, IN[0].xyzz, TEMP[1].xxxx 5: MUL TEMP[2].x, CONST[0].yyyy, CONST[11].xxxx 6: MOV TEMP[1].w, TEMP[2].xxxx 7: MUL TEMP[2], CONST[4], IN[0].xxxx 8: MAD TEMP[2], CONST[5], IN[0].yyyy, TEMP[2] 9: MAD TEMP[2], CONST[6], IN[0].zzzz, TEMP[2] 10: MAD TEMP[2], CONST[7], IN[0].wwww, TEMP[2] 11: MOV TEMP[0].xyz, TEMP[0].xyzx 12: MUL TEMP[3].xyz, -CONST[8].xyzz, CONST[0].yyyy 13: MUL TEMP[3].xyz, TEMP[3].xyzz, CONST[10].xxxx 14: MAX TEMP[4].x, -CONST[8].wwww, IMM[0].xxxx 15: MUL TEMP[4].x, -TEMP[4].xxxx, CONST[10].xxxx 16: MOV TEMP[3].w, TEMP[4].xxxx 17: MUL TEMP[4].x, CONST[0].yyyy, CONST[9].xxxx 18: ADD TEMP[5], TEMP[2], TEMP[2].wwww 19: MUL TEMP[5], TEMP[5], IMM[0].yyyy 20: MOV OUT[1], TEMP[0] 21: MOV OUT[2], TEMP[1] 22: MOV OUT[3], TEMP[3] 23: MOV OUT[4], TEMP[4] 24: MOV OUT[0], TEMP[2] 25: MOV OUT[5], TEMP[5] 26: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %38 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %39, i32 0, i32 %5) %41 = extractelement <4 x float> %40, i32 0 %42 = extractelement <4 x float> %40, i32 1 %43 = extractelement <4 x float> %40, i32 2 %44 = extractelement <4 x float> %40, i32 3 %45 = fdiv float 1.000000e+00, %11 %46 = fmul float %41, %45 %47 = fmul float %42, %45 %48 = fmul float %43, %45 %49 = fmul float %11, %37 %50 = fmul float %15, %41 %51 = fmul float %16, %41 %52 = fmul float %17, %41 %53 = fmul float %18, %41 %54 = fmul float %19, %42 %55 = fadd float %54, %50 %56 = fmul float %20, %42 %57 = fadd float %56, %51 %58 = fmul float %21, %42 %59 = fadd float %58, %52 %60 = fmul float %22, %42 %61 = fadd float %60, %53 %62 = fmul float %23, %43 %63 = fadd float %62, %55 %64 = fmul float %24, %43 %65 = fadd float %64, %57 %66 = fmul float %25, %43 %67 = fadd float %66, %59 %68 = fmul float %26, %43 %69 = fadd float %68, %61 %70 = fmul float %27, %44 %71 = fadd float %70, %63 %72 = fmul float %28, %44 %73 = fadd float %72, %65 %74 = fmul float %29, %44 %75 = fadd float %74, %67 %76 = fmul float %30, %44 %77 = fadd float %76, %69 %78 = fsub float -0.000000e+00, %31 %79 = fmul float %78, %11 %80 = fsub float -0.000000e+00, %32 %81 = fmul float %80, %11 %82 = fsub float -0.000000e+00, %33 %83 = fmul float %82, %11 %84 = fmul float %79, %36 %85 = fmul float %81, %36 %86 = fmul float %83, %36 %87 = fsub float -0.000000e+00, %34 %88 = fcmp uge float %87, 0.000000e+00 %89 = select i1 %88, float %87, float 0.000000e+00 %90 = fsub float -0.000000e+00, %89 %91 = fmul float %90, %36 %92 = fmul float %11, %35 %93 = fadd float %71, %77 %94 = fadd float %73, %77 %95 = fadd float %75, %77 %96 = fadd float %77, %77 %97 = fmul float %93, 5.000000e-01 %98 = fmul float %94, 5.000000e-01 %99 = fmul float %95, 5.000000e-01 %100 = fmul float %96, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %12, float %13, float %14, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %46, float %47, float %48, float %49) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %84, float %85, float %86, float %91) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %92, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %97, float %98, float %99, float %100) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 bf8c007f c202010e c202810a c2040106 7e020280 bf8c007f 7e040208 7e060205 7e080204 f800020f 01040302 c2020101 c202812c bf8c000f 7e040205 d2100002 02020404 c0840700 bf8c007f e00c2000 80020300 7e005404 bf8c0770 100e0105 10100104 10000103 f800021f 02070800 c2028122 bf8c000f d2060000 22010005 10000004 c2028128 bf8c007f 10000005 c2030121 bf8c007f d2060002 22010006 10040404 10040405 c2030120 bf8c007f d2060007 22010006 100e0e04 100e0e05 c2030123 bf8c007f d2060008 22010006 d00c0006 02010108 d2000008 001a1080 d2060008 22010108 10101005 f800022f 08000207 c2028124 bf8c000f 7e000205 d2100000 02020004 f800023f 01010100 c2020113 bf8c000f 10000604 c2020117 bf8c007f d2820000 04020804 c202011b bf8c007f d2820000 04020a04 c202011f bf8c007f d2820000 04020c04 c2020112 bf8c007f 10020604 c2020116 bf8c007f d2820001 04060804 c202011a bf8c007f d2820001 04060a04 c202011e bf8c007f d2820001 04060c04 06040101 100404f0 c2020111 bf8c007f 100e0604 c2020115 bf8c007f d2820007 041e0804 c2020119 bf8c007f d2820007 041e0a04 c202011d bf8c007f d2820007 041e0c04 06100107 101010f0 c2020110 bf8c007f 10120604 c2020114 bf8c007f d2820009 04260804 c2020118 bf8c007f d2820009 04260a04 c200011c bf8c007f d2820003 04260c00 06080103 100808f0 060a0100 100a0af0 f800024f 05020804 f80008cf 00010703 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[1], PERSPECTIVE DCL IN[1], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL CONST[0..20] DCL CONST[24..32] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, -1.0000, 1.0000, 16.0000} IMM[1] FLT32 { -0.2500, 0.2450, -0.7500, 0.0000} 0: MOV TEMP[0].xy, IN[1].xyyy 1: MOV TEMP[0].w, IN[1].wwww 2: TXP TEMP[0].z, TEMP[0], SAMP[0], 2D 3: ABS TEMP[1].x, TEMP[0].zzzz 4: DP3 TEMP[2].x, IN[0].xyzz, IN[0].xyzz 5: RSQ TEMP[3].x, TEMP[2].xxxx 6: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 7: CMP TEMP[3].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].xxxx 8: ADD TEMP[1].x, TEMP[1].xxxx, -TEMP[3].xxxx 9: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].xxxx 10: MUL TEMP[1].x, IN[0].wwww, TEMP[1].xxxx 11: POW TEMP[1].x, TEMP[1].xxxx, CONST[25].xxxx 12: EX2 TEMP[1].x, -TEMP[1].xxxx 13: DP3 TEMP[2].x, IN[0].xyzz, IN[0].xyzz 14: RSQ TEMP[2].x, TEMP[2].xxxx 15: MUL TEMP[2].xyz, IN[0].xyzz, TEMP[2].xxxx 16: ABS TEMP[0].x, TEMP[0].zzzz 17: MUL TEMP[0].x, CONST[0].yyyy, TEMP[0].xxxx 18: MUL TEMP[0].xyz, TEMP[2].xyzz, TEMP[0].xxxx 19: ADD TEMP[2].xyz, TEMP[0].xyzz, CONST[1].xyzz 20: MAD TEMP[3].xy, TEMP[2].xyyy, CONST[26].xyyy, CONST[26].zwww 21: MOV TEMP[3].xy, TEMP[3].xyyy 22: TEX TEMP[3].xy, TEMP[3], SAMP[1], 2D 23: MAD TEMP[4].xy, TEMP[2].xyyy, CONST[27].xyyy, CONST[27].zwww 24: MOV TEMP[4].xy, TEMP[4].xyyy 25: TEX TEMP[4].xy, TEMP[4], SAMP[1], 2D 26: ADD TEMP[3].xy, TEMP[3].xyyy, TEMP[4].xyyy 27: ADD TEMP[3].xy, TEMP[3].xyyy, IMM[0].yyyy 28: ABS TEMP[3].xy, TEMP[3].xyyy 29: MOV TEMP[4].w, IMM[0].zzzz 30: MOV TEMP[4].xyz, TEMP[0].xyzx 31: DP4 TEMP[0].x, CONST[24], TEMP[4] 32: MIN TEMP[0].x, TEMP[0].xxxx, IMM[0].xxxx 33: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[3].yyyy 34: MUL TEMP[3].x, TEMP[3].xxxx, CONST[30].xxxx 35: ADD_SAT TEMP[3].x, IMM[0].zzzz, -TEMP[3].xxxx 36: POW TEMP[3].x, TEMP[3].xxxx, IMM[0].wwww 37: MUL_SAT TEMP[4].x, -TEMP[0].xxxx, CONST[31].xxxx 38: MUL TEMP[4].x, CONST[29].xxxx, TEMP[4].xxxx 39: MUL TEMP[0].x, TEMP[0].xxxx, CONST[32].xxxx 40: EX2 TEMP[0].x, TEMP[0].xxxx 41: MUL TEMP[0].x, TEMP[4].xxxx, TEMP[0].xxxx 42: MUL TEMP[0].x, TEMP[3].xxxx, TEMP[0].xxxx 43: MOV TEMP[3].x, IMM[0].xxxx 44: MUL TEMP[4], CONST[4], TEMP[2].xxxx 45: MAD TEMP[4], CONST[5], TEMP[2].yyyy, TEMP[4] 46: MAD TEMP[4], CONST[6], TEMP[2].zzzz, TEMP[4] 47: ADD TEMP[4], TEMP[4], CONST[7] 48: MOV TEMP[5].xyz, TEMP[4] 49: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].xxxx 50: ABS TEMP[4].xy, TEMP[4].xyyy 51: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 52: FSLT TEMP[4].x, IMM[1].yyyy, TEMP[4].xxxx 53: UIF TEMP[4].xxxx :0 54: MUL TEMP[4], CONST[8], TEMP[2].xxxx 55: MAD TEMP[4], CONST[9], TEMP[2].yyyy, TEMP[4] 56: MAD TEMP[4], CONST[10], TEMP[2].zzzz, TEMP[4] 57: ADD TEMP[4], TEMP[4], CONST[11] 58: MOV TEMP[5].xyz, TEMP[4] 59: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zxxx 60: ABS TEMP[4].xy, TEMP[4].xyyy 61: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 62: FSLT TEMP[4].x, IMM[1].yyyy, TEMP[4].xxxx 63: UIF TEMP[4].xxxx :0 64: MUL TEMP[4], CONST[12], TEMP[2].xxxx 65: MAD TEMP[4], CONST[13], TEMP[2].yyyy, TEMP[4] 66: MAD TEMP[4], CONST[14], TEMP[2].zzzz, TEMP[4] 67: ADD TEMP[4], TEMP[4], CONST[15] 68: MOV TEMP[5], TEMP[4] 69: ADD TEMP[4].xy, TEMP[4].xyyy, IMM[1].xzzz 70: ABS TEMP[4].xy, TEMP[4].xyyy 71: MAX TEMP[4].x, TEMP[4].xxxx, TEMP[4].yyyy 72: FSLT TEMP[4].x, IMM[1].yyyy, TEMP[4].xxxx 73: UIF TEMP[4].xxxx :0 74: MUL TEMP[4], CONST[16], TEMP[2].xxxx 75: MAD TEMP[4], CONST[17], TEMP[2].yyyy, TEMP[4] 76: MAD TEMP[2], CONST[18], TEMP[2].zzzz, TEMP[4] 77: ADD TEMP[2], TEMP[2], CONST[19] 78: MOV TEMP[5], TEMP[2] 79: ADD TEMP[2].xy, TEMP[2].xyyy, IMM[1].zzzz 80: ABS TEMP[2].xy, TEMP[2].xyyy 81: MAX TEMP[2].x, TEMP[2].xxxx, TEMP[2].yyyy 82: FSLT TEMP[2].x, IMM[1].yyyy, TEMP[2].xxxx 83: UIF TEMP[2].xxxx :0 84: MOV TEMP[3].x, IMM[0].zzzz 85: ENDIF 86: ENDIF 87: ENDIF 88: ENDIF 89: FSEQ TEMP[2].x, TEMP[3].xxxx, IMM[0].xxxx 90: UIF TEMP[2].xxxx :0 91: MOV TEMP[2].xy, TEMP[5].xyyy 92: MOV TEMP[2].z, TEMP[5].zzzz 93: TEX TEMP[2].x, TEMP[2], SAMP[2], SHADOW2D 94: ADD_SAT TEMP[2].x, TEMP[2].xxxx, CONST[3].yyyy 95: MOV TEMP[2].x, TEMP[2].xxxx 96: ELSE :0 97: MOV TEMP[2].x, IMM[0].zzzz 98: ENDIF 99: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[2].xxxx 100: MOV TEMP[2].w, IMM[0].zzzz 101: MUL TEMP[0].x, TEMP[0].xxxx, CONST[20].xxxx 102: MUL TEMP[0].xyz, CONST[28].xyzz, TEMP[0].xxxx 103: MUL TEMP[0].xyz, TEMP[0].xyzz, CONST[2].xyzz 104: MUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[1].xxxx 105: MOV OUT[0], TEMP[2] 106: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 384) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 388) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 392) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 396) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 400) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 428) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %90 = call float @llvm.SI.load.const(<16 x i8> %21, i32 440) %91 = call float @llvm.SI.load.const(<16 x i8> %21, i32 444) %92 = call float @llvm.SI.load.const(<16 x i8> %21, i32 448) %93 = call float @llvm.SI.load.const(<16 x i8> %21, i32 452) %94 = call float @llvm.SI.load.const(<16 x i8> %21, i32 456) %95 = call float @llvm.SI.load.const(<16 x i8> %21, i32 464) %96 = call float @llvm.SI.load.const(<16 x i8> %21, i32 480) %97 = call float @llvm.SI.load.const(<16 x i8> %21, i32 496) %98 = call float @llvm.SI.load.const(<16 x i8> %21, i32 512) %99 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %100 = load <32 x i8> addrspace(2)* %99, !tbaa !0 %101 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %102 = load <16 x i8> addrspace(2)* %101, !tbaa !0 %103 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %104 = load <32 x i8> addrspace(2)* %103, !tbaa !0 %105 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %106 = load <16 x i8> addrspace(2)* %105, !tbaa !0 %107 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %108 = load <32 x i8> addrspace(2)* %107, !tbaa !0 %109 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %110 = load <16 x i8> addrspace(2)* %109, !tbaa !0 %111 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %112 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %113 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %114 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %115 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %116 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %117 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %118 = fdiv float %115, %117 %119 = fdiv float %116, %117 %120 = bitcast float %118 to i32 %121 = bitcast float %119 to i32 %122 = insertelement <2 x i32> undef, i32 %120, i32 0 %123 = insertelement <2 x i32> %122, i32 %121, i32 1 %124 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %123, <32 x i8> %100, <16 x i8> %102, i32 2) %125 = extractelement <4 x float> %124, i32 2 %126 = call float @fabs(float %125) %127 = fmul float %111, %111 %128 = fmul float %112, %112 %129 = fadd float %128, %127 %130 = fmul float %113, %113 %131 = fadd float %129, %130 %132 = call float @llvm.AMDGPU.rsq(float %131) %133 = fmul float %132, %131 %134 = fsub float -0.000000e+00, %131 %135 = call float @llvm.AMDGPU.cndlt(float %134, float %133, float 0.000000e+00) %136 = fsub float -0.000000e+00, %135 %137 = fadd float %126, %136 %138 = fcmp uge float %137, 0.000000e+00 %139 = select i1 %138, float %137, float 0.000000e+00 %140 = fmul float %114, %139 %141 = call float @llvm.pow.f32(float %140, float %83) %142 = fsub float -0.000000e+00, %141 %143 = call float @llvm.AMDIL.exp.(float %142) %144 = fmul float %111, %111 %145 = fmul float %112, %112 %146 = fadd float %145, %144 %147 = fmul float %113, %113 %148 = fadd float %146, %147 %149 = call float @llvm.AMDGPU.rsq(float %148) %150 = fmul float %111, %149 %151 = fmul float %112, %149 %152 = fmul float %113, %149 %153 = call float @fabs(float %125) %154 = fmul float %22, %153 %155 = fmul float %150, %154 %156 = fmul float %151, %154 %157 = fmul float %152, %154 %158 = fadd float %155, %23 %159 = fadd float %156, %24 %160 = fadd float %157, %25 %161 = fmul float %158, %84 %162 = fadd float %161, %86 %163 = fmul float %159, %85 %164 = fadd float %163, %87 %165 = bitcast float %162 to i32 %166 = bitcast float %164 to i32 %167 = insertelement <2 x i32> undef, i32 %165, i32 0 %168 = insertelement <2 x i32> %167, i32 %166, i32 1 %169 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %168, <32 x i8> %104, <16 x i8> %106, i32 2) %170 = extractelement <4 x float> %169, i32 0 %171 = extractelement <4 x float> %169, i32 1 %172 = fmul float %158, %88 %173 = fadd float %172, %90 %174 = fmul float %159, %89 %175 = fadd float %174, %91 %176 = bitcast float %173 to i32 %177 = bitcast float %175 to i32 %178 = insertelement <2 x i32> undef, i32 %176, i32 0 %179 = insertelement <2 x i32> %178, i32 %177, i32 1 %180 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %179, <32 x i8> %104, <16 x i8> %106, i32 2) %181 = extractelement <4 x float> %180, i32 0 %182 = extractelement <4 x float> %180, i32 1 %183 = fadd float %170, %181 %184 = fadd float %171, %182 %185 = fadd float %183, -1.000000e+00 %186 = fadd float %184, -1.000000e+00 %187 = call float @fabs(float %185) %188 = call float @fabs(float %186) %189 = fmul float %79, %155 %190 = fmul float %80, %156 %191 = fadd float %189, %190 %192 = fmul float %81, %157 %193 = fadd float %191, %192 %194 = fmul float %82, 1.000000e+00 %195 = fadd float %193, %194 %196 = fcmp uge float %195, 0.000000e+00 %197 = select i1 %196, float 0.000000e+00, float %195 %198 = fadd float %187, %188 %199 = fmul float %198, %96 %200 = fsub float -0.000000e+00, %199 %201 = fadd float 1.000000e+00, %200 %202 = call float @llvm.AMDIL.clamp.(float %201, float 0.000000e+00, float 1.000000e+00) %203 = call float @llvm.pow.f32(float %202, float 1.600000e+01) %204 = fsub float -0.000000e+00, %197 %205 = fmul float %204, %97 %206 = call float @llvm.AMDIL.clamp.(float %205, float 0.000000e+00, float 1.000000e+00) %207 = fmul float %95, %206 %208 = fmul float %197, %98 %209 = call float @llvm.AMDIL.exp.(float %208) %210 = fmul float %207, %209 %211 = fmul float %203, %210 %212 = fmul float %30, %158 %213 = fmul float %31, %158 %214 = fmul float %32, %158 %215 = fmul float %33, %159 %216 = fadd float %215, %212 %217 = fmul float %34, %159 %218 = fadd float %217, %213 %219 = fmul float %35, %159 %220 = fadd float %219, %214 %221 = fmul float %36, %160 %222 = fadd float %221, %216 %223 = fmul float %37, %160 %224 = fadd float %223, %218 %225 = fmul float %38, %160 %226 = fadd float %225, %220 %227 = fadd float %222, %39 %228 = fadd float %224, %40 %229 = fadd float %226, %41 %230 = fadd float %227, -2.500000e-01 %231 = fadd float %228, -2.500000e-01 %232 = call float @fabs(float %230) %233 = call float @fabs(float %231) %234 = fcmp uge float %232, %233 %235 = select i1 %234, float %232, float %233 %236 = fcmp olt float 0x3FCF5C2900000000, %235 %237 = sext i1 %236 to i32 %238 = bitcast i32 %237 to float %239 = bitcast float %238 to i32 %240 = icmp ne i32 %239, 0 br i1 %240, label %IF, label %ENDIF IF: ; preds = %main_body %241 = fmul float %42, %158 %242 = fmul float %43, %158 %243 = fmul float %44, %158 %244 = fmul float %45, %159 %245 = fadd float %244, %241 %246 = fmul float %46, %159 %247 = fadd float %246, %242 %248 = fmul float %47, %159 %249 = fadd float %248, %243 %250 = fmul float %48, %160 %251 = fadd float %250, %245 %252 = fmul float %49, %160 %253 = fadd float %252, %247 %254 = fmul float %50, %160 %255 = fadd float %254, %249 %256 = fadd float %251, %51 %257 = fadd float %253, %52 %258 = fadd float %255, %53 %259 = fadd float %256, -7.500000e-01 %260 = fadd float %257, -2.500000e-01 %261 = call float @fabs(float %259) %262 = call float @fabs(float %260) %263 = fcmp uge float %261, %262 %264 = select i1 %263, float %261, float %262 %265 = fcmp olt float 0x3FCF5C2900000000, %264 %266 = sext i1 %265 to i32 %267 = bitcast i32 %266 to float %268 = bitcast float %267 to i32 %269 = icmp ne i32 %268, 0 br i1 %269, label %IF25, label %ENDIF ENDIF: ; preds = %IF28, %IF25, %IF, %main_body %temp12.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF28 ], [ 0.000000e+00, %IF25 ] %temp20.0 = phi float [ %227, %main_body ], [ %256, %IF ], [ %319, %IF28 ], [ %290, %IF25 ] %temp21.0 = phi float [ %228, %main_body ], [ %257, %IF ], [ %320, %IF28 ], [ %291, %IF25 ] %temp22.0 = phi float [ %229, %main_body ], [ %258, %IF ], [ %321, %IF28 ], [ %292, %IF25 ] %270 = fcmp oeq float %temp12.0, 0.000000e+00 %271 = sext i1 %270 to i32 %272 = bitcast i32 %271 to float %273 = bitcast float %272 to i32 %274 = icmp ne i32 %273, 0 br i1 %274, label %IF34, label %ENDIF33 IF25: ; preds = %IF %275 = fmul float %54, %158 %276 = fmul float %55, %158 %277 = fmul float %56, %158 %278 = fmul float %57, %159 %279 = fadd float %278, %275 %280 = fmul float %58, %159 %281 = fadd float %280, %276 %282 = fmul float %59, %159 %283 = fadd float %282, %277 %284 = fmul float %60, %160 %285 = fadd float %284, %279 %286 = fmul float %61, %160 %287 = fadd float %286, %281 %288 = fmul float %62, %160 %289 = fadd float %288, %283 %290 = fadd float %285, %63 %291 = fadd float %287, %64 %292 = fadd float %289, %65 %293 = fadd float %290, -2.500000e-01 %294 = fadd float %291, -7.500000e-01 %295 = call float @fabs(float %293) %296 = call float @fabs(float %294) %297 = fcmp uge float %295, %296 %298 = select i1 %297, float %295, float %296 %299 = fcmp olt float 0x3FCF5C2900000000, %298 %300 = sext i1 %299 to i32 %301 = bitcast i32 %300 to float %302 = bitcast float %301 to i32 %303 = icmp ne i32 %302, 0 br i1 %303, label %IF28, label %ENDIF IF28: ; preds = %IF25 %304 = fmul float %66, %158 %305 = fmul float %67, %158 %306 = fmul float %68, %158 %307 = fmul float %69, %159 %308 = fadd float %307, %304 %309 = fmul float %70, %159 %310 = fadd float %309, %305 %311 = fmul float %71, %159 %312 = fadd float %311, %306 %313 = fmul float %72, %160 %314 = fadd float %313, %308 %315 = fmul float %73, %160 %316 = fadd float %315, %310 %317 = fmul float %74, %160 %318 = fadd float %317, %312 %319 = fadd float %314, %75 %320 = fadd float %316, %76 %321 = fadd float %318, %77 %322 = fadd float %319, -7.500000e-01 %323 = fadd float %320, -7.500000e-01 %324 = call float @fabs(float %322) %325 = call float @fabs(float %323) %326 = fcmp uge float %324, %325 %327 = select i1 %326, float %324, float %325 %328 = fcmp olt float 0x3FCF5C2900000000, %327 %329 = sext i1 %328 to i32 %330 = bitcast i32 %329 to float %331 = bitcast float %330 to i32 %332 = icmp ne i32 %331, 0 %. = select i1 %332, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF34: ; preds = %ENDIF %333 = bitcast float %temp22.0 to i32 %334 = bitcast float %temp20.0 to i32 %335 = bitcast float %temp21.0 to i32 %336 = insertelement <4 x i32> undef, i32 %333, i32 0 %337 = insertelement <4 x i32> %336, i32 %334, i32 1 %338 = insertelement <4 x i32> %337, i32 %335, i32 2 %339 = insertelement <4 x i32> %338, i32 undef, i32 3 %340 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %339, <32 x i8> %108, <16 x i8> %110, i32 7) %341 = extractelement <4 x float> %340, i32 0 %342 = fadd float %341, %29 %343 = call float @llvm.AMDIL.clamp.(float %342, float 0.000000e+00, float 1.000000e+00) br label %ENDIF33 ENDIF33: ; preds = %ENDIF, %IF34 %temp8.0 = phi float [ %343, %IF34 ], [ 1.000000e+00, %ENDIF ] %344 = fmul float %211, %temp8.0 %345 = fmul float %344, %78 %346 = fmul float %92, %345 %347 = fmul float %93, %345 %348 = fmul float %94, %345 %349 = fmul float %346, %26 %350 = fmul float %347, %27 %351 = fmul float %348, %28 %352 = fmul float %349, %143 %353 = fmul float %350, %143 %354 = fmul float %351, %143 %355 = call i32 @llvm.SI.packf16(float %352, float %353) %356 = bitcast i32 %355 to float %357 = call i32 @llvm.SI.packf16(float %354, float 1.000000e+00) %358 = bitcast i32 %357 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %356, float %358, float %356, float %358) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #3 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #3 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #3 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readonly } attributes #3 = { readnone } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080500 c8090501 c80c0700 c80d0701 7e065503 100a0702 c8080400 c8090401 10080702 c0840300 c0c60500 bf8c007f f0800400 00430204 bf8c0770 d2060105 02010102 c0840100 bf8c007f c2000901 bf8c007f 100c0a00 c8080100 c8090101 c80c0000 c80d0001 10080703 d2820004 04120502 c81c0200 c81d0201 d2820008 04120f07 7e125b08 10081303 10060d04 10041302 10140d02 c2000961 bf8c007f 10141400 c2000960 bf8c007f d2820003 042a0600 100e1307 10140d07 c2000962 bf8c007f d2820003 040e1400 c2000963 bf8c007f 06060600 d00c0000 02010103 d2000003 00010103 d206000a 22010103 c200097c bf8c007f 10141400 d206080a 0201010a c2000974 bf8c007f 10141400 c2000980 bf8c007f 10060600 7e064b03 1014070a c2000905 bf8c007f d2820003 00020d02 c200096d c200896f bf8c007f 7e040201 d282000c 04080103 c2000904 bf8c007f d2820004 00020d04 c200096c c200896e bf8c007f 7e040201 d282000b 04080104 c0860304 c0c80508 bf8c007f f0800300 00640b0b c2000969 c200896b bf8c0070 7e040201 d282000e 04080103 c2000968 c200896a bf8c007f 7e040201 d282000d 04080104 f0800300 00640d0d bf8c0770 0604190e 060404f3 d2060102 02010102 0616170d 061616f3 d206010b 0201010b 0604050b c2000978 bf8c007f 10040400 080404f2 d2060802 02010102 7e044f02 0e0404ff 41800000 7e044b02 10041502 10121109 d2060008 22010108 d0080000 02021080 d2000008 00021280 080a1105 d00c0000 02010105 d2000005 00020a80 c8200300 c8210301 10000b08 7e004f00 c2000964 bf8c007f 0e000000 7e004b00 d2060000 22010100 7e004b00 c2000911 bf8c007f 10020800 c2000915 bf8c007f d2820005 04060600 c2000906 bf8c007f d2820001 00020d07 c2000919 bf8c007f d2820005 04160200 c200091d bf8c007f 060e0a00 06120eff be800000 d2060109 02010109 c2000910 bf8c007f 10140800 c2000914 bf8c007f d282000a 042a0600 c2000918 bf8c007f d282000a 042a0200 c200091c bf8c007f 060c1400 06140cff be800000 d206010a 0201010a d00c0000 0202130a d2000009 00021509 7e1402ff 3e7ae148 d0080000 02021509 c2030912 bf8c007f 10120806 c2030916 bf8c007f d2820009 04260606 c203091a bf8c007f d2820009 04260206 c203091e bf8c007f 060a1206 7e120280 be802400 8980007e bf8800a2 c203092e c203892d c206092c c206892a c2070929 c2078928 c2080926 c2088925 c2090924 c2098922 c20a0921 c20a8920 bf8c007f d2100005 02020814 d2820005 04160611 d2820005 0416020e 060e0a07 06120eff be800000 d2060109 02010109 d210000a 02020815 d282000a 042a0612 d282000a 042a020f 060c140c 06140cff bf400000 d206010a 0201010a d00c000e 0202130a d2000009 003a1509 7e1402ff 3e7ae148 d008000e 02021509 d2100009 02020813 d2820009 04260610 d2820009 0426020d 060a1206 7e120280 be86240e 8986067e bf88006b c206093e c206893d c207093c c207893a c2080939 c2088938 c2090936 c2098935 c20a0934 c20a8932 c20b0931 c20b8930 bf8c007f d2100005 02020816 d2820005 04160613 d2820005 04160210 060e0a0d 06120eff bf400000 d2060109 02010109 d210000a 02020817 d282000a 042a0614 d282000a 042a0211 060c140e 06140cff be800000 d206010a 0201010a d00c0010 0202130a d2000009 00421509 7e1402ff 3e7ae148 d0080010 02021509 d2100009 02020815 d2820009 04260612 d2820009 0426020f 060a120c 7e120280 be8c2410 898c0c7e bf880034 c207094e c207894d c208094c c208894a c2090949 c2098948 c20a0946 c20a8945 c20b0944 c20b8942 c20c0941 c20c8940 bf8c007f d2100005 02020818 d2820005 04160615 d2820005 04160212 060e0a0f 06120eff bf400000 d2060109 02010109 d210000a 02020819 d282000a 042a0616 d282000a 042a0213 060c1410 06140cff bf400000 d206010a 0201010a d00c0012 0202130a d2000009 004a1509 7e1402ff 3e7ae148 d0080012 02021509 d2000009 0049e480 d2100004 02020817 d2820003 04120614 d2820001 040e0211 060a020e 88fe0c7e 88fe067e 88fe007e c2030972 c2068971 c2060970 c2078950 c203890a c2080909 c2070908 d0040000 02010109 7e0202f2 bf8c007f be802400 8980007e c08a0308 c0cc0510 c201090d bf8c007f f0a00100 00a60105 bf8c0770 06020202 d2060801 02010101 88fe007e d2100001 02020302 1002020f 1004020d 10040410 10040500 1006020c 1006060e 10060700 5e040503 10020206 10020207 10000300 d25e0000 0201e500 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[1] DCL OUT[2], GENERIC[7] DCL CONST[0..5] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: RCP TEMP[0].x, CONST[0].yyyy 1: MUL TEMP[0].xyz, IN[0].xyzz, TEMP[0].xxxx 2: MUL TEMP[1].x, CONST[0].yyyy, CONST[5].xxxx 3: MOV TEMP[0].w, TEMP[1].xxxx 4: MUL TEMP[1], CONST[1], IN[0].xxxx 5: MAD TEMP[1], CONST[2], IN[0].yyyy, TEMP[1] 6: MAD TEMP[1], CONST[3], IN[0].zzzz, TEMP[1] 7: MAD TEMP[1], CONST[4], IN[0].wwww, TEMP[1] 8: ADD TEMP[2], TEMP[1], TEMP[1].wwww 9: MUL TEMP[2], TEMP[2], IMM[0].xxxx 10: MOV OUT[1], TEMP[0] 11: MOV OUT[0], TEMP[1] 12: MOV OUT[2], TEMP[2] 13: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %29 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %30 = load <16 x i8> addrspace(2)* %29, !tbaa !0 %31 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %30, i32 0, i32 %5) %32 = extractelement <4 x float> %31, i32 0 %33 = extractelement <4 x float> %31, i32 1 %34 = extractelement <4 x float> %31, i32 2 %35 = extractelement <4 x float> %31, i32 3 %36 = fdiv float 1.000000e+00, %11 %37 = fmul float %32, %36 %38 = fmul float %33, %36 %39 = fmul float %34, %36 %40 = fmul float %11, %28 %41 = fmul float %12, %32 %42 = fmul float %13, %32 %43 = fmul float %14, %32 %44 = fmul float %15, %32 %45 = fmul float %16, %33 %46 = fadd float %45, %41 %47 = fmul float %17, %33 %48 = fadd float %47, %42 %49 = fmul float %18, %33 %50 = fadd float %49, %43 %51 = fmul float %19, %33 %52 = fadd float %51, %44 %53 = fmul float %20, %34 %54 = fadd float %53, %46 %55 = fmul float %21, %34 %56 = fadd float %55, %48 %57 = fmul float %22, %34 %58 = fadd float %57, %50 %59 = fmul float %23, %34 %60 = fadd float %59, %52 %61 = fmul float %24, %35 %62 = fadd float %61, %54 %63 = fmul float %25, %35 %64 = fadd float %63, %56 %65 = fmul float %26, %35 %66 = fadd float %65, %58 %67 = fmul float %27, %35 %68 = fadd float %67, %60 %69 = fadd float %62, %68 %70 = fadd float %64, %68 %71 = fadd float %66, %68 %72 = fadd float %68, %68 %73 = fmul float %69, 5.000000e-01 %74 = fmul float %70, 5.000000e-01 %75 = fmul float %71, 5.000000e-01 %76 = fmul float %72, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %37, float %38, float %39, float %40) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %73, float %74, float %75, float %76) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %62, float %64, float %66, float %68) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 bf8c007f c2020101 c2028114 bf8c007f 7e020205 d2100001 02020204 c0840700 bf8c007f e00c2000 80020200 7e005404 bf8c0770 100c0104 100e0103 10000102 f800020f 01060700 c2020107 bf8c000f 10000404 c202010b bf8c007f d2820000 04020604 c202010f bf8c007f d2820000 04020804 c2020113 bf8c007f d2820000 04020a04 c2020106 bf8c007f 10020404 c202010a bf8c007f d2820001 04060604 c202010e bf8c007f d2820001 04060804 c2020112 bf8c007f d2820001 04060a04 060c0101 100c0cf0 c2020105 bf8c007f 100e0404 c2020109 bf8c007f d2820007 041e0604 c202010d bf8c007f d2820007 041e0804 c2020111 bf8c007f d2820007 041e0a04 06100107 101010f0 c2020104 bf8c007f 10120404 c2020108 bf8c007f d2820009 04260604 c202010c bf8c007f d2820009 04260804 c2000110 bf8c007f d2820002 04260a00 06060102 100606f0 06080100 100808f0 f800021f 04060803 f80008cf 00010702 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL IN[6], GENERIC[6], PERSPECTIVE DCL IN[7], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL SAMP[5] DCL CONST[0..2] DCL CONST[9..18] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, -1.0000, 1.0000} 0: MOV TEMP[0].xy, IN[5].xyyy 1: TEX TEMP[1].xy, TEMP[0], SAMP[1], 2D 2: MOV TEMP[2].xy, IN[5].zwww 3: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 4: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 5: MOV TEMP[2].xy, IN[6].xyyy 6: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 7: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 8: MOV TEMP[2].xy, IN[6].zwww 9: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 10: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 11: MAD TEMP[0].xy, TEMP[1].xyyy, IMM[0].yyyy, IMM[0].zzzz 12: MAD TEMP[0].xy, TEMP[0].xyyy, CONST[13].xxxx, IN[1].xyyy 13: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 14: ADD_SAT TEMP[1].x, IMM[0].wwww, -TEMP[1].xxxx 15: RSQ TEMP[2].x, TEMP[1].xxxx 16: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 17: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].xxxx 18: MOV TEMP[0].z, TEMP[2].xxxx 19: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 20: RSQ TEMP[2].x, TEMP[1].xxxx 21: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 22: CMP TEMP[1].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].xxxx 23: MOV TEMP[2].xy, IN[7].xyyy 24: MOV TEMP[2].w, IN[7].wwww 25: TXP TEMP[2].z, TEMP[2], SAMP[0], 2D 26: ABS TEMP[2].x, TEMP[2].zzzz 27: ADD TEMP[2].x, TEMP[2].xxxx, -TEMP[1].xxxx 28: MAX TEMP[2].x, TEMP[2].xxxx, IMM[0].xxxx 29: MUL TEMP[3].x, -IN[2].wwww, TEMP[2].xxxx 30: EX2 TEMP[3].x, TEMP[3].xxxx 31: ADD TEMP[3].x, IMM[0].wwww, -TEMP[3].xxxx 32: DP3 TEMP[4].x, IN[2].xyzz, CONST[9].xyzz 33: ADD_SAT TEMP[4].x, TEMP[4].xxxx, IMM[0].zzzz 34: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 35: DP3 TEMP[4].x, IN[1].xyzz, IN[2].xyzz 36: MUL TEMP[2].x, TEMP[4].xxxx, TEMP[2].xxxx 37: MUL TEMP[2].x, TEMP[2].xxxx, CONST[0].yyyy 38: RCP TEMP[1].x, TEMP[1].xxxx 39: MUL TEMP[1].x, TEMP[2].xxxx, TEMP[1].xxxx 40: ABS TEMP[1].x, TEMP[1].xxxx 41: MUL TEMP[1].x, TEMP[1].xxxx, CONST[17].xxxx 42: MAD TEMP[2].xy, IN[0].xyyy, CONST[10].xyyy, CONST[10].zwww 43: MOV TEMP[2].xy, TEMP[2].xyyy 44: TEX TEMP[2].x, TEMP[2], SAMP[3], 2D 45: MAD TEMP[4].xy, IN[0].xyyy, CONST[11].xyyy, CONST[11].zwww 46: MOV TEMP[4].xy, TEMP[4].xyyy 47: TEX TEMP[4].x, TEMP[4], SAMP[3], 2D 48: ADD TEMP[2].x, TEMP[2].xxxx, TEMP[4].xxxx 49: ADD TEMP[2].x, TEMP[2].xxxx, -CONST[16].xxxx 50: ADD_SAT TEMP[2].x, TEMP[2].xxxx, -TEMP[1].xxxx 51: MUL TEMP[2].x, TEMP[2].xxxx, CONST[15].xxxx 52: EX2 TEMP[1].x, -TEMP[1].xxxx 53: MUL TEMP[1].x, TEMP[2].xxxx, TEMP[1].xxxx 54: ADD TEMP[2].x, IMM[0].wwww, -TEMP[1].xxxx 55: MAD TEMP[2].xyz, CONST[14].xyzz, TEMP[2].xxxx, TEMP[1].xxxx 56: MOV TEMP[4].xyz, IN[1].xyzz 57: TEX TEMP[4].xyz, TEMP[4], SAMP[4], CUBE 58: MAD TEMP[4].xyz, TEMP[4].xyzz, CONST[18].xxxx, CONST[1].xyzz 59: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].xyzz 60: RCP TEMP[4].x, IN[0].wwww 61: MUL_SAT TEMP[4].x, IN[0].zzzz, TEMP[4].xxxx 62: RCP TEMP[5].x, IN[4].wwww 63: MUL TEMP[5].xy, IN[4].xyyy, TEMP[5].xxxx 64: MAD TEMP[4].xy, TEMP[0].xyyy, TEMP[4].xxxx, TEMP[5].xyyy 65: MOV TEMP[4].xy, TEMP[4].xyyy 66: TEX TEMP[4].xyz, TEMP[4], SAMP[5], 2D 67: MUL TEMP[4].xyz, TEMP[4].xyzz, CONST[12].xyzz 68: DP3 TEMP[0].x, IN[3].xyzz, TEMP[0].xyzz 69: DP3 TEMP[5].x, IN[3].xyzz, IN[3].xyzz 70: RSQ TEMP[5].x, TEMP[5].xxxx 71: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[5].xxxx 72: ABS TEMP[0].x, TEMP[0].xxxx 73: ADD_SAT TEMP[0].x, IMM[0].wwww, -TEMP[0].xxxx 74: POW TEMP[0].x, TEMP[0].xxxx, CONST[2].zzzz 75: MAD_SAT TEMP[0].x, TEMP[0].xxxx, CONST[2].yyyy, CONST[2].xxxx 76: MUL TEMP[0].xyz, TEMP[4].xyzz, TEMP[0].xxxx 77: ADD TEMP[1].x, IMM[0].wwww, -TEMP[1].xxxx 78: MAD TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx, TEMP[2].xyzz 79: MOV TEMP[1].w, IMM[0].wwww 80: MUL TEMP[1].xyz, TEMP[0].xyzz, TEMP[3].xxxx 81: MOV OUT[0], TEMP[1] 82: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 40) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 172) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 188) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %51 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %52 = load <32 x i8> addrspace(2)* %51, !tbaa !0 %53 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %54 = load <16 x i8> addrspace(2)* %53, !tbaa !0 %55 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %56 = load <32 x i8> addrspace(2)* %55, !tbaa !0 %57 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %58 = load <16 x i8> addrspace(2)* %57, !tbaa !0 %59 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %60 = load <32 x i8> addrspace(2)* %59, !tbaa !0 %61 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %62 = load <16 x i8> addrspace(2)* %61, !tbaa !0 %63 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %64 = load <32 x i8> addrspace(2)* %63, !tbaa !0 %65 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %66 = load <16 x i8> addrspace(2)* %65, !tbaa !0 %67 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %68 = load <32 x i8> addrspace(2)* %67, !tbaa !0 %69 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %70 = load <16 x i8> addrspace(2)* %69, !tbaa !0 %71 = getelementptr <32 x i8> addrspace(2)* %2, i32 5 %72 = load <32 x i8> addrspace(2)* %71, !tbaa !0 %73 = getelementptr <16 x i8> addrspace(2)* %1, i32 5 %74 = load <16 x i8> addrspace(2)* %73, !tbaa !0 %75 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %76 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %77 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %78 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %79 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %80 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %81 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %82 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %83 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %84 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %85 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %86 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %87 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %88 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %89 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %90 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %91 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %92 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %93 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %94 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %95 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %96 = call float @llvm.SI.fs.interp(i32 0, i32 6, i32 %3, <2 x i32> %5) %97 = call float @llvm.SI.fs.interp(i32 1, i32 6, i32 %3, <2 x i32> %5) %98 = call float @llvm.SI.fs.interp(i32 2, i32 6, i32 %3, <2 x i32> %5) %99 = call float @llvm.SI.fs.interp(i32 3, i32 6, i32 %3, <2 x i32> %5) %100 = call float @llvm.SI.fs.interp(i32 0, i32 7, i32 %3, <2 x i32> %5) %101 = call float @llvm.SI.fs.interp(i32 1, i32 7, i32 %3, <2 x i32> %5) %102 = call float @llvm.SI.fs.interp(i32 3, i32 7, i32 %3, <2 x i32> %5) %103 = bitcast float %92 to i32 %104 = bitcast float %93 to i32 %105 = insertelement <2 x i32> undef, i32 %103, i32 0 %106 = insertelement <2 x i32> %105, i32 %104, i32 1 %107 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %106, <32 x i8> %56, <16 x i8> %58, i32 2) %108 = extractelement <4 x float> %107, i32 0 %109 = extractelement <4 x float> %107, i32 1 %110 = bitcast float %94 to i32 %111 = bitcast float %95 to i32 %112 = insertelement <2 x i32> undef, i32 %110, i32 0 %113 = insertelement <2 x i32> %112, i32 %111, i32 1 %114 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %113, <32 x i8> %56, <16 x i8> %58, i32 2) %115 = extractelement <4 x float> %114, i32 0 %116 = extractelement <4 x float> %114, i32 1 %117 = fadd float %108, %115 %118 = fadd float %109, %116 %119 = bitcast float %96 to i32 %120 = bitcast float %97 to i32 %121 = insertelement <2 x i32> undef, i32 %119, i32 0 %122 = insertelement <2 x i32> %121, i32 %120, i32 1 %123 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %122, <32 x i8> %60, <16 x i8> %62, i32 2) %124 = extractelement <4 x float> %123, i32 0 %125 = extractelement <4 x float> %123, i32 1 %126 = fadd float %117, %124 %127 = fadd float %118, %125 %128 = bitcast float %98 to i32 %129 = bitcast float %99 to i32 %130 = insertelement <2 x i32> undef, i32 %128, i32 0 %131 = insertelement <2 x i32> %130, i32 %129, i32 1 %132 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %131, <32 x i8> %60, <16 x i8> %62, i32 2) %133 = extractelement <4 x float> %132, i32 0 %134 = extractelement <4 x float> %132, i32 1 %135 = fadd float %126, %133 %136 = fadd float %127, %134 %137 = fmul float %135, 5.000000e-01 %138 = fadd float %137, -1.000000e+00 %139 = fmul float %136, 5.000000e-01 %140 = fadd float %139, -1.000000e+00 %141 = fmul float %138, %43 %142 = fadd float %141, %79 %143 = fmul float %140, %43 %144 = fadd float %143, %80 %145 = fmul float %142, %142 %146 = fmul float %144, %144 %147 = fadd float %145, %146 %148 = fsub float -0.000000e+00, %147 %149 = fadd float 1.000000e+00, %148 %150 = call float @llvm.AMDIL.clamp.(float %149, float 0.000000e+00, float 1.000000e+00) %151 = call float @llvm.AMDGPU.rsq(float %150) %152 = fmul float %151, %150 %153 = fsub float -0.000000e+00, %150 %154 = call float @llvm.AMDGPU.cndlt(float %153, float %152, float 0.000000e+00) %155 = fmul float %82, %82 %156 = fmul float %83, %83 %157 = fadd float %156, %155 %158 = fmul float %84, %84 %159 = fadd float %157, %158 %160 = call float @llvm.AMDGPU.rsq(float %159) %161 = fmul float %160, %159 %162 = fsub float -0.000000e+00, %159 %163 = call float @llvm.AMDGPU.cndlt(float %162, float %161, float 0.000000e+00) %164 = fdiv float %100, %102 %165 = fdiv float %101, %102 %166 = bitcast float %164 to i32 %167 = bitcast float %165 to i32 %168 = insertelement <2 x i32> undef, i32 %166, i32 0 %169 = insertelement <2 x i32> %168, i32 %167, i32 1 %170 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %169, <32 x i8> %52, <16 x i8> %54, i32 2) %171 = extractelement <4 x float> %170, i32 2 %172 = call float @fabs(float %171) %173 = fsub float -0.000000e+00, %163 %174 = fadd float %172, %173 %175 = fcmp uge float %174, 0.000000e+00 %176 = select i1 %175, float %174, float 0.000000e+00 %177 = fsub float -0.000000e+00, %85 %178 = fmul float %177, %176 %179 = call float @llvm.AMDIL.exp.(float %178) %180 = fsub float -0.000000e+00, %179 %181 = fadd float 1.000000e+00, %180 %182 = fmul float %82, %29 %183 = fmul float %83, %30 %184 = fadd float %183, %182 %185 = fmul float %84, %31 %186 = fadd float %184, %185 %187 = fadd float %186, -1.000000e+00 %188 = call float @llvm.AMDIL.clamp.(float %187, float 0.000000e+00, float 1.000000e+00) %189 = fmul float %181, %188 %190 = fmul float %79, %82 %191 = fmul float %80, %83 %192 = fadd float %191, %190 %193 = fmul float %81, %84 %194 = fadd float %192, %193 %195 = fmul float %194, %176 %196 = fmul float %195, %22 %197 = fdiv float 1.000000e+00, %163 %198 = fmul float %196, %197 %199 = call float @fabs(float %198) %200 = fmul float %199, %49 %201 = fmul float %75, %32 %202 = fadd float %201, %34 %203 = fmul float %76, %33 %204 = fadd float %203, %35 %205 = bitcast float %202 to i32 %206 = bitcast float %204 to i32 %207 = insertelement <2 x i32> undef, i32 %205, i32 0 %208 = insertelement <2 x i32> %207, i32 %206, i32 1 %209 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %208, <32 x i8> %64, <16 x i8> %66, i32 2) %210 = extractelement <4 x float> %209, i32 0 %211 = fmul float %75, %36 %212 = fadd float %211, %38 %213 = fmul float %76, %37 %214 = fadd float %213, %39 %215 = bitcast float %212 to i32 %216 = bitcast float %214 to i32 %217 = insertelement <2 x i32> undef, i32 %215, i32 0 %218 = insertelement <2 x i32> %217, i32 %216, i32 1 %219 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %218, <32 x i8> %64, <16 x i8> %66, i32 2) %220 = extractelement <4 x float> %219, i32 0 %221 = fadd float %210, %220 %222 = fsub float -0.000000e+00, %48 %223 = fadd float %221, %222 %224 = fsub float -0.000000e+00, %200 %225 = fadd float %223, %224 %226 = call float @llvm.AMDIL.clamp.(float %225, float 0.000000e+00, float 1.000000e+00) %227 = fmul float %226, %47 %228 = fsub float -0.000000e+00, %200 %229 = call float @llvm.AMDIL.exp.(float %228) %230 = fmul float %227, %229 %231 = fsub float -0.000000e+00, %230 %232 = fadd float 1.000000e+00, %231 %233 = fmul float %44, %232 %234 = fadd float %233, %230 %235 = fmul float %45, %232 %236 = fadd float %235, %230 %237 = fmul float %46, %232 %238 = fadd float %237, %230 %239 = insertelement <4 x float> undef, float %79, i32 0 %240 = insertelement <4 x float> %239, float %80, i32 1 %241 = insertelement <4 x float> %240, float %81, i32 2 %242 = insertelement <4 x float> %241, float 0.000000e+00, i32 3 %243 = call <4 x float> @llvm.AMDGPU.cube(<4 x float> %242) %244 = extractelement <4 x float> %243, i32 0 %245 = extractelement <4 x float> %243, i32 1 %246 = extractelement <4 x float> %243, i32 2 %247 = extractelement <4 x float> %243, i32 3 %248 = call float @fabs(float %246) %249 = fdiv float 1.000000e+00, %248 %250 = fmul float %244, %249 %251 = fadd float %250, 1.500000e+00 %252 = fmul float %245, %249 %253 = fadd float %252, 1.500000e+00 %254 = bitcast float %253 to i32 %255 = bitcast float %251 to i32 %256 = bitcast float %247 to i32 %257 = insertelement <4 x i32> undef, i32 %254, i32 0 %258 = insertelement <4 x i32> %257, i32 %255, i32 1 %259 = insertelement <4 x i32> %258, i32 %256, i32 2 %260 = insertelement <4 x i32> %259, i32 undef, i32 3 %261 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %260, <32 x i8> %68, <16 x i8> %70, i32 4) %262 = extractelement <4 x float> %261, i32 0 %263 = extractelement <4 x float> %261, i32 1 %264 = extractelement <4 x float> %261, i32 2 %265 = fmul float %262, %50 %266 = fadd float %265, %23 %267 = fmul float %263, %50 %268 = fadd float %267, %24 %269 = fmul float %264, %50 %270 = fadd float %269, %25 %271 = fmul float %234, %266 %272 = fmul float %236, %268 %273 = fmul float %238, %270 %274 = fdiv float 1.000000e+00, %78 %275 = fmul float %77, %274 %276 = call float @llvm.AMDIL.clamp.(float %275, float 0.000000e+00, float 1.000000e+00) %277 = fdiv float 1.000000e+00, %91 %278 = fmul float %89, %277 %279 = fmul float %90, %277 %280 = fmul float %142, %276 %281 = fadd float %280, %278 %282 = fmul float %144, %276 %283 = fadd float %282, %279 %284 = bitcast float %281 to i32 %285 = bitcast float %283 to i32 %286 = insertelement <2 x i32> undef, i32 %284, i32 0 %287 = insertelement <2 x i32> %286, i32 %285, i32 1 %288 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %287, <32 x i8> %72, <16 x i8> %74, i32 2) %289 = extractelement <4 x float> %288, i32 0 %290 = extractelement <4 x float> %288, i32 1 %291 = extractelement <4 x float> %288, i32 2 %292 = fmul float %289, %40 %293 = fmul float %290, %41 %294 = fmul float %291, %42 %295 = fmul float %86, %142 %296 = fmul float %87, %144 %297 = fadd float %296, %295 %298 = fmul float %88, %154 %299 = fadd float %297, %298 %300 = fmul float %86, %86 %301 = fmul float %87, %87 %302 = fadd float %301, %300 %303 = fmul float %88, %88 %304 = fadd float %302, %303 %305 = call float @llvm.AMDGPU.rsq(float %304) %306 = fmul float %299, %305 %307 = call float @fabs(float %306) %308 = fsub float -0.000000e+00, %307 %309 = fadd float 1.000000e+00, %308 %310 = call float @llvm.AMDIL.clamp.(float %309, float 0.000000e+00, float 1.000000e+00) %311 = call float @llvm.pow.f32(float %310, float %28) %312 = fmul float %311, %27 %313 = fadd float %312, %26 %314 = call float @llvm.AMDIL.clamp.(float %313, float 0.000000e+00, float 1.000000e+00) %315 = fmul float %292, %314 %316 = fmul float %293, %314 %317 = fmul float %294, %314 %318 = fsub float -0.000000e+00, %230 %319 = fadd float 1.000000e+00, %318 %320 = fmul float %315, %319 %321 = fadd float %320, %271 %322 = fmul float %316, %319 %323 = fadd float %322, %272 %324 = fmul float %317, %319 %325 = fadd float %324, %273 %326 = fmul float %321, %189 %327 = fmul float %323, %189 %328 = fmul float %325, %189 %329 = call i32 @llvm.SI.packf16(float %326, float %327) %330 = bitcast i32 %329 to float %331 = call i32 @llvm.SI.packf16(float %328, float 1.000000e+00) %332 = bitcast i32 %331 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %330, float %332, float %330, float %332) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.cube(<4 x float>) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8100600 c8110601 c80c0500 c80d0501 c8080400 c8090401 7e0a0280 d28a0007 04120702 d28c0006 04120702 d28e0008 04120702 d2880009 04120702 d206010e 02010108 7e1c550e 7e1e02ff 3fc00000 d2820008 043e1d06 d2820007 043e1d07 c0840310 c0c60520 bf8c007f f0800700 00430607 c0840100 bf8c0070 c2000905 bf8c007f 7e120200 c2000948 bf8c007f 7e140200 d2820009 04261507 c82c0900 c82d0901 c8300800 c8310801 101a190c d282000d 0436170b c8380a00 c8390a01 d282000d 04361d0e 7e1e5b0d 101e1b0f d206000d 2201010d d0080000 02021a80 d200000d 00021e80 c83c1d00 c83d1d01 c8401f00 c8411f01 7e205510 1024210f c83c1c00 c83d1c01 1022210f c0860300 c0c80500 bf8c007f f0800400 00640f11 bf8c0770 d206010f 0201010f 081e1b0f d00c0000 0201010f d200000f 00021e80 10201902 d2820010 04421703 d2820010 04421d04 10201f10 c2000901 bf8c007f 10202000 7e1a550d 101a1b10 d206010d 0201010d c2000944 bf8c007f 101a1a00 c8400100 c8410101 c200092d c200892f bf8c007f 7e220201 d2820012 04440110 c84c0000 c84d0001 c200092c c200892e bf8c007f 7e280201 d2820011 04500113 c086030c c0c80518 bf8c007f f0800100 00641111 c2000929 c200892b bf8c0070 7e240201 d2820015 04480110 c2000928 c200892a bf8c007f 7e200201 d2820014 04400113 f0800100 00641014 bf8c0770 06202310 c2000940 bf8c007f 0a202000 08201b10 d2060810 02010110 c200093c bf8c007f 10202000 d206000d 2201010d 7e1a4b0d 101a1b10 08201af2 c2000939 bf8c007f d2820011 04362000 10121311 c8481700 c8491701 c8441600 c8451601 c0860304 c0c80508 bf8c007f f0800300 00641111 c8501500 c8511501 c84c1400 c84d1401 f0800300 00641313 bf8c0770 062a2313 c85c1900 c85d1901 c8581800 c8591801 c0860308 c0c80510 bf8c007f f0800300 00641616 bf8c0770 062a2d15 c8641b00 c8651b01 c8601a00 c8611a01 f0800300 00641818 bf8c0770 062a3115 d2820015 03cde115 c2000934 bf8c007f d2820015 04080115 06222514 06222f11 06223311 d2820011 03cde111 d2820002 040c0111 10060502 d2820003 040e2b15 080606f2 d2060803 02010103 7e085b03 10080704 d2060003 22010103 d0080000 02020680 d2000003 00020880 c8100c00 c8110c01 100a2b04 c8440d00 c8450d01 d2820005 04160511 c8480e00 c8490e01 d2820003 04160712 10080904 d2820004 04122311 d2820004 04122512 7e085b04 10060903 d2060103 02010103 080606f2 d2060803 02010103 7e064f03 c200090a bf8c007f 0e060600 7e064b03 c2000909 c2008908 bf8c007f 7e080201 d2820003 04100103 d2060803 02010103 c8101100 c8111101 c8141300 c8151301 7e0a5505 10080b04 c8440200 c8450201 c8480300 c8490301 7e245512 10222511 d2060811 02010111 d2820013 04122302 c8081000 c8091001 10040b02 d2820012 040a2315 c0800314 c0c60528 bf8c007f f0800700 00031112 c2000931 bf8c0070 7e040200 d2100002 02020512 10040702 d2820002 04262102 c8100b00 c8110b01 d2060000 22010104 10001f00 7e004b00 080000f2 c2000924 bf8c007f 10021800 c2000925 bf8c007f d2820001 0404010b c2000926 bf8c007f d2820001 0404010e 060202f3 d2060801 02010101 10000300 10020102 c2000904 bf8c007f 7e040200 d2820002 040a1506 c2000938 bf8c007f d2820004 04362000 10040504 c2000930 bf8c007f 7e080200 d2100004 02020911 10080704 d2820002 040a2104 10040102 5e020302 c2000906 bf8c007f 7e040200 d2820002 040a1508 c200093a bf8c007f d2820004 04362000 10040504 c2000932 bf8c007f 7e080200 d2100004 02020913 10060704 d2820002 040a2103 10000102 d25e0000 0201e500 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL OUT[7], GENERIC[6] DCL OUT[8], GENERIC[7] DCL CONST[0..34] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 16.0000, 0.5000} 0: MUL TEMP[0], CONST[22], IN[0].xxxx 1: MAD TEMP[0], CONST[23], IN[0].yyyy, TEMP[0] 2: ADD TEMP[0], TEMP[0], CONST[24] 3: ADD TEMP[0], TEMP[0], CONST[25] 4: RCP TEMP[1].x, TEMP[0].wwww 5: MAD TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx, -CONST[26].xyzz 6: MOV TEMP[1].w, IMM[0].xxxx 7: MOV TEMP[1].xyz, CONST[26].xyzx 8: DP4 TEMP[1].x, CONST[27], TEMP[1] 9: MOV TEMP[1].x, -TEMP[1].xxxx 10: DP3 TEMP[2].x, CONST[27].xyzz, TEMP[0].xyzz 11: FSLT TEMP[3].x, IMM[0].yyyy, CONST[27].wwww 12: UIF TEMP[3].xxxx :0 13: MIN TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 14: ELSE :0 15: MAX TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 16: ENDIF 17: RCP TEMP[2].x, TEMP[3].xxxx 18: MUL TEMP[2].x, TEMP[1].xxxx, TEMP[2].xxxx 19: MAD TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx, CONST[9].xyzz 20: ADD TEMP[1].xyz, TEMP[2].xyzz, CONST[26].xyzz 21: MOV TEMP[2].x, CONST[11].zzzz 22: MOV TEMP[2].y, CONST[12].zzzz 23: MOV TEMP[2].z, CONST[13].zzzz 24: MOV TEMP[3].x, CONST[11].xxxx 25: MOV TEMP[3].y, CONST[12].xxxx 26: MOV TEMP[3].z, CONST[13].xxxx 27: MOV TEMP[4].x, CONST[11].yyyy 28: MOV TEMP[4].y, CONST[12].yyyy 29: MOV TEMP[4].z, CONST[13].yyyy 30: MOV TEMP[4].xyz, -TEMP[4].xyzx 31: MOV TEMP[5].x, CONST[11].wwww 32: MOV TEMP[5].y, CONST[12].wwww 33: MOV TEMP[5].z, CONST[13].wwww 34: ADD TEMP[5].xyz, TEMP[1].xyzz, -TEMP[5].xyzz 35: DP3 TEMP[6].x, TEMP[3].xyzz, TEMP[5].xyzz 36: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 37: MOV TEMP[6].y, TEMP[5].xxxx 38: ADD TEMP[5].xyz, TEMP[1].xyzz, -CONST[9].xyzz 39: DP3 TEMP[5].x, TEMP[5].xyzz, TEMP[5].xyzz 40: RSQ TEMP[7].x, TEMP[5].xxxx 41: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 42: CMP TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, IMM[0].yyyy 43: RCP TEMP[7].x, CONST[33].xxxx 44: MUL TEMP[7].x, TEMP[5].xxxx, TEMP[7].xxxx 45: ADD_SAT TEMP[7].x, IMM[0].xxxx, -TEMP[7].xxxx 46: MUL TEMP[8].x, CONST[0].xxxx, IMM[0].zzzz 47: ADD_SAT TEMP[5].x, TEMP[5].xxxx, -TEMP[8].xxxx 48: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 49: DP2 TEMP[7].x, CONST[28].xyyy, TEMP[6].xyyy 50: ADD TEMP[7].x, TEMP[7].xxxx, CONST[32].xxxx 51: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].zzzz 52: SIN TEMP[8].x, TEMP[7].xxxx 53: MUL TEMP[8].x, TEMP[8].xxxx, CONST[28].wwww 54: MUL TEMP[8].x, TEMP[8].xxxx, TEMP[5].xxxx 55: COS TEMP[7].x, TEMP[7].xxxx 56: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].wwww 57: MUL TEMP[7].x, TEMP[7].xxxx, CONST[28].zzzz 58: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 59: MUL TEMP[7].xy, CONST[28].xyyy, TEMP[7].xxxx 60: MOV TEMP[7].xy, -TEMP[7].xyxx 61: DP2 TEMP[9].x, CONST[29].xyyy, TEMP[6].xyyy 62: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 63: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].zzzz 64: SIN TEMP[10].x, TEMP[9].xxxx 65: MUL TEMP[10].x, TEMP[10].xxxx, CONST[29].wwww 66: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 67: COS TEMP[9].x, TEMP[9].xxxx 68: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].wwww 69: MUL TEMP[9].x, TEMP[9].xxxx, CONST[29].zzzz 70: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 71: MUL TEMP[9].xy, CONST[29].xyyy, TEMP[9].xxxx 72: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 73: DP2 TEMP[9].x, CONST[30].xyyy, TEMP[6].xyyy 74: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 75: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].zzzz 76: SIN TEMP[10].x, TEMP[9].xxxx 77: MUL TEMP[10].x, TEMP[10].xxxx, CONST[30].wwww 78: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 79: COS TEMP[9].x, TEMP[9].xxxx 80: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].wwww 81: MUL TEMP[9].x, TEMP[9].xxxx, CONST[30].zzzz 82: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 83: MUL TEMP[9].xy, CONST[30].xyyy, TEMP[9].xxxx 84: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 85: DP2 TEMP[9].x, CONST[31].xyyy, TEMP[6].xyyy 86: ADD TEMP[9].x, TEMP[9].xxxx, CONST[32].xxxx 87: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].zzzz 88: SIN TEMP[10].x, TEMP[9].xxxx 89: MUL TEMP[10].x, TEMP[10].xxxx, CONST[31].wwww 90: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 91: COS TEMP[9].x, TEMP[9].xxxx 92: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].wwww 93: MUL TEMP[9].x, TEMP[9].xxxx, CONST[31].zzzz 94: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 95: MUL TEMP[5].xy, CONST[31].xyyy, TEMP[5].xxxx 96: ADD TEMP[5].xy, TEMP[7].xyyy, -TEMP[5].xyyy 97: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[8].xxxx, TEMP[1].xyzz 98: MUL TEMP[7].xyz, TEMP[3].xyzz, TEMP[5].xxxx 99: ADD TEMP[1].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 100: MUL TEMP[7].xyz, TEMP[4].xyzz, TEMP[5].yyyy 101: ADD TEMP[0].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 102: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[5].xxxx, TEMP[2].xyzz 103: MAD TEMP[1].xyz, TEMP[4].xyzz, TEMP[5].yyyy, TEMP[1].xyzz 104: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz 105: RSQ TEMP[2].x, TEMP[2].xxxx 106: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 107: ADD TEMP[2].xyz, TEMP[0].xyzz, -CONST[9].xyzz 108: RCP TEMP[5].x, CONST[0].yyyy 109: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[5].xxxx 110: MUL TEMP[5].x, CONST[0].yyyy, CONST[34].xxxx 111: MOV TEMP[2].w, TEMP[5].xxxx 112: ADD TEMP[5].xyz, TEMP[0].xyzz, -CONST[10].xyzz 113: MUL TEMP[7], CONST[5], TEMP[5].xxxx 114: MAD TEMP[7], CONST[6], TEMP[5].yyyy, TEMP[7] 115: MAD TEMP[5], CONST[7], TEMP[5].zzzz, TEMP[7] 116: ADD TEMP[5], TEMP[5], CONST[8] 117: MOV TEMP[7].xy, TEMP[6].xyxx 118: MOV TEMP[7].z, CONST[2].yyyy 119: MOV TEMP[7].w, TEMP[5].wwww 120: MOV TEMP[8].xyz, TEMP[1].xyzx 121: ADD TEMP[9].xyz, CONST[9].xyzz, -TEMP[0].xyzz 122: DP3 TEMP[3].x, TEMP[9].xyzz, TEMP[3].xyzz 123: DP3 TEMP[4].x, TEMP[9].xyzz, TEMP[4].xyzz 124: MOV TEMP[3].y, TEMP[4].xxxx 125: DP3 TEMP[1].x, TEMP[9].xyzz, TEMP[1].xyzz 126: MOV TEMP[3].z, TEMP[1].xxxx 127: MUL TEMP[1], CONST[14], TEMP[0].xxxx 128: MAD TEMP[1], CONST[15], TEMP[0].yyyy, TEMP[1] 129: MAD TEMP[0], CONST[16], TEMP[0].zzzz, TEMP[1] 130: ADD TEMP[0], TEMP[0], CONST[17] 131: MAD TEMP[1].xy, TEMP[6].xyyy, CONST[18].xyyy, CONST[18].zwww 132: MAD TEMP[4].xy, TEMP[6].xyyy, CONST[19].xyyy, CONST[19].zwww 133: MOV TEMP[1].zw, TEMP[4].yyxy 134: MAD TEMP[4].xy, TEMP[6].xyyy, CONST[20].xyyy, CONST[20].zwww 135: MAD TEMP[6].xy, TEMP[6].xyyy, CONST[21].xyyy, CONST[21].zwww 136: MOV TEMP[4].zw, TEMP[6].yyxy 137: ADD TEMP[6], TEMP[5], TEMP[5].wwww 138: MUL TEMP[6], TEMP[6], IMM[0].wwww 139: MOV OUT[1], TEMP[7] 140: MOV OUT[2], TEMP[8] 141: MOV OUT[3], TEMP[2] 142: MOV OUT[4], TEMP[3] 143: MOV OUT[5], TEMP[0] 144: MOV OUT[6], TEMP[1] 145: MOV OUT[7], TEMP[4] 146: MOV OUT[0], TEMP[5] 147: MOV OUT[8], TEMP[6] 148: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 180) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 184) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 188) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 192) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 196) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 200) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 204) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 208) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 212) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 216) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 220) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 224) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 228) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 232) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 236) %52 = call float @llvm.SI.load.const(<16 x i8> %10, i32 240) %53 = call float @llvm.SI.load.const(<16 x i8> %10, i32 244) %54 = call float @llvm.SI.load.const(<16 x i8> %10, i32 248) %55 = call float @llvm.SI.load.const(<16 x i8> %10, i32 252) %56 = call float @llvm.SI.load.const(<16 x i8> %10, i32 256) %57 = call float @llvm.SI.load.const(<16 x i8> %10, i32 260) %58 = call float @llvm.SI.load.const(<16 x i8> %10, i32 264) %59 = call float @llvm.SI.load.const(<16 x i8> %10, i32 268) %60 = call float @llvm.SI.load.const(<16 x i8> %10, i32 272) %61 = call float @llvm.SI.load.const(<16 x i8> %10, i32 276) %62 = call float @llvm.SI.load.const(<16 x i8> %10, i32 280) %63 = call float @llvm.SI.load.const(<16 x i8> %10, i32 284) %64 = call float @llvm.SI.load.const(<16 x i8> %10, i32 288) %65 = call float @llvm.SI.load.const(<16 x i8> %10, i32 292) %66 = call float @llvm.SI.load.const(<16 x i8> %10, i32 296) %67 = call float @llvm.SI.load.const(<16 x i8> %10, i32 300) %68 = call float @llvm.SI.load.const(<16 x i8> %10, i32 304) %69 = call float @llvm.SI.load.const(<16 x i8> %10, i32 308) %70 = call float @llvm.SI.load.const(<16 x i8> %10, i32 312) %71 = call float @llvm.SI.load.const(<16 x i8> %10, i32 316) %72 = call float @llvm.SI.load.const(<16 x i8> %10, i32 320) %73 = call float @llvm.SI.load.const(<16 x i8> %10, i32 324) %74 = call float @llvm.SI.load.const(<16 x i8> %10, i32 328) %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 332) %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 336) %77 = call float @llvm.SI.load.const(<16 x i8> %10, i32 340) %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 344) %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 348) %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 352) %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 356) %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 360) %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 364) %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 368) %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 372) %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 376) %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 380) %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 384) %89 = call float @llvm.SI.load.const(<16 x i8> %10, i32 388) %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 392) %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 396) %92 = call float @llvm.SI.load.const(<16 x i8> %10, i32 400) %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 404) %94 = call float @llvm.SI.load.const(<16 x i8> %10, i32 408) %95 = call float @llvm.SI.load.const(<16 x i8> %10, i32 412) %96 = call float @llvm.SI.load.const(<16 x i8> %10, i32 416) %97 = call float @llvm.SI.load.const(<16 x i8> %10, i32 420) %98 = call float @llvm.SI.load.const(<16 x i8> %10, i32 424) %99 = call float @llvm.SI.load.const(<16 x i8> %10, i32 432) %100 = call float @llvm.SI.load.const(<16 x i8> %10, i32 436) %101 = call float @llvm.SI.load.const(<16 x i8> %10, i32 440) %102 = call float @llvm.SI.load.const(<16 x i8> %10, i32 444) %103 = call float @llvm.SI.load.const(<16 x i8> %10, i32 448) %104 = call float @llvm.SI.load.const(<16 x i8> %10, i32 452) %105 = call float @llvm.SI.load.const(<16 x i8> %10, i32 456) %106 = call float @llvm.SI.load.const(<16 x i8> %10, i32 460) %107 = call float @llvm.SI.load.const(<16 x i8> %10, i32 464) %108 = call float @llvm.SI.load.const(<16 x i8> %10, i32 468) %109 = call float @llvm.SI.load.const(<16 x i8> %10, i32 472) %110 = call float @llvm.SI.load.const(<16 x i8> %10, i32 476) %111 = call float @llvm.SI.load.const(<16 x i8> %10, i32 480) %112 = call float @llvm.SI.load.const(<16 x i8> %10, i32 484) %113 = call float @llvm.SI.load.const(<16 x i8> %10, i32 488) %114 = call float @llvm.SI.load.const(<16 x i8> %10, i32 492) %115 = call float @llvm.SI.load.const(<16 x i8> %10, i32 496) %116 = call float @llvm.SI.load.const(<16 x i8> %10, i32 500) %117 = call float @llvm.SI.load.const(<16 x i8> %10, i32 504) %118 = call float @llvm.SI.load.const(<16 x i8> %10, i32 508) %119 = call float @llvm.SI.load.const(<16 x i8> %10, i32 512) %120 = call float @llvm.SI.load.const(<16 x i8> %10, i32 528) %121 = call float @llvm.SI.load.const(<16 x i8> %10, i32 544) %122 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %123 = load <16 x i8> addrspace(2)* %122, !tbaa !0 %124 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %123, i32 0, i32 %5) %125 = extractelement <4 x float> %124, i32 0 %126 = extractelement <4 x float> %124, i32 1 %127 = fmul float %80, %125 %128 = fmul float %81, %125 %129 = fmul float %82, %125 %130 = fmul float %83, %125 %131 = fmul float %84, %126 %132 = fadd float %131, %127 %133 = fmul float %85, %126 %134 = fadd float %133, %128 %135 = fmul float %86, %126 %136 = fadd float %135, %129 %137 = fmul float %87, %126 %138 = fadd float %137, %130 %139 = fadd float %132, %88 %140 = fadd float %134, %89 %141 = fadd float %136, %90 %142 = fadd float %138, %91 %143 = fadd float %139, %92 %144 = fadd float %140, %93 %145 = fadd float %141, %94 %146 = fadd float %142, %95 %147 = fdiv float 1.000000e+00, %146 %148 = fsub float -0.000000e+00, %96 %149 = fmul float %143, %147 %150 = fadd float %149, %148 %151 = fsub float -0.000000e+00, %97 %152 = fmul float %144, %147 %153 = fadd float %152, %151 %154 = fsub float -0.000000e+00, %98 %155 = fmul float %145, %147 %156 = fadd float %155, %154 %157 = fmul float %99, %96 %158 = fmul float %100, %97 %159 = fadd float %157, %158 %160 = fmul float %101, %98 %161 = fadd float %159, %160 %162 = fmul float %102, 1.000000e+00 %163 = fadd float %161, %162 %164 = fsub float -0.000000e+00, %163 %165 = fmul float %99, %150 %166 = fmul float %100, %153 %167 = fadd float %166, %165 %168 = fmul float %101, %156 %169 = fadd float %167, %168 %170 = fcmp olt float 0.000000e+00, %102 %171 = sext i1 %170 to i32 %172 = bitcast i32 %171 to float %173 = bitcast float %172 to i32 %174 = icmp ne i32 %173, 0 %175 = fcmp uge float %169, 0.000000e+00 br i1 %174, label %IF, label %ELSE IF: ; preds = %main_body %176 = select i1 %175, float 0.000000e+00, float %169 br label %ENDIF ELSE: ; preds = %main_body %177 = select i1 %175, float %169, float 0.000000e+00 br label %ENDIF ENDIF: ; preds = %ELSE, %IF %temp12.0 = phi float [ %176, %IF ], [ %177, %ELSE ] %178 = fdiv float 1.000000e+00, %temp12.0 %179 = fmul float %164, %178 %180 = fmul float %150, %179 %181 = fadd float %180, %30 %182 = fmul float %153, %179 %183 = fadd float %182, %31 %184 = fmul float %156, %179 %185 = fadd float %184, %32 %186 = fadd float %181, %96 %187 = fadd float %183, %97 %188 = fadd float %185, %98 %189 = fsub float -0.000000e+00, %37 %190 = fsub float -0.000000e+00, %41 %191 = fsub float -0.000000e+00, %45 %192 = fsub float -0.000000e+00, %39 %193 = fadd float %186, %192 %194 = fsub float -0.000000e+00, %43 %195 = fadd float %187, %194 %196 = fsub float -0.000000e+00, %47 %197 = fadd float %188, %196 %198 = fmul float %36, %193 %199 = fmul float %40, %195 %200 = fadd float %199, %198 %201 = fmul float %44, %197 %202 = fadd float %200, %201 %203 = fmul float %189, %193 %204 = fmul float %190, %195 %205 = fadd float %204, %203 %206 = fmul float %191, %197 %207 = fadd float %205, %206 %208 = fsub float -0.000000e+00, %30 %209 = fadd float %186, %208 %210 = fsub float -0.000000e+00, %31 %211 = fadd float %187, %210 %212 = fsub float -0.000000e+00, %32 %213 = fadd float %188, %212 %214 = fmul float %209, %209 %215 = fmul float %211, %211 %216 = fadd float %215, %214 %217 = fmul float %213, %213 %218 = fadd float %216, %217 %219 = call float @llvm.AMDGPU.rsq(float %218) %220 = fmul float %219, %218 %221 = fsub float -0.000000e+00, %218 %222 = call float @llvm.AMDGPU.cndlt(float %221, float %220, float 0.000000e+00) %223 = fdiv float 1.000000e+00, %120 %224 = fmul float %222, %223 %225 = fsub float -0.000000e+00, %224 %226 = fadd float 1.000000e+00, %225 %227 = call float @llvm.AMDIL.clamp.(float %226, float 0.000000e+00, float 1.000000e+00) %228 = fmul float %11, 1.600000e+01 %229 = fsub float -0.000000e+00, %228 %230 = fadd float %222, %229 %231 = call float @llvm.AMDIL.clamp.(float %230, float 0.000000e+00, float 1.000000e+00) %232 = fmul float %227, %231 %233 = fmul float %103, %202 %234 = fmul float %104, %207 %235 = fadd float %233, %234 %236 = fadd float %235, %119 %237 = fmul float %236, %105 %238 = call float @llvm.sin.f32(float %237) %239 = fmul float %238, %106 %240 = fmul float %239, %232 %241 = call float @llvm.cos.f32(float %237) %242 = fmul float %241, %106 %243 = fmul float %242, %105 %244 = fmul float %243, %232 %245 = fmul float %103, %244 %246 = fmul float %104, %244 %247 = fsub float -0.000000e+00, %245 %248 = fsub float -0.000000e+00, %246 %249 = fmul float %107, %202 %250 = fmul float %108, %207 %251 = fadd float %249, %250 %252 = fadd float %251, %119 %253 = fmul float %252, %109 %254 = call float @llvm.sin.f32(float %253) %255 = fmul float %254, %110 %256 = fmul float %255, %232 %257 = fadd float %256, %240 %258 = call float @llvm.cos.f32(float %253) %259 = fmul float %258, %110 %260 = fmul float %259, %109 %261 = fmul float %260, %232 %262 = fmul float %107, %261 %263 = fmul float %108, %261 %264 = fsub float -0.000000e+00, %262 %265 = fadd float %247, %264 %266 = fsub float -0.000000e+00, %263 %267 = fadd float %248, %266 %268 = fmul float %111, %202 %269 = fmul float %112, %207 %270 = fadd float %268, %269 %271 = fadd float %270, %119 %272 = fmul float %271, %113 %273 = call float @llvm.sin.f32(float %272) %274 = fmul float %273, %114 %275 = fmul float %274, %232 %276 = fadd float %275, %257 %277 = call float @llvm.cos.f32(float %272) %278 = fmul float %277, %114 %279 = fmul float %278, %113 %280 = fmul float %279, %232 %281 = fmul float %111, %280 %282 = fmul float %112, %280 %283 = fsub float -0.000000e+00, %281 %284 = fadd float %265, %283 %285 = fsub float -0.000000e+00, %282 %286 = fadd float %267, %285 %287 = fmul float %115, %202 %288 = fmul float %116, %207 %289 = fadd float %287, %288 %290 = fadd float %289, %119 %291 = fmul float %290, %117 %292 = call float @llvm.sin.f32(float %291) %293 = fmul float %292, %118 %294 = fmul float %293, %232 %295 = fadd float %294, %276 %296 = call float @llvm.cos.f32(float %291) %297 = fmul float %296, %118 %298 = fmul float %297, %117 %299 = fmul float %298, %232 %300 = fmul float %115, %299 %301 = fmul float %116, %299 %302 = fsub float -0.000000e+00, %300 %303 = fadd float %284, %302 %304 = fsub float -0.000000e+00, %301 %305 = fadd float %286, %304 %306 = fmul float %38, %295 %307 = fadd float %306, %186 %308 = fmul float %42, %295 %309 = fadd float %308, %187 %310 = fmul float %46, %295 %311 = fadd float %310, %188 %312 = fmul float %36, %303 %313 = fmul float %40, %303 %314 = fmul float %44, %303 %315 = fsub float -0.000000e+00, %312 %316 = fadd float %307, %315 %317 = fsub float -0.000000e+00, %313 %318 = fadd float %309, %317 %319 = fsub float -0.000000e+00, %314 %320 = fadd float %311, %319 %321 = fmul float %189, %305 %322 = fmul float %190, %305 %323 = fmul float %191, %305 %324 = fsub float -0.000000e+00, %321 %325 = fadd float %316, %324 %326 = fsub float -0.000000e+00, %322 %327 = fadd float %318, %326 %328 = fsub float -0.000000e+00, %323 %329 = fadd float %320, %328 %330 = fmul float %36, %303 %331 = fadd float %330, %38 %332 = fmul float %40, %303 %333 = fadd float %332, %42 %334 = fmul float %44, %303 %335 = fadd float %334, %46 %336 = fmul float %189, %305 %337 = fadd float %336, %331 %338 = fmul float %190, %305 %339 = fadd float %338, %333 %340 = fmul float %191, %305 %341 = fadd float %340, %335 %342 = fmul float %337, %337 %343 = fmul float %339, %339 %344 = fadd float %343, %342 %345 = fmul float %341, %341 %346 = fadd float %344, %345 %347 = call float @llvm.AMDGPU.rsq(float %346) %348 = fmul float %337, %347 %349 = fmul float %339, %347 %350 = fmul float %341, %347 %351 = fsub float -0.000000e+00, %30 %352 = fadd float %325, %351 %353 = fsub float -0.000000e+00, %31 %354 = fadd float %327, %353 %355 = fsub float -0.000000e+00, %32 %356 = fadd float %329, %355 %357 = fdiv float 1.000000e+00, %12 %358 = fmul float %352, %357 %359 = fmul float %354, %357 %360 = fmul float %356, %357 %361 = fmul float %12, %121 %362 = fsub float -0.000000e+00, %33 %363 = fadd float %325, %362 %364 = fsub float -0.000000e+00, %34 %365 = fadd float %327, %364 %366 = fsub float -0.000000e+00, %35 %367 = fadd float %329, %366 %368 = fmul float %14, %363 %369 = fmul float %15, %363 %370 = fmul float %16, %363 %371 = fmul float %17, %363 %372 = fmul float %18, %365 %373 = fadd float %372, %368 %374 = fmul float %19, %365 %375 = fadd float %374, %369 %376 = fmul float %20, %365 %377 = fadd float %376, %370 %378 = fmul float %21, %365 %379 = fadd float %378, %371 %380 = fmul float %22, %367 %381 = fadd float %380, %373 %382 = fmul float %23, %367 %383 = fadd float %382, %375 %384 = fmul float %24, %367 %385 = fadd float %384, %377 %386 = fmul float %25, %367 %387 = fadd float %386, %379 %388 = fadd float %381, %26 %389 = fadd float %383, %27 %390 = fadd float %385, %28 %391 = fadd float %387, %29 %392 = fsub float -0.000000e+00, %325 %393 = fadd float %30, %392 %394 = fsub float -0.000000e+00, %327 %395 = fadd float %31, %394 %396 = fsub float -0.000000e+00, %329 %397 = fadd float %32, %396 %398 = fmul float %393, %36 %399 = fmul float %395, %40 %400 = fadd float %399, %398 %401 = fmul float %397, %44 %402 = fadd float %400, %401 %403 = fmul float %393, %189 %404 = fmul float %395, %190 %405 = fadd float %404, %403 %406 = fmul float %397, %191 %407 = fadd float %405, %406 %408 = fmul float %393, %348 %409 = fmul float %395, %349 %410 = fadd float %409, %408 %411 = fmul float %397, %350 %412 = fadd float %410, %411 %413 = fmul float %48, %325 %414 = fmul float %49, %325 %415 = fmul float %50, %325 %416 = fmul float %51, %325 %417 = fmul float %52, %327 %418 = fadd float %417, %413 %419 = fmul float %53, %327 %420 = fadd float %419, %414 %421 = fmul float %54, %327 %422 = fadd float %421, %415 %423 = fmul float %55, %327 %424 = fadd float %423, %416 %425 = fmul float %56, %329 %426 = fadd float %425, %418 %427 = fmul float %57, %329 %428 = fadd float %427, %420 %429 = fmul float %58, %329 %430 = fadd float %429, %422 %431 = fmul float %59, %329 %432 = fadd float %431, %424 %433 = fadd float %426, %60 %434 = fadd float %428, %61 %435 = fadd float %430, %62 %436 = fadd float %432, %63 %437 = fmul float %202, %64 %438 = fadd float %437, %66 %439 = fmul float %207, %65 %440 = fadd float %439, %67 %441 = fmul float %202, %68 %442 = fadd float %441, %70 %443 = fmul float %207, %69 %444 = fadd float %443, %71 %445 = fmul float %202, %72 %446 = fadd float %445, %74 %447 = fmul float %207, %73 %448 = fadd float %447, %75 %449 = fmul float %202, %76 %450 = fadd float %449, %78 %451 = fmul float %207, %77 %452 = fadd float %451, %79 %453 = fadd float %388, %391 %454 = fadd float %389, %391 %455 = fadd float %390, %391 %456 = fadd float %391, %391 %457 = fmul float %453, 5.000000e-01 %458 = fmul float %454, 5.000000e-01 %459 = fmul float %455, 5.000000e-01 %460 = fmul float %456, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %202, float %207, float %13, float %391) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %348, float %349, float %350, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %358, float %359, float %360, float %361) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %402, float %407, float %412, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %433, float %434, float %435, float %436) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %438, float %440, float %442, float %444) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 38, i32 0, float %446, float %448, float %450, float %452) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 39, i32 0, float %457, float %458, float %459, float %460) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %388, float %389, float %390, float %391) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0a40100 bf8c0070 c2004959 bf8c007f 10080000 c200495d bf8c007f d2820004 04120200 c2004961 bf8c007f 06080800 c2004965 bf8c007f 06080800 c200495b bf8c007f 100a0000 c200495f bf8c007f d2820005 04160200 c2004963 bf8c007f 060a0a00 c2004967 bf8c007f 060a0a00 7e0a5505 10080b04 c21dc969 bf8c007f 0a12083b c2004958 bf8c007f 10080000 c200495c bf8c007f d2820004 04120200 c2004960 bf8c007f 06080800 c2004964 bf8c007f 06080800 10080b04 c21fc968 bf8c007f 0a14083f c200496c bf8c007f 10081400 c200c96d bf8c007f d2820004 04121201 c201495a bf8c007f 100c0002 c201495e bf8c007f d2820000 041a0202 c2014962 bf8c007f 06000002 c2014966 bf8c007f 06000002 10000b00 c220c96a bf8c007f 0a160041 c201496e bf8c007f d2820010 04121602 7e00023b d2100000 02020001 7e02023f d2820000 04020200 7e020241 d2820000 04020202 c200c96f bf8c007f 06000001 d2060011 22010100 c2274988 c21bc980 c217497f c216c97e c211497d c216497c c219c97b c219497a c2154979 c218c978 c21d4977 c21cc976 c217c975 c21c4974 c21b4973 c21ac972 c2184971 c21a4970 c227c957 c2284956 c228c953 c2294952 c229c94f c22a494e c22ac94b c22b494a c22bc936 c2004935 c202c934 c22c4932 c203c930 c22cc92e c203492d c204492c c22d4926 c22dc925 c22e4924 c22ec909 c2094901 d0080002 02010001 d2000000 00098280 d1040002 02010100 bf8c007f bec62402 89c6467e d00c0002 02010110 d2000015 000a2080 bec62546 c222c984 c200c955 c2014954 c201c951 c2024950 c204c94d c205494c c205c949 c2064948 c20cc947 c20a4946 c208c945 c2074944 c2104943 c20dc942 c20c4941 c209c940 c213c93f c211c93e c20fc93d c20d493c c215c93b c214493a c2134939 c210c938 c226c937 c22f4933 c2264931 c22fc92f c21e492a c2214929 c2204928 c21ec923 c20ac922 c207c921 c206c920 c21f491f c20e491e c20b491d c208491c c221c91b c212491a c20ec919 c20bc918 c2224917 c214c916 c212c915 c20f4914 c2244900 7e10024e 7e06024f 7e040250 7e020251 7e000252 7e0e0253 7e0c0254 7e0a0255 7e080256 7e1e0257 7e260258 7e240259 7e18025a 7e1a025b 7e1c025c 7e28025d bf8c007f 89fe467e d00c004a 02010110 d2000015 01290110 88fe467e 7e205515 10202111 d2820009 04362109 0612123b 0a22130d d282000a 043a210a 0614143f 0a2a150e 102a2b15 d2820011 04562311 d282000b 0432210b 06161641 0a20170c d2820010 04462110 7e225b10 10222111 d2060010 22010110 d0080046 02022080 d2000010 011a2280 7e2202ff c1800000 d2820011 04422248 d2060811 02010111 7e2a5445 10202b10 082020f2 d2060810 02010110 10202310 0a22125e 0a2a145f 102c2a08 d2820016 045a2207 0a2e164d d2820016 045a2e05 102a2a06 d2060018 2201004c 10222318 08222b11 102a2e00 08222b11 102a2230 d2820015 04562c34 062a2a37 102a2a35 102a2aff 3e22f983 7e2e6b15 102e2e36 102e2117 1032222f d2820019 04662c38 06323237 10323239 103232ff 3e22f983 7e346b19 1034343a d2820017 045e211a 1034222a d282001a 046a2c31 06343437 10343432 103434ff 3e22f983 7e366b1a 10363633 d2820017 045e211b 10362222 d282001b 046e2c2c 06363637 1036362d 103636ff 3e22f983 7e386b1b 1038382e d2820017 045e211c d2820009 04262f13 7e326d19 1032323a 10323239 10322119 10383238 7e2a6d15 102a2a36 102a2a35 102a2115 103a2a34 d206001d 2201011d 0838391d 7e346d1a 10343433 10343432 1034211a 103a3431 08383b1c 7e366d1b 1036362e 1036362d 1020211b 1036202c 0836371c 10383607 08123909 1032322f 102a2a30 d2060015 22010115 082a3315 1032342a 082a3315 10202022 08202115 102a2118 08122b09 0a2a1242 d282000a 042a2f12 10323608 0814330a d2060019 22010006 10342119 0814350a 0a341440 10383444 d282001c 04722a43 d282000b 042e2f0f 102e3605 08162f0b d2060017 22010000 103a2117 08163b0b 0a3a163c d282001c 04723a3e 0638383d f800020f 1c141116 d2820013 044e3607 d2820013 044e2118 d2820012 044a3608 d2820012 044a2119 bf8c070f 10282512 d2820014 04522713 d282000f 043e3605 d282000f 043e2117 d2820010 04521f0f 7e205b10 101e210f 10262113 10202112 7e240280 f800021f 120f1310 0a28170c 7e2e5412 10282f14 0a32130d 10322f19 0a36150e 102e2f1b d2100008 02021012 f800022f 08141917 bf8c070f 0810150e 101c2108 081a130d d282000e 043a270d 0818170c d282000e 043a1f0c 101e1008 d282000f 043c0f0d d282000f 043c0b0c 10101006 101a310d 0810110d 10181800 08101908 f800023f 120e080f bf8c070f 1010142b d2820008 04221227 d2820008 04221620 06101019 10181428 d282000c 04321223 d282000c 0432161b 06181814 101a1426 d282000d 0436121f d282000d 04361618 061a1a11 10141421 d2820009 042a121a d2820009 04261613 0612120e f800024f 080c0d09 d2820007 041c1311 d2820006 04181516 d2820005 04141711 d2820004 04101916 f800025f 07060504 d2820003 040c0311 d2820002 04080516 d2820001 04040711 d2820000 04000916 f800026f 03020100 bf8c070f 10003429 d2820000 04022a24 d2820000 04023a1c 06000015 06023900 100202f0 10043425 d2820002 040a2a1d d2820002 040a3a16 0604040f 06063902 100606f0 1008341e d2820004 04122a17 d2820004 04123a10 0608080d 060a3904 100a0af0 060c391c 100c0cf0 f800027f 06010305 f80008cf 1c000204 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[6], PERSPECTIVE DCL IN[6], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL CONST[0..20] DCL CONST[26..38] DCL TEMP[0..7], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, -1.0000, 1.0000} IMM[1] FLT32 { 2.0000, -0.2500, 0.2450, -0.7500} 0: MAD TEMP[0].xy, IN[0].xyyy, CONST[27].xyyy, CONST[27].zwww 1: MOV TEMP[1].xy, TEMP[0].xyyy 2: TEX TEMP[1].xy, TEMP[1], SAMP[1], 2D 3: MAD TEMP[2].xy, IN[0].xyyy, CONST[28].xyyy, CONST[28].zwww 4: MOV TEMP[2].xy, TEMP[2].xyyy 5: TEX TEMP[2].xy, TEMP[2], SAMP[1], 2D 6: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 7: MAD TEMP[2].xy, IN[0].xyyy, CONST[29].xyyy, CONST[29].zwww 8: MOV TEMP[2].xy, TEMP[2].xyyy 9: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 10: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 11: MAD TEMP[2].xy, IN[0].xyyy, CONST[30].xyyy, CONST[30].zwww 12: MOV TEMP[2].xy, TEMP[2].xyyy 13: TEX TEMP[2].xy, TEMP[2], SAMP[2], 2D 14: ADD TEMP[1].xy, TEMP[1].xyyy, TEMP[2].xyyy 15: MAD TEMP[0].xy, TEMP[1].xyyy, IMM[0].yyyy, IMM[0].zzzz 16: MAD TEMP[0].xy, TEMP[0].xyyy, CONST[34].xxxx, IN[1].xyyy 17: DP2 TEMP[1].x, TEMP[0].xyyy, TEMP[0].xyyy 18: ADD_SAT TEMP[1].x, IMM[0].wwww, -TEMP[1].xxxx 19: RSQ TEMP[2].x, TEMP[1].xxxx 20: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 21: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].xxxx 22: MOV TEMP[0].z, TEMP[2].xxxx 23: DP3 TEMP[1].x, IN[2].xyzz, IN[2].xyzz 24: RSQ TEMP[2].x, TEMP[1].xxxx 25: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 26: CMP TEMP[1].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].xxxx 27: MOV TEMP[2].xy, IN[6].xyyy 28: MOV TEMP[2].w, IN[6].wwww 29: TXP TEMP[2].z, TEMP[2], SAMP[0], 2D 30: ABS TEMP[2].x, TEMP[2].zzzz 31: ADD TEMP[2].x, TEMP[2].xxxx, -TEMP[1].xxxx 32: MAX TEMP[2].x, TEMP[2].xxxx, IMM[0].xxxx 33: MUL TEMP[3].x, -IN[2].wwww, TEMP[2].xxxx 34: EX2 TEMP[3].x, TEMP[3].xxxx 35: ADD TEMP[3].x, IMM[0].wwww, -TEMP[3].xxxx 36: DP3 TEMP[4].x, IN[2].xyzz, CONST[26].xyzz 37: ADD_SAT TEMP[4].x, TEMP[4].xxxx, IMM[0].zzzz 38: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 39: DP3 TEMP[4].x, IN[4].xyzz, IN[4].xyzz 40: RSQ TEMP[4].x, TEMP[4].xxxx 41: MUL TEMP[4].xyz, IN[4].xyzz, TEMP[4].xxxx 42: DP3_SAT TEMP[5].x, IN[3].xyzz, TEMP[0].xyzz 43: MUL TEMP[5].x, TEMP[5].xxxx, CONST[20].xxxx 44: MUL TEMP[5].xyz, CONST[35].xyzz, TEMP[5].xxxx 45: DP3 TEMP[6].x, TEMP[4].xyzz, TEMP[0].xyzz 46: ABS TEMP[6].x, TEMP[6].xxxx 47: ADD_SAT TEMP[6].x, IMM[0].wwww, -TEMP[6].xxxx 48: POW TEMP[6].x, TEMP[6].xxxx, CONST[19].zzzz 49: MAD_SAT TEMP[6].x, TEMP[6].xxxx, CONST[19].yyyy, CONST[19].xxxx 50: ADD TEMP[6].x, IMM[0].wwww, -TEMP[6].xxxx 51: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 52: MOV TEMP[6].xyz, -IN[3].xyzx 53: DP3 TEMP[7].x, TEMP[0].xyzz, TEMP[6].xyzz 54: MUL TEMP[0].xyz, TEMP[7].xxxx, TEMP[0].xyzz 55: MUL TEMP[0].xyz, IMM[1].xxxx, TEMP[0].xyzz 56: ADD TEMP[0].xyz, TEMP[6].xyzz, -TEMP[0].xyzz 57: DP3_SAT TEMP[0].x, TEMP[0].xyzz, TEMP[4].xyzz 58: POW TEMP[0].x, TEMP[0].xxxx, CONST[20].zzzz 59: MUL TEMP[0].x, TEMP[0].xxxx, CONST[20].yyyy 60: MAD TEMP[5].xyz, CONST[33].xyzz, TEMP[0].xxxx, TEMP[5].xyzz 61: DP3 TEMP[0].x, IN[1].xyzz, IN[2].xyzz 62: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[2].xxxx 63: MUL TEMP[0].x, TEMP[0].xxxx, CONST[0].yyyy 64: RCP TEMP[1].x, TEMP[1].xxxx 65: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 66: ABS TEMP[0].x, TEMP[0].xxxx 67: MUL TEMP[0].x, TEMP[0].xxxx, CONST[38].xxxx 68: MAD TEMP[1].xy, IN[0].xyyy, CONST[31].xyyy, CONST[31].zwww 69: MOV TEMP[1].xy, TEMP[1].xyyy 70: TEX TEMP[1].x, TEMP[1], SAMP[3], 2D 71: MAD TEMP[2].xy, IN[0].xyyy, CONST[32].xyyy, CONST[32].zwww 72: MOV TEMP[2].xy, TEMP[2].xyyy 73: TEX TEMP[2].x, TEMP[2], SAMP[3], 2D 74: ADD TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 75: ADD TEMP[1].x, TEMP[1].xxxx, -CONST[37].xxxx 76: ADD_SAT TEMP[1].x, TEMP[1].xxxx, -TEMP[0].xxxx 77: MUL TEMP[1].x, TEMP[1].xxxx, CONST[36].xxxx 78: EX2 TEMP[0].x, -TEMP[0].xxxx 79: MUL TEMP[0].x, TEMP[1].xxxx, TEMP[0].xxxx 80: MUL TEMP[0].x, TEMP[0].xxxx, CONST[20].xxxx 81: ADD TEMP[1].x, IMM[0].wwww, -TEMP[0].xxxx 82: MAD TEMP[5].xyz, TEMP[5].xyzz, TEMP[1].xxxx, TEMP[0].xxxx 83: MOV TEMP[0].x, IMM[0].xxxx 84: MUL TEMP[1], CONST[3], IN[5].xxxx 85: MAD TEMP[1], CONST[4], IN[5].yyyy, TEMP[1] 86: MAD TEMP[1], CONST[5], IN[5].zzzz, TEMP[1] 87: MAD TEMP[1], CONST[6], IN[5].wwww, TEMP[1] 88: MOV TEMP[2].xyz, TEMP[1] 89: ADD TEMP[1].xy, TEMP[1].xyyy, IMM[1].yyyy 90: ABS TEMP[1].xy, TEMP[1].xyyy 91: MAX TEMP[1].x, TEMP[1].xxxx, TEMP[1].yyyy 92: FSLT TEMP[1].x, IMM[1].zzzz, TEMP[1].xxxx 93: UIF TEMP[1].xxxx :0 94: MUL TEMP[1], CONST[7], IN[5].xxxx 95: MAD TEMP[1], CONST[8], IN[5].yyyy, TEMP[1] 96: MAD TEMP[1], CONST[9], IN[5].zzzz, TEMP[1] 97: MAD TEMP[1], CONST[10], IN[5].wwww, TEMP[1] 98: MOV TEMP[2].xyz, TEMP[1] 99: ADD TEMP[1].xy, TEMP[1].xyyy, IMM[1].wyyy 100: ABS TEMP[1].xy, TEMP[1].xyyy 101: MAX TEMP[1].x, TEMP[1].xxxx, TEMP[1].yyyy 102: FSLT TEMP[1].x, IMM[1].zzzz, TEMP[1].xxxx 103: UIF TEMP[1].xxxx :0 104: MUL TEMP[1], CONST[11], IN[5].xxxx 105: MAD TEMP[1], CONST[12], IN[5].yyyy, TEMP[1] 106: MAD TEMP[1], CONST[13], IN[5].zzzz, TEMP[1] 107: MAD TEMP[1], CONST[14], IN[5].wwww, TEMP[1] 108: MOV TEMP[2], TEMP[1] 109: ADD TEMP[1].xy, TEMP[1].xyyy, IMM[1].ywww 110: ABS TEMP[1].xy, TEMP[1].xyyy 111: MAX TEMP[1].x, TEMP[1].xxxx, TEMP[1].yyyy 112: FSLT TEMP[1].x, IMM[1].zzzz, TEMP[1].xxxx 113: UIF TEMP[1].xxxx :0 114: MUL TEMP[1], CONST[15], IN[5].xxxx 115: MAD TEMP[1], CONST[16], IN[5].yyyy, TEMP[1] 116: MAD TEMP[1], CONST[17], IN[5].zzzz, TEMP[1] 117: MAD TEMP[1], CONST[18], IN[5].wwww, TEMP[1] 118: MOV TEMP[2], TEMP[1] 119: ADD TEMP[1].xy, TEMP[1].xyyy, IMM[1].wwww 120: ABS TEMP[1].xy, TEMP[1].xyyy 121: MAX TEMP[1].x, TEMP[1].xxxx, TEMP[1].yyyy 122: FSLT TEMP[1].x, IMM[1].zzzz, TEMP[1].xxxx 123: UIF TEMP[1].xxxx :0 124: MOV TEMP[0].x, IMM[0].wwww 125: ENDIF 126: ENDIF 127: ENDIF 128: ENDIF 129: FSEQ TEMP[0].x, TEMP[0].xxxx, IMM[0].xxxx 130: UIF TEMP[0].xxxx :0 131: MOV TEMP[0].xy, TEMP[2].xyyy 132: MOV TEMP[0].z, TEMP[2].zzzz 133: TEX TEMP[0].x, TEMP[0], SAMP[4], SHADOW2D 134: ADD_SAT TEMP[0].x, TEMP[0].xxxx, CONST[2].yyyy 135: MOV TEMP[0].x, TEMP[0].xxxx 136: ELSE :0 137: MOV TEMP[0].x, IMM[0].wwww 138: ENDIF 139: MUL TEMP[0].xyz, TEMP[5].xyzz, TEMP[0].xxxx 140: MOV TEMP[1].w, IMM[0].wwww 141: MUL TEMP[0].xyz, TEMP[0].xyzz, CONST[1].xyzz 142: MUL TEMP[1].xyz, TEMP[0].xyzz, TEMP[3].xxxx 143: MOV OUT[0], TEMP[1] 144: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 4) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %26 = call float @llvm.SI.load.const(<16 x i8> %21, i32 36) %27 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %28 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %29 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %30 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %31 = call float @llvm.SI.load.const(<16 x i8> %21, i32 68) %32 = call float @llvm.SI.load.const(<16 x i8> %21, i32 72) %33 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %34 = call float @llvm.SI.load.const(<16 x i8> %21, i32 84) %35 = call float @llvm.SI.load.const(<16 x i8> %21, i32 88) %36 = call float @llvm.SI.load.const(<16 x i8> %21, i32 96) %37 = call float @llvm.SI.load.const(<16 x i8> %21, i32 100) %38 = call float @llvm.SI.load.const(<16 x i8> %21, i32 104) %39 = call float @llvm.SI.load.const(<16 x i8> %21, i32 112) %40 = call float @llvm.SI.load.const(<16 x i8> %21, i32 116) %41 = call float @llvm.SI.load.const(<16 x i8> %21, i32 120) %42 = call float @llvm.SI.load.const(<16 x i8> %21, i32 128) %43 = call float @llvm.SI.load.const(<16 x i8> %21, i32 132) %44 = call float @llvm.SI.load.const(<16 x i8> %21, i32 136) %45 = call float @llvm.SI.load.const(<16 x i8> %21, i32 144) %46 = call float @llvm.SI.load.const(<16 x i8> %21, i32 148) %47 = call float @llvm.SI.load.const(<16 x i8> %21, i32 152) %48 = call float @llvm.SI.load.const(<16 x i8> %21, i32 160) %49 = call float @llvm.SI.load.const(<16 x i8> %21, i32 164) %50 = call float @llvm.SI.load.const(<16 x i8> %21, i32 168) %51 = call float @llvm.SI.load.const(<16 x i8> %21, i32 176) %52 = call float @llvm.SI.load.const(<16 x i8> %21, i32 180) %53 = call float @llvm.SI.load.const(<16 x i8> %21, i32 184) %54 = call float @llvm.SI.load.const(<16 x i8> %21, i32 192) %55 = call float @llvm.SI.load.const(<16 x i8> %21, i32 196) %56 = call float @llvm.SI.load.const(<16 x i8> %21, i32 200) %57 = call float @llvm.SI.load.const(<16 x i8> %21, i32 208) %58 = call float @llvm.SI.load.const(<16 x i8> %21, i32 212) %59 = call float @llvm.SI.load.const(<16 x i8> %21, i32 216) %60 = call float @llvm.SI.load.const(<16 x i8> %21, i32 224) %61 = call float @llvm.SI.load.const(<16 x i8> %21, i32 228) %62 = call float @llvm.SI.load.const(<16 x i8> %21, i32 232) %63 = call float @llvm.SI.load.const(<16 x i8> %21, i32 240) %64 = call float @llvm.SI.load.const(<16 x i8> %21, i32 244) %65 = call float @llvm.SI.load.const(<16 x i8> %21, i32 248) %66 = call float @llvm.SI.load.const(<16 x i8> %21, i32 256) %67 = call float @llvm.SI.load.const(<16 x i8> %21, i32 260) %68 = call float @llvm.SI.load.const(<16 x i8> %21, i32 264) %69 = call float @llvm.SI.load.const(<16 x i8> %21, i32 272) %70 = call float @llvm.SI.load.const(<16 x i8> %21, i32 276) %71 = call float @llvm.SI.load.const(<16 x i8> %21, i32 280) %72 = call float @llvm.SI.load.const(<16 x i8> %21, i32 288) %73 = call float @llvm.SI.load.const(<16 x i8> %21, i32 292) %74 = call float @llvm.SI.load.const(<16 x i8> %21, i32 296) %75 = call float @llvm.SI.load.const(<16 x i8> %21, i32 304) %76 = call float @llvm.SI.load.const(<16 x i8> %21, i32 308) %77 = call float @llvm.SI.load.const(<16 x i8> %21, i32 312) %78 = call float @llvm.SI.load.const(<16 x i8> %21, i32 320) %79 = call float @llvm.SI.load.const(<16 x i8> %21, i32 324) %80 = call float @llvm.SI.load.const(<16 x i8> %21, i32 328) %81 = call float @llvm.SI.load.const(<16 x i8> %21, i32 416) %82 = call float @llvm.SI.load.const(<16 x i8> %21, i32 420) %83 = call float @llvm.SI.load.const(<16 x i8> %21, i32 424) %84 = call float @llvm.SI.load.const(<16 x i8> %21, i32 432) %85 = call float @llvm.SI.load.const(<16 x i8> %21, i32 436) %86 = call float @llvm.SI.load.const(<16 x i8> %21, i32 440) %87 = call float @llvm.SI.load.const(<16 x i8> %21, i32 444) %88 = call float @llvm.SI.load.const(<16 x i8> %21, i32 448) %89 = call float @llvm.SI.load.const(<16 x i8> %21, i32 452) %90 = call float @llvm.SI.load.const(<16 x i8> %21, i32 456) %91 = call float @llvm.SI.load.const(<16 x i8> %21, i32 460) %92 = call float @llvm.SI.load.const(<16 x i8> %21, i32 464) %93 = call float @llvm.SI.load.const(<16 x i8> %21, i32 468) %94 = call float @llvm.SI.load.const(<16 x i8> %21, i32 472) %95 = call float @llvm.SI.load.const(<16 x i8> %21, i32 476) %96 = call float @llvm.SI.load.const(<16 x i8> %21, i32 480) %97 = call float @llvm.SI.load.const(<16 x i8> %21, i32 484) %98 = call float @llvm.SI.load.const(<16 x i8> %21, i32 488) %99 = call float @llvm.SI.load.const(<16 x i8> %21, i32 492) %100 = call float @llvm.SI.load.const(<16 x i8> %21, i32 496) %101 = call float @llvm.SI.load.const(<16 x i8> %21, i32 500) %102 = call float @llvm.SI.load.const(<16 x i8> %21, i32 504) %103 = call float @llvm.SI.load.const(<16 x i8> %21, i32 508) %104 = call float @llvm.SI.load.const(<16 x i8> %21, i32 512) %105 = call float @llvm.SI.load.const(<16 x i8> %21, i32 516) %106 = call float @llvm.SI.load.const(<16 x i8> %21, i32 520) %107 = call float @llvm.SI.load.const(<16 x i8> %21, i32 524) %108 = call float @llvm.SI.load.const(<16 x i8> %21, i32 528) %109 = call float @llvm.SI.load.const(<16 x i8> %21, i32 532) %110 = call float @llvm.SI.load.const(<16 x i8> %21, i32 536) %111 = call float @llvm.SI.load.const(<16 x i8> %21, i32 544) %112 = call float @llvm.SI.load.const(<16 x i8> %21, i32 560) %113 = call float @llvm.SI.load.const(<16 x i8> %21, i32 564) %114 = call float @llvm.SI.load.const(<16 x i8> %21, i32 568) %115 = call float @llvm.SI.load.const(<16 x i8> %21, i32 576) %116 = call float @llvm.SI.load.const(<16 x i8> %21, i32 592) %117 = call float @llvm.SI.load.const(<16 x i8> %21, i32 608) %118 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %119 = load <32 x i8> addrspace(2)* %118, !tbaa !0 %120 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %121 = load <16 x i8> addrspace(2)* %120, !tbaa !0 %122 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %123 = load <32 x i8> addrspace(2)* %122, !tbaa !0 %124 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %125 = load <16 x i8> addrspace(2)* %124, !tbaa !0 %126 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %127 = load <32 x i8> addrspace(2)* %126, !tbaa !0 %128 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %129 = load <16 x i8> addrspace(2)* %128, !tbaa !0 %130 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %131 = load <32 x i8> addrspace(2)* %130, !tbaa !0 %132 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %133 = load <16 x i8> addrspace(2)* %132, !tbaa !0 %134 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %135 = load <32 x i8> addrspace(2)* %134, !tbaa !0 %136 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %137 = load <16 x i8> addrspace(2)* %136, !tbaa !0 %138 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %139 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %140 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %141 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %142 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %143 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %144 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %145 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %146 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %147 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %148 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %149 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %150 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %151 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %152 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %153 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %154 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %155 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %156 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %157 = call float @llvm.SI.fs.interp(i32 0, i32 6, i32 %3, <2 x i32> %5) %158 = call float @llvm.SI.fs.interp(i32 1, i32 6, i32 %3, <2 x i32> %5) %159 = call float @llvm.SI.fs.interp(i32 3, i32 6, i32 %3, <2 x i32> %5) %160 = fmul float %138, %84 %161 = fadd float %160, %86 %162 = fmul float %139, %85 %163 = fadd float %162, %87 %164 = bitcast float %161 to i32 %165 = bitcast float %163 to i32 %166 = insertelement <2 x i32> undef, i32 %164, i32 0 %167 = insertelement <2 x i32> %166, i32 %165, i32 1 %168 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %167, <32 x i8> %123, <16 x i8> %125, i32 2) %169 = extractelement <4 x float> %168, i32 0 %170 = extractelement <4 x float> %168, i32 1 %171 = fmul float %138, %88 %172 = fadd float %171, %90 %173 = fmul float %139, %89 %174 = fadd float %173, %91 %175 = bitcast float %172 to i32 %176 = bitcast float %174 to i32 %177 = insertelement <2 x i32> undef, i32 %175, i32 0 %178 = insertelement <2 x i32> %177, i32 %176, i32 1 %179 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %178, <32 x i8> %123, <16 x i8> %125, i32 2) %180 = extractelement <4 x float> %179, i32 0 %181 = extractelement <4 x float> %179, i32 1 %182 = fadd float %169, %180 %183 = fadd float %170, %181 %184 = fmul float %138, %92 %185 = fadd float %184, %94 %186 = fmul float %139, %93 %187 = fadd float %186, %95 %188 = bitcast float %185 to i32 %189 = bitcast float %187 to i32 %190 = insertelement <2 x i32> undef, i32 %188, i32 0 %191 = insertelement <2 x i32> %190, i32 %189, i32 1 %192 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %191, <32 x i8> %127, <16 x i8> %129, i32 2) %193 = extractelement <4 x float> %192, i32 0 %194 = extractelement <4 x float> %192, i32 1 %195 = fadd float %182, %193 %196 = fadd float %183, %194 %197 = fmul float %138, %96 %198 = fadd float %197, %98 %199 = fmul float %139, %97 %200 = fadd float %199, %99 %201 = bitcast float %198 to i32 %202 = bitcast float %200 to i32 %203 = insertelement <2 x i32> undef, i32 %201, i32 0 %204 = insertelement <2 x i32> %203, i32 %202, i32 1 %205 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %204, <32 x i8> %127, <16 x i8> %129, i32 2) %206 = extractelement <4 x float> %205, i32 0 %207 = extractelement <4 x float> %205, i32 1 %208 = fadd float %195, %206 %209 = fadd float %196, %207 %210 = fmul float %208, 5.000000e-01 %211 = fadd float %210, -1.000000e+00 %212 = fmul float %209, 5.000000e-01 %213 = fadd float %212, -1.000000e+00 %214 = fmul float %211, %111 %215 = fadd float %214, %140 %216 = fmul float %213, %111 %217 = fadd float %216, %141 %218 = fmul float %215, %215 %219 = fmul float %217, %217 %220 = fadd float %218, %219 %221 = fsub float -0.000000e+00, %220 %222 = fadd float 1.000000e+00, %221 %223 = call float @llvm.AMDIL.clamp.(float %222, float 0.000000e+00, float 1.000000e+00) %224 = call float @llvm.AMDGPU.rsq(float %223) %225 = fmul float %224, %223 %226 = fsub float -0.000000e+00, %223 %227 = call float @llvm.AMDGPU.cndlt(float %226, float %225, float 0.000000e+00) %228 = fmul float %143, %143 %229 = fmul float %144, %144 %230 = fadd float %229, %228 %231 = fmul float %145, %145 %232 = fadd float %230, %231 %233 = call float @llvm.AMDGPU.rsq(float %232) %234 = fmul float %233, %232 %235 = fsub float -0.000000e+00, %232 %236 = call float @llvm.AMDGPU.cndlt(float %235, float %234, float 0.000000e+00) %237 = fdiv float %157, %159 %238 = fdiv float %158, %159 %239 = bitcast float %237 to i32 %240 = bitcast float %238 to i32 %241 = insertelement <2 x i32> undef, i32 %239, i32 0 %242 = insertelement <2 x i32> %241, i32 %240, i32 1 %243 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %242, <32 x i8> %119, <16 x i8> %121, i32 2) %244 = extractelement <4 x float> %243, i32 2 %245 = call float @fabs(float %244) %246 = fsub float -0.000000e+00, %236 %247 = fadd float %245, %246 %248 = fcmp uge float %247, 0.000000e+00 %249 = select i1 %248, float %247, float 0.000000e+00 %250 = fsub float -0.000000e+00, %146 %251 = fmul float %250, %249 %252 = call float @llvm.AMDIL.exp.(float %251) %253 = fsub float -0.000000e+00, %252 %254 = fadd float 1.000000e+00, %253 %255 = fmul float %143, %81 %256 = fmul float %144, %82 %257 = fadd float %256, %255 %258 = fmul float %145, %83 %259 = fadd float %257, %258 %260 = fadd float %259, -1.000000e+00 %261 = call float @llvm.AMDIL.clamp.(float %260, float 0.000000e+00, float 1.000000e+00) %262 = fmul float %254, %261 %263 = fmul float %150, %150 %264 = fmul float %151, %151 %265 = fadd float %264, %263 %266 = fmul float %152, %152 %267 = fadd float %265, %266 %268 = call float @llvm.AMDGPU.rsq(float %267) %269 = fmul float %150, %268 %270 = fmul float %151, %268 %271 = fmul float %152, %268 %272 = fmul float %147, %215 %273 = fmul float %148, %217 %274 = fadd float %273, %272 %275 = fmul float %149, %227 %276 = fadd float %274, %275 %277 = call float @llvm.AMDIL.clamp.(float %276, float 0.000000e+00, float 1.000000e+00) %278 = fmul float %277, %78 %279 = fmul float %112, %278 %280 = fmul float %113, %278 %281 = fmul float %114, %278 %282 = fmul float %269, %215 %283 = fmul float %270, %217 %284 = fadd float %283, %282 %285 = fmul float %271, %227 %286 = fadd float %284, %285 %287 = call float @fabs(float %286) %288 = fsub float -0.000000e+00, %287 %289 = fadd float 1.000000e+00, %288 %290 = call float @llvm.AMDIL.clamp.(float %289, float 0.000000e+00, float 1.000000e+00) %291 = call float @llvm.pow.f32(float %290, float %77) %292 = fmul float %291, %76 %293 = fadd float %292, %75 %294 = call float @llvm.AMDIL.clamp.(float %293, float 0.000000e+00, float 1.000000e+00) %295 = fsub float -0.000000e+00, %294 %296 = fadd float 1.000000e+00, %295 %297 = fmul float %279, %296 %298 = fmul float %280, %296 %299 = fmul float %281, %296 %300 = fsub float -0.000000e+00, %147 %301 = fsub float -0.000000e+00, %148 %302 = fsub float -0.000000e+00, %149 %303 = fmul float %215, %300 %304 = fmul float %217, %301 %305 = fadd float %304, %303 %306 = fmul float %227, %302 %307 = fadd float %305, %306 %308 = fmul float %307, %215 %309 = fmul float %307, %217 %310 = fmul float %307, %227 %311 = fmul float 2.000000e+00, %308 %312 = fmul float 2.000000e+00, %309 %313 = fmul float 2.000000e+00, %310 %314 = fsub float -0.000000e+00, %311 %315 = fadd float %300, %314 %316 = fsub float -0.000000e+00, %312 %317 = fadd float %301, %316 %318 = fsub float -0.000000e+00, %313 %319 = fadd float %302, %318 %320 = fmul float %315, %269 %321 = fmul float %317, %270 %322 = fadd float %321, %320 %323 = fmul float %319, %271 %324 = fadd float %322, %323 %325 = call float @llvm.AMDIL.clamp.(float %324, float 0.000000e+00, float 1.000000e+00) %326 = call float @llvm.pow.f32(float %325, float %80) %327 = fmul float %326, %79 %328 = fmul float %108, %327 %329 = fadd float %328, %297 %330 = fmul float %109, %327 %331 = fadd float %330, %298 %332 = fmul float %110, %327 %333 = fadd float %332, %299 %334 = fmul float %140, %143 %335 = fmul float %141, %144 %336 = fadd float %335, %334 %337 = fmul float %142, %145 %338 = fadd float %336, %337 %339 = fmul float %338, %249 %340 = fmul float %339, %22 %341 = fdiv float 1.000000e+00, %236 %342 = fmul float %340, %341 %343 = call float @fabs(float %342) %344 = fmul float %343, %117 %345 = fmul float %138, %100 %346 = fadd float %345, %102 %347 = fmul float %139, %101 %348 = fadd float %347, %103 %349 = bitcast float %346 to i32 %350 = bitcast float %348 to i32 %351 = insertelement <2 x i32> undef, i32 %349, i32 0 %352 = insertelement <2 x i32> %351, i32 %350, i32 1 %353 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %352, <32 x i8> %131, <16 x i8> %133, i32 2) %354 = extractelement <4 x float> %353, i32 0 %355 = fmul float %138, %104 %356 = fadd float %355, %106 %357 = fmul float %139, %105 %358 = fadd float %357, %107 %359 = bitcast float %356 to i32 %360 = bitcast float %358 to i32 %361 = insertelement <2 x i32> undef, i32 %359, i32 0 %362 = insertelement <2 x i32> %361, i32 %360, i32 1 %363 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %362, <32 x i8> %131, <16 x i8> %133, i32 2) %364 = extractelement <4 x float> %363, i32 0 %365 = fadd float %354, %364 %366 = fsub float -0.000000e+00, %116 %367 = fadd float %365, %366 %368 = fsub float -0.000000e+00, %344 %369 = fadd float %367, %368 %370 = call float @llvm.AMDIL.clamp.(float %369, float 0.000000e+00, float 1.000000e+00) %371 = fmul float %370, %115 %372 = fsub float -0.000000e+00, %344 %373 = call float @llvm.AMDIL.exp.(float %372) %374 = fmul float %371, %373 %375 = fmul float %374, %78 %376 = fsub float -0.000000e+00, %375 %377 = fadd float 1.000000e+00, %376 %378 = fmul float %329, %377 %379 = fadd float %378, %375 %380 = fmul float %331, %377 %381 = fadd float %380, %375 %382 = fmul float %333, %377 %383 = fadd float %382, %375 %384 = fmul float %27, %153 %385 = fmul float %28, %153 %386 = fmul float %29, %153 %387 = fmul float %30, %154 %388 = fadd float %387, %384 %389 = fmul float %31, %154 %390 = fadd float %389, %385 %391 = fmul float %32, %154 %392 = fadd float %391, %386 %393 = fmul float %33, %155 %394 = fadd float %393, %388 %395 = fmul float %34, %155 %396 = fadd float %395, %390 %397 = fmul float %35, %155 %398 = fadd float %397, %392 %399 = fmul float %36, %156 %400 = fadd float %399, %394 %401 = fmul float %37, %156 %402 = fadd float %401, %396 %403 = fmul float %38, %156 %404 = fadd float %403, %398 %405 = fadd float %400, -2.500000e-01 %406 = fadd float %402, -2.500000e-01 %407 = call float @fabs(float %405) %408 = call float @fabs(float %406) %409 = fcmp uge float %407, %408 %410 = select i1 %409, float %407, float %408 %411 = fcmp olt float 0x3FCF5C2900000000, %410 %412 = sext i1 %411 to i32 %413 = bitcast i32 %412 to float %414 = bitcast float %413 to i32 %415 = icmp ne i32 %414, 0 br i1 %415, label %IF, label %ENDIF IF: ; preds = %main_body %416 = fmul float %39, %153 %417 = fmul float %40, %153 %418 = fmul float %41, %153 %419 = fmul float %42, %154 %420 = fadd float %419, %416 %421 = fmul float %43, %154 %422 = fadd float %421, %417 %423 = fmul float %44, %154 %424 = fadd float %423, %418 %425 = fmul float %45, %155 %426 = fadd float %425, %420 %427 = fmul float %46, %155 %428 = fadd float %427, %422 %429 = fmul float %47, %155 %430 = fadd float %429, %424 %431 = fmul float %48, %156 %432 = fadd float %431, %426 %433 = fmul float %49, %156 %434 = fadd float %433, %428 %435 = fmul float %50, %156 %436 = fadd float %435, %430 %437 = fadd float %432, -7.500000e-01 %438 = fadd float %434, -2.500000e-01 %439 = call float @fabs(float %437) %440 = call float @fabs(float %438) %441 = fcmp uge float %439, %440 %442 = select i1 %441, float %439, float %440 %443 = fcmp olt float 0x3FCF5C2900000000, %442 %444 = sext i1 %443 to i32 %445 = bitcast i32 %444 to float %446 = bitcast float %445 to i32 %447 = icmp ne i32 %446, 0 br i1 %447, label %IF33, label %ENDIF ENDIF: ; preds = %IF36, %IF33, %IF, %main_body %temp10.0 = phi float [ %404, %main_body ], [ %436, %IF ], [ %505, %IF36 ], [ %473, %IF33 ] %temp9.0 = phi float [ %402, %main_body ], [ %434, %IF ], [ %503, %IF36 ], [ %471, %IF33 ] %temp8.0 = phi float [ %400, %main_body ], [ %432, %IF ], [ %501, %IF36 ], [ %469, %IF33 ] %temp.0 = phi float [ 0.000000e+00, %main_body ], [ 0.000000e+00, %IF ], [ %., %IF36 ], [ 0.000000e+00, %IF33 ] %448 = fcmp oeq float %temp.0, 0.000000e+00 %449 = sext i1 %448 to i32 %450 = bitcast i32 %449 to float %451 = bitcast float %450 to i32 %452 = icmp ne i32 %451, 0 br i1 %452, label %IF42, label %ENDIF41 IF33: ; preds = %IF %453 = fmul float %51, %153 %454 = fmul float %52, %153 %455 = fmul float %53, %153 %456 = fmul float %54, %154 %457 = fadd float %456, %453 %458 = fmul float %55, %154 %459 = fadd float %458, %454 %460 = fmul float %56, %154 %461 = fadd float %460, %455 %462 = fmul float %57, %155 %463 = fadd float %462, %457 %464 = fmul float %58, %155 %465 = fadd float %464, %459 %466 = fmul float %59, %155 %467 = fadd float %466, %461 %468 = fmul float %60, %156 %469 = fadd float %468, %463 %470 = fmul float %61, %156 %471 = fadd float %470, %465 %472 = fmul float %62, %156 %473 = fadd float %472, %467 %474 = fadd float %469, -2.500000e-01 %475 = fadd float %471, -7.500000e-01 %476 = call float @fabs(float %474) %477 = call float @fabs(float %475) %478 = fcmp uge float %476, %477 %479 = select i1 %478, float %476, float %477 %480 = fcmp olt float 0x3FCF5C2900000000, %479 %481 = sext i1 %480 to i32 %482 = bitcast i32 %481 to float %483 = bitcast float %482 to i32 %484 = icmp ne i32 %483, 0 br i1 %484, label %IF36, label %ENDIF IF36: ; preds = %IF33 %485 = fmul float %63, %153 %486 = fmul float %64, %153 %487 = fmul float %65, %153 %488 = fmul float %66, %154 %489 = fadd float %488, %485 %490 = fmul float %67, %154 %491 = fadd float %490, %486 %492 = fmul float %68, %154 %493 = fadd float %492, %487 %494 = fmul float %69, %155 %495 = fadd float %494, %489 %496 = fmul float %70, %155 %497 = fadd float %496, %491 %498 = fmul float %71, %155 %499 = fadd float %498, %493 %500 = fmul float %72, %156 %501 = fadd float %500, %495 %502 = fmul float %73, %156 %503 = fadd float %502, %497 %504 = fmul float %74, %156 %505 = fadd float %504, %499 %506 = fadd float %501, -7.500000e-01 %507 = fadd float %503, -7.500000e-01 %508 = call float @fabs(float %506) %509 = call float @fabs(float %507) %510 = fcmp uge float %508, %509 %511 = select i1 %510, float %508, float %509 %512 = fcmp olt float 0x3FCF5C2900000000, %511 %513 = sext i1 %512 to i32 %514 = bitcast i32 %513 to float %515 = bitcast float %514 to i32 %516 = icmp ne i32 %515, 0 %. = select i1 %516, float 1.000000e+00, float 0.000000e+00 br label %ENDIF IF42: ; preds = %ENDIF %517 = bitcast float %temp10.0 to i32 %518 = bitcast float %temp8.0 to i32 %519 = bitcast float %temp9.0 to i32 %520 = insertelement <4 x i32> undef, i32 %517, i32 0 %521 = insertelement <4 x i32> %520, i32 %518, i32 1 %522 = insertelement <4 x i32> %521, i32 %519, i32 2 %523 = insertelement <4 x i32> %522, i32 undef, i32 3 %524 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %523, <32 x i8> %135, <16 x i8> %137, i32 7) %525 = extractelement <4 x float> %524, i32 0 %526 = fadd float %525, %26 %527 = call float @llvm.AMDIL.clamp.(float %526, float 0.000000e+00, float 1.000000e+00) br label %ENDIF41 ENDIF41: ; preds = %ENDIF, %IF42 %temp.4 = phi float [ %527, %IF42 ], [ 1.000000e+00, %ENDIF ] %528 = fmul float %379, %temp.4 %529 = fmul float %381, %temp.4 %530 = fmul float %383, %temp.4 %531 = fmul float %528, %23 %532 = fmul float %529, %24 %533 = fmul float %530, %25 %534 = fmul float %531, %262 %535 = fmul float %532, %262 %536 = fmul float %533, %262 %537 = call i32 @llvm.SI.packf16(float %534, float %535) %538 = bitcast i32 %537 to float %539 = call i32 @llvm.SI.packf16(float %536, float 1.000000e+00) %540 = bitcast i32 %539 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %538, float %540, float %538, float %540) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readonly declare float @fabs(float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #4 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } attributes #4 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080100 c8090101 c0840100 bf8c007f c2000971 c2008973 bf8c007f 7e060201 d2820004 040c0102 c8140000 c8150001 c2000970 c2008972 bf8c007f 7e0c0201 d2820003 04180105 c0860304 c0c80508 bf8c007f f0800300 00640303 c200096d c200896f bf8c0070 7e0c0201 d2820007 04180102 c200096c c200896e bf8c007f 7e100201 d2820006 04200105 f0800300 00640606 bf8c0770 06100706 c2000975 c2008977 bf8c007f 7e120201 d282000a 04240102 c2000974 c2008976 bf8c007f 7e160201 d2820009 042c0105 c0860308 c0c80510 bf8c007f f0800300 00640909 bf8c0770 06101308 c2000979 c200897b bf8c007f 7e160201 d282000c 042c0102 c2000978 c200897a bf8c007f 7e1a0201 d282000b 04340105 f0800300 00640b0b bf8c0770 06101708 d2820008 03cde108 c8340400 c8350401 c2000988 bf8c007f d2820008 04340108 06060907 06061503 06061903 d2820003 03cde103 c8100500 c8110501 d2820003 04100103 100c0703 d2820006 041a1108 080c0cf2 d2060806 02010106 7e0e5b06 100e0d07 d2060006 22010106 d0080000 02020c80 d2000006 00020e80 c81c0e00 c81d0e01 10120f06 c8280c00 c8290c01 10161508 c8300d00 c8310d01 d206000e 2201010c 101e1d03 081e170f 0812130f 101e0709 d282000f 043e0709 081c1f0e 101e1109 d282000f 043e1109 d206000a 2201010a 08141f0a c83c1100 c83d1101 c8401000 c8411001 10222110 d2820011 04461f0f c8481200 c8491201 d2820011 04462512 7e225b11 10202310 1014210a 101e230f d282000a 042a1f0e 101c0d09 d2820009 043a0d09 d206000e 22010107 0812130e 101c2312 d2820009 042a1d09 d2060809 02010109 7e124f09 c2000952 bf8c007f 0e121200 7e124b09 c2000951 bf8c007f 10121200 d282000a 042e070c d2820007 042a0f06 d2060807 02010107 c2000950 bf8c007f 100e0e00 c200898e bf8c007f 10140e01 10101110 d2820003 0422070f d2820003 040e0d0e d2060103 02010103 080606f2 d2060803 02010103 7e064f03 c200894e bf8c007f 0e060601 7e064b03 c200894d c203894c bf8c007f 7e0c0207 d2820003 04180303 d2060803 02010103 080c06f2 10060d0a c2008986 bf8c007f d2820003 040e1201 c8200900 c8210901 c8280800 c8290801 1016150a d282000b 042e1108 c8300a00 c8310a01 d282000b 042e190c 7e1c5b0b 101c170e d206000b 2201010b d008000c 02021680 d200000b 00321c80 c8381900 c8391901 c83c1b00 c83d1b01 7e1e550f 10221f0e c8381800 c8391801 10201f0e c0860300 c0c80500 bf8c007f f0800400 00640e10 bf8c0770 d206010e 0201010e 081c170e d00c000c 0201010e d200000e 00321c80 101a150d d2820004 04361104 c8340600 c8350601 d2820004 0412190d 10081d04 c2008901 bf8c007f 10080801 7e16550b 10081704 d2060104 02010104 c2008998 bf8c007f 10080801 c2008981 c2038983 bf8c007f 7e160207 d2820010 042c0302 c2008980 c2038982 bf8c007f 7e160207 d282000f 042c0305 c086030c c0c80518 bf8c007f f0800100 00640b0f c200897d c203897f bf8c0070 7e1a0207 d2820010 04340302 c200897c c203897e bf8c007f 7e040207 d282000f 04080305 f0800100 0064020f bf8c0770 06041702 c2008994 bf8c007f 0a040401 08040902 d2060802 02010102 c2008990 bf8c007f 10040401 d2060004 22010104 7e084b04 10040902 10080400 080a08f2 d2820002 04120b03 c200098d bf8c007f 10060e00 10060d03 c2000985 bf8c007f d2820003 040e1200 d2820003 04120b03 c200098c bf8c007f 100e0e00 100c0d07 c2000984 bf8c007f d2820006 041a1200 d2820004 04120b06 c8140b00 c8150b01 d2060005 22010105 100a1d05 7e0a4b05 080a0af2 c2000968 bf8c007f 100c1400 c2000969 bf8c007f d2820006 04180108 c200096a bf8c007f d2820006 0418010c 060c0cf3 d2060806 02010106 100a0d05 c8181500 c8191501 c81c1400 c81d1401 c200090d bf8c007f 10100e00 c2000911 bf8c007f d2820009 04220c00 c8201600 c8211601 c2000915 bf8c007f d282000a 04261000 c8241700 c8251701 c2000919 bf8c007f d282000c 042a1200 060018ff be800000 d2060100 02010100 c200090c bf8c007f 10020e00 c2000910 bf8c007f d2820001 04060c00 c2000914 bf8c007f d2820001 04061000 c2000918 bf8c007f d282000b 04061200 060216ff be800000 d2060101 02010101 d00c0000 02020101 d2000000 00020300 7e0202ff 3e7ae148 d0080000 02020300 c203090e bf8c007f 10000e06 c2030912 bf8c007f d2820000 04020c06 c2030916 bf8c007f d2820000 04021006 c203091a bf8c007f d282000a 04021206 7e000280 be802400 8980007e bf8800ab c203092a c2038929 c2060928 c2068926 c2070925 c2078924 c2080922 c2088921 c2090920 c209891e c20a091d c20a891c bf8c007f d2100000 02020e14 d2820000 04020c11 d2820000 0402100e d282000c 04021207 060018ff be800000 d2060100 02010100 d2100001 02020e15 d2820001 04060c12 d2820001 0406100f d282000b 0406120c 060216ff bf400000 d2060101 02010101 d00c000e 02020101 d2000000 003a0300 7e0202ff 3e7ae148 d008000e 02020300 d2100000 02020e13 d2820000 04020c10 d2820000 0402100d d282000a 04021206 7e000280 be86240e 8986067e bf880071 c206093a c2068939 c2070938 c2078936 c2080935 c2088934 c2090932 c2098931 c20a0930 c20a892e c20b092d c20b892c bf8c007f d2100000 02020e16 d2820000 04020c13 d2820000 04021010 d282000c 0402120d 060018ff bf400000 d2060100 02010100 d2100001 02020e17 d2820001 04060c14 d2820001 04061011 d282000b 0406120e 060216ff be800000 d2060101 02010101 d00c0010 02020101 d2000000 00420300 7e0202ff 3e7ae148 d0080010 02020300 d2100000 02020e15 d2820000 04020c12 d2820000 0402100f d282000a 0402120c 7e000280 be8c2410 898c0c7e bf880037 c207094a c2078949 c2080948 c2088946 c2090945 c2098944 c20a0942 c20a8941 c20b0940 c20b893e c20c093d c20c893c bf8c007f d2100000 02020e18 d2820000 04020c15 d2820000 04021012 d282000c 0402120f 060018ff bf400000 d2060100 02010100 d2100001 02020e19 d2820001 04060c16 d2820001 04061013 d282000b 04061210 060216ff bf400000 d2060101 02010101 d00c0012 02020101 d2000000 004a0300 7e0202ff 3e7ae148 d0080012 02020300 d2000000 0049e480 d2100001 02020e17 d2820001 04060c14 d2820001 04061011 d282000a 0406120e 88fe0c7e 88fe067e 88fe007e c2030906 c2060905 c2038904 d0040000 02010100 7e0002f2 bf8c007f be802400 8980007e c0880310 c0ca0520 c2010909 bf8c007f f0a00100 0085000a bf8c0770 06000002 d2060800 02010100 88fe007e d2100001 02020103 1002020c 10020305 d2100003 02020104 10060607 10060705 5e020303 d2100000 02020102 10000006 10000105 d25e0000 0201e500 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[6] DCL OUT[7], GENERIC[7] DCL CONST[0..28] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 16.0000, 0.5000} 0: MUL TEMP[0], CONST[16], IN[0].xxxx 1: MAD TEMP[0], CONST[17], IN[0].yyyy, TEMP[0] 2: ADD TEMP[0], TEMP[0], CONST[18] 3: ADD TEMP[0], TEMP[0], CONST[19] 4: RCP TEMP[1].x, TEMP[0].wwww 5: MAD TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx, -CONST[20].xyzz 6: MOV TEMP[1].w, IMM[0].xxxx 7: MOV TEMP[1].xyz, CONST[20].xyzx 8: DP4 TEMP[1].x, CONST[21], TEMP[1] 9: MOV TEMP[1].x, -TEMP[1].xxxx 10: DP3 TEMP[2].x, CONST[21].xyzz, TEMP[0].xyzz 11: FSLT TEMP[3].x, IMM[0].yyyy, CONST[21].wwww 12: UIF TEMP[3].xxxx :0 13: MIN TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 14: ELSE :0 15: MAX TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 16: ENDIF 17: RCP TEMP[2].x, TEMP[3].xxxx 18: MUL TEMP[2].x, TEMP[1].xxxx, TEMP[2].xxxx 19: MAD TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx, CONST[9].xyzz 20: ADD TEMP[1].xyz, TEMP[2].xyzz, CONST[20].xyzz 21: MOV TEMP[0].w, IMM[0].xxxx 22: MOV TEMP[2].x, CONST[11].zzzz 23: MOV TEMP[2].y, CONST[12].zzzz 24: MOV TEMP[2].z, CONST[13].zzzz 25: MOV TEMP[3].x, CONST[11].xxxx 26: MOV TEMP[3].y, CONST[12].xxxx 27: MOV TEMP[3].z, CONST[13].xxxx 28: MOV TEMP[4].x, CONST[11].yyyy 29: MOV TEMP[4].y, CONST[12].yyyy 30: MOV TEMP[4].z, CONST[13].yyyy 31: MOV TEMP[4].xyz, -TEMP[4].xyzx 32: MOV TEMP[5].x, CONST[11].wwww 33: MOV TEMP[5].y, CONST[12].wwww 34: MOV TEMP[5].z, CONST[13].wwww 35: ADD TEMP[5].xyz, TEMP[1].xyzz, -TEMP[5].xyzz 36: DP3 TEMP[6].x, TEMP[3].xyzz, TEMP[5].xyzz 37: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 38: MOV TEMP[6].y, TEMP[5].xxxx 39: ADD TEMP[5].xyz, TEMP[1].xyzz, -CONST[9].xyzz 40: DP3 TEMP[5].x, TEMP[5].xyzz, TEMP[5].xyzz 41: RSQ TEMP[7].x, TEMP[5].xxxx 42: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 43: CMP TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, IMM[0].yyyy 44: RCP TEMP[7].x, CONST[27].xxxx 45: MUL TEMP[7].x, TEMP[5].xxxx, TEMP[7].xxxx 46: ADD_SAT TEMP[7].x, IMM[0].xxxx, -TEMP[7].xxxx 47: MUL TEMP[8].x, CONST[0].xxxx, IMM[0].zzzz 48: ADD_SAT TEMP[5].x, TEMP[5].xxxx, -TEMP[8].xxxx 49: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 50: DP2 TEMP[7].x, CONST[22].xyyy, TEMP[6].xyyy 51: ADD TEMP[7].x, TEMP[7].xxxx, CONST[26].xxxx 52: MUL TEMP[7].x, TEMP[7].xxxx, CONST[22].zzzz 53: SIN TEMP[8].x, TEMP[7].xxxx 54: MUL TEMP[8].x, TEMP[8].xxxx, CONST[22].wwww 55: MUL TEMP[8].x, TEMP[8].xxxx, TEMP[5].xxxx 56: COS TEMP[7].x, TEMP[7].xxxx 57: MUL TEMP[7].x, TEMP[7].xxxx, CONST[22].wwww 58: MUL TEMP[7].x, TEMP[7].xxxx, CONST[22].zzzz 59: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 60: MUL TEMP[7].xy, CONST[22].xyyy, TEMP[7].xxxx 61: MOV TEMP[7].xy, -TEMP[7].xyxx 62: DP2 TEMP[9].x, CONST[23].xyyy, TEMP[6].xyyy 63: ADD TEMP[9].x, TEMP[9].xxxx, CONST[26].xxxx 64: MUL TEMP[9].x, TEMP[9].xxxx, CONST[23].zzzz 65: SIN TEMP[10].x, TEMP[9].xxxx 66: MUL TEMP[10].x, TEMP[10].xxxx, CONST[23].wwww 67: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 68: COS TEMP[9].x, TEMP[9].xxxx 69: MUL TEMP[9].x, TEMP[9].xxxx, CONST[23].wwww 70: MUL TEMP[9].x, TEMP[9].xxxx, CONST[23].zzzz 71: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 72: MUL TEMP[9].xy, CONST[23].xyyy, TEMP[9].xxxx 73: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 74: DP2 TEMP[9].x, CONST[24].xyyy, TEMP[6].xyyy 75: ADD TEMP[9].x, TEMP[9].xxxx, CONST[26].xxxx 76: MUL TEMP[9].x, TEMP[9].xxxx, CONST[24].zzzz 77: SIN TEMP[10].x, TEMP[9].xxxx 78: MUL TEMP[10].x, TEMP[10].xxxx, CONST[24].wwww 79: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 80: COS TEMP[9].x, TEMP[9].xxxx 81: MUL TEMP[9].x, TEMP[9].xxxx, CONST[24].wwww 82: MUL TEMP[9].x, TEMP[9].xxxx, CONST[24].zzzz 83: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 84: MUL TEMP[9].xy, CONST[24].xyyy, TEMP[9].xxxx 85: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 86: DP2 TEMP[9].x, CONST[25].xyyy, TEMP[6].xyyy 87: ADD TEMP[9].x, TEMP[9].xxxx, CONST[26].xxxx 88: MUL TEMP[9].x, TEMP[9].xxxx, CONST[25].zzzz 89: SIN TEMP[10].x, TEMP[9].xxxx 90: MUL TEMP[10].x, TEMP[10].xxxx, CONST[25].wwww 91: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 92: COS TEMP[9].x, TEMP[9].xxxx 93: MUL TEMP[9].x, TEMP[9].xxxx, CONST[25].wwww 94: MUL TEMP[9].x, TEMP[9].xxxx, CONST[25].zzzz 95: MUL TEMP[5].x, TEMP[9].xxxx, TEMP[5].xxxx 96: MUL TEMP[5].xy, CONST[25].xyyy, TEMP[5].xxxx 97: ADD TEMP[5].xy, TEMP[7].xyyy, -TEMP[5].xyyy 98: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[8].xxxx, TEMP[1].xyzz 99: MUL TEMP[7].xyz, TEMP[3].xyzz, TEMP[5].xxxx 100: ADD TEMP[1].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 101: MUL TEMP[7].xyz, TEMP[4].xyzz, TEMP[5].yyyy 102: ADD TEMP[0].xyz, TEMP[1].xyzz, -TEMP[7].xyzz 103: MAD TEMP[1].xyz, TEMP[3].xyzz, TEMP[5].xxxx, TEMP[2].xyzz 104: MAD TEMP[1].xyz, TEMP[4].xyzz, TEMP[5].yyyy, TEMP[1].xyzz 105: DP3 TEMP[2].x, TEMP[1].xyzz, TEMP[1].xyzz 106: RSQ TEMP[2].x, TEMP[2].xxxx 107: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 108: ADD TEMP[2].xyz, TEMP[0].xyzz, -CONST[9].xyzz 109: RCP TEMP[5].x, CONST[0].yyyy 110: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[5].xxxx 111: MUL TEMP[5].x, CONST[0].yyyy, CONST[28].xxxx 112: MOV TEMP[2].w, TEMP[5].xxxx 113: ADD TEMP[5].xyz, TEMP[0].xyzz, -CONST[10].xyzz 114: MUL TEMP[7], CONST[5], TEMP[5].xxxx 115: MAD TEMP[7], CONST[6], TEMP[5].yyyy, TEMP[7] 116: MAD TEMP[5], CONST[7], TEMP[5].zzzz, TEMP[7] 117: ADD TEMP[5], TEMP[5], CONST[8] 118: MOV TEMP[6].xy, TEMP[6].xyxx 119: MOV TEMP[6].z, CONST[2].yyyy 120: MOV TEMP[6].w, TEMP[5].wwww 121: MOV TEMP[7].xyz, TEMP[1].xyzx 122: DP3 TEMP[8].x, CONST[14].xyzz, TEMP[3].xyzz 123: DP3 TEMP[9].x, CONST[14].xyzz, TEMP[4].xyzz 124: MOV TEMP[8].y, TEMP[9].xxxx 125: DP3 TEMP[9].x, CONST[14].xyzz, TEMP[1].xyzz 126: MUL TEMP[9].x, TEMP[9].xxxx, CONST[15].xxxx 127: MOV TEMP[8].z, TEMP[9].xxxx 128: ADD TEMP[9].xyz, CONST[9].xyzz, -TEMP[0].xyzz 129: DP3 TEMP[3].x, TEMP[9].xyzz, TEMP[3].xyzz 130: DP3 TEMP[4].x, TEMP[9].xyzz, TEMP[4].xyzz 131: MOV TEMP[3].y, TEMP[4].xxxx 132: DP3 TEMP[1].x, TEMP[9].xyzz, TEMP[1].xyzz 133: MUL TEMP[1].x, TEMP[1].xxxx, CONST[15].xxxx 134: MOV TEMP[3].z, TEMP[1].xxxx 135: ADD TEMP[1], TEMP[5], TEMP[5].wwww 136: MUL TEMP[1], TEMP[1], IMM[0].wwww 137: MOV OUT[1], TEMP[6] 138: MOV OUT[2], TEMP[7] 139: MOV OUT[3], TEMP[2] 140: MOV OUT[4], TEMP[8] 141: MOV OUT[5], TEMP[3] 142: MOV OUT[6], TEMP[0] 143: MOV OUT[0], TEMP[5] 144: MOV OUT[7], TEMP[1] 145: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 92) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 108) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 180) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 184) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 188) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 192) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 196) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 200) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 204) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 208) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 212) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 216) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 220) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 224) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 228) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 232) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 240) %52 = call float @llvm.SI.load.const(<16 x i8> %10, i32 256) %53 = call float @llvm.SI.load.const(<16 x i8> %10, i32 260) %54 = call float @llvm.SI.load.const(<16 x i8> %10, i32 264) %55 = call float @llvm.SI.load.const(<16 x i8> %10, i32 268) %56 = call float @llvm.SI.load.const(<16 x i8> %10, i32 272) %57 = call float @llvm.SI.load.const(<16 x i8> %10, i32 276) %58 = call float @llvm.SI.load.const(<16 x i8> %10, i32 280) %59 = call float @llvm.SI.load.const(<16 x i8> %10, i32 284) %60 = call float @llvm.SI.load.const(<16 x i8> %10, i32 288) %61 = call float @llvm.SI.load.const(<16 x i8> %10, i32 292) %62 = call float @llvm.SI.load.const(<16 x i8> %10, i32 296) %63 = call float @llvm.SI.load.const(<16 x i8> %10, i32 300) %64 = call float @llvm.SI.load.const(<16 x i8> %10, i32 304) %65 = call float @llvm.SI.load.const(<16 x i8> %10, i32 308) %66 = call float @llvm.SI.load.const(<16 x i8> %10, i32 312) %67 = call float @llvm.SI.load.const(<16 x i8> %10, i32 316) %68 = call float @llvm.SI.load.const(<16 x i8> %10, i32 320) %69 = call float @llvm.SI.load.const(<16 x i8> %10, i32 324) %70 = call float @llvm.SI.load.const(<16 x i8> %10, i32 328) %71 = call float @llvm.SI.load.const(<16 x i8> %10, i32 336) %72 = call float @llvm.SI.load.const(<16 x i8> %10, i32 340) %73 = call float @llvm.SI.load.const(<16 x i8> %10, i32 344) %74 = call float @llvm.SI.load.const(<16 x i8> %10, i32 348) %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 352) %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 356) %77 = call float @llvm.SI.load.const(<16 x i8> %10, i32 360) %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 364) %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 368) %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 372) %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 376) %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 380) %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 384) %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 388) %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 392) %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 396) %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 400) %88 = call float @llvm.SI.load.const(<16 x i8> %10, i32 404) %89 = call float @llvm.SI.load.const(<16 x i8> %10, i32 408) %90 = call float @llvm.SI.load.const(<16 x i8> %10, i32 412) %91 = call float @llvm.SI.load.const(<16 x i8> %10, i32 416) %92 = call float @llvm.SI.load.const(<16 x i8> %10, i32 432) %93 = call float @llvm.SI.load.const(<16 x i8> %10, i32 448) %94 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %95 = load <16 x i8> addrspace(2)* %94, !tbaa !0 %96 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %95, i32 0, i32 %5) %97 = extractelement <4 x float> %96, i32 0 %98 = extractelement <4 x float> %96, i32 1 %99 = fmul float %52, %97 %100 = fmul float %53, %97 %101 = fmul float %54, %97 %102 = fmul float %55, %97 %103 = fmul float %56, %98 %104 = fadd float %103, %99 %105 = fmul float %57, %98 %106 = fadd float %105, %100 %107 = fmul float %58, %98 %108 = fadd float %107, %101 %109 = fmul float %59, %98 %110 = fadd float %109, %102 %111 = fadd float %104, %60 %112 = fadd float %106, %61 %113 = fadd float %108, %62 %114 = fadd float %110, %63 %115 = fadd float %111, %64 %116 = fadd float %112, %65 %117 = fadd float %113, %66 %118 = fadd float %114, %67 %119 = fdiv float 1.000000e+00, %118 %120 = fsub float -0.000000e+00, %68 %121 = fmul float %115, %119 %122 = fadd float %121, %120 %123 = fsub float -0.000000e+00, %69 %124 = fmul float %116, %119 %125 = fadd float %124, %123 %126 = fsub float -0.000000e+00, %70 %127 = fmul float %117, %119 %128 = fadd float %127, %126 %129 = fmul float %71, %68 %130 = fmul float %72, %69 %131 = fadd float %129, %130 %132 = fmul float %73, %70 %133 = fadd float %131, %132 %134 = fmul float %74, 1.000000e+00 %135 = fadd float %133, %134 %136 = fsub float -0.000000e+00, %135 %137 = fmul float %71, %122 %138 = fmul float %72, %125 %139 = fadd float %138, %137 %140 = fmul float %73, %128 %141 = fadd float %139, %140 %142 = fcmp olt float 0.000000e+00, %74 %143 = sext i1 %142 to i32 %144 = bitcast i32 %143 to float %145 = bitcast float %144 to i32 %146 = icmp ne i32 %145, 0 %147 = fcmp uge float %141, 0.000000e+00 br i1 %146, label %IF, label %ELSE IF: ; preds = %main_body %148 = select i1 %147, float 0.000000e+00, float %141 br label %ENDIF ELSE: ; preds = %main_body %149 = select i1 %147, float %141, float 0.000000e+00 br label %ENDIF ENDIF: ; preds = %ELSE, %IF %temp12.0 = phi float [ %148, %IF ], [ %149, %ELSE ] %150 = fdiv float 1.000000e+00, %temp12.0 %151 = fmul float %136, %150 %152 = fmul float %122, %151 %153 = fadd float %152, %30 %154 = fmul float %125, %151 %155 = fadd float %154, %31 %156 = fmul float %128, %151 %157 = fadd float %156, %32 %158 = fadd float %153, %68 %159 = fadd float %155, %69 %160 = fadd float %157, %70 %161 = fsub float -0.000000e+00, %37 %162 = fsub float -0.000000e+00, %41 %163 = fsub float -0.000000e+00, %45 %164 = fsub float -0.000000e+00, %39 %165 = fadd float %158, %164 %166 = fsub float -0.000000e+00, %43 %167 = fadd float %159, %166 %168 = fsub float -0.000000e+00, %47 %169 = fadd float %160, %168 %170 = fmul float %36, %165 %171 = fmul float %40, %167 %172 = fadd float %171, %170 %173 = fmul float %44, %169 %174 = fadd float %172, %173 %175 = fmul float %161, %165 %176 = fmul float %162, %167 %177 = fadd float %176, %175 %178 = fmul float %163, %169 %179 = fadd float %177, %178 %180 = fsub float -0.000000e+00, %30 %181 = fadd float %158, %180 %182 = fsub float -0.000000e+00, %31 %183 = fadd float %159, %182 %184 = fsub float -0.000000e+00, %32 %185 = fadd float %160, %184 %186 = fmul float %181, %181 %187 = fmul float %183, %183 %188 = fadd float %187, %186 %189 = fmul float %185, %185 %190 = fadd float %188, %189 %191 = call float @llvm.AMDGPU.rsq(float %190) %192 = fmul float %191, %190 %193 = fsub float -0.000000e+00, %190 %194 = call float @llvm.AMDGPU.cndlt(float %193, float %192, float 0.000000e+00) %195 = fdiv float 1.000000e+00, %92 %196 = fmul float %194, %195 %197 = fsub float -0.000000e+00, %196 %198 = fadd float 1.000000e+00, %197 %199 = call float @llvm.AMDIL.clamp.(float %198, float 0.000000e+00, float 1.000000e+00) %200 = fmul float %11, 1.600000e+01 %201 = fsub float -0.000000e+00, %200 %202 = fadd float %194, %201 %203 = call float @llvm.AMDIL.clamp.(float %202, float 0.000000e+00, float 1.000000e+00) %204 = fmul float %199, %203 %205 = fmul float %75, %174 %206 = fmul float %76, %179 %207 = fadd float %205, %206 %208 = fadd float %207, %91 %209 = fmul float %208, %77 %210 = call float @llvm.sin.f32(float %209) %211 = fmul float %210, %78 %212 = fmul float %211, %204 %213 = call float @llvm.cos.f32(float %209) %214 = fmul float %213, %78 %215 = fmul float %214, %77 %216 = fmul float %215, %204 %217 = fmul float %75, %216 %218 = fmul float %76, %216 %219 = fsub float -0.000000e+00, %217 %220 = fsub float -0.000000e+00, %218 %221 = fmul float %79, %174 %222 = fmul float %80, %179 %223 = fadd float %221, %222 %224 = fadd float %223, %91 %225 = fmul float %224, %81 %226 = call float @llvm.sin.f32(float %225) %227 = fmul float %226, %82 %228 = fmul float %227, %204 %229 = fadd float %228, %212 %230 = call float @llvm.cos.f32(float %225) %231 = fmul float %230, %82 %232 = fmul float %231, %81 %233 = fmul float %232, %204 %234 = fmul float %79, %233 %235 = fmul float %80, %233 %236 = fsub float -0.000000e+00, %234 %237 = fadd float %219, %236 %238 = fsub float -0.000000e+00, %235 %239 = fadd float %220, %238 %240 = fmul float %83, %174 %241 = fmul float %84, %179 %242 = fadd float %240, %241 %243 = fadd float %242, %91 %244 = fmul float %243, %85 %245 = call float @llvm.sin.f32(float %244) %246 = fmul float %245, %86 %247 = fmul float %246, %204 %248 = fadd float %247, %229 %249 = call float @llvm.cos.f32(float %244) %250 = fmul float %249, %86 %251 = fmul float %250, %85 %252 = fmul float %251, %204 %253 = fmul float %83, %252 %254 = fmul float %84, %252 %255 = fsub float -0.000000e+00, %253 %256 = fadd float %237, %255 %257 = fsub float -0.000000e+00, %254 %258 = fadd float %239, %257 %259 = fmul float %87, %174 %260 = fmul float %88, %179 %261 = fadd float %259, %260 %262 = fadd float %261, %91 %263 = fmul float %262, %89 %264 = call float @llvm.sin.f32(float %263) %265 = fmul float %264, %90 %266 = fmul float %265, %204 %267 = fadd float %266, %248 %268 = call float @llvm.cos.f32(float %263) %269 = fmul float %268, %90 %270 = fmul float %269, %89 %271 = fmul float %270, %204 %272 = fmul float %87, %271 %273 = fmul float %88, %271 %274 = fsub float -0.000000e+00, %272 %275 = fadd float %256, %274 %276 = fsub float -0.000000e+00, %273 %277 = fadd float %258, %276 %278 = fmul float %38, %267 %279 = fadd float %278, %158 %280 = fmul float %42, %267 %281 = fadd float %280, %159 %282 = fmul float %46, %267 %283 = fadd float %282, %160 %284 = fmul float %36, %275 %285 = fmul float %40, %275 %286 = fmul float %44, %275 %287 = fsub float -0.000000e+00, %284 %288 = fadd float %279, %287 %289 = fsub float -0.000000e+00, %285 %290 = fadd float %281, %289 %291 = fsub float -0.000000e+00, %286 %292 = fadd float %283, %291 %293 = fmul float %161, %277 %294 = fmul float %162, %277 %295 = fmul float %163, %277 %296 = fsub float -0.000000e+00, %293 %297 = fadd float %288, %296 %298 = fsub float -0.000000e+00, %294 %299 = fadd float %290, %298 %300 = fsub float -0.000000e+00, %295 %301 = fadd float %292, %300 %302 = fmul float %36, %275 %303 = fadd float %302, %38 %304 = fmul float %40, %275 %305 = fadd float %304, %42 %306 = fmul float %44, %275 %307 = fadd float %306, %46 %308 = fmul float %161, %277 %309 = fadd float %308, %303 %310 = fmul float %162, %277 %311 = fadd float %310, %305 %312 = fmul float %163, %277 %313 = fadd float %312, %307 %314 = fmul float %309, %309 %315 = fmul float %311, %311 %316 = fadd float %315, %314 %317 = fmul float %313, %313 %318 = fadd float %316, %317 %319 = call float @llvm.AMDGPU.rsq(float %318) %320 = fmul float %309, %319 %321 = fmul float %311, %319 %322 = fmul float %313, %319 %323 = fsub float -0.000000e+00, %30 %324 = fadd float %297, %323 %325 = fsub float -0.000000e+00, %31 %326 = fadd float %299, %325 %327 = fsub float -0.000000e+00, %32 %328 = fadd float %301, %327 %329 = fdiv float 1.000000e+00, %12 %330 = fmul float %324, %329 %331 = fmul float %326, %329 %332 = fmul float %328, %329 %333 = fmul float %12, %93 %334 = fsub float -0.000000e+00, %33 %335 = fadd float %297, %334 %336 = fsub float -0.000000e+00, %34 %337 = fadd float %299, %336 %338 = fsub float -0.000000e+00, %35 %339 = fadd float %301, %338 %340 = fmul float %14, %335 %341 = fmul float %15, %335 %342 = fmul float %16, %335 %343 = fmul float %17, %335 %344 = fmul float %18, %337 %345 = fadd float %344, %340 %346 = fmul float %19, %337 %347 = fadd float %346, %341 %348 = fmul float %20, %337 %349 = fadd float %348, %342 %350 = fmul float %21, %337 %351 = fadd float %350, %343 %352 = fmul float %22, %339 %353 = fadd float %352, %345 %354 = fmul float %23, %339 %355 = fadd float %354, %347 %356 = fmul float %24, %339 %357 = fadd float %356, %349 %358 = fmul float %25, %339 %359 = fadd float %358, %351 %360 = fadd float %353, %26 %361 = fadd float %355, %27 %362 = fadd float %357, %28 %363 = fadd float %359, %29 %364 = fmul float %48, %36 %365 = fmul float %49, %40 %366 = fadd float %365, %364 %367 = fmul float %50, %44 %368 = fadd float %366, %367 %369 = fmul float %48, %161 %370 = fmul float %49, %162 %371 = fadd float %370, %369 %372 = fmul float %50, %163 %373 = fadd float %371, %372 %374 = fmul float %48, %320 %375 = fmul float %49, %321 %376 = fadd float %375, %374 %377 = fmul float %50, %322 %378 = fadd float %376, %377 %379 = fmul float %378, %51 %380 = fsub float -0.000000e+00, %297 %381 = fadd float %30, %380 %382 = fsub float -0.000000e+00, %299 %383 = fadd float %31, %382 %384 = fsub float -0.000000e+00, %301 %385 = fadd float %32, %384 %386 = fmul float %381, %36 %387 = fmul float %383, %40 %388 = fadd float %387, %386 %389 = fmul float %385, %44 %390 = fadd float %388, %389 %391 = fmul float %381, %161 %392 = fmul float %383, %162 %393 = fadd float %392, %391 %394 = fmul float %385, %163 %395 = fadd float %393, %394 %396 = fmul float %381, %320 %397 = fmul float %383, %321 %398 = fadd float %397, %396 %399 = fmul float %385, %322 %400 = fadd float %398, %399 %401 = fmul float %400, %51 %402 = fadd float %360, %363 %403 = fadd float %361, %363 %404 = fadd float %362, %363 %405 = fadd float %363, %363 %406 = fmul float %402, 5.000000e-01 %407 = fmul float %403, 5.000000e-01 %408 = fmul float %404, 5.000000e-01 %409 = fmul float %405, 5.000000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %174, float %179, float %13, float %363) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %320, float %321, float %322, float %351) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %330, float %331, float %332, float %333) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %368, float %373, float %379, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %390, float %395, float %401, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %297, float %299, float %301, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 38, i32 0, float %406, float %407, float %408, float %409) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %360, float %361, float %362, float %363) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0960100 bf8c0070 c2002d41 bf8c007f 10080000 c2002d45 bf8c007f d2820004 04120200 c2002d49 bf8c007f 06080800 c2002d4d bf8c007f 06080800 c2002d43 bf8c007f 100a0000 c2002d47 bf8c007f d2820005 04160200 c2002d4b bf8c007f 060a0a00 c2002d4f bf8c007f 060a0a00 7e0a5505 10080b04 c214ad51 bf8c007f 0a120829 c2002d40 bf8c007f 10080000 c2002d44 bf8c007f d2820004 04120200 c2002d48 bf8c007f 06080800 c2002d4c bf8c007f 06080800 10080b04 c2152d50 bf8c007f 0a16082a c2002d54 bf8c007f 10081600 c200ad55 bf8c007f d2820004 04121201 c2012d42 bf8c007f 100c0002 c2012d46 bf8c007f d2820000 041a0202 c2012d4a bf8c007f 06000002 c2012d4e bf8c007f 06000002 10000b00 c215ad52 bf8c007f 0a1c002b c2012d56 bf8c007f d2820010 04121c02 7e000229 d2100000 02020001 7e02022a d2820000 04020200 7e02022b d2820000 04020202 c2022d57 bf8c007f 06000004 d2060011 22010100 c21aad70 c2102d68 c20aad67 c20a2d66 c208ad65 c209ad64 c20d2d63 c20cad62 c2092d61 c20c2d60 c211ad5f c2112d5e c20b2d5d c210ad5c c20fad5b c20f2d5a c20bad59 c20ead58 c2002d3c c200ad3a c2012d39 c201ad38 c21c2d36 c21cad35 c21d2d34 c21dad32 c21e2d30 c21ead2e c21f2d2d c21fad2c c2202d26 c220ad25 c2212d24 c221ad09 c207ad01 d0080004 02010004 d2000000 00118280 d1040004 02010100 bf8c007f beb62404 89b6367e d00c0004 02010110 d2000012 00122080 beb62536 c21a2d6c c218ad37 c2192d33 c2182d31 c219ad2f c20dad2a c2132d29 c212ad28 c20e2d23 c203ad22 c202ad21 c2022d20 c2122d1f c2052d1e c2042d1d c2032d1c c213ad1b c206ad1a c205ad19 c204ad18 c2142d17 c2082d16 c2072d15 c2062d14 c2162d00 7e040235 7e140238 7e000239 7e02023a 7e1a023b 7e08023c 7e18023d 7e06023e 7e0a023f 7e0c0240 7e0e0241 7e100242 7e1e0243 bf8c007f 89fe367e d00c002e 02010110 d2000012 00b90110 88fe367e 7e205512 10202111 d2820009 041e2109 06121229 0a221307 d282000b 0422210b 0616162a 0a241708 10242512 d2820011 044a2311 d282000e 041a210e 061c1c2b 0a201d06 d2820010 04462110 7e225b10 10222111 d2060010 22010110 d008002a 02022080 d2000010 00aa2280 7e2202ff c1800000 d2820011 0442222c d2060811 02010111 7e245434 10202510 082020f2 d2060810 02010110 10202310 0a221232 0a241633 10262505 d2820013 044e2304 0a281c31 d2820013 044e2901 10242503 d2060015 22010030 10222315 08222511 10242900 08222511 10242217 d2820012 044a261d 06242420 1024241e 102424ff 3e22f983 7e286b12 1028281f 10282114 102c2216 d2820016 045a2621 062c2c20 102c2c22 102c2cff 3e22f983 7e2e6b16 102e2e23 d2820014 04522117 102e2212 d2820017 045e2618 062e2e20 102e2e19 102e2eff 3e22f983 7e306b17 1030301a d2820014 04522118 10302211 d2820018 04622613 06303020 10303014 103030ff 3e22f983 7e326b18 10323215 d2820014 04522119 d2820009 0426290d 7e2c6d16 102c2c23 102c2c22 102c2116 10322c21 7e246d12 1024241f 1024241e 10242112 1034241d d206001a 2201011a 0832331a 7e2e6d17 102e2e1a 102e2e19 102e2117 10342e18 08323519 7e306d18 10303015 10303014 10202118 10302013 08303119 10323104 08123309 102c2c16 10242417 d2060012 22010112 08242d12 102c2e12 08242d12 10202011 08202112 10242115 08122509 0a241226 d282000b 042e290c 102c3105 08162d0b d2060016 22010103 102e2116 08162f0b 0a2e1625 10322e28 d2820019 04662427 d282000e 043a290a 10283101 081c290e d2060014 22010100 10342114 081c350e 0a341c1b d282001b 04663424 0636361c f800020f 1b0f1113 d282000d 04363104 d282000d 04362115 d282000c 04323105 d282000c 04322116 bf8c070f 101e190c d282000f 043e1b0d d282000a 042a3101 d282000a 042a2114 d282000f 043e150a 7e1e5b0f 10141f0a 101a1f0d 10181f0c f800021f 190a0d0c 0a1e1d06 7e20540f 101e210f 0a221307 10222111 0a261708 10202113 d2100002 0202040f f800022f 020f1110 bf8c070f 10041803 d2820002 040a1a02 d2820002 040a1401 10040400 d210000f 02020603 10202a02 081e1f10 d2100010 02020001 081e210f d2100010 02020a03 d2820010 04420802 d2820010 04420201 7e220280 f800023f 11020f10 bf8c070f 08041708 10101902 080e1307 d2820008 04221b07 080c1d06 d2820008 04221506 10101000 100a0505 d2820004 04160907 d2820001 04120306 10040503 10062b07 08040503 10000d00 08000102 f800024f 11080001 bf8c070f 7e0002f2 f800025f 000e090b bf8c070f 10002e10 d2820000 0402240d d2820000 0402340a 06000007 06023700 100202f0 10042e0e d2820002 040a240b d2820002 040a3408 06040405 06063702 100606f0 10082e0c d2820004 04122409 d2820004 04123406 06080804 060a3704 100a0af0 060c371b 100c0cf0 f800026f 06010305 f80008cf 1b000204 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.0000, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xyw, IMM[0].xxxx 1: DP3 TEMP[1].x, IN[0].xyzz, IN[0].xyzz 2: RSQ TEMP[2].x, TEMP[1].xxxx 3: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[1].xxxx 4: CMP TEMP[2].x, -TEMP[1].xxxx, TEMP[2].xxxx, IMM[0].xxxx 5: MOV TEMP[0].z, TEMP[2].xxxx 6: MOV OUT[0], TEMP[0] 7: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %21 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %22 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %23 = fmul float %20, %20 %24 = fmul float %21, %21 %25 = fadd float %24, %23 %26 = fmul float %22, %22 %27 = fadd float %25, %26 %28 = call float @llvm.AMDGPU.rsq(float %27) %29 = fmul float %28, %27 %30 = fsub float -0.000000e+00, %27 %31 = call float @llvm.AMDGPU.cndlt(float %30, float %29, float 0.000000e+00) %32 = call i32 @llvm.SI.packf16(float 0.000000e+00, float 0.000000e+00) %33 = bitcast i32 %32 to float %34 = call i32 @llvm.SI.packf16(float %31, float 0.000000e+00) %35 = bitcast i32 %34 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %33, float %35, float %33, float %35) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } SI CODE: befe0a7e befc0306 c8080100 c8090101 c80c0000 c80d0001 10060703 d2820002 040e0502 c80c0200 c80d0201 d2820000 040a0703 7e025b00 10020101 d2060000 22010100 d0080000 02020080 d2000000 00020280 d25e0000 02010100 d25e0001 02010080 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..21] DCL TEMP[0..10], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 16.0000, 0.0000} 0: MUL TEMP[0], CONST[10], IN[0].xxxx 1: MAD TEMP[0], CONST[11], IN[0].yyyy, TEMP[0] 2: ADD TEMP[0], TEMP[0], CONST[12] 3: ADD TEMP[0], TEMP[0], CONST[13] 4: RCP TEMP[1].x, TEMP[0].wwww 5: MAD TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx, -CONST[14].xyzz 6: MOV TEMP[1].w, IMM[0].xxxx 7: MOV TEMP[1].xyz, CONST[14].xyzx 8: DP4 TEMP[1].x, CONST[15], TEMP[1] 9: MOV TEMP[1].x, -TEMP[1].xxxx 10: DP3 TEMP[2].x, CONST[15].xyzz, TEMP[0].xyzz 11: FSLT TEMP[3].x, IMM[0].yyyy, CONST[15].wwww 12: UIF TEMP[3].xxxx :0 13: MIN TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 14: ELSE :0 15: MAX TEMP[3].x, TEMP[2].xxxx, IMM[0].yyyy 16: ENDIF 17: RCP TEMP[2].x, TEMP[3].xxxx 18: MUL TEMP[2].x, TEMP[1].xxxx, TEMP[2].xxxx 19: MAD TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx, CONST[5].xyzz 20: ADD TEMP[1].xyz, TEMP[2].xyzz, CONST[14].xyzz 21: MOV TEMP[2].x, CONST[7].zzzz 22: MOV TEMP[2].y, CONST[8].zzzz 23: MOV TEMP[2].z, CONST[9].zzzz 24: MOV TEMP[3].x, CONST[7].xxxx 25: MOV TEMP[3].y, CONST[8].xxxx 26: MOV TEMP[3].z, CONST[9].xxxx 27: MOV TEMP[4].x, CONST[7].yyyy 28: MOV TEMP[4].y, CONST[8].yyyy 29: MOV TEMP[4].z, CONST[9].yyyy 30: MOV TEMP[4].xyz, -TEMP[4].xyzx 31: MOV TEMP[5].x, CONST[7].wwww 32: MOV TEMP[5].y, CONST[8].wwww 33: MOV TEMP[5].z, CONST[9].wwww 34: ADD TEMP[5].xyz, TEMP[1].xyzz, -TEMP[5].xyzz 35: DP3 TEMP[6].x, TEMP[3].xyzz, TEMP[5].xyzz 36: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[5].xyzz 37: MOV TEMP[6].y, TEMP[5].xxxx 38: ADD TEMP[5].xyz, TEMP[1].xyzz, -CONST[5].xyzz 39: DP3 TEMP[5].x, TEMP[5].xyzz, TEMP[5].xyzz 40: RSQ TEMP[7].x, TEMP[5].xxxx 41: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 42: CMP TEMP[5].x, -TEMP[5].xxxx, TEMP[7].xxxx, IMM[0].yyyy 43: RCP TEMP[7].x, CONST[21].xxxx 44: MUL TEMP[7].x, TEMP[5].xxxx, TEMP[7].xxxx 45: ADD_SAT TEMP[7].x, IMM[0].xxxx, -TEMP[7].xxxx 46: MUL TEMP[8].x, CONST[0].xxxx, IMM[0].zzzz 47: ADD_SAT TEMP[5].x, TEMP[5].xxxx, -TEMP[8].xxxx 48: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 49: DP2 TEMP[7].x, CONST[16].xyyy, TEMP[6].xyyy 50: ADD TEMP[7].x, TEMP[7].xxxx, CONST[20].xxxx 51: MUL TEMP[7].x, TEMP[7].xxxx, CONST[16].zzzz 52: SIN TEMP[8].x, TEMP[7].xxxx 53: MUL TEMP[8].x, TEMP[8].xxxx, CONST[16].wwww 54: MUL TEMP[8].x, TEMP[8].xxxx, TEMP[5].xxxx 55: COS TEMP[7].x, TEMP[7].xxxx 56: MUL TEMP[7].x, TEMP[7].xxxx, CONST[16].wwww 57: MUL TEMP[7].x, TEMP[7].xxxx, CONST[16].zzzz 58: MUL TEMP[7].x, TEMP[7].xxxx, TEMP[5].xxxx 59: MUL TEMP[7].xy, CONST[16].xyyy, TEMP[7].xxxx 60: MOV TEMP[7].xy, -TEMP[7].xyxx 61: DP2 TEMP[9].x, CONST[17].xyyy, TEMP[6].xyyy 62: ADD TEMP[9].x, TEMP[9].xxxx, CONST[20].xxxx 63: MUL TEMP[9].x, TEMP[9].xxxx, CONST[17].zzzz 64: SIN TEMP[10].x, TEMP[9].xxxx 65: MUL TEMP[10].x, TEMP[10].xxxx, CONST[17].wwww 66: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 67: COS TEMP[9].x, TEMP[9].xxxx 68: MUL TEMP[9].x, TEMP[9].xxxx, CONST[17].wwww 69: MUL TEMP[9].x, TEMP[9].xxxx, CONST[17].zzzz 70: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 71: MUL TEMP[9].xy, CONST[17].xyyy, TEMP[9].xxxx 72: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 73: DP2 TEMP[9].x, CONST[18].xyyy, TEMP[6].xyyy 74: ADD TEMP[9].x, TEMP[9].xxxx, CONST[20].xxxx 75: MUL TEMP[9].x, TEMP[9].xxxx, CONST[18].zzzz 76: SIN TEMP[10].x, TEMP[9].xxxx 77: MUL TEMP[10].x, TEMP[10].xxxx, CONST[18].wwww 78: MAD TEMP[8].x, TEMP[10].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 79: COS TEMP[9].x, TEMP[9].xxxx 80: MUL TEMP[9].x, TEMP[9].xxxx, CONST[18].wwww 81: MUL TEMP[9].x, TEMP[9].xxxx, CONST[18].zzzz 82: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[5].xxxx 83: MUL TEMP[9].xy, CONST[18].xyyy, TEMP[9].xxxx 84: ADD TEMP[7].xy, TEMP[7].xyyy, -TEMP[9].xyyy 85: DP2 TEMP[6].x, CONST[19].xyyy, TEMP[6].xyyy 86: ADD TEMP[6].x, TEMP[6].xxxx, CONST[20].xxxx 87: MUL TEMP[6].x, TEMP[6].xxxx, CONST[19].zzzz 88: SIN TEMP[9].x, TEMP[6].xxxx 89: MUL TEMP[9].x, TEMP[9].xxxx, CONST[19].wwww 90: MAD TEMP[8].x, TEMP[9].xxxx, TEMP[5].xxxx, TEMP[8].xxxx 91: COS TEMP[6].x, TEMP[6].xxxx 92: MUL TEMP[6].x, TEMP[6].xxxx, CONST[19].wwww 93: MUL TEMP[6].x, TEMP[6].xxxx, CONST[19].zzzz 94: MUL TEMP[5].x, TEMP[6].xxxx, TEMP[5].xxxx 95: MUL TEMP[5].xy, CONST[19].xyyy, TEMP[5].xxxx 96: ADD TEMP[5].xy, TEMP[7].xyyy, -TEMP[5].xyyy 97: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[8].xxxx, TEMP[1].xyzz 98: MUL TEMP[2].xyz, TEMP[3].xyzz, TEMP[5].xxxx 99: ADD TEMP[1].xyz, TEMP[1].xyzz, -TEMP[2].xyzz 100: MUL TEMP[2].xyz, TEMP[4].xyzz, TEMP[5].yyyy 101: ADD TEMP[0].xyz, TEMP[1].xyzz, -TEMP[2].xyzz 102: ADD TEMP[1].xyz, TEMP[0].xyzz, -CONST[6].xyzz 103: MUL TEMP[2], CONST[1], TEMP[1].xxxx 104: MAD TEMP[2], CONST[2], TEMP[1].yyyy, TEMP[2] 105: MAD TEMP[1], CONST[3], TEMP[1].zzzz, TEMP[2] 106: ADD TEMP[1], TEMP[1], CONST[4] 107: ADD TEMP[0].xyz, TEMP[0].xyzz, -CONST[5].xyzz 108: RCP TEMP[2].x, CONST[0].yyyy 109: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[2].xxxx 110: MOV OUT[1], TEMP[0] 111: MOV OUT[0], TEMP[1] 112: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 104) %35 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %36 = call float @llvm.SI.load.const(<16 x i8> %10, i32 116) %37 = call float @llvm.SI.load.const(<16 x i8> %10, i32 120) %38 = call float @llvm.SI.load.const(<16 x i8> %10, i32 124) %39 = call float @llvm.SI.load.const(<16 x i8> %10, i32 128) %40 = call float @llvm.SI.load.const(<16 x i8> %10, i32 132) %41 = call float @llvm.SI.load.const(<16 x i8> %10, i32 136) %42 = call float @llvm.SI.load.const(<16 x i8> %10, i32 140) %43 = call float @llvm.SI.load.const(<16 x i8> %10, i32 144) %44 = call float @llvm.SI.load.const(<16 x i8> %10, i32 148) %45 = call float @llvm.SI.load.const(<16 x i8> %10, i32 152) %46 = call float @llvm.SI.load.const(<16 x i8> %10, i32 156) %47 = call float @llvm.SI.load.const(<16 x i8> %10, i32 160) %48 = call float @llvm.SI.load.const(<16 x i8> %10, i32 164) %49 = call float @llvm.SI.load.const(<16 x i8> %10, i32 168) %50 = call float @llvm.SI.load.const(<16 x i8> %10, i32 172) %51 = call float @llvm.SI.load.const(<16 x i8> %10, i32 176) %52 = call float @llvm.SI.load.const(<16 x i8> %10, i32 180) %53 = call float @llvm.SI.load.const(<16 x i8> %10, i32 184) %54 = call float @llvm.SI.load.const(<16 x i8> %10, i32 188) %55 = call float @llvm.SI.load.const(<16 x i8> %10, i32 192) %56 = call float @llvm.SI.load.const(<16 x i8> %10, i32 196) %57 = call float @llvm.SI.load.const(<16 x i8> %10, i32 200) %58 = call float @llvm.SI.load.const(<16 x i8> %10, i32 204) %59 = call float @llvm.SI.load.const(<16 x i8> %10, i32 208) %60 = call float @llvm.SI.load.const(<16 x i8> %10, i32 212) %61 = call float @llvm.SI.load.const(<16 x i8> %10, i32 216) %62 = call float @llvm.SI.load.const(<16 x i8> %10, i32 220) %63 = call float @llvm.SI.load.const(<16 x i8> %10, i32 224) %64 = call float @llvm.SI.load.const(<16 x i8> %10, i32 228) %65 = call float @llvm.SI.load.const(<16 x i8> %10, i32 232) %66 = call float @llvm.SI.load.const(<16 x i8> %10, i32 240) %67 = call float @llvm.SI.load.const(<16 x i8> %10, i32 244) %68 = call float @llvm.SI.load.const(<16 x i8> %10, i32 248) %69 = call float @llvm.SI.load.const(<16 x i8> %10, i32 252) %70 = call float @llvm.SI.load.const(<16 x i8> %10, i32 256) %71 = call float @llvm.SI.load.const(<16 x i8> %10, i32 260) %72 = call float @llvm.SI.load.const(<16 x i8> %10, i32 264) %73 = call float @llvm.SI.load.const(<16 x i8> %10, i32 268) %74 = call float @llvm.SI.load.const(<16 x i8> %10, i32 272) %75 = call float @llvm.SI.load.const(<16 x i8> %10, i32 276) %76 = call float @llvm.SI.load.const(<16 x i8> %10, i32 280) %77 = call float @llvm.SI.load.const(<16 x i8> %10, i32 284) %78 = call float @llvm.SI.load.const(<16 x i8> %10, i32 288) %79 = call float @llvm.SI.load.const(<16 x i8> %10, i32 292) %80 = call float @llvm.SI.load.const(<16 x i8> %10, i32 296) %81 = call float @llvm.SI.load.const(<16 x i8> %10, i32 300) %82 = call float @llvm.SI.load.const(<16 x i8> %10, i32 304) %83 = call float @llvm.SI.load.const(<16 x i8> %10, i32 308) %84 = call float @llvm.SI.load.const(<16 x i8> %10, i32 312) %85 = call float @llvm.SI.load.const(<16 x i8> %10, i32 316) %86 = call float @llvm.SI.load.const(<16 x i8> %10, i32 320) %87 = call float @llvm.SI.load.const(<16 x i8> %10, i32 336) %88 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %89 = load <16 x i8> addrspace(2)* %88, !tbaa !0 %90 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %89, i32 0, i32 %5) %91 = extractelement <4 x float> %90, i32 0 %92 = extractelement <4 x float> %90, i32 1 %93 = fmul float %47, %91 %94 = fmul float %48, %91 %95 = fmul float %49, %91 %96 = fmul float %50, %91 %97 = fmul float %51, %92 %98 = fadd float %97, %93 %99 = fmul float %52, %92 %100 = fadd float %99, %94 %101 = fmul float %53, %92 %102 = fadd float %101, %95 %103 = fmul float %54, %92 %104 = fadd float %103, %96 %105 = fadd float %98, %55 %106 = fadd float %100, %56 %107 = fadd float %102, %57 %108 = fadd float %104, %58 %109 = fadd float %105, %59 %110 = fadd float %106, %60 %111 = fadd float %107, %61 %112 = fadd float %108, %62 %113 = fdiv float 1.000000e+00, %112 %114 = fsub float -0.000000e+00, %63 %115 = fmul float %109, %113 %116 = fadd float %115, %114 %117 = fsub float -0.000000e+00, %64 %118 = fmul float %110, %113 %119 = fadd float %118, %117 %120 = fsub float -0.000000e+00, %65 %121 = fmul float %111, %113 %122 = fadd float %121, %120 %123 = fmul float %66, %63 %124 = fmul float %67, %64 %125 = fadd float %123, %124 %126 = fmul float %68, %65 %127 = fadd float %125, %126 %128 = fmul float %69, 1.000000e+00 %129 = fadd float %127, %128 %130 = fsub float -0.000000e+00, %129 %131 = fmul float %66, %116 %132 = fmul float %67, %119 %133 = fadd float %132, %131 %134 = fmul float %68, %122 %135 = fadd float %133, %134 %136 = fcmp olt float 0.000000e+00, %69 %137 = sext i1 %136 to i32 %138 = bitcast i32 %137 to float %139 = bitcast float %138 to i32 %140 = icmp ne i32 %139, 0 %141 = fcmp uge float %135, 0.000000e+00 br i1 %140, label %IF, label %ELSE IF: ; preds = %main_body %142 = select i1 %141, float 0.000000e+00, float %135 br label %ENDIF ELSE: ; preds = %main_body %143 = select i1 %141, float %135, float 0.000000e+00 br label %ENDIF ENDIF: ; preds = %ELSE, %IF %temp12.0 = phi float [ %142, %IF ], [ %143, %ELSE ] %144 = fdiv float 1.000000e+00, %temp12.0 %145 = fmul float %130, %144 %146 = fmul float %116, %145 %147 = fadd float %146, %29 %148 = fmul float %119, %145 %149 = fadd float %148, %30 %150 = fmul float %122, %145 %151 = fadd float %150, %31 %152 = fadd float %147, %63 %153 = fadd float %149, %64 %154 = fadd float %151, %65 %155 = fsub float -0.000000e+00, %36 %156 = fsub float -0.000000e+00, %40 %157 = fsub float -0.000000e+00, %44 %158 = fsub float -0.000000e+00, %38 %159 = fadd float %152, %158 %160 = fsub float -0.000000e+00, %42 %161 = fadd float %153, %160 %162 = fsub float -0.000000e+00, %46 %163 = fadd float %154, %162 %164 = fmul float %35, %159 %165 = fmul float %39, %161 %166 = fadd float %165, %164 %167 = fmul float %43, %163 %168 = fadd float %166, %167 %169 = fmul float %155, %159 %170 = fmul float %156, %161 %171 = fadd float %170, %169 %172 = fmul float %157, %163 %173 = fadd float %171, %172 %174 = fsub float -0.000000e+00, %29 %175 = fadd float %152, %174 %176 = fsub float -0.000000e+00, %30 %177 = fadd float %153, %176 %178 = fsub float -0.000000e+00, %31 %179 = fadd float %154, %178 %180 = fmul float %175, %175 %181 = fmul float %177, %177 %182 = fadd float %181, %180 %183 = fmul float %179, %179 %184 = fadd float %182, %183 %185 = call float @llvm.AMDGPU.rsq(float %184) %186 = fmul float %185, %184 %187 = fsub float -0.000000e+00, %184 %188 = call float @llvm.AMDGPU.cndlt(float %187, float %186, float 0.000000e+00) %189 = fdiv float 1.000000e+00, %87 %190 = fmul float %188, %189 %191 = fsub float -0.000000e+00, %190 %192 = fadd float 1.000000e+00, %191 %193 = call float @llvm.AMDIL.clamp.(float %192, float 0.000000e+00, float 1.000000e+00) %194 = fmul float %11, 1.600000e+01 %195 = fsub float -0.000000e+00, %194 %196 = fadd float %188, %195 %197 = call float @llvm.AMDIL.clamp.(float %196, float 0.000000e+00, float 1.000000e+00) %198 = fmul float %193, %197 %199 = fmul float %70, %168 %200 = fmul float %71, %173 %201 = fadd float %199, %200 %202 = fadd float %201, %86 %203 = fmul float %202, %72 %204 = call float @llvm.sin.f32(float %203) %205 = fmul float %204, %73 %206 = fmul float %205, %198 %207 = call float @llvm.cos.f32(float %203) %208 = fmul float %207, %73 %209 = fmul float %208, %72 %210 = fmul float %209, %198 %211 = fmul float %70, %210 %212 = fmul float %71, %210 %213 = fsub float -0.000000e+00, %211 %214 = fsub float -0.000000e+00, %212 %215 = fmul float %74, %168 %216 = fmul float %75, %173 %217 = fadd float %215, %216 %218 = fadd float %217, %86 %219 = fmul float %218, %76 %220 = call float @llvm.sin.f32(float %219) %221 = fmul float %220, %77 %222 = fmul float %221, %198 %223 = fadd float %222, %206 %224 = call float @llvm.cos.f32(float %219) %225 = fmul float %224, %77 %226 = fmul float %225, %76 %227 = fmul float %226, %198 %228 = fmul float %74, %227 %229 = fmul float %75, %227 %230 = fsub float -0.000000e+00, %228 %231 = fadd float %213, %230 %232 = fsub float -0.000000e+00, %229 %233 = fadd float %214, %232 %234 = fmul float %78, %168 %235 = fmul float %79, %173 %236 = fadd float %234, %235 %237 = fadd float %236, %86 %238 = fmul float %237, %80 %239 = call float @llvm.sin.f32(float %238) %240 = fmul float %239, %81 %241 = fmul float %240, %198 %242 = fadd float %241, %223 %243 = call float @llvm.cos.f32(float %238) %244 = fmul float %243, %81 %245 = fmul float %244, %80 %246 = fmul float %245, %198 %247 = fmul float %78, %246 %248 = fmul float %79, %246 %249 = fsub float -0.000000e+00, %247 %250 = fadd float %231, %249 %251 = fsub float -0.000000e+00, %248 %252 = fadd float %233, %251 %253 = fmul float %82, %168 %254 = fmul float %83, %173 %255 = fadd float %253, %254 %256 = fadd float %255, %86 %257 = fmul float %256, %84 %258 = call float @llvm.sin.f32(float %257) %259 = fmul float %258, %85 %260 = fmul float %259, %198 %261 = fadd float %260, %242 %262 = call float @llvm.cos.f32(float %257) %263 = fmul float %262, %85 %264 = fmul float %263, %84 %265 = fmul float %264, %198 %266 = fmul float %82, %265 %267 = fmul float %83, %265 %268 = fsub float -0.000000e+00, %266 %269 = fadd float %250, %268 %270 = fsub float -0.000000e+00, %267 %271 = fadd float %252, %270 %272 = fmul float %37, %261 %273 = fadd float %272, %152 %274 = fmul float %41, %261 %275 = fadd float %274, %153 %276 = fmul float %45, %261 %277 = fadd float %276, %154 %278 = fmul float %35, %269 %279 = fmul float %39, %269 %280 = fmul float %43, %269 %281 = fsub float -0.000000e+00, %278 %282 = fadd float %273, %281 %283 = fsub float -0.000000e+00, %279 %284 = fadd float %275, %283 %285 = fsub float -0.000000e+00, %280 %286 = fadd float %277, %285 %287 = fmul float %155, %271 %288 = fmul float %156, %271 %289 = fmul float %157, %271 %290 = fsub float -0.000000e+00, %287 %291 = fadd float %282, %290 %292 = fsub float -0.000000e+00, %288 %293 = fadd float %284, %292 %294 = fsub float -0.000000e+00, %289 %295 = fadd float %286, %294 %296 = fsub float -0.000000e+00, %32 %297 = fadd float %291, %296 %298 = fsub float -0.000000e+00, %33 %299 = fadd float %293, %298 %300 = fsub float -0.000000e+00, %34 %301 = fadd float %295, %300 %302 = fmul float %13, %297 %303 = fmul float %14, %297 %304 = fmul float %15, %297 %305 = fmul float %16, %297 %306 = fmul float %17, %299 %307 = fadd float %306, %302 %308 = fmul float %18, %299 %309 = fadd float %308, %303 %310 = fmul float %19, %299 %311 = fadd float %310, %304 %312 = fmul float %20, %299 %313 = fadd float %312, %305 %314 = fmul float %21, %301 %315 = fadd float %314, %307 %316 = fmul float %22, %301 %317 = fadd float %316, %309 %318 = fmul float %23, %301 %319 = fadd float %318, %311 %320 = fmul float %24, %301 %321 = fadd float %320, %313 %322 = fadd float %315, %25 %323 = fadd float %317, %26 %324 = fadd float %319, %27 %325 = fadd float %321, %28 %326 = fsub float -0.000000e+00, %29 %327 = fadd float %291, %326 %328 = fsub float -0.000000e+00, %30 %329 = fadd float %293, %328 %330 = fsub float -0.000000e+00, %31 %331 = fadd float %295, %330 %332 = fdiv float 1.000000e+00, %12 %333 = fmul float %327, %332 %334 = fmul float %329, %332 %335 = fmul float %331, %332 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %333, float %334, float %335, float %112) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %322, float %323, float %324, float %325) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.rsq(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readonly declare float @llvm.sin.f32(float) #3 ; Function Attrs: nounwind readonly declare float @llvm.cos.f32(float) #3 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010300 c09a0100 bf8c0070 c2003529 bf8c007f 10000600 c200352d bf8c007f d2820000 04020800 c2003531 bf8c007f 06000000 c2003535 bf8c007f 06020000 c200352b bf8c007f 10000600 c200352f bf8c007f d2820000 04020800 c2003533 bf8c007f 06000000 c2003537 bf8c007f 06000000 7e0e5500 10020f01 c2163539 bf8c007f 0a02022c c2003528 bf8c007f 10040600 c200352c bf8c007f d2820002 040a0800 c2003530 bf8c007f 06040400 c2003534 bf8c007f 06040400 10040f02 c2173538 bf8c007f 0a04042e c200353c bf8c007f 10100400 c200b53d bf8c007f d2820008 04220201 c201352a bf8c007f 10120602 c201352e bf8c007f d2820003 04260802 c2013532 bf8c007f 06060602 c2013536 bf8c007f 06060602 10060f03 c218353a bf8c007f 0a080630 c201353e bf8c007f d2820007 04220802 7e06022c d2100003 02020601 7e0a022e d2820003 040e0a00 7e0a0230 d2820003 040e0a02 c205b53f bf8c007f 0606060b d2060008 22010103 c2133550 c204354f c203b54e c200354d c203354c c209354b c208b54a c201b549 c2083548 c2153547 c214b546 c2053545 c2143544 c212b543 c2123542 c2063541 c211b540 c204b525 c20ab524 c2023521 c202b520 c200b51d c201351c c21cb516 c21e3515 c21eb514 d008000e 0201000b d2000003 00398280 d104000e 02010103 bf8c007f beba240e 89ba3a7e d00c000e 02010107 d2000009 003a0e80 beba253a c21c3554 c218b527 c217b526 c2193523 c213b522 c219b51f c20fb51e c209b51a c20cb519 c20d3518 c20b3513 c207b512 c206b511 c205b510 c20e350f c20c350e c20a350d c207350c c210b50b c20f350a c20db509 c20bb508 c215b507 c2113506 c2103505 c20eb504 c216b501 c21a3500 7e0c0239 7e0a023c 7e06023d bf8c007f 89fe3a7e d00c0036 02010107 d2000009 00d90107 88fe3a7e 7e0e5509 100e0f08 d2820001 04160f01 0602022c 0a100305 d2820002 040e0f02 0604042e 0a120503 10121309 d2820008 04261108 d2820004 041a0f04 06080830 0a0e0906 d2820007 04220f07 7e105b07 10100f08 d2060007 22010107 d0080036 02020e80 d2000007 00da1080 7e1002ff c1800000 d2820008 041e1034 d2060808 02010108 7e125438 100e1307 080e0ef2 d2060807 02010107 100e1107 0a100232 0a120433 10141202 d282000a 042a1005 0a160831 d282000a 042a1615 10121201 d206000c 22010004 1010110c 08101308 10121609 08101308 1012100c d2820009 04261423 06121226 10121224 101212ff 3e22f983 7e166b09 10161625 10160f0b 1018100a d282000c 04321428 06181826 10181829 101818ff 3e22f983 7e1a6b0c 101a1a2a d282000b 042e0f0d 101a1003 d282000d 04361410 061a1a26 101a1a11 101a1aff 3e22f983 7e1c6b0d 101c1c12 d282000b 042e0f0e 10101000 d2820008 04221406 06101026 10101007 101010ff 3e22f983 7e146b08 10141408 d282000a 042e0f0a d2820004 0412142f 7e166d0c 1016162a 10161629 10160f0b 10181628 7e126d09 10121225 10121224 10120f09 101c1223 d206000e 2201010e 0818190e 7e1a6d0d 101a1a12 101a1a11 101a0f0d 101c1a10 08181d0c 7e106d08 10101008 10101007 100e0f08 10100e06 0810110c 10181015 08081904 1016160a 1012120c d2060009 22010109 08121709 10161a03 08121709 100e0e00 080e0f09 d2820004 04120e09 0a0c0906 7e12542d 100c1306 d2820001 04061427 10161005 08021701 d2820001 04060e04 0a0a0305 100a1305 d2820002 040a141f 10101002 08041102 d2820002 040a0e01 0a060503 10061303 f800020f 00060503 bf8c070f 0a000219 0a02041a 1004022b d2820002 040a0021 0a060813 d2820002 040a061c 06040416 10080222 d2820004 0412001e d2820004 04120618 0608080f 100a0220 d2820005 0416001b d2820005 04160614 060a0a0d 1002021d d2820000 04060017 d2820000 0402060e 0600000b f80008cf 02040500 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].zw, TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].zw, IMM[0].xxxx 3: FSGE TEMP[2].x, TEMP[0].wwww, IMM[0].xxxx 4: AND TEMP[1].x, TEMP[2].xxxx, IMM[0].yyyy 5: ABS TEMP[0].x, TEMP[0].zzzz 6: MOV TEMP[1].y, TEMP[0].xxxx 7: MOV OUT[0], TEMP[1] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 2 %32 = extractelement <4 x float> %30, i32 3 %33 = fcmp oge float %32, 0.000000e+00 %34 = sext i1 %33 to i32 %35 = bitcast i32 %34 to float %36 = bitcast float %35 to i32 %37 = and i32 %36, 1065353216 %38 = bitcast i32 %37 to float %39 = call float @fabs(float %31) %40 = call i32 @llvm.SI.packf16(float %38, float %39) %41 = bitcast i32 %40 to float %42 = call i32 @llvm.SI.packf16(float 0.000000e+00, float 0.000000e+00) %43 = bitcast i32 %42 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %41, float %43, float %41, float %43) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800c00 00010002 bf8c0770 d2060102 02010100 d00c0000 02010101 d2000000 00018280 360000f2 5e000500 d25e0001 02010080 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL CONST[2] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 0.0100, 1.0000, 0.9500, 0.9025} IMM[1] FLT32 { 0.8574, 0.8145, 0.7738, 0.7351} IMM[2] FLT32 { 0.6983, 0.6634, 0.6302, 0.5987} IMM[3] FLT32 { 0.5688, 0.5404, 0.5133, 0.4877} IMM[4] FLT32 { 0.4633, 0.4401, 0.4181, 0.3972} IMM[5] FLT32 { 0.3774, 0.3585, 0.3406, 0.3235} IMM[6] FLT32 { 0.3074, 0.2920, 0.2774, 0.2635} IMM[7] FLT32 { 0.2503, 0.2378, 0.2259, 0.2146} IMM[8] FLT32 { 0.2039, 0.0620, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xy, TEMP[0], SAMP[0], 2D 2: ADD TEMP[1].x, TEMP[0].yyyy, IMM[0].xxxx 3: MOV TEMP[2].xy, IN[2].xyyy 4: TEX TEMP[2].x, TEMP[2], SAMP[1], 2D 5: MAD TEMP[2].xy, IN[1].xyyy, TEMP[2].xxxx, IN[0].xyyy 6: MOV TEMP[3].xy, TEMP[2].xyyy 7: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 8: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 9: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 10: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 11: MAD TEMP[0].x, TEMP[3].xxxx, IMM[0].zzzz, TEMP[0].xxxx 12: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 13: MOV TEMP[3].xy, TEMP[2].xyyy 14: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 15: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 16: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 17: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 18: MAD TEMP[0].x, TEMP[3].xxxx, IMM[0].wwww, TEMP[0].xxxx 19: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 20: MOV TEMP[3].xy, TEMP[2].xyyy 21: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 22: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 23: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 24: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 25: MAD TEMP[0].x, TEMP[3].xxxx, IMM[1].xxxx, TEMP[0].xxxx 26: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 27: MOV TEMP[3].xy, TEMP[2].xyyy 28: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 29: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 30: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 31: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 32: MAD TEMP[0].x, TEMP[3].xxxx, IMM[1].yyyy, TEMP[0].xxxx 33: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 34: MOV TEMP[3].xy, TEMP[2].xyyy 35: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 36: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 37: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 38: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 39: MAD TEMP[0].x, TEMP[3].xxxx, IMM[1].zzzz, TEMP[0].xxxx 40: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 41: MOV TEMP[3].xy, TEMP[2].xyyy 42: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 43: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 44: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 45: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 46: MAD TEMP[0].x, TEMP[3].xxxx, IMM[1].wwww, TEMP[0].xxxx 47: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 48: MOV TEMP[3].xy, TEMP[2].xyyy 49: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 50: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 51: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 52: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 53: MAD TEMP[0].x, TEMP[3].xxxx, IMM[2].xxxx, TEMP[0].xxxx 54: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 55: MOV TEMP[3].xy, TEMP[2].xyyy 56: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 57: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 58: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 59: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 60: MAD TEMP[0].x, TEMP[3].xxxx, IMM[2].yyyy, TEMP[0].xxxx 61: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 62: MOV TEMP[3].xy, TEMP[2].xyyy 63: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 64: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 65: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 66: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 67: MAD TEMP[0].x, TEMP[3].xxxx, IMM[2].zzzz, TEMP[0].xxxx 68: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 69: MOV TEMP[3].xy, TEMP[2].xyyy 70: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 71: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 72: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 73: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 74: MAD TEMP[0].x, TEMP[3].xxxx, IMM[2].wwww, TEMP[0].xxxx 75: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 76: MOV TEMP[3].xy, TEMP[2].xyyy 77: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 78: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 79: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 80: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 81: MAD TEMP[0].x, TEMP[3].xxxx, IMM[3].xxxx, TEMP[0].xxxx 82: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 83: MOV TEMP[3].xy, TEMP[2].xyyy 84: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 85: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 86: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 87: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 88: MAD TEMP[0].x, TEMP[3].xxxx, IMM[3].yyyy, TEMP[0].xxxx 89: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 90: MOV TEMP[3].xy, TEMP[2].xyyy 91: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 92: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 93: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 94: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 95: MAD TEMP[0].x, TEMP[3].xxxx, IMM[3].zzzz, TEMP[0].xxxx 96: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 97: MOV TEMP[3].xy, TEMP[2].xyyy 98: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 99: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 100: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 101: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 102: MAD TEMP[0].x, TEMP[3].xxxx, IMM[3].wwww, TEMP[0].xxxx 103: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 104: MOV TEMP[3].xy, TEMP[2].xyyy 105: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 106: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 107: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 108: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 109: MAD TEMP[0].x, TEMP[3].xxxx, IMM[4].xxxx, TEMP[0].xxxx 110: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 111: MOV TEMP[3].xy, TEMP[2].xyyy 112: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 113: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 114: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 115: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 116: MAD TEMP[0].x, TEMP[3].xxxx, IMM[4].yyyy, TEMP[0].xxxx 117: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 118: MOV TEMP[3].xy, TEMP[2].xyyy 119: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 120: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 121: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 122: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 123: MAD TEMP[0].x, TEMP[3].xxxx, IMM[4].zzzz, TEMP[0].xxxx 124: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 125: MOV TEMP[3].xy, TEMP[2].xyyy 126: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 127: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 128: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 129: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 130: MAD TEMP[0].x, TEMP[3].xxxx, IMM[4].wwww, TEMP[0].xxxx 131: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 132: MOV TEMP[3].xy, TEMP[2].xyyy 133: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 134: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 135: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 136: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 137: MAD TEMP[0].x, TEMP[3].xxxx, IMM[5].xxxx, TEMP[0].xxxx 138: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 139: MOV TEMP[3].xy, TEMP[2].xyyy 140: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 141: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 142: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 143: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 144: MAD TEMP[0].x, TEMP[3].xxxx, IMM[5].yyyy, TEMP[0].xxxx 145: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 146: MOV TEMP[3].xy, TEMP[2].xyyy 147: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 148: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 149: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 150: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 151: MAD TEMP[0].x, TEMP[3].xxxx, IMM[5].zzzz, TEMP[0].xxxx 152: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 153: MOV TEMP[3].xy, TEMP[2].xyyy 154: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 155: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 156: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 157: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 158: MAD TEMP[0].x, TEMP[3].xxxx, IMM[5].wwww, TEMP[0].xxxx 159: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 160: MOV TEMP[3].xy, TEMP[2].xyyy 161: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 162: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 163: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 164: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 165: MAD TEMP[0].x, TEMP[3].xxxx, IMM[6].xxxx, TEMP[0].xxxx 166: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 167: MOV TEMP[3].xy, TEMP[2].xyyy 168: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 169: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 170: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 171: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 172: MAD TEMP[0].x, TEMP[3].xxxx, IMM[6].yyyy, TEMP[0].xxxx 173: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 174: MOV TEMP[3].xy, TEMP[2].xyyy 175: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 176: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 177: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 178: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 179: MAD TEMP[0].x, TEMP[3].xxxx, IMM[6].zzzz, TEMP[0].xxxx 180: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 181: MOV TEMP[3].xy, TEMP[2].xyyy 182: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 183: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 184: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 185: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 186: MAD TEMP[0].x, TEMP[3].xxxx, IMM[6].wwww, TEMP[0].xxxx 187: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 188: MOV TEMP[3].xy, TEMP[2].xyyy 189: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 190: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 191: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 192: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 193: MAD TEMP[0].x, TEMP[3].xxxx, IMM[7].xxxx, TEMP[0].xxxx 194: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 195: MOV TEMP[3].xy, TEMP[2].xyyy 196: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 197: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 198: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 199: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 200: MAD TEMP[0].x, TEMP[3].xxxx, IMM[7].yyyy, TEMP[0].xxxx 201: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 202: MOV TEMP[3].xy, TEMP[2].xyyy 203: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 204: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 205: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 206: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 207: MAD TEMP[0].x, TEMP[3].xxxx, IMM[7].zzzz, TEMP[0].xxxx 208: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 209: MOV TEMP[3].xy, TEMP[2].xyyy 210: TEX TEMP[3].xy, TEMP[3], SAMP[0], 2D 211: FSLT TEMP[4].x, TEMP[1].xxxx, TEMP[3].yyyy 212: AND TEMP[4].x, TEMP[4].xxxx, IMM[0].yyyy 213: ADD_SAT TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 214: MAD TEMP[0].x, TEMP[3].xxxx, IMM[7].wwww, TEMP[0].xxxx 215: ADD TEMP[2].xy, TEMP[2].xyyy, IN[1].xyyy 216: MOV TEMP[2].xy, TEMP[2].xyyy 217: TEX TEMP[2].xy, TEMP[2], SAMP[0], 2D 218: FSLT TEMP[1].x, TEMP[1].xxxx, TEMP[2].yyyy 219: AND TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 220: ADD_SAT TEMP[1].x, TEMP[2].xxxx, TEMP[1].xxxx 221: MAD TEMP[0].x, TEMP[1].xxxx, IMM[8].xxxx, TEMP[0].xxxx 222: MUL TEMP[0].x, TEMP[0].xxxx, CONST[2].xxxx 223: ADD TEMP[1].x, IMM[0].yyyy, -CONST[2].xxxx 224: MAD TEMP[0].x, TEMP[0].xxxx, IMM[8].yyyy, TEMP[1].xxxx 225: MOV OUT[0], TEMP[0].xxxx 226: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %23 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %24 = load <32 x i8> addrspace(2)* %23, !tbaa !0 %25 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %26 = load <16 x i8> addrspace(2)* %25, !tbaa !0 %27 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %28 = load <32 x i8> addrspace(2)* %27, !tbaa !0 %29 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %30 = load <16 x i8> addrspace(2)* %29, !tbaa !0 %31 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %37 = bitcast float %31 to i32 %38 = bitcast float %32 to i32 %39 = insertelement <2 x i32> undef, i32 %37, i32 0 %40 = insertelement <2 x i32> %39, i32 %38, i32 1 %41 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %40, <32 x i8> %24, <16 x i8> %26, i32 2) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fadd float %43, 0x3F847AE140000000 %45 = bitcast float %35 to i32 %46 = bitcast float %36 to i32 %47 = insertelement <2 x i32> undef, i32 %45, i32 0 %48 = insertelement <2 x i32> %47, i32 %46, i32 1 %49 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %48, <32 x i8> %28, <16 x i8> %30, i32 2) %50 = extractelement <4 x float> %49, i32 0 %51 = fmul float %33, %50 %52 = fadd float %51, %31 %53 = fmul float %34, %50 %54 = fadd float %53, %32 %55 = bitcast float %52 to i32 %56 = bitcast float %54 to i32 %57 = insertelement <2 x i32> undef, i32 %55, i32 0 %58 = insertelement <2 x i32> %57, i32 %56, i32 1 %59 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %58, <32 x i8> %24, <16 x i8> %26, i32 2) %60 = extractelement <4 x float> %59, i32 0 %61 = extractelement <4 x float> %59, i32 1 %62 = fcmp olt float %44, %61 %63 = sext i1 %62 to i32 %64 = bitcast i32 %63 to float %65 = bitcast float %64 to i32 %66 = and i32 %65, 1065353216 %67 = bitcast i32 %66 to float %68 = fadd float %60, %67 %69 = call float @llvm.AMDIL.clamp.(float %68, float 0.000000e+00, float 1.000000e+00) %70 = fmul float %69, 0x3FEE666660000000 %71 = fadd float %70, %42 %72 = fadd float %52, %33 %73 = fadd float %54, %34 %74 = bitcast float %72 to i32 %75 = bitcast float %73 to i32 %76 = insertelement <2 x i32> undef, i32 %74, i32 0 %77 = insertelement <2 x i32> %76, i32 %75, i32 1 %78 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %77, <32 x i8> %24, <16 x i8> %26, i32 2) %79 = extractelement <4 x float> %78, i32 0 %80 = extractelement <4 x float> %78, i32 1 %81 = fcmp olt float %44, %80 %82 = sext i1 %81 to i32 %83 = bitcast i32 %82 to float %84 = bitcast float %83 to i32 %85 = and i32 %84, 1065353216 %86 = bitcast i32 %85 to float %87 = fadd float %79, %86 %88 = call float @llvm.AMDIL.clamp.(float %87, float 0.000000e+00, float 1.000000e+00) %89 = fmul float %88, 0x3FECE147A0000000 %90 = fadd float %89, %71 %91 = fadd float %72, %33 %92 = fadd float %73, %34 %93 = bitcast float %91 to i32 %94 = bitcast float %92 to i32 %95 = insertelement <2 x i32> undef, i32 %93, i32 0 %96 = insertelement <2 x i32> %95, i32 %94, i32 1 %97 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %96, <32 x i8> %24, <16 x i8> %26, i32 2) %98 = extractelement <4 x float> %97, i32 0 %99 = extractelement <4 x float> %97, i32 1 %100 = fcmp olt float %44, %99 %101 = sext i1 %100 to i32 %102 = bitcast i32 %101 to float %103 = bitcast float %102 to i32 %104 = and i32 %103, 1065353216 %105 = bitcast i32 %104 to float %106 = fadd float %98, %105 %107 = call float @llvm.AMDIL.clamp.(float %106, float 0.000000e+00, float 1.000000e+00) %108 = fmul float %107, 0x3FEB6F9DA0000000 %109 = fadd float %108, %90 %110 = fadd float %91, %33 %111 = fadd float %92, %34 %112 = bitcast float %110 to i32 %113 = bitcast float %111 to i32 %114 = insertelement <2 x i32> undef, i32 %112, i32 0 %115 = insertelement <2 x i32> %114, i32 %113, i32 1 %116 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %115, <32 x i8> %24, <16 x i8> %26, i32 2) %117 = extractelement <4 x float> %116, i32 0 %118 = extractelement <4 x float> %116, i32 1 %119 = fcmp olt float %44, %118 %120 = sext i1 %119 to i32 %121 = bitcast i32 %120 to float %122 = bitcast float %121 to i32 %123 = and i32 %122, 1065353216 %124 = bitcast i32 %123 to float %125 = fadd float %117, %124 %126 = call float @llvm.AMDIL.clamp.(float %125, float 0.000000e+00, float 1.000000e+00) %127 = fmul float %126, 0x3FEA106F60000000 %128 = fadd float %127, %109 %129 = fadd float %110, %33 %130 = fadd float %111, %34 %131 = bitcast float %129 to i32 %132 = bitcast float %130 to i32 %133 = insertelement <2 x i32> undef, i32 %131, i32 0 %134 = insertelement <2 x i32> %133, i32 %132, i32 1 %135 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %134, <32 x i8> %24, <16 x i8> %26, i32 2) %136 = extractelement <4 x float> %135, i32 0 %137 = extractelement <4 x float> %135, i32 1 %138 = fcmp olt float %44, %137 %139 = sext i1 %138 to i32 %140 = bitcast i32 %139 to float %141 = bitcast float %140 to i32 %142 = and i32 %141, 1065353216 %143 = bitcast i32 %142 to float %144 = fadd float %136, %143 %145 = call float @llvm.AMDIL.clamp.(float %144, float 0.000000e+00, float 1.000000e+00) %146 = fmul float %145, 0x3FE8C2D020000000 %147 = fadd float %146, %128 %148 = fadd float %129, %33 %149 = fadd float %130, %34 %150 = bitcast float %148 to i32 %151 = bitcast float %149 to i32 %152 = insertelement <2 x i32> undef, i32 %150, i32 0 %153 = insertelement <2 x i32> %152, i32 %151, i32 1 %154 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %153, <32 x i8> %24, <16 x i8> %26, i32 2) %155 = extractelement <4 x float> %154, i32 0 %156 = extractelement <4 x float> %154, i32 1 %157 = fcmp olt float %44, %156 %158 = sext i1 %157 to i32 %159 = bitcast i32 %158 to float %160 = bitcast float %159 to i32 %161 = and i32 %160, 1065353216 %162 = bitcast i32 %161 to float %163 = fadd float %155, %162 %164 = call float @llvm.AMDIL.clamp.(float %163, float 0.000000e+00, float 1.000000e+00) %165 = fmul float %164, 0x3FE785DF40000000 %166 = fadd float %165, %147 %167 = fadd float %148, %33 %168 = fadd float %149, %34 %169 = bitcast float %167 to i32 %170 = bitcast float %168 to i32 %171 = insertelement <2 x i32> undef, i32 %169, i32 0 %172 = insertelement <2 x i32> %171, i32 %170, i32 1 %173 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %172, <32 x i8> %24, <16 x i8> %26, i32 2) %174 = extractelement <4 x float> %173, i32 0 %175 = extractelement <4 x float> %173, i32 1 %176 = fcmp olt float %44, %175 %177 = sext i1 %176 to i32 %178 = bitcast i32 %177 to float %179 = bitcast float %178 to i32 %180 = and i32 %179, 1065353216 %181 = bitcast i32 %180 to float %182 = fadd float %174, %181 %183 = call float @llvm.AMDIL.clamp.(float %182, float 0.000000e+00, float 1.000000e+00) %184 = fmul float %183, 0x3FE658C740000000 %185 = fadd float %184, %166 %186 = fadd float %167, %33 %187 = fadd float %168, %34 %188 = bitcast float %186 to i32 %189 = bitcast float %187 to i32 %190 = insertelement <2 x i32> undef, i32 %188, i32 0 %191 = insertelement <2 x i32> %190, i32 %189, i32 1 %192 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %191, <32 x i8> %24, <16 x i8> %26, i32 2) %193 = extractelement <4 x float> %192, i32 0 %194 = extractelement <4 x float> %192, i32 1 %195 = fcmp olt float %44, %194 %196 = sext i1 %195 to i32 %197 = bitcast i32 %196 to float %198 = bitcast float %197 to i32 %199 = and i32 %198, 1065353216 %200 = bitcast i32 %199 to float %201 = fadd float %193, %200 %202 = call float @llvm.AMDIL.clamp.(float %201, float 0.000000e+00, float 1.000000e+00) %203 = fmul float %202, 0x3FE53ABD40000000 %204 = fadd float %203, %185 %205 = fadd float %186, %33 %206 = fadd float %187, %34 %207 = bitcast float %205 to i32 %208 = bitcast float %206 to i32 %209 = insertelement <2 x i32> undef, i32 %207, i32 0 %210 = insertelement <2 x i32> %209, i32 %208, i32 1 %211 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %210, <32 x i8> %24, <16 x i8> %26, i32 2) %212 = extractelement <4 x float> %211, i32 0 %213 = extractelement <4 x float> %211, i32 1 %214 = fcmp olt float %44, %213 %215 = sext i1 %214 to i32 %216 = bitcast i32 %215 to float %217 = bitcast float %216 to i32 %218 = and i32 %217, 1065353216 %219 = bitcast i32 %218 to float %220 = fadd float %212, %219 %221 = call float @llvm.AMDIL.clamp.(float %220, float 0.000000e+00, float 1.000000e+00) %222 = fmul float %221, 0x3FE42B00A0000000 %223 = fadd float %222, %204 %224 = fadd float %205, %33 %225 = fadd float %206, %34 %226 = bitcast float %224 to i32 %227 = bitcast float %225 to i32 %228 = insertelement <2 x i32> undef, i32 %226, i32 0 %229 = insertelement <2 x i32> %228, i32 %227, i32 1 %230 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %229, <32 x i8> %24, <16 x i8> %26, i32 2) %231 = extractelement <4 x float> %230, i32 0 %232 = extractelement <4 x float> %230, i32 1 %233 = fcmp olt float %44, %232 %234 = sext i1 %233 to i32 %235 = bitcast i32 %234 to float %236 = bitcast float %235 to i32 %237 = and i32 %236, 1065353216 %238 = bitcast i32 %237 to float %239 = fadd float %231, %238 %240 = call float @llvm.AMDIL.clamp.(float %239, float 0.000000e+00, float 1.000000e+00) %241 = fmul float %240, 0x3FE328DA20000000 %242 = fadd float %241, %223 %243 = fadd float %224, %33 %244 = fadd float %225, %34 %245 = bitcast float %243 to i32 %246 = bitcast float %244 to i32 %247 = insertelement <2 x i32> undef, i32 %245, i32 0 %248 = insertelement <2 x i32> %247, i32 %246, i32 1 %249 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %248, <32 x i8> %24, <16 x i8> %26, i32 2) %250 = extractelement <4 x float> %249, i32 0 %251 = extractelement <4 x float> %249, i32 1 %252 = fcmp olt float %44, %251 %253 = sext i1 %252 to i32 %254 = bitcast i32 %253 to float %255 = bitcast float %254 to i32 %256 = and i32 %255, 1065353216 %257 = bitcast i32 %256 to float %258 = fadd float %250, %257 %259 = call float @llvm.AMDIL.clamp.(float %258, float 0.000000e+00, float 1.000000e+00) %260 = fmul float %259, 0x3FE2339C00000000 %261 = fadd float %260, %242 %262 = fadd float %243, %33 %263 = fadd float %244, %34 %264 = bitcast float %262 to i32 %265 = bitcast float %263 to i32 %266 = insertelement <2 x i32> undef, i32 %264, i32 0 %267 = insertelement <2 x i32> %266, i32 %265, i32 1 %268 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %267, <32 x i8> %24, <16 x i8> %26, i32 2) %269 = extractelement <4 x float> %268, i32 0 %270 = extractelement <4 x float> %268, i32 1 %271 = fcmp olt float %44, %270 %272 = sext i1 %271 to i32 %273 = bitcast i32 %272 to float %274 = bitcast float %273 to i32 %275 = and i32 %274, 1065353216 %276 = bitcast i32 %275 to float %277 = fadd float %269, %276 %278 = call float @llvm.AMDIL.clamp.(float %277, float 0.000000e+00, float 1.000000e+00) %279 = fmul float %278, 0x3FE14AA100000000 %280 = fadd float %279, %261 %281 = fadd float %262, %33 %282 = fadd float %263, %34 %283 = bitcast float %281 to i32 %284 = bitcast float %282 to i32 %285 = insertelement <2 x i32> undef, i32 %283, i32 0 %286 = insertelement <2 x i32> %285, i32 %284, i32 1 %287 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %286, <32 x i8> %24, <16 x i8> %26, i32 2) %288 = extractelement <4 x float> %287, i32 0 %289 = extractelement <4 x float> %287, i32 1 %290 = fcmp olt float %44, %289 %291 = sext i1 %290 to i32 %292 = bitcast i32 %291 to float %293 = bitcast float %292 to i32 %294 = and i32 %293, 1065353216 %295 = bitcast i32 %294 to float %296 = fadd float %288, %295 %297 = call float @llvm.AMDIL.clamp.(float %296, float 0.000000e+00, float 1.000000e+00) %298 = fmul float %297, 0x3FE06D4C20000000 %299 = fadd float %298, %280 %300 = fadd float %281, %33 %301 = fadd float %282, %34 %302 = bitcast float %300 to i32 %303 = bitcast float %301 to i32 %304 = insertelement <2 x i32> undef, i32 %302, i32 0 %305 = insertelement <2 x i32> %304, i32 %303, i32 1 %306 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %305, <32 x i8> %24, <16 x i8> %26, i32 2) %307 = extractelement <4 x float> %306, i32 0 %308 = extractelement <4 x float> %306, i32 1 %309 = fcmp olt float %44, %308 %310 = sext i1 %309 to i32 %311 = bitcast i32 %310 to float %312 = bitcast float %311 to i32 %313 = and i32 %312, 1065353216 %314 = bitcast i32 %313 to float %315 = fadd float %307, %314 %316 = call float @llvm.AMDIL.clamp.(float %315, float 0.000000e+00, float 1.000000e+00) %317 = fmul float %316, 0x3FDF3610A0000000 %318 = fadd float %317, %299 %319 = fadd float %300, %33 %320 = fadd float %301, %34 %321 = bitcast float %319 to i32 %322 = bitcast float %320 to i32 %323 = insertelement <2 x i32> undef, i32 %321, i32 0 %324 = insertelement <2 x i32> %323, i32 %322, i32 1 %325 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %324, <32 x i8> %24, <16 x i8> %26, i32 2) %326 = extractelement <4 x float> %325, i32 0 %327 = extractelement <4 x float> %325, i32 1 %328 = fcmp olt float %44, %327 %329 = sext i1 %328 to i32 %330 = bitcast i32 %329 to float %331 = bitcast float %330 to i32 %332 = and i32 %331, 1065353216 %333 = bitcast i32 %332 to float %334 = fadd float %326, %333 %335 = call float @llvm.AMDIL.clamp.(float %334, float 0.000000e+00, float 1.000000e+00) %336 = fmul float %335, 0x3FDDA68FC0000000 %337 = fadd float %336, %318 %338 = fadd float %319, %33 %339 = fadd float %320, %34 %340 = bitcast float %338 to i32 %341 = bitcast float %339 to i32 %342 = insertelement <2 x i32> undef, i32 %340, i32 0 %343 = insertelement <2 x i32> %342, i32 %341, i32 1 %344 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %343, <32 x i8> %24, <16 x i8> %26, i32 2) %345 = extractelement <4 x float> %344, i32 0 %346 = extractelement <4 x float> %344, i32 1 %347 = fcmp olt float %44, %346 %348 = sext i1 %347 to i32 %349 = bitcast i32 %348 to float %350 = bitcast float %349 to i32 %351 = and i32 %350, 1065353216 %352 = bitcast i32 %351 to float %353 = fadd float %345, %352 %354 = call float @llvm.AMDIL.clamp.(float %353, float 0.000000e+00, float 1.000000e+00) %355 = fmul float %354, 0x3FDC2B0880000000 %356 = fadd float %355, %337 %357 = fadd float %338, %33 %358 = fadd float %339, %34 %359 = bitcast float %357 to i32 %360 = bitcast float %358 to i32 %361 = insertelement <2 x i32> undef, i32 %359, i32 0 %362 = insertelement <2 x i32> %361, i32 %360, i32 1 %363 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %362, <32 x i8> %24, <16 x i8> %26, i32 2) %364 = extractelement <4 x float> %363, i32 0 %365 = extractelement <4 x float> %363, i32 1 %366 = fcmp olt float %44, %365 %367 = sext i1 %366 to i32 %368 = bitcast i32 %367 to float %369 = bitcast float %368 to i32 %370 = and i32 %369, 1065353216 %371 = bitcast i32 %370 to float %372 = fadd float %364, %371 %373 = call float @llvm.AMDIL.clamp.(float %372, float 0.000000e+00, float 1.000000e+00) %374 = fmul float %373, 0x3FDAC27B40000000 %375 = fadd float %374, %356 %376 = fadd float %357, %33 %377 = fadd float %358, %34 %378 = bitcast float %376 to i32 %379 = bitcast float %377 to i32 %380 = insertelement <2 x i32> undef, i32 %378, i32 0 %381 = insertelement <2 x i32> %380, i32 %379, i32 1 %382 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %381, <32 x i8> %24, <16 x i8> %26, i32 2) %383 = extractelement <4 x float> %382, i32 0 %384 = extractelement <4 x float> %382, i32 1 %385 = fcmp olt float %44, %384 %386 = sext i1 %385 to i32 %387 = bitcast i32 %386 to float %388 = bitcast float %387 to i32 %389 = and i32 %388, 1065353216 %390 = bitcast i32 %389 to float %391 = fadd float %383, %390 %392 = call float @llvm.AMDIL.clamp.(float %391, float 0.000000e+00, float 1.000000e+00) %393 = fmul float %392, 0x3FD96BF520000000 %394 = fadd float %393, %375 %395 = fadd float %376, %33 %396 = fadd float %377, %34 %397 = bitcast float %395 to i32 %398 = bitcast float %396 to i32 %399 = insertelement <2 x i32> undef, i32 %397, i32 0 %400 = insertelement <2 x i32> %399, i32 %398, i32 1 %401 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %400, <32 x i8> %24, <16 x i8> %26, i32 2) %402 = extractelement <4 x float> %401, i32 0 %403 = extractelement <4 x float> %401, i32 1 %404 = fcmp olt float %44, %403 %405 = sext i1 %404 to i32 %406 = bitcast i32 %405 to float %407 = bitcast float %406 to i32 %408 = and i32 %407, 1065353216 %409 = bitcast i32 %408 to float %410 = fadd float %402, %409 %411 = call float @llvm.AMDIL.clamp.(float %410, float 0.000000e+00, float 1.000000e+00) %412 = fmul float %411, 0x3FD8268F40000000 %413 = fadd float %412, %394 %414 = fadd float %395, %33 %415 = fadd float %396, %34 %416 = bitcast float %414 to i32 %417 = bitcast float %415 to i32 %418 = insertelement <2 x i32> undef, i32 %416, i32 0 %419 = insertelement <2 x i32> %418, i32 %417, i32 1 %420 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %419, <32 x i8> %24, <16 x i8> %26, i32 2) %421 = extractelement <4 x float> %420, i32 0 %422 = extractelement <4 x float> %420, i32 1 %423 = fcmp olt float %44, %422 %424 = sext i1 %423 to i32 %425 = bitcast i32 %424 to float %426 = bitcast float %425 to i32 %427 = and i32 %426, 1065353216 %428 = bitcast i32 %427 to float %429 = fadd float %421, %428 %430 = call float @llvm.AMDIL.clamp.(float %429, float 0.000000e+00, float 1.000000e+00) %431 = fmul float %430, 0x3FD6F16E80000000 %432 = fadd float %431, %413 %433 = fadd float %414, %33 %434 = fadd float %415, %34 %435 = bitcast float %433 to i32 %436 = bitcast float %434 to i32 %437 = insertelement <2 x i32> undef, i32 %435, i32 0 %438 = insertelement <2 x i32> %437, i32 %436, i32 1 %439 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %438, <32 x i8> %24, <16 x i8> %26, i32 2) %440 = extractelement <4 x float> %439, i32 0 %441 = extractelement <4 x float> %439, i32 1 %442 = fcmp olt float %44, %441 %443 = sext i1 %442 to i32 %444 = bitcast i32 %443 to float %445 = bitcast float %444 to i32 %446 = and i32 %445, 1065353216 %447 = bitcast i32 %446 to float %448 = fadd float %440, %447 %449 = call float @llvm.AMDIL.clamp.(float %448, float 0.000000e+00, float 1.000000e+00) %450 = fmul float %449, 0x3FD5CBC280000000 %451 = fadd float %450, %432 %452 = fadd float %433, %33 %453 = fadd float %434, %34 %454 = bitcast float %452 to i32 %455 = bitcast float %453 to i32 %456 = insertelement <2 x i32> undef, i32 %454, i32 0 %457 = insertelement <2 x i32> %456, i32 %455, i32 1 %458 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %457, <32 x i8> %24, <16 x i8> %26, i32 2) %459 = extractelement <4 x float> %458, i32 0 %460 = extractelement <4 x float> %458, i32 1 %461 = fcmp olt float %44, %460 %462 = sext i1 %461 to i32 %463 = bitcast i32 %462 to float %464 = bitcast float %463 to i32 %465 = and i32 %464, 1065353216 %466 = bitcast i32 %465 to float %467 = fadd float %459, %466 %468 = call float @llvm.AMDIL.clamp.(float %467, float 0.000000e+00, float 1.000000e+00) %469 = fmul float %468, 0x3FD4B4C580000000 %470 = fadd float %469, %451 %471 = fadd float %452, %33 %472 = fadd float %453, %34 %473 = bitcast float %471 to i32 %474 = bitcast float %472 to i32 %475 = insertelement <2 x i32> undef, i32 %473, i32 0 %476 = insertelement <2 x i32> %475, i32 %474, i32 1 %477 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %476, <32 x i8> %24, <16 x i8> %26, i32 2) %478 = extractelement <4 x float> %477, i32 0 %479 = extractelement <4 x float> %477, i32 1 %480 = fcmp olt float %44, %479 %481 = sext i1 %480 to i32 %482 = bitcast i32 %481 to float %483 = bitcast float %482 to i32 %484 = and i32 %483, 1065353216 %485 = bitcast i32 %484 to float %486 = fadd float %478, %485 %487 = call float @llvm.AMDIL.clamp.(float %486, float 0.000000e+00, float 1.000000e+00) %488 = fmul float %487, 0x3FD3ABBBA0000000 %489 = fadd float %488, %470 %490 = fadd float %471, %33 %491 = fadd float %472, %34 %492 = bitcast float %490 to i32 %493 = bitcast float %491 to i32 %494 = insertelement <2 x i32> undef, i32 %492, i32 0 %495 = insertelement <2 x i32> %494, i32 %493, i32 1 %496 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %495, <32 x i8> %24, <16 x i8> %26, i32 2) %497 = extractelement <4 x float> %496, i32 0 %498 = extractelement <4 x float> %496, i32 1 %499 = fcmp olt float %44, %498 %500 = sext i1 %499 to i32 %501 = bitcast i32 %500 to float %502 = bitcast float %501 to i32 %503 = and i32 %502, 1065353216 %504 = bitcast i32 %503 to float %505 = fadd float %497, %504 %506 = call float @llvm.AMDIL.clamp.(float %505, float 0.000000e+00, float 1.000000e+00) %507 = fmul float %506, 0x3FD2AFF240000000 %508 = fadd float %507, %489 %509 = fadd float %490, %33 %510 = fadd float %491, %34 %511 = bitcast float %509 to i32 %512 = bitcast float %510 to i32 %513 = insertelement <2 x i32> undef, i32 %511, i32 0 %514 = insertelement <2 x i32> %513, i32 %512, i32 1 %515 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %514, <32 x i8> %24, <16 x i8> %26, i32 2) %516 = extractelement <4 x float> %515, i32 0 %517 = extractelement <4 x float> %515, i32 1 %518 = fcmp olt float %44, %517 %519 = sext i1 %518 to i32 %520 = bitcast i32 %519 to float %521 = bitcast float %520 to i32 %522 = and i32 %521, 1065353216 %523 = bitcast i32 %522 to float %524 = fadd float %516, %523 %525 = call float @llvm.AMDIL.clamp.(float %524, float 0.000000e+00, float 1.000000e+00) %526 = fmul float %525, 0x3FD1C0BFC0000000 %527 = fadd float %526, %508 %528 = fadd float %509, %33 %529 = fadd float %510, %34 %530 = bitcast float %528 to i32 %531 = bitcast float %529 to i32 %532 = insertelement <2 x i32> undef, i32 %530, i32 0 %533 = insertelement <2 x i32> %532, i32 %531, i32 1 %534 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %533, <32 x i8> %24, <16 x i8> %26, i32 2) %535 = extractelement <4 x float> %534, i32 0 %536 = extractelement <4 x float> %534, i32 1 %537 = fcmp olt float %44, %536 %538 = sext i1 %537 to i32 %539 = bitcast i32 %538 to float %540 = bitcast float %539 to i32 %541 = and i32 %540, 1065353216 %542 = bitcast i32 %541 to float %543 = fadd float %535, %542 %544 = call float @llvm.AMDIL.clamp.(float %543, float 0.000000e+00, float 1.000000e+00) %545 = fmul float %544, 0x3FD0DD8300000000 %546 = fadd float %545, %527 %547 = fadd float %528, %33 %548 = fadd float %529, %34 %549 = bitcast float %547 to i32 %550 = bitcast float %548 to i32 %551 = insertelement <2 x i32> undef, i32 %549, i32 0 %552 = insertelement <2 x i32> %551, i32 %550, i32 1 %553 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %552, <32 x i8> %24, <16 x i8> %26, i32 2) %554 = extractelement <4 x float> %553, i32 0 %555 = extractelement <4 x float> %553, i32 1 %556 = fcmp olt float %44, %555 %557 = sext i1 %556 to i32 %558 = bitcast i32 %557 to float %559 = bitcast float %558 to i32 %560 = and i32 %559, 1065353216 %561 = bitcast i32 %560 to float %562 = fadd float %554, %561 %563 = call float @llvm.AMDIL.clamp.(float %562, float 0.000000e+00, float 1.000000e+00) %564 = fmul float %563, 0x3FD005A2E0000000 %565 = fadd float %564, %546 %566 = fadd float %547, %33 %567 = fadd float %548, %34 %568 = bitcast float %566 to i32 %569 = bitcast float %567 to i32 %570 = insertelement <2 x i32> undef, i32 %568, i32 0 %571 = insertelement <2 x i32> %570, i32 %569, i32 1 %572 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %571, <32 x i8> %24, <16 x i8> %26, i32 2) %573 = extractelement <4 x float> %572, i32 0 %574 = extractelement <4 x float> %572, i32 1 %575 = fcmp olt float %44, %574 %576 = sext i1 %575 to i32 %577 = bitcast i32 %576 to float %578 = bitcast float %577 to i32 %579 = and i32 %578, 1065353216 %580 = bitcast i32 %579 to float %581 = fadd float %573, %580 %582 = call float @llvm.AMDIL.clamp.(float %581, float 0.000000e+00, float 1.000000e+00) %583 = fmul float %582, 0x3FCE711BE0000000 %584 = fadd float %583, %565 %585 = fadd float %566, %33 %586 = fadd float %567, %34 %587 = bitcast float %585 to i32 %588 = bitcast float %586 to i32 %589 = insertelement <2 x i32> undef, i32 %587, i32 0 %590 = insertelement <2 x i32> %589, i32 %588, i32 1 %591 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %590, <32 x i8> %24, <16 x i8> %26, i32 2) %592 = extractelement <4 x float> %591, i32 0 %593 = extractelement <4 x float> %591, i32 1 %594 = fcmp olt float %44, %593 %595 = sext i1 %594 to i32 %596 = bitcast i32 %595 to float %597 = bitcast float %596 to i32 %598 = and i32 %597, 1065353216 %599 = bitcast i32 %598 to float %600 = fadd float %592, %599 %601 = call float @llvm.AMDIL.clamp.(float %600, float 0.000000e+00, float 1.000000e+00) %602 = fmul float %601, 0x3FCCEB7400000000 %603 = fadd float %602, %584 %604 = fadd float %585, %33 %605 = fadd float %586, %34 %606 = bitcast float %604 to i32 %607 = bitcast float %605 to i32 %608 = insertelement <2 x i32> undef, i32 %606, i32 0 %609 = insertelement <2 x i32> %608, i32 %607, i32 1 %610 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %609, <32 x i8> %24, <16 x i8> %26, i32 2) %611 = extractelement <4 x float> %610, i32 0 %612 = extractelement <4 x float> %610, i32 1 %613 = fcmp olt float %44, %612 %614 = sext i1 %613 to i32 %615 = bitcast i32 %614 to float %616 = bitcast float %615 to i32 %617 = and i32 %616, 1065353216 %618 = bitcast i32 %617 to float %619 = fadd float %611, %618 %620 = call float @llvm.AMDIL.clamp.(float %619, float 0.000000e+00, float 1.000000e+00) %621 = fmul float %620, 0x3FCB7947C0000000 %622 = fadd float %621, %603 %623 = fadd float %604, %33 %624 = fadd float %605, %34 %625 = bitcast float %623 to i32 %626 = bitcast float %624 to i32 %627 = insertelement <2 x i32> undef, i32 %625, i32 0 %628 = insertelement <2 x i32> %627, i32 %626, i32 1 %629 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %628, <32 x i8> %24, <16 x i8> %26, i32 2) %630 = extractelement <4 x float> %629, i32 0 %631 = extractelement <4 x float> %629, i32 1 %632 = fcmp olt float %44, %631 %633 = sext i1 %632 to i32 %634 = bitcast i32 %633 to float %635 = bitcast float %634 to i32 %636 = and i32 %635, 1065353216 %637 = bitcast i32 %636 to float %638 = fadd float %630, %637 %639 = call float @llvm.AMDIL.clamp.(float %638, float 0.000000e+00, float 1.000000e+00) %640 = fmul float %639, 0x3FCA199DC0000000 %641 = fadd float %640, %622 %642 = fmul float %641, %22 %643 = fsub float -0.000000e+00, %22 %644 = fadd float 1.000000e+00, %643 %645 = fmul float %642, 0x3FAFC017E0000000 %646 = fadd float %645, %644 %647 = call i32 @llvm.SI.packf16(float %646, float %646) %648 = bitcast i32 %647 to float %649 = call i32 @llvm.SI.packf16(float %646, float %646) %650 = bitcast i32 %649 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %648, float %650, float %648, float %650) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0900 c80d0901 c8080800 c8090801 c0840304 c0c60508 bf8c007f f0800100 00430202 c8100100 c8110101 c8140500 c8150501 bf8c0770 d2820007 04120505 c80c0000 c80d0001 c8200400 c8210401 d2820006 040e0508 c0840300 c0c60500 bf8c007f f0800300 00430006 f0800300 00430203 7e0802ff 3c23d70a bf8c0770 06080903 d0020002 02020304 d2000009 00098280 361212f2 06001300 d2060800 02010100 7e0202ff 3f733333 d2820000 040a0300 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f670a3d d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f5b7ced d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f50837b d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f461681 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f3c2efa d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f32c63a d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f29d5ea d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f215805 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f1946d1 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f119ce0 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3f0a5508 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3f036a61 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3ef9b085 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3eed347e d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3ee15844 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3ed613da d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3ecb5fa9 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3ec1347a d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3eb78b74 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3eae5e14 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3ea5a62c d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3e9d5ddd d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3e957f92 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3e8e05fe d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3e86ec18 d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3e802d17 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3e7388df d2820000 04020d03 060e0b02 060c1101 f0800300 00430106 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3e675ba0 d2820000 04020501 06040b07 06021106 f0800300 00430601 bf8c0770 d0020002 02020f04 d2000003 00098280 360606f2 06060706 d2060803 02010103 7e0c02ff 3e5bca3e d2820000 04020d03 060c0b02 060a1101 f0800300 00430105 bf8c0770 d0020002 02020504 d2000003 00098280 360606f2 06020701 d2060801 02010101 7e0402ff 3e50ccee d2820000 04020501 c0800100 bf8c007f c2000108 bf8c007f 10000000 d2080001 020000f2 7e0402ff 3d7e00bf d2820000 04060500 5e000100 f8001c0f 00000000 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL CONST[0..7] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0312, 0.0156, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: ADD TEMP[2].xy, CONST[6].xyyy, -IN[1].xyyy 7: MUL TEMP[2].xy, TEMP[2].xyyy, CONST[7].xxxx 8: MUL TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx 9: MUL TEMP[3].xy, IN[1].xyyy, CONST[0].xyyy 10: MUL TEMP[3].xy, TEMP[3].xyyy, IMM[0].yyyy 11: MOV OUT[1], TEMP[1] 12: MOV OUT[2], TEMP[2] 13: MOV OUT[3], TEMP[3] 14: MOV OUT[0], TEMP[0] 15: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %33 = call float @llvm.SI.load.const(<16 x i8> %10, i32 100) %34 = call float @llvm.SI.load.const(<16 x i8> %10, i32 112) %35 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %36 = load <16 x i8> addrspace(2)* %35, !tbaa !0 %37 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %36, i32 0, i32 %5) %38 = extractelement <4 x float> %37, i32 0 %39 = extractelement <4 x float> %37, i32 1 %40 = extractelement <4 x float> %37, i32 2 %41 = extractelement <4 x float> %37, i32 3 %42 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %43 = load <16 x i8> addrspace(2)* %42, !tbaa !0 %44 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %43, i32 0, i32 %5) %45 = extractelement <4 x float> %44, i32 0 %46 = extractelement <4 x float> %44, i32 1 %47 = fsub float -0.000000e+00, %29 %48 = fadd float %38, %47 %49 = fsub float -0.000000e+00, %30 %50 = fadd float %39, %49 %51 = fsub float -0.000000e+00, %31 %52 = fadd float %40, %51 %53 = fmul float %13, %48 %54 = fmul float %14, %48 %55 = fmul float %15, %48 %56 = fmul float %16, %48 %57 = fmul float %17, %50 %58 = fadd float %57, %53 %59 = fmul float %18, %50 %60 = fadd float %59, %54 %61 = fmul float %19, %50 %62 = fadd float %61, %55 %63 = fmul float %20, %50 %64 = fadd float %63, %56 %65 = fmul float %21, %52 %66 = fadd float %65, %58 %67 = fmul float %22, %52 %68 = fadd float %67, %60 %69 = fmul float %23, %52 %70 = fadd float %69, %62 %71 = fmul float %24, %52 %72 = fadd float %71, %64 %73 = fmul float %25, %41 %74 = fadd float %73, %66 %75 = fmul float %26, %41 %76 = fadd float %75, %68 %77 = fmul float %27, %41 %78 = fadd float %77, %70 %79 = fmul float %28, %41 %80 = fadd float %79, %72 %81 = fsub float -0.000000e+00, %45 %82 = fadd float %32, %81 %83 = fsub float -0.000000e+00, %46 %84 = fadd float %33, %83 %85 = fmul float %82, %34 %86 = fmul float %84, %34 %87 = fmul float %85, 3.125000e-02 %88 = fmul float %86, 3.125000e-02 %89 = fmul float %45, %11 %90 = fmul float %46, %12 %91 = fmul float %89, 1.562500e-02 %92 = fmul float %90, 1.562500e-02 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %45, float %46, float %62, float %64) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %87, float %88, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %91, float %92, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %74, float %76, float %78, float %80) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020115 bf8c007f 7e0a0204 d2080005 02020b02 c2020114 bf8c007f 7e0c0204 d2080006 02020d01 c2020107 bf8c007f 100e0c04 c202010b bf8c007f d2820007 041e0a04 c2020106 bf8c007f 10100c04 c202010a bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020119 bf8c000f 08001404 c202011c bf8c007f 10000004 100000ff 3d000000 c2028118 bf8c007f 081a1205 101a1a04 101a1aff 3d000000 7e1c0280 f800021f 0e0e000d c2020101 bf8c000f 7e000204 d2100000 0202010a 100000ff 3c800000 c2020100 bf8c007f 7e1a0204 d2100009 02021b09 101212ff 3c800000 f800022f 0e0e0009 c2020116 bf8c000f 7e000204 d2080000 02020103 c202010f bf8c007f d2820007 041e0004 c2020113 bf8c007f d2820007 041e0804 c202010e bf8c007f d2820008 04220004 c2020112 bf8c007f d2820008 04220804 c2020105 bf8c007f 10120c04 c2020109 bf8c007f d2820009 04260a04 c202010d bf8c007f d2820009 04260004 c2020111 bf8c007f d2820009 04260804 c2020104 bf8c007f 100c0c04 c2020108 bf8c007f d2820005 041a0a04 c202010c bf8c007f d2820000 04160004 c2000110 bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0], LOCAL 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV OUT[0], TEMP[0] 3: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 0 %32 = extractelement <4 x float> %30, i32 1 %33 = extractelement <4 x float> %30, i32 2 %34 = extractelement <4 x float> %30, i32 3 %35 = call i32 @llvm.SI.packf16(float %31, float %32) %36 = bitcast i32 %35 to float %37 = call i32 @llvm.SI.packf16(float %33, float %34) %38 = bitcast i32 %37 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %36, float %38, float %36, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800f00 00010002 bf8c0770 5e080702 5e000300 f8001c0f 04000400 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..1], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].w, IMM[0].xxxx 1: MOV TEMP[1].xy, IN[0].xyyy 2: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 3: MAX TEMP[0].xyz, TEMP[1].xyzz, IMM[0].yyyy 4: MOV OUT[0], TEMP[0] 5: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = bitcast float %24 to i32 %27 = bitcast float %25 to i32 %28 = insertelement <2 x i32> undef, i32 %26, i32 0 %29 = insertelement <2 x i32> %28, i32 %27, i32 1 %30 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %29, <32 x i8> %21, <16 x i8> %23, i32 2) %31 = extractelement <4 x float> %30, i32 0 %32 = extractelement <4 x float> %30, i32 1 %33 = extractelement <4 x float> %30, i32 2 %34 = fcmp uge float %31, 0.000000e+00 %35 = select i1 %34, float %31, float 0.000000e+00 %36 = fcmp uge float %32, 0.000000e+00 %37 = select i1 %36, float %32, float 0.000000e+00 %38 = fcmp uge float %33, 0.000000e+00 %39 = select i1 %38, float %33, float 0.000000e+00 %40 = call i32 @llvm.SI.packf16(float %35, float %37) %41 = bitcast i32 %40 to float %42 = call i32 @llvm.SI.packf16(float %39, float 1.000000e+00) %43 = bitcast i32 %42 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %41, float %43, float %41, float %43) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c20500 bf8c007f f0800700 00010002 bf8c0770 d00c0000 02010101 d2000003 00020280 d00c0000 02010100 d2000004 00020080 5e060704 d00c0000 02010102 d2000000 00020480 d25e0000 0201e500 f8001c0f 00030003 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.0001, 0.2500, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xyz, TEMP[0], SAMP[0], 2D 2: MAX TEMP[1].x, TEMP[0].xxxx, TEMP[0].yyyy 3: MAX TEMP[0].x, TEMP[1].xxxx, TEMP[0].zzzz 4: MOV TEMP[1].xy, IN[0].zwww 5: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 6: MAX TEMP[2].x, TEMP[1].xxxx, TEMP[1].yyyy 7: MAX TEMP[1].x, TEMP[2].xxxx, TEMP[1].zzzz 8: MOV TEMP[0].y, TEMP[1].xxxx 9: MOV TEMP[1].xy, IN[1].xyyy 10: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 11: MAX TEMP[2].x, TEMP[1].xxxx, TEMP[1].yyyy 12: MAX TEMP[1].x, TEMP[2].xxxx, TEMP[1].zzzz 13: MOV TEMP[0].z, TEMP[1].xxxx 14: MOV TEMP[1].xy, IN[1].zwww 15: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 16: MAX TEMP[2].x, TEMP[1].xxxx, TEMP[1].yyyy 17: MAX TEMP[1].x, TEMP[2].xxxx, TEMP[1].zzzz 18: MOV TEMP[0].w, TEMP[1].xxxx 19: MAX TEMP[0], TEMP[0], IMM[0].xxxx 20: LG2 TEMP[1].x, TEMP[0].xxxx 21: LG2 TEMP[1].y, TEMP[0].yyyy 22: LG2 TEMP[1].z, TEMP[0].zzzz 23: LG2 TEMP[1].w, TEMP[0].wwww 24: DP4 TEMP[0].x, TEMP[1], IMM[0].yyyy 25: MOV OUT[0], TEMP[0].xxxx 26: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %32 = bitcast float %24 to i32 %33 = bitcast float %25 to i32 %34 = insertelement <2 x i32> undef, i32 %32, i32 0 %35 = insertelement <2 x i32> %34, i32 %33, i32 1 %36 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %35, <32 x i8> %21, <16 x i8> %23, i32 2) %37 = extractelement <4 x float> %36, i32 0 %38 = extractelement <4 x float> %36, i32 1 %39 = extractelement <4 x float> %36, i32 2 %40 = fcmp uge float %37, %38 %41 = select i1 %40, float %37, float %38 %42 = fcmp uge float %41, %39 %43 = select i1 %42, float %41, float %39 %44 = bitcast float %26 to i32 %45 = bitcast float %27 to i32 %46 = insertelement <2 x i32> undef, i32 %44, i32 0 %47 = insertelement <2 x i32> %46, i32 %45, i32 1 %48 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %47, <32 x i8> %21, <16 x i8> %23, i32 2) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = fcmp uge float %49, %50 %53 = select i1 %52, float %49, float %50 %54 = fcmp uge float %53, %51 %55 = select i1 %54, float %53, float %51 %56 = bitcast float %28 to i32 %57 = bitcast float %29 to i32 %58 = insertelement <2 x i32> undef, i32 %56, i32 0 %59 = insertelement <2 x i32> %58, i32 %57, i32 1 %60 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %59, <32 x i8> %21, <16 x i8> %23, i32 2) %61 = extractelement <4 x float> %60, i32 0 %62 = extractelement <4 x float> %60, i32 1 %63 = extractelement <4 x float> %60, i32 2 %64 = fcmp uge float %61, %62 %65 = select i1 %64, float %61, float %62 %66 = fcmp uge float %65, %63 %67 = select i1 %66, float %65, float %63 %68 = bitcast float %30 to i32 %69 = bitcast float %31 to i32 %70 = insertelement <2 x i32> undef, i32 %68, i32 0 %71 = insertelement <2 x i32> %70, i32 %69, i32 1 %72 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %71, <32 x i8> %21, <16 x i8> %23, i32 2) %73 = extractelement <4 x float> %72, i32 0 %74 = extractelement <4 x float> %72, i32 1 %75 = extractelement <4 x float> %72, i32 2 %76 = fcmp uge float %73, %74 %77 = select i1 %76, float %73, float %74 %78 = fcmp uge float %77, %75 %79 = select i1 %78, float %77, float %75 %80 = fcmp uge float %43, 0x3F1A36E2E0000000 %81 = select i1 %80, float %43, float 0x3F1A36E2E0000000 %82 = fcmp uge float %55, 0x3F1A36E2E0000000 %83 = select i1 %82, float %55, float 0x3F1A36E2E0000000 %84 = fcmp uge float %67, 0x3F1A36E2E0000000 %85 = select i1 %84, float %67, float 0x3F1A36E2E0000000 %86 = fcmp uge float %79, 0x3F1A36E2E0000000 %87 = select i1 %86, float %79, float 0x3F1A36E2E0000000 %88 = call float @llvm.log2.f32(float %81) %89 = call float @llvm.log2.f32(float %83) %90 = call float @llvm.log2.f32(float %85) %91 = call float @llvm.log2.f32(float %87) %92 = fmul float %88, 2.500000e-01 %93 = fmul float %89, 2.500000e-01 %94 = fadd float %92, %93 %95 = fmul float %90, 2.500000e-01 %96 = fadd float %94, %95 %97 = fmul float %91, 2.500000e-01 %98 = fadd float %96, %97 %99 = call i32 @llvm.SI.packf16(float %98, float %98) %100 = bitcast i32 %99 to float %101 = call i32 @llvm.SI.packf16(float %98, float %98) %102 = bitcast i32 %101 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %100, float %102, float %100, float %102) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readonly declare float @llvm.log2.f32(float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { nounwind readonly } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0800300 c0c40500 bf8c007f f0800700 00020202 bf8c0770 d00c0004 02020702 d2000005 00120503 d00c0004 02020905 d2000002 00120b04 7e0602ff 38d1b717 d00c0004 02020702 d2000002 00120503 7e044f02 c8140300 c8150301 c8100200 c8110201 f0800700 00020404 bf8c0770 d00c0004 02020b04 d2000007 00120905 d00c0004 02020d07 d2000004 00120f06 d00c0004 02020704 d2000004 00120903 7e084f04 100808ff 3e800000 7e0a02ff 3e800000 d2820002 04120b02 c81c0500 c81d0501 c8180400 c8190401 f0800700 00020606 bf8c0770 d00c0004 02020f06 d2000004 00120d07 d00c0004 02021104 d2000004 00120908 d00c0004 02020704 d2000004 00120903 7e084f04 d2820002 040a0b04 c81c0700 c81d0701 c8180600 c8190601 f0800700 00020606 bf8c0770 d00c0000 02020f06 d2000000 00020d07 d00c0000 02021100 d2000000 00020108 d00c0000 02020700 d2000000 00020103 7e004f00 d2820000 040a0b00 5e000100 f8001c0f 00000000 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..5] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.5000, 1.0000, -1.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MUL TEMP[1], CONST[0].zwzw, IMM[0].xxxx 6: MAD TEMP[2], TEMP[1], IMM[0].yyzz, IN[1].xyxy 7: MAD TEMP[1], TEMP[1], IMM[0].yzzy, IN[1].xyxy 8: MOV OUT[1], TEMP[2] 9: MOV OUT[2], TEMP[1] 10: MOV OUT[0], TEMP[0] 11: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 5.000000e-01 %79 = fmul float %12, 5.000000e-01 %80 = fmul float %11, 5.000000e-01 %81 = fmul float %12, 5.000000e-01 %82 = fmul float %78, 1.000000e+00 %83 = fadd float %82, %42 %84 = fmul float %79, 1.000000e+00 %85 = fadd float %84, %43 %86 = fmul float %80, -1.000000e+00 %87 = fadd float %86, %42 %88 = fmul float %81, -1.000000e+00 %89 = fadd float %88, %43 %90 = fmul float %78, 1.000000e+00 %91 = fadd float %90, %42 %92 = fmul float %79, -1.000000e+00 %93 = fadd float %92, %43 %94 = fmul float %80, -1.000000e+00 %95 = fadd float %94, %42 %96 = fmul float %81, 1.000000e+00 %97 = fadd float %96, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %83, float %85, float %87, float %89) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %91, float %93, float %95, float %97) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020103 bf8c007f d2100005 0201e004 080a0b02 c2028102 bf8c007f d2100006 0201e005 080c0d01 d2820007 0409e004 d2820001 0405e005 f800020f 05060701 f800021f 07060501 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL IN[6], GENERIC[6], PERSPECTIVE DCL IN[7], GENERIC[7], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..1], LOCAL IMM[0] FLT32 { 0.0625, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].x, TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[0].zwww 3: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 4: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 5: MOV TEMP[1].xy, IN[1].xyyy 6: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 7: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 8: MOV TEMP[1].xy, IN[1].zwww 9: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 10: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 11: MOV TEMP[1].xy, IN[2].xyyy 12: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 13: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 14: MOV TEMP[1].xy, IN[2].zwww 15: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 16: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 17: MOV TEMP[1].xy, IN[3].xyyy 18: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 19: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 20: MOV TEMP[1].xy, IN[3].zwww 21: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 22: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 23: MOV TEMP[1].xy, IN[4].xyyy 24: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 25: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 26: MOV TEMP[1].xy, IN[4].zwww 27: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 28: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 29: MOV TEMP[1].xy, IN[5].xyyy 30: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 31: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 32: MOV TEMP[1].xy, IN[5].zwww 33: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 34: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 35: MOV TEMP[1].xy, IN[6].xyyy 36: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 37: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 38: MOV TEMP[1].xy, IN[6].zwww 39: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 40: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 41: MOV TEMP[1].xy, IN[7].xyyy 42: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 43: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 44: MOV TEMP[1].xy, IN[7].zwww 45: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 46: ADD TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 47: MUL TEMP[0].x, TEMP[0].xxxx, IMM[0].xxxx 48: MOV OUT[0], TEMP[0].xxxx 49: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %46 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %47 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %48 = call float @llvm.SI.fs.interp(i32 0, i32 6, i32 %3, <2 x i32> %5) %49 = call float @llvm.SI.fs.interp(i32 1, i32 6, i32 %3, <2 x i32> %5) %50 = call float @llvm.SI.fs.interp(i32 2, i32 6, i32 %3, <2 x i32> %5) %51 = call float @llvm.SI.fs.interp(i32 3, i32 6, i32 %3, <2 x i32> %5) %52 = call float @llvm.SI.fs.interp(i32 0, i32 7, i32 %3, <2 x i32> %5) %53 = call float @llvm.SI.fs.interp(i32 1, i32 7, i32 %3, <2 x i32> %5) %54 = call float @llvm.SI.fs.interp(i32 2, i32 7, i32 %3, <2 x i32> %5) %55 = call float @llvm.SI.fs.interp(i32 3, i32 7, i32 %3, <2 x i32> %5) %56 = bitcast float %24 to i32 %57 = bitcast float %25 to i32 %58 = insertelement <2 x i32> undef, i32 %56, i32 0 %59 = insertelement <2 x i32> %58, i32 %57, i32 1 %60 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %59, <32 x i8> %21, <16 x i8> %23, i32 2) %61 = extractelement <4 x float> %60, i32 0 %62 = bitcast float %26 to i32 %63 = bitcast float %27 to i32 %64 = insertelement <2 x i32> undef, i32 %62, i32 0 %65 = insertelement <2 x i32> %64, i32 %63, i32 1 %66 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %65, <32 x i8> %21, <16 x i8> %23, i32 2) %67 = extractelement <4 x float> %66, i32 0 %68 = fadd float %61, %67 %69 = bitcast float %28 to i32 %70 = bitcast float %29 to i32 %71 = insertelement <2 x i32> undef, i32 %69, i32 0 %72 = insertelement <2 x i32> %71, i32 %70, i32 1 %73 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %72, <32 x i8> %21, <16 x i8> %23, i32 2) %74 = extractelement <4 x float> %73, i32 0 %75 = fadd float %68, %74 %76 = bitcast float %30 to i32 %77 = bitcast float %31 to i32 %78 = insertelement <2 x i32> undef, i32 %76, i32 0 %79 = insertelement <2 x i32> %78, i32 %77, i32 1 %80 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %79, <32 x i8> %21, <16 x i8> %23, i32 2) %81 = extractelement <4 x float> %80, i32 0 %82 = fadd float %75, %81 %83 = bitcast float %32 to i32 %84 = bitcast float %33 to i32 %85 = insertelement <2 x i32> undef, i32 %83, i32 0 %86 = insertelement <2 x i32> %85, i32 %84, i32 1 %87 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %86, <32 x i8> %21, <16 x i8> %23, i32 2) %88 = extractelement <4 x float> %87, i32 0 %89 = fadd float %82, %88 %90 = bitcast float %34 to i32 %91 = bitcast float %35 to i32 %92 = insertelement <2 x i32> undef, i32 %90, i32 0 %93 = insertelement <2 x i32> %92, i32 %91, i32 1 %94 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %93, <32 x i8> %21, <16 x i8> %23, i32 2) %95 = extractelement <4 x float> %94, i32 0 %96 = fadd float %89, %95 %97 = bitcast float %36 to i32 %98 = bitcast float %37 to i32 %99 = insertelement <2 x i32> undef, i32 %97, i32 0 %100 = insertelement <2 x i32> %99, i32 %98, i32 1 %101 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %100, <32 x i8> %21, <16 x i8> %23, i32 2) %102 = extractelement <4 x float> %101, i32 0 %103 = fadd float %96, %102 %104 = bitcast float %38 to i32 %105 = bitcast float %39 to i32 %106 = insertelement <2 x i32> undef, i32 %104, i32 0 %107 = insertelement <2 x i32> %106, i32 %105, i32 1 %108 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %107, <32 x i8> %21, <16 x i8> %23, i32 2) %109 = extractelement <4 x float> %108, i32 0 %110 = fadd float %103, %109 %111 = bitcast float %40 to i32 %112 = bitcast float %41 to i32 %113 = insertelement <2 x i32> undef, i32 %111, i32 0 %114 = insertelement <2 x i32> %113, i32 %112, i32 1 %115 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %114, <32 x i8> %21, <16 x i8> %23, i32 2) %116 = extractelement <4 x float> %115, i32 0 %117 = fadd float %110, %116 %118 = bitcast float %42 to i32 %119 = bitcast float %43 to i32 %120 = insertelement <2 x i32> undef, i32 %118, i32 0 %121 = insertelement <2 x i32> %120, i32 %119, i32 1 %122 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %121, <32 x i8> %21, <16 x i8> %23, i32 2) %123 = extractelement <4 x float> %122, i32 0 %124 = fadd float %117, %123 %125 = bitcast float %44 to i32 %126 = bitcast float %45 to i32 %127 = insertelement <2 x i32> undef, i32 %125, i32 0 %128 = insertelement <2 x i32> %127, i32 %126, i32 1 %129 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %128, <32 x i8> %21, <16 x i8> %23, i32 2) %130 = extractelement <4 x float> %129, i32 0 %131 = fadd float %124, %130 %132 = bitcast float %46 to i32 %133 = bitcast float %47 to i32 %134 = insertelement <2 x i32> undef, i32 %132, i32 0 %135 = insertelement <2 x i32> %134, i32 %133, i32 1 %136 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %135, <32 x i8> %21, <16 x i8> %23, i32 2) %137 = extractelement <4 x float> %136, i32 0 %138 = fadd float %131, %137 %139 = bitcast float %48 to i32 %140 = bitcast float %49 to i32 %141 = insertelement <2 x i32> undef, i32 %139, i32 0 %142 = insertelement <2 x i32> %141, i32 %140, i32 1 %143 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %142, <32 x i8> %21, <16 x i8> %23, i32 2) %144 = extractelement <4 x float> %143, i32 0 %145 = fadd float %138, %144 %146 = bitcast float %50 to i32 %147 = bitcast float %51 to i32 %148 = insertelement <2 x i32> undef, i32 %146, i32 0 %149 = insertelement <2 x i32> %148, i32 %147, i32 1 %150 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %149, <32 x i8> %21, <16 x i8> %23, i32 2) %151 = extractelement <4 x float> %150, i32 0 %152 = fadd float %145, %151 %153 = bitcast float %52 to i32 %154 = bitcast float %53 to i32 %155 = insertelement <2 x i32> undef, i32 %153, i32 0 %156 = insertelement <2 x i32> %155, i32 %154, i32 1 %157 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %156, <32 x i8> %21, <16 x i8> %23, i32 2) %158 = extractelement <4 x float> %157, i32 0 %159 = fadd float %152, %158 %160 = bitcast float %54 to i32 %161 = bitcast float %55 to i32 %162 = insertelement <2 x i32> undef, i32 %160, i32 0 %163 = insertelement <2 x i32> %162, i32 %161, i32 1 %164 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %163, <32 x i8> %21, <16 x i8> %23, i32 2) %165 = extractelement <4 x float> %164, i32 0 %166 = fadd float %159, %165 %167 = fmul float %166, 6.250000e-02 %168 = call i32 @llvm.SI.packf16(float %167, float %167) %169 = bitcast i32 %168 to float %170 = call i32 @llvm.SI.packf16(float %167, float %167) %171 = bitcast i32 %170 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %169, float %171, float %169, float %171) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0300 c80d0301 c8080200 c8090201 c0800300 c0c40500 bf8c007f f0800100 00020202 c8100100 c8110101 c80c0000 c80d0001 f0800100 00020303 bf8c0770 06040503 c8100500 c8110501 c80c0400 c80d0401 f0800100 00020303 bf8c0770 06040702 c8100700 c8110701 c80c0600 c80d0601 f0800100 00020303 bf8c0770 06040702 c8100900 c8110901 c80c0800 c80d0801 f0800100 00020303 bf8c0770 06040702 c8100b00 c8110b01 c80c0a00 c80d0a01 f0800100 00020303 bf8c0770 06040702 c8100d00 c8110d01 c80c0c00 c80d0c01 f0800100 00020303 bf8c0770 06040702 c8100f00 c8110f01 c80c0e00 c80d0e01 f0800100 00020303 bf8c0770 06040702 c8101100 c8111101 c80c1000 c80d1001 f0800100 00020303 bf8c0770 06040702 c8101300 c8111301 c80c1200 c80d1201 f0800100 00020303 bf8c0770 06040702 c8101500 c8111501 c80c1400 c80d1401 f0800100 00020303 bf8c0770 06040702 c8101700 c8111701 c80c1600 c80d1601 f0800100 00020303 bf8c0770 06040702 c8101900 c8111901 c80c1800 c80d1801 f0800100 00020303 bf8c0770 06040702 c8101b00 c8111b01 c80c1a00 c80d1a01 f0800100 00020303 bf8c0770 06040702 c8101d00 c8111d01 c80c1c00 c80d1c01 f0800100 00020303 bf8c0770 06040702 c8101f00 c8111f01 c80c1e00 c80d1e01 f0800100 00020003 bf8c0770 06000102 100000ff 3d800000 5e000100 f8001c0f 00000000 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL OUT[7], GENERIC[6] DCL OUT[8], GENERIC[7] DCL CONST[0..5] DCL TEMP[0..8], LOCAL IMM[0] FLT32 { 0.2500, -1.5000, -0.5000, 0.5000} IMM[1] FLT32 { 0.5000, -1.5000, 1.5000, -0.5000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MUL TEMP[1], CONST[0].zwzw, IMM[0].xxxx 6: MAD TEMP[2], TEMP[1], IMM[0].yyzy, IN[1].xyxy 7: MAD TEMP[3], TEMP[1], IMM[1].xyzy, IN[1].xyxy 8: MAD TEMP[4], TEMP[1], IMM[0].yzzz, IN[1].xyxy 9: MAD TEMP[5], TEMP[1], IMM[1].xwzw, IN[1].xyxy 10: MAD TEMP[6], TEMP[1], IMM[0].ywzw, IN[1].xyxy 11: MAD TEMP[7], TEMP[1], IMM[1].xxzx, IN[1].xyxy 12: MAD TEMP[8], TEMP[1], IMM[1].yzwz, IN[1].xyxy 13: MAD TEMP[1], TEMP[1], IMM[1].xzzz, IN[1].xyxy 14: MOV OUT[1], TEMP[2] 15: MOV OUT[2], TEMP[3] 16: MOV OUT[3], TEMP[4] 17: MOV OUT[4], TEMP[5] 18: MOV OUT[5], TEMP[6] 19: MOV OUT[6], TEMP[7] 20: MOV OUT[7], TEMP[8] 21: MOV OUT[0], TEMP[0] 22: MOV OUT[8], TEMP[1] 23: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 2.500000e-01 %79 = fmul float %12, 2.500000e-01 %80 = fmul float %11, 2.500000e-01 %81 = fmul float %12, 2.500000e-01 %82 = fmul float %78, -1.500000e+00 %83 = fadd float %82, %42 %84 = fmul float %79, -1.500000e+00 %85 = fadd float %84, %43 %86 = fmul float %80, -5.000000e-01 %87 = fadd float %86, %42 %88 = fmul float %81, -1.500000e+00 %89 = fadd float %88, %43 %90 = fmul float %78, 5.000000e-01 %91 = fadd float %90, %42 %92 = fmul float %79, -1.500000e+00 %93 = fadd float %92, %43 %94 = fmul float %80, 1.500000e+00 %95 = fadd float %94, %42 %96 = fmul float %81, -1.500000e+00 %97 = fadd float %96, %43 %98 = fmul float %78, -1.500000e+00 %99 = fadd float %98, %42 %100 = fmul float %79, -5.000000e-01 %101 = fadd float %100, %43 %102 = fmul float %80, -5.000000e-01 %103 = fadd float %102, %42 %104 = fmul float %81, -5.000000e-01 %105 = fadd float %104, %43 %106 = fmul float %78, 5.000000e-01 %107 = fadd float %106, %42 %108 = fmul float %79, -5.000000e-01 %109 = fadd float %108, %43 %110 = fmul float %80, 1.500000e+00 %111 = fadd float %110, %42 %112 = fmul float %81, -5.000000e-01 %113 = fadd float %112, %43 %114 = fmul float %78, -1.500000e+00 %115 = fadd float %114, %42 %116 = fmul float %79, 5.000000e-01 %117 = fadd float %116, %43 %118 = fmul float %80, -5.000000e-01 %119 = fadd float %118, %42 %120 = fmul float %81, 5.000000e-01 %121 = fadd float %120, %43 %122 = fmul float %78, 5.000000e-01 %123 = fadd float %122, %42 %124 = fmul float %79, 5.000000e-01 %125 = fadd float %124, %43 %126 = fmul float %80, 1.500000e+00 %127 = fadd float %126, %42 %128 = fmul float %81, 5.000000e-01 %129 = fadd float %128, %43 %130 = fmul float %78, -1.500000e+00 %131 = fadd float %130, %42 %132 = fmul float %79, 1.500000e+00 %133 = fadd float %132, %43 %134 = fmul float %80, -5.000000e-01 %135 = fadd float %134, %42 %136 = fmul float %81, 1.500000e+00 %137 = fadd float %136, %43 %138 = fmul float %78, 5.000000e-01 %139 = fadd float %138, %42 %140 = fmul float %79, 1.500000e+00 %141 = fadd float %140, %43 %142 = fmul float %80, 1.500000e+00 %143 = fadd float %142, %42 %144 = fmul float %81, 1.500000e+00 %145 = fadd float %144, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %83, float %85, float %87, float %89) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %91, float %93, float %95, float %97) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %99, float %101, float %103, float %105) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %107, float %109, float %111, float %113) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %115, float %117, float %119, float %121) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %123, float %125, float %127, float %129) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 38, i32 0, float %131, float %133, float %135, float %137) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 39, i32 0, float %139, float %141, float %143, float %145) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 bf8c007f c2020103 7e0202ff 3e800000 bf8c007f 10040204 c0840704 bf8c007f e00c2000 80020300 7e0e02ff bfc00000 bf8c0770 d2820008 04120f02 c2020102 bf8c007f 10020204 d2820007 040e0f01 d2820009 040de301 f800020f 08090807 7e1402ff 3fc00000 d282000b 040e1501 d2820001 040de101 f800021f 080b0801 bf8c070f d2820008 0411e302 f800022f 08090807 f800023f 080b0801 bf8c070f d2820008 0411e102 f800024f 08090807 f800025f 080b0801 d2820002 04121502 f800026f 02090207 f800027f 020b0201 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL CONST[2..5] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IMM[0].xxxx 1: TEX TEMP[0].y, TEMP[0], SAMP[1], 2D 2: MOV TEMP[1].xy, IMM[0].xxxx 3: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 4: LRP TEMP[0].x, CONST[3].xxxx, TEMP[1].xxxx, TEMP[0].yyyy 5: MIN TEMP[0].x, TEMP[0].xxxx, CONST[5].xxxx 6: MAX TEMP[0].x, TEMP[0].xxxx, CONST[4].xxxx 7: MOV TEMP[1].zw, IMM[0].yyyy 8: EX2 TEMP[2].x, TEMP[0].xxxx 9: RCP TEMP[2].x, TEMP[2].xxxx 10: MUL TEMP[1].x, CONST[2].xxxx, TEMP[2].xxxx 11: MOV TEMP[1].y, TEMP[0].xxxx 12: MOV OUT[0], TEMP[1] 13: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 80) %26 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %27 = load <32 x i8> addrspace(2)* %26, !tbaa !0 %28 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %29 = load <16 x i8> addrspace(2)* %28, !tbaa !0 %30 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %31 = load <32 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = bitcast float 5.000000e-01 to i32 %35 = bitcast float 5.000000e-01 to i32 %36 = insertelement <2 x i32> undef, i32 %34, i32 0 %37 = insertelement <2 x i32> %36, i32 %35, i32 1 %38 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %37, <32 x i8> %31, <16 x i8> %33, i32 2) %39 = extractelement <4 x float> %38, i32 1 %40 = bitcast float 5.000000e-01 to i32 %41 = bitcast float 5.000000e-01 to i32 %42 = insertelement <2 x i32> undef, i32 %40, i32 0 %43 = insertelement <2 x i32> %42, i32 %41, i32 1 %44 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %43, <32 x i8> %27, <16 x i8> %29, i32 2) %45 = extractelement <4 x float> %44, i32 0 %46 = call float @llvm.AMDGPU.lrp(float %23, float %45, float %39) %47 = fcmp uge float %46, %25 %48 = select i1 %47, float %25, float %46 %49 = fcmp uge float %48, %24 %50 = select i1 %49, float %48, float %24 %51 = call float @llvm.AMDIL.exp.(float %50) %52 = fdiv float 1.000000e+00, %51 %53 = fmul float %22, %52 %54 = call i32 @llvm.SI.packf16(float %53, float %50) %55 = bitcast i32 %54 to float %56 = call i32 @llvm.SI.packf16(float 0.000000e+00, float 0.000000e+00) %57 = bitcast i32 %56 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %55, float %57, float %55, float %57) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #2 ; Function Attrs: readnone declare float @llvm.AMDIL.exp.(float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840304 c0c60508 7e0002f0 7e020300 bf8c007f f0800200 00430200 c0840100 bf8c0070 c200090c bf8c007f d2080003 020000f2 10040503 c0860300 c0c80500 bf8c007f f0800100 00640000 bf8c0770 d2820000 040a0000 c2000914 bf8c007f d00c0002 02000100 7e020200 d2000000 000a0300 c2000910 bf8c007f d00c0002 02000100 7e020200 d2000000 000a0101 7e024b00 7e025501 c2000908 bf8c007f 10020200 5e000101 d25e0001 02010080 f8001c0f 01000100 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV OUT[0], TEMP[0] 6: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = fsub float -0.000000e+00, %27 %38 = fadd float %33, %37 %39 = fsub float -0.000000e+00, %28 %40 = fadd float %34, %39 %41 = fsub float -0.000000e+00, %29 %42 = fadd float %35, %41 %43 = fmul float %11, %38 %44 = fmul float %12, %38 %45 = fmul float %13, %38 %46 = fmul float %14, %38 %47 = fmul float %15, %40 %48 = fadd float %47, %43 %49 = fmul float %16, %40 %50 = fadd float %49, %44 %51 = fmul float %17, %40 %52 = fadd float %51, %45 %53 = fmul float %18, %40 %54 = fadd float %53, %46 %55 = fmul float %19, %42 %56 = fadd float %55, %48 %57 = fmul float %20, %42 %58 = fadd float %57, %50 %59 = fmul float %21, %42 %60 = fadd float %59, %52 %61 = fmul float %22, %42 %62 = fadd float %61, %54 %63 = fmul float %23, %36 %64 = fadd float %63, %56 %65 = fmul float %24, %36 %66 = fadd float %65, %58 %67 = fmul float %25, %36 %68 = fadd float %67, %60 %69 = fmul float %26, %36 %70 = fadd float %69, %62 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %64, float %66, float %68, float %70) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0800100 bf8c0070 c2020111 bf8c007f 7e080204 d2080004 02020901 c2020110 bf8c007f 7e0a0204 d2080005 02020b00 c2020103 bf8c007f 100c0a04 c2020107 bf8c007f d2820006 041a0804 c2020112 bf8c007f 7e0e0204 d2080007 02020f02 c202010b bf8c007f d2820006 041a0e04 c202010f bf8c007f d2820006 041a0604 c2020102 bf8c007f 10100a04 c2020106 bf8c007f d2820008 04220804 c202010a bf8c007f d2820008 04220e04 c202010e bf8c007f d2820008 04220604 c2020101 bf8c007f 10120a04 c2020105 bf8c007f d2820009 04260804 c2020109 bf8c007f d2820009 04260e04 c202010d bf8c007f d2820009 04260604 c2020100 bf8c007f 100a0a04 c2020104 bf8c007f d2820004 04160804 c2020108 bf8c007f d2820004 04120e04 c200010c bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL CONST[2] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.5000, 4.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0].xyz, TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IMM[0].xxxx 3: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 4: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx 5: MAX TEMP[1].x, TEMP[0].xxxx, TEMP[0].yyyy 6: MAX TEMP[1].x, TEMP[1].xxxx, TEMP[0].zzzz 7: ADD_SAT TEMP[1].x, TEMP[1].xxxx, -CONST[2].xxxx 8: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx 9: MOV TEMP[1].xyz, TEMP[0].xyzx 10: MAX TEMP[2].x, TEMP[0].xxxx, TEMP[0].yyyy 11: MAX TEMP[0].x, TEMP[2].xxxx, TEMP[0].zzzz 12: MUL TEMP[0].x, TEMP[0].xxxx, IMM[0].yyyy 13: MOV TEMP[1].w, TEMP[0].xxxx 14: MOV OUT[0], TEMP[1] 15: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %23 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %24 = load <32 x i8> addrspace(2)* %23, !tbaa !0 %25 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %26 = load <16 x i8> addrspace(2)* %25, !tbaa !0 %27 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %28 = load <32 x i8> addrspace(2)* %27, !tbaa !0 %29 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %30 = load <16 x i8> addrspace(2)* %29, !tbaa !0 %31 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %33 = bitcast float %31 to i32 %34 = bitcast float %32 to i32 %35 = insertelement <2 x i32> undef, i32 %33, i32 0 %36 = insertelement <2 x i32> %35, i32 %34, i32 1 %37 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %36, <32 x i8> %24, <16 x i8> %26, i32 2) %38 = extractelement <4 x float> %37, i32 0 %39 = extractelement <4 x float> %37, i32 1 %40 = extractelement <4 x float> %37, i32 2 %41 = bitcast float 5.000000e-01 to i32 %42 = bitcast float 5.000000e-01 to i32 %43 = insertelement <2 x i32> undef, i32 %41, i32 0 %44 = insertelement <2 x i32> %43, i32 %42, i32 1 %45 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %44, <32 x i8> %28, <16 x i8> %30, i32 2) %46 = extractelement <4 x float> %45, i32 0 %47 = fmul float %38, %46 %48 = fmul float %39, %46 %49 = fmul float %40, %46 %50 = fcmp uge float %47, %48 %51 = select i1 %50, float %47, float %48 %52 = fcmp uge float %51, %49 %53 = select i1 %52, float %51, float %49 %54 = fsub float -0.000000e+00, %22 %55 = fadd float %53, %54 %56 = call float @llvm.AMDIL.clamp.(float %55, float 0.000000e+00, float 1.000000e+00) %57 = fmul float %47, %56 %58 = fmul float %48, %56 %59 = fmul float %49, %56 %60 = fcmp uge float %57, %58 %61 = select i1 %60, float %57, float %58 %62 = fcmp uge float %61, %59 %63 = select i1 %62, float %61, float %59 %64 = fmul float %63, 4.000000e+00 %65 = call i32 @llvm.SI.packf16(float %57, float %58) %66 = bitcast i32 %65 to float %67 = call i32 @llvm.SI.packf16(float %59, float %64) %68 = bitcast i32 %67 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %66, float %68, float %66, float %68) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800700 00430002 c0840304 c0c60508 7e0602f0 7e080303 bf8c0070 f0800100 00430303 bf8c0770 10080701 100a0700 d00c0002 02020905 d2000006 000a0b04 10000702 d00c0002 02020106 d2000001 000a0d00 c0800100 bf8c007f c2000108 bf8c007f 0a020200 d2060801 02010101 10040304 10060305 d00c0000 02020503 d2000004 00020702 10000300 d00c0000 02020104 d2000001 00020900 100202f6 5e000300 5e020503 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0039, 0.0168, 0.0525, 0.1188} IMM[1] FLT32 { 0.1939, 0.2283, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[5].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[5].zwww 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: ADD TEMP[0], TEMP[0], TEMP[1] 5: MOV TEMP[1].xy, IN[4].xyyy 6: TEX TEMP[1], TEMP[1], SAMP[0], 2D 7: MOV TEMP[2].xy, IN[4].zwww 8: TEX TEMP[2], TEMP[2], SAMP[0], 2D 9: ADD TEMP[1], TEMP[1], TEMP[2] 10: MOV TEMP[2].xy, IN[3].xyyy 11: TEX TEMP[2], TEMP[2], SAMP[0], 2D 12: MOV TEMP[3].xy, IN[3].zwww 13: TEX TEMP[3], TEMP[3], SAMP[0], 2D 14: ADD TEMP[2], TEMP[2], TEMP[3] 15: MOV TEMP[3].xy, IN[2].xyyy 16: TEX TEMP[3], TEMP[3], SAMP[0], 2D 17: MOV TEMP[4].xy, IN[2].zwww 18: TEX TEMP[4], TEMP[4], SAMP[0], 2D 19: ADD TEMP[3], TEMP[3], TEMP[4] 20: MOV TEMP[4].xy, IN[1].xyyy 21: TEX TEMP[4], TEMP[4], SAMP[0], 2D 22: MOV TEMP[5].xy, IN[1].zwww 23: TEX TEMP[5], TEMP[5], SAMP[0], 2D 24: ADD TEMP[4], TEMP[4], TEMP[5] 25: MOV TEMP[5].xy, IN[0].xyyy 26: TEX TEMP[5], TEMP[5], SAMP[0], 2D 27: MUL TEMP[5], TEMP[5], IMM[1].yyyy 28: MAD TEMP[4], TEMP[4], IMM[1].xxxx, TEMP[5] 29: MAD TEMP[3], TEMP[3], IMM[0].wwww, TEMP[4] 30: MAD TEMP[2], TEMP[2], IMM[0].zzzz, TEMP[3] 31: MAD TEMP[1], TEMP[1], IMM[0].yyyy, TEMP[2] 32: MAD TEMP[0], TEMP[0], IMM[0].xxxx, TEMP[1] 33: MOV OUT[0], TEMP[0] 34: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %46 = bitcast float %42 to i32 %47 = bitcast float %43 to i32 %48 = insertelement <2 x i32> undef, i32 %46, i32 0 %49 = insertelement <2 x i32> %48, i32 %47, i32 1 %50 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %49, <32 x i8> %21, <16 x i8> %23, i32 2) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = extractelement <4 x float> %50, i32 3 %55 = bitcast float %44 to i32 %56 = bitcast float %45 to i32 %57 = insertelement <2 x i32> undef, i32 %55, i32 0 %58 = insertelement <2 x i32> %57, i32 %56, i32 1 %59 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %58, <32 x i8> %21, <16 x i8> %23, i32 2) %60 = extractelement <4 x float> %59, i32 0 %61 = extractelement <4 x float> %59, i32 1 %62 = extractelement <4 x float> %59, i32 2 %63 = extractelement <4 x float> %59, i32 3 %64 = fadd float %51, %60 %65 = fadd float %52, %61 %66 = fadd float %53, %62 %67 = fadd float %54, %63 %68 = bitcast float %38 to i32 %69 = bitcast float %39 to i32 %70 = insertelement <2 x i32> undef, i32 %68, i32 0 %71 = insertelement <2 x i32> %70, i32 %69, i32 1 %72 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %71, <32 x i8> %21, <16 x i8> %23, i32 2) %73 = extractelement <4 x float> %72, i32 0 %74 = extractelement <4 x float> %72, i32 1 %75 = extractelement <4 x float> %72, i32 2 %76 = extractelement <4 x float> %72, i32 3 %77 = bitcast float %40 to i32 %78 = bitcast float %41 to i32 %79 = insertelement <2 x i32> undef, i32 %77, i32 0 %80 = insertelement <2 x i32> %79, i32 %78, i32 1 %81 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %80, <32 x i8> %21, <16 x i8> %23, i32 2) %82 = extractelement <4 x float> %81, i32 0 %83 = extractelement <4 x float> %81, i32 1 %84 = extractelement <4 x float> %81, i32 2 %85 = extractelement <4 x float> %81, i32 3 %86 = fadd float %73, %82 %87 = fadd float %74, %83 %88 = fadd float %75, %84 %89 = fadd float %76, %85 %90 = bitcast float %34 to i32 %91 = bitcast float %35 to i32 %92 = insertelement <2 x i32> undef, i32 %90, i32 0 %93 = insertelement <2 x i32> %92, i32 %91, i32 1 %94 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %93, <32 x i8> %21, <16 x i8> %23, i32 2) %95 = extractelement <4 x float> %94, i32 0 %96 = extractelement <4 x float> %94, i32 1 %97 = extractelement <4 x float> %94, i32 2 %98 = extractelement <4 x float> %94, i32 3 %99 = bitcast float %36 to i32 %100 = bitcast float %37 to i32 %101 = insertelement <2 x i32> undef, i32 %99, i32 0 %102 = insertelement <2 x i32> %101, i32 %100, i32 1 %103 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %102, <32 x i8> %21, <16 x i8> %23, i32 2) %104 = extractelement <4 x float> %103, i32 0 %105 = extractelement <4 x float> %103, i32 1 %106 = extractelement <4 x float> %103, i32 2 %107 = extractelement <4 x float> %103, i32 3 %108 = fadd float %95, %104 %109 = fadd float %96, %105 %110 = fadd float %97, %106 %111 = fadd float %98, %107 %112 = bitcast float %30 to i32 %113 = bitcast float %31 to i32 %114 = insertelement <2 x i32> undef, i32 %112, i32 0 %115 = insertelement <2 x i32> %114, i32 %113, i32 1 %116 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %115, <32 x i8> %21, <16 x i8> %23, i32 2) %117 = extractelement <4 x float> %116, i32 0 %118 = extractelement <4 x float> %116, i32 1 %119 = extractelement <4 x float> %116, i32 2 %120 = extractelement <4 x float> %116, i32 3 %121 = bitcast float %32 to i32 %122 = bitcast float %33 to i32 %123 = insertelement <2 x i32> undef, i32 %121, i32 0 %124 = insertelement <2 x i32> %123, i32 %122, i32 1 %125 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %124, <32 x i8> %21, <16 x i8> %23, i32 2) %126 = extractelement <4 x float> %125, i32 0 %127 = extractelement <4 x float> %125, i32 1 %128 = extractelement <4 x float> %125, i32 2 %129 = extractelement <4 x float> %125, i32 3 %130 = fadd float %117, %126 %131 = fadd float %118, %127 %132 = fadd float %119, %128 %133 = fadd float %120, %129 %134 = bitcast float %26 to i32 %135 = bitcast float %27 to i32 %136 = insertelement <2 x i32> undef, i32 %134, i32 0 %137 = insertelement <2 x i32> %136, i32 %135, i32 1 %138 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %137, <32 x i8> %21, <16 x i8> %23, i32 2) %139 = extractelement <4 x float> %138, i32 0 %140 = extractelement <4 x float> %138, i32 1 %141 = extractelement <4 x float> %138, i32 2 %142 = extractelement <4 x float> %138, i32 3 %143 = bitcast float %28 to i32 %144 = bitcast float %29 to i32 %145 = insertelement <2 x i32> undef, i32 %143, i32 0 %146 = insertelement <2 x i32> %145, i32 %144, i32 1 %147 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %146, <32 x i8> %21, <16 x i8> %23, i32 2) %148 = extractelement <4 x float> %147, i32 0 %149 = extractelement <4 x float> %147, i32 1 %150 = extractelement <4 x float> %147, i32 2 %151 = extractelement <4 x float> %147, i32 3 %152 = fadd float %139, %148 %153 = fadd float %140, %149 %154 = fadd float %141, %150 %155 = fadd float %142, %151 %156 = bitcast float %24 to i32 %157 = bitcast float %25 to i32 %158 = insertelement <2 x i32> undef, i32 %156, i32 0 %159 = insertelement <2 x i32> %158, i32 %157, i32 1 %160 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %159, <32 x i8> %21, <16 x i8> %23, i32 2) %161 = extractelement <4 x float> %160, i32 0 %162 = extractelement <4 x float> %160, i32 1 %163 = extractelement <4 x float> %160, i32 2 %164 = extractelement <4 x float> %160, i32 3 %165 = fmul float %161, 0x3FCD38D600000000 %166 = fmul float %162, 0x3FCD38D600000000 %167 = fmul float %163, 0x3FCD38D600000000 %168 = fmul float %164, 0x3FCD38D600000000 %169 = fmul float %152, 0x3FC8D1F1C0000000 %170 = fadd float %169, %165 %171 = fmul float %153, 0x3FC8D1F1C0000000 %172 = fadd float %171, %166 %173 = fmul float %154, 0x3FC8D1F1C0000000 %174 = fadd float %173, %167 %175 = fmul float %155, 0x3FC8D1F1C0000000 %176 = fadd float %175, %168 %177 = fmul float %130, 0x3FBE6ACA80000000 %178 = fadd float %177, %170 %179 = fmul float %131, 0x3FBE6ACA80000000 %180 = fadd float %179, %172 %181 = fmul float %132, 0x3FBE6ACA80000000 %182 = fadd float %181, %174 %183 = fmul float %133, 0x3FBE6ACA80000000 %184 = fadd float %183, %176 %185 = fmul float %108, 0x3FAAE44B60000000 %186 = fadd float %185, %178 %187 = fmul float %109, 0x3FAAE44B60000000 %188 = fadd float %187, %180 %189 = fmul float %110, 0x3FAAE44B60000000 %190 = fadd float %189, %182 %191 = fmul float %111, 0x3FAAE44B60000000 %192 = fadd float %191, %184 %193 = fmul float %86, 0x3F9126E980000000 %194 = fadd float %193, %186 %195 = fmul float %87, 0x3F9126E980000000 %196 = fadd float %195, %188 %197 = fmul float %88, 0x3F9126E980000000 %198 = fadd float %197, %190 %199 = fmul float %89, 0x3F9126E980000000 %200 = fadd float %199, %192 %201 = fmul float %64, 0x3F6F926C80000000 %202 = fadd float %201, %194 %203 = fmul float %65, 0x3F6F926C80000000 %204 = fadd float %203, %196 %205 = fmul float %66, 0x3F6F926C80000000 %206 = fadd float %205, %198 %207 = fmul float %67, 0x3F6F926C80000000 %208 = fadd float %207, %200 %209 = call i32 @llvm.SI.packf16(float %202, float %204) %210 = bitcast i32 %209 to float %211 = call i32 @llvm.SI.packf16(float %206, float %208) %212 = bitcast i32 %211 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %210, float %212, float %210, float %212) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0700 c80d0701 c8080600 c8090601 c0800300 c0c40500 bf8c007f f0800f00 00020202 c81c0500 c81d0501 c8180400 c8190401 f0800f00 00020606 bf8c0770 06140b09 c8300100 c8310101 c82c0000 c82d0001 f0800f00 00020b0b 7e1e02ff 3e69c6b0 bf8c0770 10201f0e 7e2202ff 3e468f8e d282000a 0442230a c84c0b00 c84d0b01 c8480a00 c8490a01 f0800f00 00021212 c85c0900 c85d0901 c8580800 c8590801 f0800f00 00021616 bf8c0770 06202b19 7e3402ff 3df35654 d282000a 042a3510 c8700f00 c8710f01 c86c0e00 c86d0e01 f0800f00 00021b1b c8800d00 c8810d01 c87c0c00 c87d0c01 f0800f00 00021f1f bf8c0770 06203d22 7e4602ff 3d57225b d282000a 042a4710 c8941300 c8951301 c8901200 c8911201 f0800f00 00022424 c8a41100 c8a51101 c8a01000 c8a11001 f0800f00 00022828 bf8c0770 06204f2b 7e5802ff 3c89374c d282000a 042a5910 c8b81700 c8b91701 c8b41600 c8b51601 f0800f00 00022d2d c8c81500 c8c91501 c8c41400 c8c51401 f0800f00 00023131 bf8c0770 06006134 7e0202ff 3b7c9364 d2820000 042a0300 06140908 10201f0d d282000a 0442230a 06202918 d282000a 042a3510 06203b21 d282000a 042a4710 06204d2a d282000a 042a5910 06205f33 d282000a 042a0310 5e00010a 06140707 10201f0c d282000a 0442230a 06202717 d282000a 042a3510 06203920 d282000a 042a4710 06204b29 d282000a 042a5910 06205d32 d282000a 042a0310 06040506 10061f0b d2820002 040e2302 06062516 d2820002 040a3503 0606371f d2820002 040a4703 06064928 d2820002 040a5903 06065b31 d2820001 040a0303 5e021501 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL CONST[0..5] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, -1.0000, 4.0000} IMM[1] FLT32 { 2.0000, 0.0000, -2.0000, 4.0000} IMM[2] FLT32 { 3.0000, 0.0000, -3.0000, 4.0000} IMM[3] FLT32 { 4.0000, 0.0000, -4.0000, -5.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MAD TEMP[1], CONST[0].zwzw, IMM[0].xyzy, IN[1].xyxy 6: MAD TEMP[2], CONST[0].zwzw, IMM[1].xyzy, IN[1].xyxy 7: MAD TEMP[3], CONST[0].zwzw, IMM[2].xyzy, IN[1].xyxy 8: MAD TEMP[4], CONST[0].zwzw, IMM[3].xyzy, IN[1].xyxy 9: MAD TEMP[5], CONST[0].zwzw, IMM[3].xywy, IN[1].xyxy 10: MOV OUT[1], IN[1].xyxy 11: MOV OUT[2], TEMP[1] 12: MOV OUT[3], TEMP[2] 13: MOV OUT[4], TEMP[3] 14: MOV OUT[5], TEMP[4] 15: MOV OUT[6], TEMP[5] 16: MOV OUT[0], TEMP[0] 17: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 1.000000e+00 %79 = fadd float %78, %42 %80 = fmul float %12, 0.000000e+00 %81 = fadd float %80, %43 %82 = fmul float %11, -1.000000e+00 %83 = fadd float %82, %42 %84 = fmul float %12, 0.000000e+00 %85 = fadd float %84, %43 %86 = fmul float %11, 2.000000e+00 %87 = fadd float %86, %42 %88 = fmul float %12, 0.000000e+00 %89 = fadd float %88, %43 %90 = fmul float %11, -2.000000e+00 %91 = fadd float %90, %42 %92 = fmul float %12, 0.000000e+00 %93 = fadd float %92, %43 %94 = fmul float %11, 3.000000e+00 %95 = fadd float %94, %42 %96 = fmul float %12, 0.000000e+00 %97 = fadd float %96, %43 %98 = fmul float %11, -3.000000e+00 %99 = fadd float %98, %42 %100 = fmul float %12, 0.000000e+00 %101 = fadd float %100, %43 %102 = fmul float %11, 4.000000e+00 %103 = fadd float %102, %42 %104 = fmul float %12, 0.000000e+00 %105 = fadd float %104, %43 %106 = fmul float %11, -4.000000e+00 %107 = fadd float %106, %42 %108 = fmul float %12, 0.000000e+00 %109 = fadd float %108, %43 %110 = fmul float %11, 4.000000e+00 %111 = fadd float %110, %42 %112 = fmul float %12, 0.000000e+00 %113 = fadd float %112, %43 %114 = fmul float %11, -5.000000e+00 %115 = fadd float %114, %42 %116 = fmul float %12, 0.000000e+00 %117 = fadd float %116, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %42, float %43) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %79, float %81, float %83, float %85) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %87, float %89, float %91, float %93) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %95, float %97, float %99, float %101) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %103, float %105, float %107, float %109) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %111, float %113, float %115, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 bf8c0770 f800020f 02010201 c0800100 bf8c000f c2020102 bf8c007f 7e0a0204 d2080006 02020b01 060e0204 c2028103 bf8c007f d2820008 04090005 f800021f 08060807 d2060005 02020a04 060a0305 bf8c070f d2820006 0405ea04 f800022f 08060805 bf8c070f 7e0a02ff c0400000 d2820005 04060a04 7e0c02ff 40400000 d2820006 04060c04 f800023f 08050806 bf8c070f d2820005 0405ee04 d2820006 0405ec04 f800024f 08050806 bf8c070f 7e0a02ff c0a00000 d2820001 04060a04 f800025f 08010806 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL IN[2], GENERIC[2], PERSPECTIVE DCL IN[3], GENERIC[3], PERSPECTIVE DCL IN[4], GENERIC[4], PERSPECTIVE DCL IN[5], GENERIC[5], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0039, 0.0168, 0.0525, 0.1188} IMM[1] FLT32 { 0.1939, 0.2283, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[5].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MOV TEMP[1].xy, IN[5].zwww 3: TEX TEMP[1], TEMP[1], SAMP[0], 2D 4: ADD TEMP[0], TEMP[0], TEMP[1] 5: MOV TEMP[1].xy, IN[4].xyyy 6: TEX TEMP[1], TEMP[1], SAMP[0], 2D 7: MOV TEMP[2].xy, IN[4].zwww 8: TEX TEMP[2], TEMP[2], SAMP[0], 2D 9: ADD TEMP[1], TEMP[1], TEMP[2] 10: MOV TEMP[2].xy, IN[3].xyyy 11: TEX TEMP[2], TEMP[2], SAMP[0], 2D 12: MOV TEMP[3].xy, IN[3].zwww 13: TEX TEMP[3], TEMP[3], SAMP[0], 2D 14: ADD TEMP[2], TEMP[2], TEMP[3] 15: MOV TEMP[3].xy, IN[2].xyyy 16: TEX TEMP[3], TEMP[3], SAMP[0], 2D 17: MOV TEMP[4].xy, IN[2].zwww 18: TEX TEMP[4], TEMP[4], SAMP[0], 2D 19: ADD TEMP[3], TEMP[3], TEMP[4] 20: MOV TEMP[4].xy, IN[1].xyyy 21: TEX TEMP[4], TEMP[4], SAMP[0], 2D 22: MOV TEMP[5].xy, IN[1].zwww 23: TEX TEMP[5], TEMP[5], SAMP[0], 2D 24: ADD TEMP[4], TEMP[4], TEMP[5] 25: MOV TEMP[5].xy, IN[0].xyyy 26: TEX TEMP[5], TEMP[5], SAMP[0], 2D 27: MUL TEMP[5], TEMP[5], IMM[1].yyyy 28: MAD TEMP[4], TEMP[4], IMM[1].xxxx, TEMP[5] 29: MAD TEMP[3], TEMP[3], IMM[0].wwww, TEMP[4] 30: MAD TEMP[2], TEMP[2], IMM[0].zzzz, TEMP[3] 31: MAD TEMP[1], TEMP[1], IMM[0].yyyy, TEMP[2] 32: MAD TEMP[0], TEMP[0], IMM[0].xxxx, TEMP[1] 33: MOV OUT[0], TEMP[0] 34: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %3, <2 x i32> %5) %30 = call float @llvm.SI.fs.interp(i32 0, i32 2, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 2, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 2, i32 2, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 3, i32 2, i32 %3, <2 x i32> %5) %34 = call float @llvm.SI.fs.interp(i32 0, i32 3, i32 %3, <2 x i32> %5) %35 = call float @llvm.SI.fs.interp(i32 1, i32 3, i32 %3, <2 x i32> %5) %36 = call float @llvm.SI.fs.interp(i32 2, i32 3, i32 %3, <2 x i32> %5) %37 = call float @llvm.SI.fs.interp(i32 3, i32 3, i32 %3, <2 x i32> %5) %38 = call float @llvm.SI.fs.interp(i32 0, i32 4, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 4, i32 %3, <2 x i32> %5) %40 = call float @llvm.SI.fs.interp(i32 2, i32 4, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 3, i32 4, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 0, i32 5, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 5, i32 %3, <2 x i32> %5) %44 = call float @llvm.SI.fs.interp(i32 2, i32 5, i32 %3, <2 x i32> %5) %45 = call float @llvm.SI.fs.interp(i32 3, i32 5, i32 %3, <2 x i32> %5) %46 = bitcast float %42 to i32 %47 = bitcast float %43 to i32 %48 = insertelement <2 x i32> undef, i32 %46, i32 0 %49 = insertelement <2 x i32> %48, i32 %47, i32 1 %50 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %49, <32 x i8> %21, <16 x i8> %23, i32 2) %51 = extractelement <4 x float> %50, i32 0 %52 = extractelement <4 x float> %50, i32 1 %53 = extractelement <4 x float> %50, i32 2 %54 = extractelement <4 x float> %50, i32 3 %55 = bitcast float %44 to i32 %56 = bitcast float %45 to i32 %57 = insertelement <2 x i32> undef, i32 %55, i32 0 %58 = insertelement <2 x i32> %57, i32 %56, i32 1 %59 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %58, <32 x i8> %21, <16 x i8> %23, i32 2) %60 = extractelement <4 x float> %59, i32 0 %61 = extractelement <4 x float> %59, i32 1 %62 = extractelement <4 x float> %59, i32 2 %63 = extractelement <4 x float> %59, i32 3 %64 = fadd float %51, %60 %65 = fadd float %52, %61 %66 = fadd float %53, %62 %67 = fadd float %54, %63 %68 = bitcast float %38 to i32 %69 = bitcast float %39 to i32 %70 = insertelement <2 x i32> undef, i32 %68, i32 0 %71 = insertelement <2 x i32> %70, i32 %69, i32 1 %72 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %71, <32 x i8> %21, <16 x i8> %23, i32 2) %73 = extractelement <4 x float> %72, i32 0 %74 = extractelement <4 x float> %72, i32 1 %75 = extractelement <4 x float> %72, i32 2 %76 = extractelement <4 x float> %72, i32 3 %77 = bitcast float %40 to i32 %78 = bitcast float %41 to i32 %79 = insertelement <2 x i32> undef, i32 %77, i32 0 %80 = insertelement <2 x i32> %79, i32 %78, i32 1 %81 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %80, <32 x i8> %21, <16 x i8> %23, i32 2) %82 = extractelement <4 x float> %81, i32 0 %83 = extractelement <4 x float> %81, i32 1 %84 = extractelement <4 x float> %81, i32 2 %85 = extractelement <4 x float> %81, i32 3 %86 = fadd float %73, %82 %87 = fadd float %74, %83 %88 = fadd float %75, %84 %89 = fadd float %76, %85 %90 = bitcast float %34 to i32 %91 = bitcast float %35 to i32 %92 = insertelement <2 x i32> undef, i32 %90, i32 0 %93 = insertelement <2 x i32> %92, i32 %91, i32 1 %94 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %93, <32 x i8> %21, <16 x i8> %23, i32 2) %95 = extractelement <4 x float> %94, i32 0 %96 = extractelement <4 x float> %94, i32 1 %97 = extractelement <4 x float> %94, i32 2 %98 = extractelement <4 x float> %94, i32 3 %99 = bitcast float %36 to i32 %100 = bitcast float %37 to i32 %101 = insertelement <2 x i32> undef, i32 %99, i32 0 %102 = insertelement <2 x i32> %101, i32 %100, i32 1 %103 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %102, <32 x i8> %21, <16 x i8> %23, i32 2) %104 = extractelement <4 x float> %103, i32 0 %105 = extractelement <4 x float> %103, i32 1 %106 = extractelement <4 x float> %103, i32 2 %107 = extractelement <4 x float> %103, i32 3 %108 = fadd float %95, %104 %109 = fadd float %96, %105 %110 = fadd float %97, %106 %111 = fadd float %98, %107 %112 = bitcast float %30 to i32 %113 = bitcast float %31 to i32 %114 = insertelement <2 x i32> undef, i32 %112, i32 0 %115 = insertelement <2 x i32> %114, i32 %113, i32 1 %116 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %115, <32 x i8> %21, <16 x i8> %23, i32 2) %117 = extractelement <4 x float> %116, i32 0 %118 = extractelement <4 x float> %116, i32 1 %119 = extractelement <4 x float> %116, i32 2 %120 = extractelement <4 x float> %116, i32 3 %121 = bitcast float %32 to i32 %122 = bitcast float %33 to i32 %123 = insertelement <2 x i32> undef, i32 %121, i32 0 %124 = insertelement <2 x i32> %123, i32 %122, i32 1 %125 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %124, <32 x i8> %21, <16 x i8> %23, i32 2) %126 = extractelement <4 x float> %125, i32 0 %127 = extractelement <4 x float> %125, i32 1 %128 = extractelement <4 x float> %125, i32 2 %129 = extractelement <4 x float> %125, i32 3 %130 = fadd float %117, %126 %131 = fadd float %118, %127 %132 = fadd float %119, %128 %133 = fadd float %120, %129 %134 = bitcast float %26 to i32 %135 = bitcast float %27 to i32 %136 = insertelement <2 x i32> undef, i32 %134, i32 0 %137 = insertelement <2 x i32> %136, i32 %135, i32 1 %138 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %137, <32 x i8> %21, <16 x i8> %23, i32 2) %139 = extractelement <4 x float> %138, i32 0 %140 = extractelement <4 x float> %138, i32 1 %141 = extractelement <4 x float> %138, i32 2 %142 = extractelement <4 x float> %138, i32 3 %143 = bitcast float %28 to i32 %144 = bitcast float %29 to i32 %145 = insertelement <2 x i32> undef, i32 %143, i32 0 %146 = insertelement <2 x i32> %145, i32 %144, i32 1 %147 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %146, <32 x i8> %21, <16 x i8> %23, i32 2) %148 = extractelement <4 x float> %147, i32 0 %149 = extractelement <4 x float> %147, i32 1 %150 = extractelement <4 x float> %147, i32 2 %151 = extractelement <4 x float> %147, i32 3 %152 = fadd float %139, %148 %153 = fadd float %140, %149 %154 = fadd float %141, %150 %155 = fadd float %142, %151 %156 = bitcast float %24 to i32 %157 = bitcast float %25 to i32 %158 = insertelement <2 x i32> undef, i32 %156, i32 0 %159 = insertelement <2 x i32> %158, i32 %157, i32 1 %160 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %159, <32 x i8> %21, <16 x i8> %23, i32 2) %161 = extractelement <4 x float> %160, i32 0 %162 = extractelement <4 x float> %160, i32 1 %163 = extractelement <4 x float> %160, i32 2 %164 = extractelement <4 x float> %160, i32 3 %165 = fmul float %161, 0x3FCD38D600000000 %166 = fmul float %162, 0x3FCD38D600000000 %167 = fmul float %163, 0x3FCD38D600000000 %168 = fmul float %164, 0x3FCD38D600000000 %169 = fmul float %152, 0x3FC8D1F1C0000000 %170 = fadd float %169, %165 %171 = fmul float %153, 0x3FC8D1F1C0000000 %172 = fadd float %171, %166 %173 = fmul float %154, 0x3FC8D1F1C0000000 %174 = fadd float %173, %167 %175 = fmul float %155, 0x3FC8D1F1C0000000 %176 = fadd float %175, %168 %177 = fmul float %130, 0x3FBE6ACA80000000 %178 = fadd float %177, %170 %179 = fmul float %131, 0x3FBE6ACA80000000 %180 = fadd float %179, %172 %181 = fmul float %132, 0x3FBE6ACA80000000 %182 = fadd float %181, %174 %183 = fmul float %133, 0x3FBE6ACA80000000 %184 = fadd float %183, %176 %185 = fmul float %108, 0x3FAAE44B60000000 %186 = fadd float %185, %178 %187 = fmul float %109, 0x3FAAE44B60000000 %188 = fadd float %187, %180 %189 = fmul float %110, 0x3FAAE44B60000000 %190 = fadd float %189, %182 %191 = fmul float %111, 0x3FAAE44B60000000 %192 = fadd float %191, %184 %193 = fmul float %86, 0x3F9126E980000000 %194 = fadd float %193, %186 %195 = fmul float %87, 0x3F9126E980000000 %196 = fadd float %195, %188 %197 = fmul float %88, 0x3F9126E980000000 %198 = fadd float %197, %190 %199 = fmul float %89, 0x3F9126E980000000 %200 = fadd float %199, %192 %201 = fmul float %64, 0x3F6F926C80000000 %202 = fadd float %201, %194 %203 = fmul float %65, 0x3F6F926C80000000 %204 = fadd float %203, %196 %205 = fmul float %66, 0x3F6F926C80000000 %206 = fadd float %205, %198 %207 = fmul float %67, 0x3F6F926C80000000 %208 = fadd float %207, %200 %209 = call i32 @llvm.SI.packf16(float %202, float %204) %210 = bitcast i32 %209 to float %211 = call i32 @llvm.SI.packf16(float %206, float %208) %212 = bitcast i32 %211 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %210, float %212, float %210, float %212) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0700 c80d0701 c8080600 c8090601 c0800300 c0c40500 bf8c007f f0800f00 00020202 c81c0500 c81d0501 c8180400 c8190401 f0800f00 00020606 bf8c0770 06140b09 c8300100 c8310101 c82c0000 c82d0001 f0800f00 00020b0b 7e1e02ff 3e69c6b0 bf8c0770 10201f0e 7e2202ff 3e468f8e d282000a 0442230a c84c0b00 c84d0b01 c8480a00 c8490a01 f0800f00 00021212 c85c0900 c85d0901 c8580800 c8590801 f0800f00 00021616 bf8c0770 06202b19 7e3402ff 3df35654 d282000a 042a3510 c8700f00 c8710f01 c86c0e00 c86d0e01 f0800f00 00021b1b c8800d00 c8810d01 c87c0c00 c87d0c01 f0800f00 00021f1f bf8c0770 06203d22 7e4602ff 3d57225b d282000a 042a4710 c8941300 c8951301 c8901200 c8911201 f0800f00 00022424 c8a41100 c8a51101 c8a01000 c8a11001 f0800f00 00022828 bf8c0770 06204f2b 7e5802ff 3c89374c d282000a 042a5910 c8b81700 c8b91701 c8b41600 c8b51601 f0800f00 00022d2d c8c81500 c8c91501 c8c41400 c8c51401 f0800f00 00023131 bf8c0770 06006134 7e0202ff 3b7c9364 d2820000 042a0300 06140908 10201f0d d282000a 0442230a 06202918 d282000a 042a3510 06203b21 d282000a 042a4710 06204d2a d282000a 042a5910 06205f33 d282000a 042a0310 5e00010a 06140707 10201f0c d282000a 0442230a 06202717 d282000a 042a3510 06203920 d282000a 042a4710 06204b29 d282000a 042a5910 06205d32 d282000a 042a0310 06040506 10061f0b d2820002 040e2302 06062516 d2820002 040a3503 0606371f d2820002 040a4703 06064928 d2820002 040a5903 06065b31 d2820001 040a0303 5e021501 f8001c0f 00010001 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL OUT[3], GENERIC[2] DCL OUT[4], GENERIC[3] DCL OUT[5], GENERIC[4] DCL OUT[6], GENERIC[5] DCL CONST[0..5] DCL TEMP[0..5], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, -1.0000, 5.0000} IMM[1] FLT32 { 0.0000, 2.0000, -2.0000, 5.0000} IMM[2] FLT32 { 0.0000, 3.0000, -3.0000, 5.0000} IMM[3] FLT32 { 0.0000, 4.0000, -4.0000, 5.0000} IMM[4] FLT32 { 0.0000, 5.0000, -5.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MAD TEMP[1], CONST[0].zwzw, IMM[0].xyxz, IN[1].xyxy 6: MAD TEMP[2], CONST[0].zwzw, IMM[1].xyxz, IN[1].xyxy 7: MAD TEMP[3], CONST[0].zwzw, IMM[2].xyxz, IN[1].xyxy 8: MAD TEMP[4], CONST[0].zwzw, IMM[3].xyxz, IN[1].xyxy 9: MAD TEMP[5], CONST[0].zwzw, IMM[4].xyxz, IN[1].xyxy 10: MOV OUT[1], IN[1].xyxy 11: MOV OUT[2], TEMP[1] 12: MOV OUT[3], TEMP[2] 13: MOV OUT[4], TEMP[3] 14: MOV OUT[5], TEMP[4] 15: MOV OUT[6], TEMP[5] 16: MOV OUT[0], TEMP[0] 17: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fmul float %11, 0.000000e+00 %79 = fadd float %78, %42 %80 = fmul float %12, 1.000000e+00 %81 = fadd float %80, %43 %82 = fmul float %11, 0.000000e+00 %83 = fadd float %82, %42 %84 = fmul float %12, -1.000000e+00 %85 = fadd float %84, %43 %86 = fmul float %11, 0.000000e+00 %87 = fadd float %86, %42 %88 = fmul float %12, 2.000000e+00 %89 = fadd float %88, %43 %90 = fmul float %11, 0.000000e+00 %91 = fadd float %90, %42 %92 = fmul float %12, -2.000000e+00 %93 = fadd float %92, %43 %94 = fmul float %11, 0.000000e+00 %95 = fadd float %94, %42 %96 = fmul float %12, 3.000000e+00 %97 = fadd float %96, %43 %98 = fmul float %11, 0.000000e+00 %99 = fadd float %98, %42 %100 = fmul float %12, -3.000000e+00 %101 = fadd float %100, %43 %102 = fmul float %11, 0.000000e+00 %103 = fadd float %102, %42 %104 = fmul float %12, 4.000000e+00 %105 = fadd float %104, %43 %106 = fmul float %11, 0.000000e+00 %107 = fadd float %106, %42 %108 = fmul float %12, -4.000000e+00 %109 = fadd float %108, %43 %110 = fmul float %11, 0.000000e+00 %111 = fadd float %110, %42 %112 = fmul float %12, 5.000000e+00 %113 = fadd float %112, %43 %114 = fmul float %11, 0.000000e+00 %115 = fadd float %114, %42 %116 = fmul float %12, -5.000000e+00 %117 = fadd float %116, %43 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %42, float %43) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %79, float %81, float %83, float %85) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 34, i32 0, float %87, float %89, float %91, float %93) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 35, i32 0, float %95, float %97, float %99, float %101) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 36, i32 0, float %103, float %105, float %107, float %109) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 37, i32 0, float %111, float %113, float %115, float %117) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840704 bf8c007f e00c2000 80020100 bf8c0770 f800020f 02010201 c0800100 bf8c000f c2020103 bf8c007f 7e0a0204 d2080006 02020b02 060e0404 c2028102 bf8c007f d2820008 04050005 f800021f 06080708 d2060005 02020a04 060a0505 bf8c070f d2820006 0409ea04 f800022f 06080508 bf8c070f 7e0a02ff c0400000 d2820005 040a0a04 7e0c02ff 40400000 d2820006 040a0c04 f800023f 05080608 bf8c070f d2820005 0409ee04 d2820006 0409ec04 f800024f 05080608 bf8c070f 7e0a02ff c0a00000 d2820005 040a0a04 7e0c02ff 40a00000 d2820001 040a0c04 f800025f 05080108 c0820700 bf8c000f e00c2000 80010000 c2020115 bf8c0070 7e080204 d2080004 02020901 c2020114 bf8c007f 7e0a0204 d2080005 02020b00 c2020107 bf8c007f 100c0a04 c202010b bf8c007f d2820006 041a0804 c2020116 bf8c007f 7e0e0204 d2080007 02020f02 c202010f bf8c007f d2820006 041a0e04 c2020113 bf8c007f d2820006 041a0604 c2020106 bf8c007f 10100a04 c202010a bf8c007f d2820008 04220804 c202010e bf8c007f d2820008 04220e04 c2020112 bf8c007f d2820008 04220604 c2020105 bf8c007f 10120a04 c2020109 bf8c007f d2820009 04260804 c202010d bf8c007f d2820009 04260e04 c2020111 bf8c007f d2820009 04260604 c2020104 bf8c007f 100a0a04 c2020108 bf8c007f d2820004 04160804 c202010c bf8c007f d2820004 04120e04 c2000110 bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL CONST[3..4] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { -5.0000, 0.5000, 0.0500, -4.8544} IMM[1] FLT32 { -4.7170, 5.0000, 0.1500, 0.5000} IMM[2] FLT32 { 4.8544, 4.7170, 3.3333, 3.2468} IMM[3] FLT32 { 0.1900, 0.5000, 3.1646, 3.0864} IMM[4] FLT32 { 1.4286, 0.3500, 0.5000, 1.3889} IMM[5] FLT32 { 1.3514, 1.3158, 0.9091, 0.8772} IMM[6] FLT32 { 0.8475, 0.8197, 0.7937, 0.7692} IMM[7] FLT32 { 0.5700, 0.5000, 0.7463, 0.7246} IMM[8] FLT32 { 0.7042, 0.6849, 0.8500, 0.5000} IMM[9] FLT32 { 0.4902, 0.4808, 0.4717, 0.4630} IMM[10] FLT32 { 0.4167, 1.0000, 0.5000, 0.4098} IMM[11] FLT32 { 0.4032, 0.3968, 0.3906, 0.0000} 0: MAD TEMP[0].xy, IN[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 1: MOV TEMP[1].xy, TEMP[0].xyyy 2: TEX TEMP[1], TEMP[1], SAMP[0], 2D 3: MOV TEMP[2].xy, IMM[0].zyyy 4: TEX TEMP[2].xyz, TEMP[2], SAMP[2], 2D 5: MUL TEMP[2].xyz, TEMP[1].xyzz, TEMP[2].xyzz 6: MOV TEMP[0].xy, TEMP[0].xyyy 7: TEX TEMP[0].x, TEMP[0], SAMP[1], 2D 8: ADD_SAT TEMP[1].x, TEMP[1].wwww, -CONST[4].xxxx 9: MUL TEMP[0].x, TEMP[0].xxxx, TEMP[1].xxxx 10: MUL TEMP[0].xyz, TEMP[2].xyzz, TEMP[0].xxxx 11: MAD TEMP[1].xy, IN[0].xyyy, IMM[0].wwww, IMM[0].yyyy 12: MOV TEMP[2].xy, TEMP[1].xyyy 13: TEX TEMP[2], TEMP[2], SAMP[0], 2D 14: MOV TEMP[3].xy, IMM[0].zyyy 15: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 16: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 17: MOV TEMP[1].xy, TEMP[1].xyyy 18: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 19: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 20: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 21: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 22: MAD TEMP[1].xy, IN[0].xyyy, IMM[1].xxxx, IMM[0].yyyy 23: MOV TEMP[2].xy, TEMP[1].xyyy 24: TEX TEMP[2], TEMP[2], SAMP[0], 2D 25: MOV TEMP[3].xy, IMM[0].zyyy 26: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 27: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 28: MOV TEMP[1].xy, TEMP[1].xyyy 29: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 30: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 31: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 32: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 33: MAD TEMP[1].xy, IN[0].xyyy, IMM[1].yyyy, IMM[0].yyyy 34: MOV TEMP[2].xy, TEMP[1].xyyy 35: TEX TEMP[2], TEMP[2], SAMP[0], 2D 36: MOV TEMP[3].xy, IMM[1].zwww 37: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 38: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 39: MOV TEMP[1].xy, TEMP[1].xyyy 40: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 41: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 42: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 43: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 44: MAD TEMP[1].xy, IN[0].xyyy, IMM[2].xxxx, IMM[0].yyyy 45: MOV TEMP[2].xy, TEMP[1].xyyy 46: TEX TEMP[2], TEMP[2], SAMP[0], 2D 47: MOV TEMP[3].xy, IMM[1].zwww 48: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 49: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 50: MOV TEMP[1].xy, TEMP[1].xyyy 51: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 52: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 53: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 54: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 55: MAD TEMP[1].xy, IN[0].xyyy, IMM[2].yyyy, IMM[0].yyyy 56: MOV TEMP[2].xy, TEMP[1].xyyy 57: TEX TEMP[2], TEMP[2], SAMP[0], 2D 58: MOV TEMP[3].xy, IMM[1].zwww 59: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 60: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 61: MOV TEMP[1].xy, TEMP[1].xyyy 62: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 63: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 64: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 65: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 66: MAD TEMP[1].xy, IN[0].xyyy, IMM[2].zzzz, IMM[0].yyyy 67: MOV TEMP[2].xy, TEMP[1].xyyy 68: TEX TEMP[2], TEMP[2], SAMP[0], 2D 69: MOV TEMP[3].xy, IMM[3].xyyy 70: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 71: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 72: MOV TEMP[1].xy, TEMP[1].xyyy 73: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 74: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 75: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 76: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 77: MAD TEMP[1].xy, IN[0].xyyy, IMM[2].wwww, IMM[0].yyyy 78: MOV TEMP[2].xy, TEMP[1].xyyy 79: TEX TEMP[2], TEMP[2], SAMP[0], 2D 80: MOV TEMP[3].xy, IMM[3].xyyy 81: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 82: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 83: MOV TEMP[1].xy, TEMP[1].xyyy 84: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 85: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 86: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 87: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 88: MAD TEMP[1].xy, IN[0].xyyy, IMM[3].zzzz, IMM[0].yyyy 89: MOV TEMP[2].xy, TEMP[1].xyyy 90: TEX TEMP[2], TEMP[2], SAMP[0], 2D 91: MOV TEMP[3].xy, IMM[3].xyyy 92: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 93: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 94: MOV TEMP[1].xy, TEMP[1].xyyy 95: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 96: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 97: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 98: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 99: MAD TEMP[1].xy, IN[0].xyyy, IMM[3].wwww, IMM[0].yyyy 100: MOV TEMP[2].xy, TEMP[1].xyyy 101: TEX TEMP[2], TEMP[2], SAMP[0], 2D 102: MOV TEMP[3].xy, IMM[3].xyyy 103: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 104: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 105: MOV TEMP[1].xy, TEMP[1].xyyy 106: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 107: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 108: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 109: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 110: MAD TEMP[1].xy, IN[0].xyyy, IMM[4].xxxx, IMM[0].yyyy 111: MOV TEMP[2].xy, TEMP[1].xyyy 112: TEX TEMP[2], TEMP[2], SAMP[0], 2D 113: MOV TEMP[3].xy, IMM[4].yzzz 114: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 115: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 116: MOV TEMP[1].xy, TEMP[1].xyyy 117: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 118: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 119: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 120: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 121: MAD TEMP[1].xy, IN[0].xyyy, IMM[4].wwww, IMM[0].yyyy 122: MOV TEMP[2].xy, TEMP[1].xyyy 123: TEX TEMP[2], TEMP[2], SAMP[0], 2D 124: MOV TEMP[3].xy, IMM[4].yzzz 125: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 126: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 127: MOV TEMP[1].xy, TEMP[1].xyyy 128: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 129: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 130: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 131: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 132: MAD TEMP[1].xy, IN[0].xyyy, IMM[5].xxxx, IMM[0].yyyy 133: MOV TEMP[2].xy, TEMP[1].xyyy 134: TEX TEMP[2], TEMP[2], SAMP[0], 2D 135: MOV TEMP[3].xy, IMM[4].yzzz 136: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 137: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 138: MOV TEMP[1].xy, TEMP[1].xyyy 139: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 140: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 141: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 142: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 143: MAD TEMP[1].xy, IN[0].xyyy, IMM[5].yyyy, IMM[0].yyyy 144: MOV TEMP[2].xy, TEMP[1].xyyy 145: TEX TEMP[2], TEMP[2], SAMP[0], 2D 146: MOV TEMP[3].xy, IMM[4].yzzz 147: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 148: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 149: MOV TEMP[1].xy, TEMP[1].xyyy 150: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 151: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 152: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 153: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 154: MAD TEMP[1].xy, IN[0].xyyy, IMM[5].zzzz, IMM[0].yyyy 155: MOV TEMP[2].xy, TEMP[1].xyyy 156: TEX TEMP[2], TEMP[2], SAMP[0], 2D 157: MOV TEMP[3].xy, IMM[0].yyyy 158: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 159: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 160: MOV TEMP[1].xy, TEMP[1].xyyy 161: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 162: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 163: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 164: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 165: MAD TEMP[1].xy, IN[0].xyyy, IMM[5].wwww, IMM[0].yyyy 166: MOV TEMP[2].xy, TEMP[1].xyyy 167: TEX TEMP[2], TEMP[2], SAMP[0], 2D 168: MOV TEMP[3].xy, IMM[0].yyyy 169: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 170: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 171: MOV TEMP[1].xy, TEMP[1].xyyy 172: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 173: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 174: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 175: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 176: MAD TEMP[1].xy, IN[0].xyyy, IMM[6].xxxx, IMM[0].yyyy 177: MOV TEMP[2].xy, TEMP[1].xyyy 178: TEX TEMP[2], TEMP[2], SAMP[0], 2D 179: MOV TEMP[3].xy, IMM[0].yyyy 180: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 181: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 182: MOV TEMP[1].xy, TEMP[1].xyyy 183: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 184: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 185: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 186: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 187: MAD TEMP[1].xy, IN[0].xyyy, IMM[6].yyyy, IMM[0].yyyy 188: MOV TEMP[2].xy, TEMP[1].xyyy 189: TEX TEMP[2], TEMP[2], SAMP[0], 2D 190: MOV TEMP[3].xy, IMM[0].yyyy 191: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 192: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 193: MOV TEMP[1].xy, TEMP[1].xyyy 194: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 195: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 196: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 197: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 198: MAD TEMP[1].xy, IN[0].xyyy, IMM[6].zzzz, IMM[0].yyyy 199: MOV TEMP[2].xy, TEMP[1].xyyy 200: TEX TEMP[2], TEMP[2], SAMP[0], 2D 201: MOV TEMP[3].xy, IMM[0].yyyy 202: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 203: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 204: MOV TEMP[1].xy, TEMP[1].xyyy 205: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 206: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 207: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 208: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 209: MAD TEMP[1].xy, IN[0].xyyy, IMM[6].wwww, IMM[0].yyyy 210: MOV TEMP[2].xy, TEMP[1].xyyy 211: TEX TEMP[2], TEMP[2], SAMP[0], 2D 212: MOV TEMP[3].xy, IMM[7].xyyy 213: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 214: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 215: MOV TEMP[1].xy, TEMP[1].xyyy 216: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 217: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 218: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 219: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 220: MAD TEMP[1].xy, IN[0].xyyy, IMM[7].zzzz, IMM[0].yyyy 221: MOV TEMP[2].xy, TEMP[1].xyyy 222: TEX TEMP[2], TEMP[2], SAMP[0], 2D 223: MOV TEMP[3].xy, IMM[7].xyyy 224: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 225: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 226: MOV TEMP[1].xy, TEMP[1].xyyy 227: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 228: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 229: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 230: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 231: MAD TEMP[1].xy, IN[0].xyyy, IMM[7].wwww, IMM[0].yyyy 232: MOV TEMP[2].xy, TEMP[1].xyyy 233: TEX TEMP[2], TEMP[2], SAMP[0], 2D 234: MOV TEMP[3].xy, IMM[7].xyyy 235: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 236: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 237: MOV TEMP[1].xy, TEMP[1].xyyy 238: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 239: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 240: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 241: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 242: MAD TEMP[1].xy, IN[0].xyyy, IMM[8].xxxx, IMM[0].yyyy 243: MOV TEMP[2].xy, TEMP[1].xyyy 244: TEX TEMP[2], TEMP[2], SAMP[0], 2D 245: MOV TEMP[3].xy, IMM[7].xyyy 246: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 247: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 248: MOV TEMP[1].xy, TEMP[1].xyyy 249: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 250: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 251: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 252: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 253: MAD TEMP[1].xy, IN[0].xyyy, IMM[8].yyyy, IMM[0].yyyy 254: MOV TEMP[2].xy, TEMP[1].xyyy 255: TEX TEMP[2], TEMP[2], SAMP[0], 2D 256: MOV TEMP[3].xy, IMM[7].xyyy 257: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 258: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 259: MOV TEMP[1].xy, TEMP[1].xyyy 260: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 261: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 262: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 263: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 264: MAD TEMP[1].xy, IN[0].xyyy, IMM[0].yyyy, IMM[0].yyyy 265: MOV TEMP[2].xy, TEMP[1].xyyy 266: TEX TEMP[2], TEMP[2], SAMP[0], 2D 267: MOV TEMP[3].xy, IMM[8].zwww 268: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 269: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 270: MOV TEMP[1].xy, TEMP[1].xyyy 271: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 272: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 273: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 274: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 275: MAD TEMP[1].xy, IN[0].xyyy, IMM[9].xxxx, IMM[0].yyyy 276: MOV TEMP[2].xy, TEMP[1].xyyy 277: TEX TEMP[2], TEMP[2], SAMP[0], 2D 278: MOV TEMP[3].xy, IMM[8].zwww 279: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 280: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 281: MOV TEMP[1].xy, TEMP[1].xyyy 282: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 283: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 284: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 285: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 286: MAD TEMP[1].xy, IN[0].xyyy, IMM[9].yyyy, IMM[0].yyyy 287: MOV TEMP[2].xy, TEMP[1].xyyy 288: TEX TEMP[2], TEMP[2], SAMP[0], 2D 289: MOV TEMP[3].xy, IMM[8].zwww 290: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 291: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 292: MOV TEMP[1].xy, TEMP[1].xyyy 293: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 294: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 295: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 296: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 297: MAD TEMP[1].xy, IN[0].xyyy, IMM[9].zzzz, IMM[0].yyyy 298: MOV TEMP[2].xy, TEMP[1].xyyy 299: TEX TEMP[2], TEMP[2], SAMP[0], 2D 300: MOV TEMP[3].xy, IMM[8].zwww 301: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 302: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 303: MOV TEMP[1].xy, TEMP[1].xyyy 304: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 305: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 306: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 307: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 308: MAD TEMP[1].xy, IN[0].xyyy, IMM[9].wwww, IMM[0].yyyy 309: MOV TEMP[2].xy, TEMP[1].xyyy 310: TEX TEMP[2], TEMP[2], SAMP[0], 2D 311: MOV TEMP[3].xy, IMM[8].zwww 312: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 313: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 314: MOV TEMP[1].xy, TEMP[1].xyyy 315: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 316: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 317: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 318: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 319: MAD TEMP[1].xy, IN[0].xyyy, IMM[10].xxxx, IMM[0].yyyy 320: MOV TEMP[2].xy, TEMP[1].xyyy 321: TEX TEMP[2], TEMP[2], SAMP[0], 2D 322: MOV TEMP[3].xy, IMM[10].yzzz 323: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 324: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 325: MOV TEMP[1].xy, TEMP[1].xyyy 326: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 327: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 328: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 329: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 330: MAD TEMP[1].xy, IN[0].xyyy, IMM[10].wwww, IMM[0].yyyy 331: MOV TEMP[2].xy, TEMP[1].xyyy 332: TEX TEMP[2], TEMP[2], SAMP[0], 2D 333: MOV TEMP[3].xy, IMM[10].yzzz 334: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 335: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 336: MOV TEMP[1].xy, TEMP[1].xyyy 337: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 338: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 339: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 340: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 341: MAD TEMP[1].xy, IN[0].xyyy, IMM[11].xxxx, IMM[0].yyyy 342: MOV TEMP[2].xy, TEMP[1].xyyy 343: TEX TEMP[2], TEMP[2], SAMP[0], 2D 344: MOV TEMP[3].xy, IMM[10].yzzz 345: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 346: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 347: MOV TEMP[1].xy, TEMP[1].xyyy 348: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 349: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 350: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 351: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 352: MAD TEMP[1].xy, IN[0].xyyy, IMM[11].yyyy, IMM[0].yyyy 353: MOV TEMP[2].xy, TEMP[1].xyyy 354: TEX TEMP[2], TEMP[2], SAMP[0], 2D 355: MOV TEMP[3].xy, IMM[10].yzzz 356: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 357: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 358: MOV TEMP[1].xy, TEMP[1].xyyy 359: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 360: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 361: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 362: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 363: MAD TEMP[1].xy, IN[0].xyyy, IMM[11].zzzz, IMM[0].yyyy 364: MOV TEMP[2].xy, TEMP[1].xyyy 365: TEX TEMP[2], TEMP[2], SAMP[0], 2D 366: MOV TEMP[3].xy, IMM[10].yzzz 367: TEX TEMP[3].xyz, TEMP[3], SAMP[2], 2D 368: MUL TEMP[3].xyz, TEMP[2].xyzz, TEMP[3].xyzz 369: MOV TEMP[1].xy, TEMP[1].xyyy 370: TEX TEMP[1].x, TEMP[1], SAMP[1], 2D 371: ADD_SAT TEMP[2].x, TEMP[2].wwww, -CONST[4].xxxx 372: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 373: MAD TEMP[0].xyz, TEMP[3].xyzz, TEMP[1].xxxx, TEMP[0].xyzz 374: MOV TEMP[1].w, IMM[10].yyyy 375: MUL TEMP[1].xyz, TEMP[0].xyzz, CONST[3].xyzz 376: MOV OUT[0], TEMP[1] 377: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 48) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 52) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 56) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 64) %26 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %27 = load <32 x i8> addrspace(2)* %26, !tbaa !0 %28 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %29 = load <16 x i8> addrspace(2)* %28, !tbaa !0 %30 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %31 = load <32 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %35 = load <32 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %37 = load <16 x i8> addrspace(2)* %36, !tbaa !0 %38 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %39 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %40 = fmul float %38, -5.000000e+00 %41 = fadd float %40, 5.000000e-01 %42 = fmul float %39, -5.000000e+00 %43 = fadd float %42, 5.000000e-01 %44 = bitcast float %41 to i32 %45 = bitcast float %43 to i32 %46 = insertelement <2 x i32> undef, i32 %44, i32 0 %47 = insertelement <2 x i32> %46, i32 %45, i32 1 %48 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %47, <32 x i8> %27, <16 x i8> %29, i32 2) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = bitcast float 0x3FA99999A0000000 to i32 %54 = bitcast float 5.000000e-01 to i32 %55 = insertelement <2 x i32> undef, i32 %53, i32 0 %56 = insertelement <2 x i32> %55, i32 %54, i32 1 %57 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %56, <32 x i8> %35, <16 x i8> %37, i32 2) %58 = extractelement <4 x float> %57, i32 0 %59 = extractelement <4 x float> %57, i32 1 %60 = extractelement <4 x float> %57, i32 2 %61 = fmul float %49, %58 %62 = fmul float %50, %59 %63 = fmul float %51, %60 %64 = bitcast float %41 to i32 %65 = bitcast float %43 to i32 %66 = insertelement <2 x i32> undef, i32 %64, i32 0 %67 = insertelement <2 x i32> %66, i32 %65, i32 1 %68 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %67, <32 x i8> %31, <16 x i8> %33, i32 2) %69 = extractelement <4 x float> %68, i32 0 %70 = fsub float -0.000000e+00, %25 %71 = fadd float %52, %70 %72 = call float @llvm.AMDIL.clamp.(float %71, float 0.000000e+00, float 1.000000e+00) %73 = fmul float %69, %72 %74 = fmul float %61, %73 %75 = fmul float %62, %73 %76 = fmul float %63, %73 %77 = fmul float %38, 0xC0136ADFC0000000 %78 = fadd float %77, 5.000000e-01 %79 = fmul float %39, 0xC0136ADFC0000000 %80 = fadd float %79, 5.000000e-01 %81 = bitcast float %78 to i32 %82 = bitcast float %80 to i32 %83 = insertelement <2 x i32> undef, i32 %81, i32 0 %84 = insertelement <2 x i32> %83, i32 %82, i32 1 %85 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %84, <32 x i8> %27, <16 x i8> %29, i32 2) %86 = extractelement <4 x float> %85, i32 0 %87 = extractelement <4 x float> %85, i32 1 %88 = extractelement <4 x float> %85, i32 2 %89 = extractelement <4 x float> %85, i32 3 %90 = bitcast float 0x3FA99999A0000000 to i32 %91 = bitcast float 5.000000e-01 to i32 %92 = insertelement <2 x i32> undef, i32 %90, i32 0 %93 = insertelement <2 x i32> %92, i32 %91, i32 1 %94 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %93, <32 x i8> %35, <16 x i8> %37, i32 2) %95 = extractelement <4 x float> %94, i32 0 %96 = extractelement <4 x float> %94, i32 1 %97 = extractelement <4 x float> %94, i32 2 %98 = fmul float %86, %95 %99 = fmul float %87, %96 %100 = fmul float %88, %97 %101 = bitcast float %78 to i32 %102 = bitcast float %80 to i32 %103 = insertelement <2 x i32> undef, i32 %101, i32 0 %104 = insertelement <2 x i32> %103, i32 %102, i32 1 %105 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %104, <32 x i8> %31, <16 x i8> %33, i32 2) %106 = extractelement <4 x float> %105, i32 0 %107 = fsub float -0.000000e+00, %25 %108 = fadd float %89, %107 %109 = call float @llvm.AMDIL.clamp.(float %108, float 0.000000e+00, float 1.000000e+00) %110 = fmul float %106, %109 %111 = fmul float %98, %110 %112 = fadd float %111, %74 %113 = fmul float %99, %110 %114 = fadd float %113, %75 %115 = fmul float %100, %110 %116 = fadd float %115, %76 %117 = fmul float %38, 0xC012DE3060000000 %118 = fadd float %117, 5.000000e-01 %119 = fmul float %39, 0xC012DE3060000000 %120 = fadd float %119, 5.000000e-01 %121 = bitcast float %118 to i32 %122 = bitcast float %120 to i32 %123 = insertelement <2 x i32> undef, i32 %121, i32 0 %124 = insertelement <2 x i32> %123, i32 %122, i32 1 %125 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %124, <32 x i8> %27, <16 x i8> %29, i32 2) %126 = extractelement <4 x float> %125, i32 0 %127 = extractelement <4 x float> %125, i32 1 %128 = extractelement <4 x float> %125, i32 2 %129 = extractelement <4 x float> %125, i32 3 %130 = bitcast float 0x3FA99999A0000000 to i32 %131 = bitcast float 5.000000e-01 to i32 %132 = insertelement <2 x i32> undef, i32 %130, i32 0 %133 = insertelement <2 x i32> %132, i32 %131, i32 1 %134 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %133, <32 x i8> %35, <16 x i8> %37, i32 2) %135 = extractelement <4 x float> %134, i32 0 %136 = extractelement <4 x float> %134, i32 1 %137 = extractelement <4 x float> %134, i32 2 %138 = fmul float %126, %135 %139 = fmul float %127, %136 %140 = fmul float %128, %137 %141 = bitcast float %118 to i32 %142 = bitcast float %120 to i32 %143 = insertelement <2 x i32> undef, i32 %141, i32 0 %144 = insertelement <2 x i32> %143, i32 %142, i32 1 %145 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %144, <32 x i8> %31, <16 x i8> %33, i32 2) %146 = extractelement <4 x float> %145, i32 0 %147 = fsub float -0.000000e+00, %25 %148 = fadd float %129, %147 %149 = call float @llvm.AMDIL.clamp.(float %148, float 0.000000e+00, float 1.000000e+00) %150 = fmul float %146, %149 %151 = fmul float %138, %150 %152 = fadd float %151, %112 %153 = fmul float %139, %150 %154 = fadd float %153, %114 %155 = fmul float %140, %150 %156 = fadd float %155, %116 %157 = fmul float %38, 5.000000e+00 %158 = fadd float %157, 5.000000e-01 %159 = fmul float %39, 5.000000e+00 %160 = fadd float %159, 5.000000e-01 %161 = bitcast float %158 to i32 %162 = bitcast float %160 to i32 %163 = insertelement <2 x i32> undef, i32 %161, i32 0 %164 = insertelement <2 x i32> %163, i32 %162, i32 1 %165 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %164, <32 x i8> %27, <16 x i8> %29, i32 2) %166 = extractelement <4 x float> %165, i32 0 %167 = extractelement <4 x float> %165, i32 1 %168 = extractelement <4 x float> %165, i32 2 %169 = extractelement <4 x float> %165, i32 3 %170 = bitcast float 0x3FC3333340000000 to i32 %171 = bitcast float 5.000000e-01 to i32 %172 = insertelement <2 x i32> undef, i32 %170, i32 0 %173 = insertelement <2 x i32> %172, i32 %171, i32 1 %174 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %173, <32 x i8> %35, <16 x i8> %37, i32 2) %175 = extractelement <4 x float> %174, i32 0 %176 = extractelement <4 x float> %174, i32 1 %177 = extractelement <4 x float> %174, i32 2 %178 = fmul float %166, %175 %179 = fmul float %167, %176 %180 = fmul float %168, %177 %181 = bitcast float %158 to i32 %182 = bitcast float %160 to i32 %183 = insertelement <2 x i32> undef, i32 %181, i32 0 %184 = insertelement <2 x i32> %183, i32 %182, i32 1 %185 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %184, <32 x i8> %31, <16 x i8> %33, i32 2) %186 = extractelement <4 x float> %185, i32 0 %187 = fsub float -0.000000e+00, %25 %188 = fadd float %169, %187 %189 = call float @llvm.AMDIL.clamp.(float %188, float 0.000000e+00, float 1.000000e+00) %190 = fmul float %186, %189 %191 = fmul float %178, %190 %192 = fadd float %191, %152 %193 = fmul float %179, %190 %194 = fadd float %193, %154 %195 = fmul float %180, %190 %196 = fadd float %195, %156 %197 = fmul float %38, 0x40136ADFC0000000 %198 = fadd float %197, 5.000000e-01 %199 = fmul float %39, 0x40136ADFC0000000 %200 = fadd float %199, 5.000000e-01 %201 = bitcast float %198 to i32 %202 = bitcast float %200 to i32 %203 = insertelement <2 x i32> undef, i32 %201, i32 0 %204 = insertelement <2 x i32> %203, i32 %202, i32 1 %205 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %204, <32 x i8> %27, <16 x i8> %29, i32 2) %206 = extractelement <4 x float> %205, i32 0 %207 = extractelement <4 x float> %205, i32 1 %208 = extractelement <4 x float> %205, i32 2 %209 = extractelement <4 x float> %205, i32 3 %210 = bitcast float 0x3FC3333340000000 to i32 %211 = bitcast float 5.000000e-01 to i32 %212 = insertelement <2 x i32> undef, i32 %210, i32 0 %213 = insertelement <2 x i32> %212, i32 %211, i32 1 %214 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %213, <32 x i8> %35, <16 x i8> %37, i32 2) %215 = extractelement <4 x float> %214, i32 0 %216 = extractelement <4 x float> %214, i32 1 %217 = extractelement <4 x float> %214, i32 2 %218 = fmul float %206, %215 %219 = fmul float %207, %216 %220 = fmul float %208, %217 %221 = bitcast float %198 to i32 %222 = bitcast float %200 to i32 %223 = insertelement <2 x i32> undef, i32 %221, i32 0 %224 = insertelement <2 x i32> %223, i32 %222, i32 1 %225 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %224, <32 x i8> %31, <16 x i8> %33, i32 2) %226 = extractelement <4 x float> %225, i32 0 %227 = fsub float -0.000000e+00, %25 %228 = fadd float %209, %227 %229 = call float @llvm.AMDIL.clamp.(float %228, float 0.000000e+00, float 1.000000e+00) %230 = fmul float %226, %229 %231 = fmul float %218, %230 %232 = fadd float %231, %192 %233 = fmul float %219, %230 %234 = fadd float %233, %194 %235 = fmul float %220, %230 %236 = fadd float %235, %196 %237 = fmul float %38, 0x4012DE3060000000 %238 = fadd float %237, 5.000000e-01 %239 = fmul float %39, 0x4012DE3060000000 %240 = fadd float %239, 5.000000e-01 %241 = bitcast float %238 to i32 %242 = bitcast float %240 to i32 %243 = insertelement <2 x i32> undef, i32 %241, i32 0 %244 = insertelement <2 x i32> %243, i32 %242, i32 1 %245 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %244, <32 x i8> %27, <16 x i8> %29, i32 2) %246 = extractelement <4 x float> %245, i32 0 %247 = extractelement <4 x float> %245, i32 1 %248 = extractelement <4 x float> %245, i32 2 %249 = extractelement <4 x float> %245, i32 3 %250 = bitcast float 0x3FC3333340000000 to i32 %251 = bitcast float 5.000000e-01 to i32 %252 = insertelement <2 x i32> undef, i32 %250, i32 0 %253 = insertelement <2 x i32> %252, i32 %251, i32 1 %254 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %253, <32 x i8> %35, <16 x i8> %37, i32 2) %255 = extractelement <4 x float> %254, i32 0 %256 = extractelement <4 x float> %254, i32 1 %257 = extractelement <4 x float> %254, i32 2 %258 = fmul float %246, %255 %259 = fmul float %247, %256 %260 = fmul float %248, %257 %261 = bitcast float %238 to i32 %262 = bitcast float %240 to i32 %263 = insertelement <2 x i32> undef, i32 %261, i32 0 %264 = insertelement <2 x i32> %263, i32 %262, i32 1 %265 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %264, <32 x i8> %31, <16 x i8> %33, i32 2) %266 = extractelement <4 x float> %265, i32 0 %267 = fsub float -0.000000e+00, %25 %268 = fadd float %249, %267 %269 = call float @llvm.AMDIL.clamp.(float %268, float 0.000000e+00, float 1.000000e+00) %270 = fmul float %266, %269 %271 = fmul float %258, %270 %272 = fadd float %271, %232 %273 = fmul float %259, %270 %274 = fadd float %273, %234 %275 = fmul float %260, %270 %276 = fadd float %275, %236 %277 = fmul float %38, 0x400AAAAAA0000000 %278 = fadd float %277, 5.000000e-01 %279 = fmul float %39, 0x400AAAAAA0000000 %280 = fadd float %279, 5.000000e-01 %281 = bitcast float %278 to i32 %282 = bitcast float %280 to i32 %283 = insertelement <2 x i32> undef, i32 %281, i32 0 %284 = insertelement <2 x i32> %283, i32 %282, i32 1 %285 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %284, <32 x i8> %27, <16 x i8> %29, i32 2) %286 = extractelement <4 x float> %285, i32 0 %287 = extractelement <4 x float> %285, i32 1 %288 = extractelement <4 x float> %285, i32 2 %289 = extractelement <4 x float> %285, i32 3 %290 = bitcast float 0x3FC851EB80000000 to i32 %291 = bitcast float 5.000000e-01 to i32 %292 = insertelement <2 x i32> undef, i32 %290, i32 0 %293 = insertelement <2 x i32> %292, i32 %291, i32 1 %294 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %293, <32 x i8> %35, <16 x i8> %37, i32 2) %295 = extractelement <4 x float> %294, i32 0 %296 = extractelement <4 x float> %294, i32 1 %297 = extractelement <4 x float> %294, i32 2 %298 = fmul float %286, %295 %299 = fmul float %287, %296 %300 = fmul float %288, %297 %301 = bitcast float %278 to i32 %302 = bitcast float %280 to i32 %303 = insertelement <2 x i32> undef, i32 %301, i32 0 %304 = insertelement <2 x i32> %303, i32 %302, i32 1 %305 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %304, <32 x i8> %31, <16 x i8> %33, i32 2) %306 = extractelement <4 x float> %305, i32 0 %307 = fsub float -0.000000e+00, %25 %308 = fadd float %289, %307 %309 = call float @llvm.AMDIL.clamp.(float %308, float 0.000000e+00, float 1.000000e+00) %310 = fmul float %306, %309 %311 = fmul float %298, %310 %312 = fadd float %311, %272 %313 = fmul float %299, %310 %314 = fadd float %313, %274 %315 = fmul float %300, %310 %316 = fadd float %315, %276 %317 = fmul float %38, 0x4009F959C0000000 %318 = fadd float %317, 5.000000e-01 %319 = fmul float %39, 0x4009F959C0000000 %320 = fadd float %319, 5.000000e-01 %321 = bitcast float %318 to i32 %322 = bitcast float %320 to i32 %323 = insertelement <2 x i32> undef, i32 %321, i32 0 %324 = insertelement <2 x i32> %323, i32 %322, i32 1 %325 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %324, <32 x i8> %27, <16 x i8> %29, i32 2) %326 = extractelement <4 x float> %325, i32 0 %327 = extractelement <4 x float> %325, i32 1 %328 = extractelement <4 x float> %325, i32 2 %329 = extractelement <4 x float> %325, i32 3 %330 = bitcast float 0x3FC851EB80000000 to i32 %331 = bitcast float 5.000000e-01 to i32 %332 = insertelement <2 x i32> undef, i32 %330, i32 0 %333 = insertelement <2 x i32> %332, i32 %331, i32 1 %334 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %333, <32 x i8> %35, <16 x i8> %37, i32 2) %335 = extractelement <4 x float> %334, i32 0 %336 = extractelement <4 x float> %334, i32 1 %337 = extractelement <4 x float> %334, i32 2 %338 = fmul float %326, %335 %339 = fmul float %327, %336 %340 = fmul float %328, %337 %341 = bitcast float %318 to i32 %342 = bitcast float %320 to i32 %343 = insertelement <2 x i32> undef, i32 %341, i32 0 %344 = insertelement <2 x i32> %343, i32 %342, i32 1 %345 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %344, <32 x i8> %31, <16 x i8> %33, i32 2) %346 = extractelement <4 x float> %345, i32 0 %347 = fsub float -0.000000e+00, %25 %348 = fadd float %329, %347 %349 = call float @llvm.AMDIL.clamp.(float %348, float 0.000000e+00, float 1.000000e+00) %350 = fmul float %346, %349 %351 = fmul float %338, %350 %352 = fadd float %351, %312 %353 = fmul float %339, %350 %354 = fadd float %353, %314 %355 = fmul float %340, %350 %356 = fadd float %355, %316 %357 = fmul float %38, 0x4009510360000000 %358 = fadd float %357, 5.000000e-01 %359 = fmul float %39, 0x4009510360000000 %360 = fadd float %359, 5.000000e-01 %361 = bitcast float %358 to i32 %362 = bitcast float %360 to i32 %363 = insertelement <2 x i32> undef, i32 %361, i32 0 %364 = insertelement <2 x i32> %363, i32 %362, i32 1 %365 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %364, <32 x i8> %27, <16 x i8> %29, i32 2) %366 = extractelement <4 x float> %365, i32 0 %367 = extractelement <4 x float> %365, i32 1 %368 = extractelement <4 x float> %365, i32 2 %369 = extractelement <4 x float> %365, i32 3 %370 = bitcast float 0x3FC851EB80000000 to i32 %371 = bitcast float 5.000000e-01 to i32 %372 = insertelement <2 x i32> undef, i32 %370, i32 0 %373 = insertelement <2 x i32> %372, i32 %371, i32 1 %374 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %373, <32 x i8> %35, <16 x i8> %37, i32 2) %375 = extractelement <4 x float> %374, i32 0 %376 = extractelement <4 x float> %374, i32 1 %377 = extractelement <4 x float> %374, i32 2 %378 = fmul float %366, %375 %379 = fmul float %367, %376 %380 = fmul float %368, %377 %381 = bitcast float %358 to i32 %382 = bitcast float %360 to i32 %383 = insertelement <2 x i32> undef, i32 %381, i32 0 %384 = insertelement <2 x i32> %383, i32 %382, i32 1 %385 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %384, <32 x i8> %31, <16 x i8> %33, i32 2) %386 = extractelement <4 x float> %385, i32 0 %387 = fsub float -0.000000e+00, %25 %388 = fadd float %369, %387 %389 = call float @llvm.AMDIL.clamp.(float %388, float 0.000000e+00, float 1.000000e+00) %390 = fmul float %386, %389 %391 = fmul float %378, %390 %392 = fadd float %391, %352 %393 = fmul float %379, %390 %394 = fadd float %393, %354 %395 = fmul float %380, %390 %396 = fadd float %395, %356 %397 = fmul float %38, 0x4008B0FD00000000 %398 = fadd float %397, 5.000000e-01 %399 = fmul float %39, 0x4008B0FD00000000 %400 = fadd float %399, 5.000000e-01 %401 = bitcast float %398 to i32 %402 = bitcast float %400 to i32 %403 = insertelement <2 x i32> undef, i32 %401, i32 0 %404 = insertelement <2 x i32> %403, i32 %402, i32 1 %405 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %404, <32 x i8> %27, <16 x i8> %29, i32 2) %406 = extractelement <4 x float> %405, i32 0 %407 = extractelement <4 x float> %405, i32 1 %408 = extractelement <4 x float> %405, i32 2 %409 = extractelement <4 x float> %405, i32 3 %410 = bitcast float 0x3FC851EB80000000 to i32 %411 = bitcast float 5.000000e-01 to i32 %412 = insertelement <2 x i32> undef, i32 %410, i32 0 %413 = insertelement <2 x i32> %412, i32 %411, i32 1 %414 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %413, <32 x i8> %35, <16 x i8> %37, i32 2) %415 = extractelement <4 x float> %414, i32 0 %416 = extractelement <4 x float> %414, i32 1 %417 = extractelement <4 x float> %414, i32 2 %418 = fmul float %406, %415 %419 = fmul float %407, %416 %420 = fmul float %408, %417 %421 = bitcast float %398 to i32 %422 = bitcast float %400 to i32 %423 = insertelement <2 x i32> undef, i32 %421, i32 0 %424 = insertelement <2 x i32> %423, i32 %422, i32 1 %425 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %424, <32 x i8> %31, <16 x i8> %33, i32 2) %426 = extractelement <4 x float> %425, i32 0 %427 = fsub float -0.000000e+00, %25 %428 = fadd float %409, %427 %429 = call float @llvm.AMDIL.clamp.(float %428, float 0.000000e+00, float 1.000000e+00) %430 = fmul float %426, %429 %431 = fmul float %418, %430 %432 = fadd float %431, %392 %433 = fmul float %419, %430 %434 = fadd float %433, %394 %435 = fmul float %420, %430 %436 = fadd float %435, %396 %437 = fmul float %38, 0x3FF6DB6DC0000000 %438 = fadd float %437, 5.000000e-01 %439 = fmul float %39, 0x3FF6DB6DC0000000 %440 = fadd float %439, 5.000000e-01 %441 = bitcast float %438 to i32 %442 = bitcast float %440 to i32 %443 = insertelement <2 x i32> undef, i32 %441, i32 0 %444 = insertelement <2 x i32> %443, i32 %442, i32 1 %445 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %444, <32 x i8> %27, <16 x i8> %29, i32 2) %446 = extractelement <4 x float> %445, i32 0 %447 = extractelement <4 x float> %445, i32 1 %448 = extractelement <4 x float> %445, i32 2 %449 = extractelement <4 x float> %445, i32 3 %450 = bitcast float 0x3FD6666660000000 to i32 %451 = bitcast float 5.000000e-01 to i32 %452 = insertelement <2 x i32> undef, i32 %450, i32 0 %453 = insertelement <2 x i32> %452, i32 %451, i32 1 %454 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %453, <32 x i8> %35, <16 x i8> %37, i32 2) %455 = extractelement <4 x float> %454, i32 0 %456 = extractelement <4 x float> %454, i32 1 %457 = extractelement <4 x float> %454, i32 2 %458 = fmul float %446, %455 %459 = fmul float %447, %456 %460 = fmul float %448, %457 %461 = bitcast float %438 to i32 %462 = bitcast float %440 to i32 %463 = insertelement <2 x i32> undef, i32 %461, i32 0 %464 = insertelement <2 x i32> %463, i32 %462, i32 1 %465 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %464, <32 x i8> %31, <16 x i8> %33, i32 2) %466 = extractelement <4 x float> %465, i32 0 %467 = fsub float -0.000000e+00, %25 %468 = fadd float %449, %467 %469 = call float @llvm.AMDIL.clamp.(float %468, float 0.000000e+00, float 1.000000e+00) %470 = fmul float %466, %469 %471 = fmul float %458, %470 %472 = fadd float %471, %432 %473 = fmul float %459, %470 %474 = fadd float %473, %434 %475 = fmul float %460, %470 %476 = fadd float %475, %436 %477 = fmul float %38, 0x3FF638E3A0000000 %478 = fadd float %477, 5.000000e-01 %479 = fmul float %39, 0x3FF638E3A0000000 %480 = fadd float %479, 5.000000e-01 %481 = bitcast float %478 to i32 %482 = bitcast float %480 to i32 %483 = insertelement <2 x i32> undef, i32 %481, i32 0 %484 = insertelement <2 x i32> %483, i32 %482, i32 1 %485 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %484, <32 x i8> %27, <16 x i8> %29, i32 2) %486 = extractelement <4 x float> %485, i32 0 %487 = extractelement <4 x float> %485, i32 1 %488 = extractelement <4 x float> %485, i32 2 %489 = extractelement <4 x float> %485, i32 3 %490 = bitcast float 0x3FD6666660000000 to i32 %491 = bitcast float 5.000000e-01 to i32 %492 = insertelement <2 x i32> undef, i32 %490, i32 0 %493 = insertelement <2 x i32> %492, i32 %491, i32 1 %494 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %493, <32 x i8> %35, <16 x i8> %37, i32 2) %495 = extractelement <4 x float> %494, i32 0 %496 = extractelement <4 x float> %494, i32 1 %497 = extractelement <4 x float> %494, i32 2 %498 = fmul float %486, %495 %499 = fmul float %487, %496 %500 = fmul float %488, %497 %501 = bitcast float %478 to i32 %502 = bitcast float %480 to i32 %503 = insertelement <2 x i32> undef, i32 %501, i32 0 %504 = insertelement <2 x i32> %503, i32 %502, i32 1 %505 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %504, <32 x i8> %31, <16 x i8> %33, i32 2) %506 = extractelement <4 x float> %505, i32 0 %507 = fsub float -0.000000e+00, %25 %508 = fadd float %489, %507 %509 = call float @llvm.AMDIL.clamp.(float %508, float 0.000000e+00, float 1.000000e+00) %510 = fmul float %506, %509 %511 = fmul float %498, %510 %512 = fadd float %511, %472 %513 = fmul float %499, %510 %514 = fadd float %513, %474 %515 = fmul float %500, %510 %516 = fadd float %515, %476 %517 = fmul float %38, 0x3FF59F22C0000000 %518 = fadd float %517, 5.000000e-01 %519 = fmul float %39, 0x3FF59F22C0000000 %520 = fadd float %519, 5.000000e-01 %521 = bitcast float %518 to i32 %522 = bitcast float %520 to i32 %523 = insertelement <2 x i32> undef, i32 %521, i32 0 %524 = insertelement <2 x i32> %523, i32 %522, i32 1 %525 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %524, <32 x i8> %27, <16 x i8> %29, i32 2) %526 = extractelement <4 x float> %525, i32 0 %527 = extractelement <4 x float> %525, i32 1 %528 = extractelement <4 x float> %525, i32 2 %529 = extractelement <4 x float> %525, i32 3 %530 = bitcast float 0x3FD6666660000000 to i32 %531 = bitcast float 5.000000e-01 to i32 %532 = insertelement <2 x i32> undef, i32 %530, i32 0 %533 = insertelement <2 x i32> %532, i32 %531, i32 1 %534 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %533, <32 x i8> %35, <16 x i8> %37, i32 2) %535 = extractelement <4 x float> %534, i32 0 %536 = extractelement <4 x float> %534, i32 1 %537 = extractelement <4 x float> %534, i32 2 %538 = fmul float %526, %535 %539 = fmul float %527, %536 %540 = fmul float %528, %537 %541 = bitcast float %518 to i32 %542 = bitcast float %520 to i32 %543 = insertelement <2 x i32> undef, i32 %541, i32 0 %544 = insertelement <2 x i32> %543, i32 %542, i32 1 %545 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %544, <32 x i8> %31, <16 x i8> %33, i32 2) %546 = extractelement <4 x float> %545, i32 0 %547 = fsub float -0.000000e+00, %25 %548 = fadd float %529, %547 %549 = call float @llvm.AMDIL.clamp.(float %548, float 0.000000e+00, float 1.000000e+00) %550 = fmul float %546, %549 %551 = fmul float %538, %550 %552 = fadd float %551, %512 %553 = fmul float %539, %550 %554 = fadd float %553, %514 %555 = fmul float %540, %550 %556 = fadd float %555, %516 %557 = fmul float %38, 0x3FF50D7960000000 %558 = fadd float %557, 5.000000e-01 %559 = fmul float %39, 0x3FF50D7960000000 %560 = fadd float %559, 5.000000e-01 %561 = bitcast float %558 to i32 %562 = bitcast float %560 to i32 %563 = insertelement <2 x i32> undef, i32 %561, i32 0 %564 = insertelement <2 x i32> %563, i32 %562, i32 1 %565 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %564, <32 x i8> %27, <16 x i8> %29, i32 2) %566 = extractelement <4 x float> %565, i32 0 %567 = extractelement <4 x float> %565, i32 1 %568 = extractelement <4 x float> %565, i32 2 %569 = extractelement <4 x float> %565, i32 3 %570 = bitcast float 0x3FD6666660000000 to i32 %571 = bitcast float 5.000000e-01 to i32 %572 = insertelement <2 x i32> undef, i32 %570, i32 0 %573 = insertelement <2 x i32> %572, i32 %571, i32 1 %574 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %573, <32 x i8> %35, <16 x i8> %37, i32 2) %575 = extractelement <4 x float> %574, i32 0 %576 = extractelement <4 x float> %574, i32 1 %577 = extractelement <4 x float> %574, i32 2 %578 = fmul float %566, %575 %579 = fmul float %567, %576 %580 = fmul float %568, %577 %581 = bitcast float %558 to i32 %582 = bitcast float %560 to i32 %583 = insertelement <2 x i32> undef, i32 %581, i32 0 %584 = insertelement <2 x i32> %583, i32 %582, i32 1 %585 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %584, <32 x i8> %31, <16 x i8> %33, i32 2) %586 = extractelement <4 x float> %585, i32 0 %587 = fsub float -0.000000e+00, %25 %588 = fadd float %569, %587 %589 = call float @llvm.AMDIL.clamp.(float %588, float 0.000000e+00, float 1.000000e+00) %590 = fmul float %586, %589 %591 = fmul float %578, %590 %592 = fadd float %591, %552 %593 = fmul float %579, %590 %594 = fadd float %593, %554 %595 = fmul float %580, %590 %596 = fadd float %595, %556 %597 = fmul float %38, 0x3FED1745C0000000 %598 = fadd float %597, 5.000000e-01 %599 = fmul float %39, 0x3FED1745C0000000 %600 = fadd float %599, 5.000000e-01 %601 = bitcast float %598 to i32 %602 = bitcast float %600 to i32 %603 = insertelement <2 x i32> undef, i32 %601, i32 0 %604 = insertelement <2 x i32> %603, i32 %602, i32 1 %605 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %604, <32 x i8> %27, <16 x i8> %29, i32 2) %606 = extractelement <4 x float> %605, i32 0 %607 = extractelement <4 x float> %605, i32 1 %608 = extractelement <4 x float> %605, i32 2 %609 = extractelement <4 x float> %605, i32 3 %610 = bitcast float 5.000000e-01 to i32 %611 = bitcast float 5.000000e-01 to i32 %612 = insertelement <2 x i32> undef, i32 %610, i32 0 %613 = insertelement <2 x i32> %612, i32 %611, i32 1 %614 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %613, <32 x i8> %35, <16 x i8> %37, i32 2) %615 = extractelement <4 x float> %614, i32 0 %616 = extractelement <4 x float> %614, i32 1 %617 = extractelement <4 x float> %614, i32 2 %618 = fmul float %606, %615 %619 = fmul float %607, %616 %620 = fmul float %608, %617 %621 = bitcast float %598 to i32 %622 = bitcast float %600 to i32 %623 = insertelement <2 x i32> undef, i32 %621, i32 0 %624 = insertelement <2 x i32> %623, i32 %622, i32 1 %625 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %624, <32 x i8> %31, <16 x i8> %33, i32 2) %626 = extractelement <4 x float> %625, i32 0 %627 = fsub float -0.000000e+00, %25 %628 = fadd float %609, %627 %629 = call float @llvm.AMDIL.clamp.(float %628, float 0.000000e+00, float 1.000000e+00) %630 = fmul float %626, %629 %631 = fmul float %618, %630 %632 = fadd float %631, %592 %633 = fmul float %619, %630 %634 = fadd float %633, %594 %635 = fmul float %620, %630 %636 = fadd float %635, %596 %637 = fmul float %38, 0x3FEC11F700000000 %638 = fadd float %637, 5.000000e-01 %639 = fmul float %39, 0x3FEC11F700000000 %640 = fadd float %639, 5.000000e-01 %641 = bitcast float %638 to i32 %642 = bitcast float %640 to i32 %643 = insertelement <2 x i32> undef, i32 %641, i32 0 %644 = insertelement <2 x i32> %643, i32 %642, i32 1 %645 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %644, <32 x i8> %27, <16 x i8> %29, i32 2) %646 = extractelement <4 x float> %645, i32 0 %647 = extractelement <4 x float> %645, i32 1 %648 = extractelement <4 x float> %645, i32 2 %649 = extractelement <4 x float> %645, i32 3 %650 = bitcast float 5.000000e-01 to i32 %651 = bitcast float 5.000000e-01 to i32 %652 = insertelement <2 x i32> undef, i32 %650, i32 0 %653 = insertelement <2 x i32> %652, i32 %651, i32 1 %654 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %653, <32 x i8> %35, <16 x i8> %37, i32 2) %655 = extractelement <4 x float> %654, i32 0 %656 = extractelement <4 x float> %654, i32 1 %657 = extractelement <4 x float> %654, i32 2 %658 = fmul float %646, %655 %659 = fmul float %647, %656 %660 = fmul float %648, %657 %661 = bitcast float %638 to i32 %662 = bitcast float %640 to i32 %663 = insertelement <2 x i32> undef, i32 %661, i32 0 %664 = insertelement <2 x i32> %663, i32 %662, i32 1 %665 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %664, <32 x i8> %31, <16 x i8> %33, i32 2) %666 = extractelement <4 x float> %665, i32 0 %667 = fsub float -0.000000e+00, %25 %668 = fadd float %649, %667 %669 = call float @llvm.AMDIL.clamp.(float %668, float 0.000000e+00, float 1.000000e+00) %670 = fmul float %666, %669 %671 = fmul float %658, %670 %672 = fadd float %671, %632 %673 = fmul float %659, %670 %674 = fadd float %673, %634 %675 = fmul float %660, %670 %676 = fadd float %675, %636 %677 = fmul float %38, 0x3FEB1E5F80000000 %678 = fadd float %677, 5.000000e-01 %679 = fmul float %39, 0x3FEB1E5F80000000 %680 = fadd float %679, 5.000000e-01 %681 = bitcast float %678 to i32 %682 = bitcast float %680 to i32 %683 = insertelement <2 x i32> undef, i32 %681, i32 0 %684 = insertelement <2 x i32> %683, i32 %682, i32 1 %685 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %684, <32 x i8> %27, <16 x i8> %29, i32 2) %686 = extractelement <4 x float> %685, i32 0 %687 = extractelement <4 x float> %685, i32 1 %688 = extractelement <4 x float> %685, i32 2 %689 = extractelement <4 x float> %685, i32 3 %690 = bitcast float 5.000000e-01 to i32 %691 = bitcast float 5.000000e-01 to i32 %692 = insertelement <2 x i32> undef, i32 %690, i32 0 %693 = insertelement <2 x i32> %692, i32 %691, i32 1 %694 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %693, <32 x i8> %35, <16 x i8> %37, i32 2) %695 = extractelement <4 x float> %694, i32 0 %696 = extractelement <4 x float> %694, i32 1 %697 = extractelement <4 x float> %694, i32 2 %698 = fmul float %686, %695 %699 = fmul float %687, %696 %700 = fmul float %688, %697 %701 = bitcast float %678 to i32 %702 = bitcast float %680 to i32 %703 = insertelement <2 x i32> undef, i32 %701, i32 0 %704 = insertelement <2 x i32> %703, i32 %702, i32 1 %705 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %704, <32 x i8> %31, <16 x i8> %33, i32 2) %706 = extractelement <4 x float> %705, i32 0 %707 = fsub float -0.000000e+00, %25 %708 = fadd float %689, %707 %709 = call float @llvm.AMDIL.clamp.(float %708, float 0.000000e+00, float 1.000000e+00) %710 = fmul float %706, %709 %711 = fmul float %698, %710 %712 = fadd float %711, %672 %713 = fmul float %699, %710 %714 = fadd float %713, %674 %715 = fmul float %700, %710 %716 = fadd float %715, %676 %717 = fmul float %38, 0x3FEA3AC120000000 %718 = fadd float %717, 5.000000e-01 %719 = fmul float %39, 0x3FEA3AC120000000 %720 = fadd float %719, 5.000000e-01 %721 = bitcast float %718 to i32 %722 = bitcast float %720 to i32 %723 = insertelement <2 x i32> undef, i32 %721, i32 0 %724 = insertelement <2 x i32> %723, i32 %722, i32 1 %725 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %724, <32 x i8> %27, <16 x i8> %29, i32 2) %726 = extractelement <4 x float> %725, i32 0 %727 = extractelement <4 x float> %725, i32 1 %728 = extractelement <4 x float> %725, i32 2 %729 = extractelement <4 x float> %725, i32 3 %730 = bitcast float 5.000000e-01 to i32 %731 = bitcast float 5.000000e-01 to i32 %732 = insertelement <2 x i32> undef, i32 %730, i32 0 %733 = insertelement <2 x i32> %732, i32 %731, i32 1 %734 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %733, <32 x i8> %35, <16 x i8> %37, i32 2) %735 = extractelement <4 x float> %734, i32 0 %736 = extractelement <4 x float> %734, i32 1 %737 = extractelement <4 x float> %734, i32 2 %738 = fmul float %726, %735 %739 = fmul float %727, %736 %740 = fmul float %728, %737 %741 = bitcast float %718 to i32 %742 = bitcast float %720 to i32 %743 = insertelement <2 x i32> undef, i32 %741, i32 0 %744 = insertelement <2 x i32> %743, i32 %742, i32 1 %745 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %744, <32 x i8> %31, <16 x i8> %33, i32 2) %746 = extractelement <4 x float> %745, i32 0 %747 = fsub float -0.000000e+00, %25 %748 = fadd float %729, %747 %749 = call float @llvm.AMDIL.clamp.(float %748, float 0.000000e+00, float 1.000000e+00) %750 = fmul float %746, %749 %751 = fmul float %738, %750 %752 = fadd float %751, %712 %753 = fmul float %739, %750 %754 = fadd float %753, %714 %755 = fmul float %740, %750 %756 = fadd float %755, %716 %757 = fmul float %38, 0x3FE9659680000000 %758 = fadd float %757, 5.000000e-01 %759 = fmul float %39, 0x3FE9659680000000 %760 = fadd float %759, 5.000000e-01 %761 = bitcast float %758 to i32 %762 = bitcast float %760 to i32 %763 = insertelement <2 x i32> undef, i32 %761, i32 0 %764 = insertelement <2 x i32> %763, i32 %762, i32 1 %765 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %764, <32 x i8> %27, <16 x i8> %29, i32 2) %766 = extractelement <4 x float> %765, i32 0 %767 = extractelement <4 x float> %765, i32 1 %768 = extractelement <4 x float> %765, i32 2 %769 = extractelement <4 x float> %765, i32 3 %770 = bitcast float 5.000000e-01 to i32 %771 = bitcast float 5.000000e-01 to i32 %772 = insertelement <2 x i32> undef, i32 %770, i32 0 %773 = insertelement <2 x i32> %772, i32 %771, i32 1 %774 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %773, <32 x i8> %35, <16 x i8> %37, i32 2) %775 = extractelement <4 x float> %774, i32 0 %776 = extractelement <4 x float> %774, i32 1 %777 = extractelement <4 x float> %774, i32 2 %778 = fmul float %766, %775 %779 = fmul float %767, %776 %780 = fmul float %768, %777 %781 = bitcast float %758 to i32 %782 = bitcast float %760 to i32 %783 = insertelement <2 x i32> undef, i32 %781, i32 0 %784 = insertelement <2 x i32> %783, i32 %782, i32 1 %785 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %784, <32 x i8> %31, <16 x i8> %33, i32 2) %786 = extractelement <4 x float> %785, i32 0 %787 = fsub float -0.000000e+00, %25 %788 = fadd float %769, %787 %789 = call float @llvm.AMDIL.clamp.(float %788, float 0.000000e+00, float 1.000000e+00) %790 = fmul float %786, %789 %791 = fmul float %778, %790 %792 = fadd float %791, %752 %793 = fmul float %779, %790 %794 = fadd float %793, %754 %795 = fmul float %780, %790 %796 = fadd float %795, %756 %797 = fmul float %38, 0x3FE89D89E0000000 %798 = fadd float %797, 5.000000e-01 %799 = fmul float %39, 0x3FE89D89E0000000 %800 = fadd float %799, 5.000000e-01 %801 = bitcast float %798 to i32 %802 = bitcast float %800 to i32 %803 = insertelement <2 x i32> undef, i32 %801, i32 0 %804 = insertelement <2 x i32> %803, i32 %802, i32 1 %805 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %804, <32 x i8> %27, <16 x i8> %29, i32 2) %806 = extractelement <4 x float> %805, i32 0 %807 = extractelement <4 x float> %805, i32 1 %808 = extractelement <4 x float> %805, i32 2 %809 = extractelement <4 x float> %805, i32 3 %810 = bitcast float 0x3FE23D70A0000000 to i32 %811 = bitcast float 5.000000e-01 to i32 %812 = insertelement <2 x i32> undef, i32 %810, i32 0 %813 = insertelement <2 x i32> %812, i32 %811, i32 1 %814 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %813, <32 x i8> %35, <16 x i8> %37, i32 2) %815 = extractelement <4 x float> %814, i32 0 %816 = extractelement <4 x float> %814, i32 1 %817 = extractelement <4 x float> %814, i32 2 %818 = fmul float %806, %815 %819 = fmul float %807, %816 %820 = fmul float %808, %817 %821 = bitcast float %798 to i32 %822 = bitcast float %800 to i32 %823 = insertelement <2 x i32> undef, i32 %821, i32 0 %824 = insertelement <2 x i32> %823, i32 %822, i32 1 %825 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %824, <32 x i8> %31, <16 x i8> %33, i32 2) %826 = extractelement <4 x float> %825, i32 0 %827 = fsub float -0.000000e+00, %25 %828 = fadd float %809, %827 %829 = call float @llvm.AMDIL.clamp.(float %828, float 0.000000e+00, float 1.000000e+00) %830 = fmul float %826, %829 %831 = fmul float %818, %830 %832 = fadd float %831, %792 %833 = fmul float %819, %830 %834 = fadd float %833, %794 %835 = fmul float %820, %830 %836 = fadd float %835, %796 %837 = fmul float %38, 0x3FE7E16EE0000000 %838 = fadd float %837, 5.000000e-01 %839 = fmul float %39, 0x3FE7E16EE0000000 %840 = fadd float %839, 5.000000e-01 %841 = bitcast float %838 to i32 %842 = bitcast float %840 to i32 %843 = insertelement <2 x i32> undef, i32 %841, i32 0 %844 = insertelement <2 x i32> %843, i32 %842, i32 1 %845 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %844, <32 x i8> %27, <16 x i8> %29, i32 2) %846 = extractelement <4 x float> %845, i32 0 %847 = extractelement <4 x float> %845, i32 1 %848 = extractelement <4 x float> %845, i32 2 %849 = extractelement <4 x float> %845, i32 3 %850 = bitcast float 0x3FE23D70A0000000 to i32 %851 = bitcast float 5.000000e-01 to i32 %852 = insertelement <2 x i32> undef, i32 %850, i32 0 %853 = insertelement <2 x i32> %852, i32 %851, i32 1 %854 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %853, <32 x i8> %35, <16 x i8> %37, i32 2) %855 = extractelement <4 x float> %854, i32 0 %856 = extractelement <4 x float> %854, i32 1 %857 = extractelement <4 x float> %854, i32 2 %858 = fmul float %846, %855 %859 = fmul float %847, %856 %860 = fmul float %848, %857 %861 = bitcast float %838 to i32 %862 = bitcast float %840 to i32 %863 = insertelement <2 x i32> undef, i32 %861, i32 0 %864 = insertelement <2 x i32> %863, i32 %862, i32 1 %865 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %864, <32 x i8> %31, <16 x i8> %33, i32 2) %866 = extractelement <4 x float> %865, i32 0 %867 = fsub float -0.000000e+00, %25 %868 = fadd float %849, %867 %869 = call float @llvm.AMDIL.clamp.(float %868, float 0.000000e+00, float 1.000000e+00) %870 = fmul float %866, %869 %871 = fmul float %858, %870 %872 = fadd float %871, %832 %873 = fmul float %859, %870 %874 = fadd float %873, %834 %875 = fmul float %860, %870 %876 = fadd float %875, %836 %877 = fmul float %38, 0x3FE7303B80000000 %878 = fadd float %877, 5.000000e-01 %879 = fmul float %39, 0x3FE7303B80000000 %880 = fadd float %879, 5.000000e-01 %881 = bitcast float %878 to i32 %882 = bitcast float %880 to i32 %883 = insertelement <2 x i32> undef, i32 %881, i32 0 %884 = insertelement <2 x i32> %883, i32 %882, i32 1 %885 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %884, <32 x i8> %27, <16 x i8> %29, i32 2) %886 = extractelement <4 x float> %885, i32 0 %887 = extractelement <4 x float> %885, i32 1 %888 = extractelement <4 x float> %885, i32 2 %889 = extractelement <4 x float> %885, i32 3 %890 = bitcast float 0x3FE23D70A0000000 to i32 %891 = bitcast float 5.000000e-01 to i32 %892 = insertelement <2 x i32> undef, i32 %890, i32 0 %893 = insertelement <2 x i32> %892, i32 %891, i32 1 %894 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %893, <32 x i8> %35, <16 x i8> %37, i32 2) %895 = extractelement <4 x float> %894, i32 0 %896 = extractelement <4 x float> %894, i32 1 %897 = extractelement <4 x float> %894, i32 2 %898 = fmul float %886, %895 %899 = fmul float %887, %896 %900 = fmul float %888, %897 %901 = bitcast float %878 to i32 %902 = bitcast float %880 to i32 %903 = insertelement <2 x i32> undef, i32 %901, i32 0 %904 = insertelement <2 x i32> %903, i32 %902, i32 1 %905 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %904, <32 x i8> %31, <16 x i8> %33, i32 2) %906 = extractelement <4 x float> %905, i32 0 %907 = fsub float -0.000000e+00, %25 %908 = fadd float %889, %907 %909 = call float @llvm.AMDIL.clamp.(float %908, float 0.000000e+00, float 1.000000e+00) %910 = fmul float %906, %909 %911 = fmul float %898, %910 %912 = fadd float %911, %872 %913 = fmul float %899, %910 %914 = fadd float %913, %874 %915 = fmul float %900, %910 %916 = fadd float %915, %876 %917 = fmul float %38, 0x3FE68903C0000000 %918 = fadd float %917, 5.000000e-01 %919 = fmul float %39, 0x3FE68903C0000000 %920 = fadd float %919, 5.000000e-01 %921 = bitcast float %918 to i32 %922 = bitcast float %920 to i32 %923 = insertelement <2 x i32> undef, i32 %921, i32 0 %924 = insertelement <2 x i32> %923, i32 %922, i32 1 %925 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %924, <32 x i8> %27, <16 x i8> %29, i32 2) %926 = extractelement <4 x float> %925, i32 0 %927 = extractelement <4 x float> %925, i32 1 %928 = extractelement <4 x float> %925, i32 2 %929 = extractelement <4 x float> %925, i32 3 %930 = bitcast float 0x3FE23D70A0000000 to i32 %931 = bitcast float 5.000000e-01 to i32 %932 = insertelement <2 x i32> undef, i32 %930, i32 0 %933 = insertelement <2 x i32> %932, i32 %931, i32 1 %934 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %933, <32 x i8> %35, <16 x i8> %37, i32 2) %935 = extractelement <4 x float> %934, i32 0 %936 = extractelement <4 x float> %934, i32 1 %937 = extractelement <4 x float> %934, i32 2 %938 = fmul float %926, %935 %939 = fmul float %927, %936 %940 = fmul float %928, %937 %941 = bitcast float %918 to i32 %942 = bitcast float %920 to i32 %943 = insertelement <2 x i32> undef, i32 %941, i32 0 %944 = insertelement <2 x i32> %943, i32 %942, i32 1 %945 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %944, <32 x i8> %31, <16 x i8> %33, i32 2) %946 = extractelement <4 x float> %945, i32 0 %947 = fsub float -0.000000e+00, %25 %948 = fadd float %929, %947 %949 = call float @llvm.AMDIL.clamp.(float %948, float 0.000000e+00, float 1.000000e+00) %950 = fmul float %946, %949 %951 = fmul float %938, %950 %952 = fadd float %951, %912 %953 = fmul float %939, %950 %954 = fadd float %953, %914 %955 = fmul float %940, %950 %956 = fadd float %955, %916 %957 = fmul float %38, 0x3FE5EAF5A0000000 %958 = fadd float %957, 5.000000e-01 %959 = fmul float %39, 0x3FE5EAF5A0000000 %960 = fadd float %959, 5.000000e-01 %961 = bitcast float %958 to i32 %962 = bitcast float %960 to i32 %963 = insertelement <2 x i32> undef, i32 %961, i32 0 %964 = insertelement <2 x i32> %963, i32 %962, i32 1 %965 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %964, <32 x i8> %27, <16 x i8> %29, i32 2) %966 = extractelement <4 x float> %965, i32 0 %967 = extractelement <4 x float> %965, i32 1 %968 = extractelement <4 x float> %965, i32 2 %969 = extractelement <4 x float> %965, i32 3 %970 = bitcast float 0x3FE23D70A0000000 to i32 %971 = bitcast float 5.000000e-01 to i32 %972 = insertelement <2 x i32> undef, i32 %970, i32 0 %973 = insertelement <2 x i32> %972, i32 %971, i32 1 %974 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %973, <32 x i8> %35, <16 x i8> %37, i32 2) %975 = extractelement <4 x float> %974, i32 0 %976 = extractelement <4 x float> %974, i32 1 %977 = extractelement <4 x float> %974, i32 2 %978 = fmul float %966, %975 %979 = fmul float %967, %976 %980 = fmul float %968, %977 %981 = bitcast float %958 to i32 %982 = bitcast float %960 to i32 %983 = insertelement <2 x i32> undef, i32 %981, i32 0 %984 = insertelement <2 x i32> %983, i32 %982, i32 1 %985 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %984, <32 x i8> %31, <16 x i8> %33, i32 2) %986 = extractelement <4 x float> %985, i32 0 %987 = fsub float -0.000000e+00, %25 %988 = fadd float %969, %987 %989 = call float @llvm.AMDIL.clamp.(float %988, float 0.000000e+00, float 1.000000e+00) %990 = fmul float %986, %989 %991 = fmul float %978, %990 %992 = fadd float %991, %952 %993 = fmul float %979, %990 %994 = fadd float %993, %954 %995 = fmul float %980, %990 %996 = fadd float %995, %956 %997 = fmul float %38, 5.000000e-01 %998 = fadd float %997, 5.000000e-01 %999 = fmul float %39, 5.000000e-01 %1000 = fadd float %999, 5.000000e-01 %1001 = bitcast float %998 to i32 %1002 = bitcast float %1000 to i32 %1003 = insertelement <2 x i32> undef, i32 %1001, i32 0 %1004 = insertelement <2 x i32> %1003, i32 %1002, i32 1 %1005 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1004, <32 x i8> %27, <16 x i8> %29, i32 2) %1006 = extractelement <4 x float> %1005, i32 0 %1007 = extractelement <4 x float> %1005, i32 1 %1008 = extractelement <4 x float> %1005, i32 2 %1009 = extractelement <4 x float> %1005, i32 3 %1010 = bitcast float 0x3FEB333340000000 to i32 %1011 = bitcast float 5.000000e-01 to i32 %1012 = insertelement <2 x i32> undef, i32 %1010, i32 0 %1013 = insertelement <2 x i32> %1012, i32 %1011, i32 1 %1014 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1013, <32 x i8> %35, <16 x i8> %37, i32 2) %1015 = extractelement <4 x float> %1014, i32 0 %1016 = extractelement <4 x float> %1014, i32 1 %1017 = extractelement <4 x float> %1014, i32 2 %1018 = fmul float %1006, %1015 %1019 = fmul float %1007, %1016 %1020 = fmul float %1008, %1017 %1021 = bitcast float %998 to i32 %1022 = bitcast float %1000 to i32 %1023 = insertelement <2 x i32> undef, i32 %1021, i32 0 %1024 = insertelement <2 x i32> %1023, i32 %1022, i32 1 %1025 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1024, <32 x i8> %31, <16 x i8> %33, i32 2) %1026 = extractelement <4 x float> %1025, i32 0 %1027 = fsub float -0.000000e+00, %25 %1028 = fadd float %1009, %1027 %1029 = call float @llvm.AMDIL.clamp.(float %1028, float 0.000000e+00, float 1.000000e+00) %1030 = fmul float %1026, %1029 %1031 = fmul float %1018, %1030 %1032 = fadd float %1031, %992 %1033 = fmul float %1019, %1030 %1034 = fadd float %1033, %994 %1035 = fmul float %1020, %1030 %1036 = fadd float %1035, %996 %1037 = fmul float %38, 0x3FDF5F5F60000000 %1038 = fadd float %1037, 5.000000e-01 %1039 = fmul float %39, 0x3FDF5F5F60000000 %1040 = fadd float %1039, 5.000000e-01 %1041 = bitcast float %1038 to i32 %1042 = bitcast float %1040 to i32 %1043 = insertelement <2 x i32> undef, i32 %1041, i32 0 %1044 = insertelement <2 x i32> %1043, i32 %1042, i32 1 %1045 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1044, <32 x i8> %27, <16 x i8> %29, i32 2) %1046 = extractelement <4 x float> %1045, i32 0 %1047 = extractelement <4 x float> %1045, i32 1 %1048 = extractelement <4 x float> %1045, i32 2 %1049 = extractelement <4 x float> %1045, i32 3 %1050 = bitcast float 0x3FEB333340000000 to i32 %1051 = bitcast float 5.000000e-01 to i32 %1052 = insertelement <2 x i32> undef, i32 %1050, i32 0 %1053 = insertelement <2 x i32> %1052, i32 %1051, i32 1 %1054 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1053, <32 x i8> %35, <16 x i8> %37, i32 2) %1055 = extractelement <4 x float> %1054, i32 0 %1056 = extractelement <4 x float> %1054, i32 1 %1057 = extractelement <4 x float> %1054, i32 2 %1058 = fmul float %1046, %1055 %1059 = fmul float %1047, %1056 %1060 = fmul float %1048, %1057 %1061 = bitcast float %1038 to i32 %1062 = bitcast float %1040 to i32 %1063 = insertelement <2 x i32> undef, i32 %1061, i32 0 %1064 = insertelement <2 x i32> %1063, i32 %1062, i32 1 %1065 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1064, <32 x i8> %31, <16 x i8> %33, i32 2) %1066 = extractelement <4 x float> %1065, i32 0 %1067 = fsub float -0.000000e+00, %25 %1068 = fadd float %1049, %1067 %1069 = call float @llvm.AMDIL.clamp.(float %1068, float 0.000000e+00, float 1.000000e+00) %1070 = fmul float %1066, %1069 %1071 = fmul float %1058, %1070 %1072 = fadd float %1071, %1032 %1073 = fmul float %1059, %1070 %1074 = fadd float %1073, %1034 %1075 = fmul float %1060, %1070 %1076 = fadd float %1075, %1036 %1077 = fmul float %38, 0x3FDEC4EC60000000 %1078 = fadd float %1077, 5.000000e-01 %1079 = fmul float %39, 0x3FDEC4EC60000000 %1080 = fadd float %1079, 5.000000e-01 %1081 = bitcast float %1078 to i32 %1082 = bitcast float %1080 to i32 %1083 = insertelement <2 x i32> undef, i32 %1081, i32 0 %1084 = insertelement <2 x i32> %1083, i32 %1082, i32 1 %1085 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1084, <32 x i8> %27, <16 x i8> %29, i32 2) %1086 = extractelement <4 x float> %1085, i32 0 %1087 = extractelement <4 x float> %1085, i32 1 %1088 = extractelement <4 x float> %1085, i32 2 %1089 = extractelement <4 x float> %1085, i32 3 %1090 = bitcast float 0x3FEB333340000000 to i32 %1091 = bitcast float 5.000000e-01 to i32 %1092 = insertelement <2 x i32> undef, i32 %1090, i32 0 %1093 = insertelement <2 x i32> %1092, i32 %1091, i32 1 %1094 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1093, <32 x i8> %35, <16 x i8> %37, i32 2) %1095 = extractelement <4 x float> %1094, i32 0 %1096 = extractelement <4 x float> %1094, i32 1 %1097 = extractelement <4 x float> %1094, i32 2 %1098 = fmul float %1086, %1095 %1099 = fmul float %1087, %1096 %1100 = fmul float %1088, %1097 %1101 = bitcast float %1078 to i32 %1102 = bitcast float %1080 to i32 %1103 = insertelement <2 x i32> undef, i32 %1101, i32 0 %1104 = insertelement <2 x i32> %1103, i32 %1102, i32 1 %1105 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1104, <32 x i8> %31, <16 x i8> %33, i32 2) %1106 = extractelement <4 x float> %1105, i32 0 %1107 = fsub float -0.000000e+00, %25 %1108 = fadd float %1089, %1107 %1109 = call float @llvm.AMDIL.clamp.(float %1108, float 0.000000e+00, float 1.000000e+00) %1110 = fmul float %1106, %1109 %1111 = fmul float %1098, %1110 %1112 = fadd float %1111, %1072 %1113 = fmul float %1099, %1110 %1114 = fadd float %1113, %1074 %1115 = fmul float %1100, %1110 %1116 = fadd float %1115, %1076 %1117 = fmul float %38, 0x3FDE304D60000000 %1118 = fadd float %1117, 5.000000e-01 %1119 = fmul float %39, 0x3FDE304D60000000 %1120 = fadd float %1119, 5.000000e-01 %1121 = bitcast float %1118 to i32 %1122 = bitcast float %1120 to i32 %1123 = insertelement <2 x i32> undef, i32 %1121, i32 0 %1124 = insertelement <2 x i32> %1123, i32 %1122, i32 1 %1125 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1124, <32 x i8> %27, <16 x i8> %29, i32 2) %1126 = extractelement <4 x float> %1125, i32 0 %1127 = extractelement <4 x float> %1125, i32 1 %1128 = extractelement <4 x float> %1125, i32 2 %1129 = extractelement <4 x float> %1125, i32 3 %1130 = bitcast float 0x3FEB333340000000 to i32 %1131 = bitcast float 5.000000e-01 to i32 %1132 = insertelement <2 x i32> undef, i32 %1130, i32 0 %1133 = insertelement <2 x i32> %1132, i32 %1131, i32 1 %1134 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1133, <32 x i8> %35, <16 x i8> %37, i32 2) %1135 = extractelement <4 x float> %1134, i32 0 %1136 = extractelement <4 x float> %1134, i32 1 %1137 = extractelement <4 x float> %1134, i32 2 %1138 = fmul float %1126, %1135 %1139 = fmul float %1127, %1136 %1140 = fmul float %1128, %1137 %1141 = bitcast float %1118 to i32 %1142 = bitcast float %1120 to i32 %1143 = insertelement <2 x i32> undef, i32 %1141, i32 0 %1144 = insertelement <2 x i32> %1143, i32 %1142, i32 1 %1145 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1144, <32 x i8> %31, <16 x i8> %33, i32 2) %1146 = extractelement <4 x float> %1145, i32 0 %1147 = fsub float -0.000000e+00, %25 %1148 = fadd float %1129, %1147 %1149 = call float @llvm.AMDIL.clamp.(float %1148, float 0.000000e+00, float 1.000000e+00) %1150 = fmul float %1146, %1149 %1151 = fmul float %1138, %1150 %1152 = fadd float %1151, %1112 %1153 = fmul float %1139, %1150 %1154 = fadd float %1153, %1114 %1155 = fmul float %1140, %1150 %1156 = fadd float %1155, %1116 %1157 = fmul float %38, 0x3FDDA12F80000000 %1158 = fadd float %1157, 5.000000e-01 %1159 = fmul float %39, 0x3FDDA12F80000000 %1160 = fadd float %1159, 5.000000e-01 %1161 = bitcast float %1158 to i32 %1162 = bitcast float %1160 to i32 %1163 = insertelement <2 x i32> undef, i32 %1161, i32 0 %1164 = insertelement <2 x i32> %1163, i32 %1162, i32 1 %1165 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1164, <32 x i8> %27, <16 x i8> %29, i32 2) %1166 = extractelement <4 x float> %1165, i32 0 %1167 = extractelement <4 x float> %1165, i32 1 %1168 = extractelement <4 x float> %1165, i32 2 %1169 = extractelement <4 x float> %1165, i32 3 %1170 = bitcast float 0x3FEB333340000000 to i32 %1171 = bitcast float 5.000000e-01 to i32 %1172 = insertelement <2 x i32> undef, i32 %1170, i32 0 %1173 = insertelement <2 x i32> %1172, i32 %1171, i32 1 %1174 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1173, <32 x i8> %35, <16 x i8> %37, i32 2) %1175 = extractelement <4 x float> %1174, i32 0 %1176 = extractelement <4 x float> %1174, i32 1 %1177 = extractelement <4 x float> %1174, i32 2 %1178 = fmul float %1166, %1175 %1179 = fmul float %1167, %1176 %1180 = fmul float %1168, %1177 %1181 = bitcast float %1158 to i32 %1182 = bitcast float %1160 to i32 %1183 = insertelement <2 x i32> undef, i32 %1181, i32 0 %1184 = insertelement <2 x i32> %1183, i32 %1182, i32 1 %1185 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1184, <32 x i8> %31, <16 x i8> %33, i32 2) %1186 = extractelement <4 x float> %1185, i32 0 %1187 = fsub float -0.000000e+00, %25 %1188 = fadd float %1169, %1187 %1189 = call float @llvm.AMDIL.clamp.(float %1188, float 0.000000e+00, float 1.000000e+00) %1190 = fmul float %1186, %1189 %1191 = fmul float %1178, %1190 %1192 = fadd float %1191, %1152 %1193 = fmul float %1179, %1190 %1194 = fadd float %1193, %1154 %1195 = fmul float %1180, %1190 %1196 = fadd float %1195, %1156 %1197 = fmul float %38, 0x3FDAAAAAA0000000 %1198 = fadd float %1197, 5.000000e-01 %1199 = fmul float %39, 0x3FDAAAAAA0000000 %1200 = fadd float %1199, 5.000000e-01 %1201 = bitcast float %1198 to i32 %1202 = bitcast float %1200 to i32 %1203 = insertelement <2 x i32> undef, i32 %1201, i32 0 %1204 = insertelement <2 x i32> %1203, i32 %1202, i32 1 %1205 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1204, <32 x i8> %27, <16 x i8> %29, i32 2) %1206 = extractelement <4 x float> %1205, i32 0 %1207 = extractelement <4 x float> %1205, i32 1 %1208 = extractelement <4 x float> %1205, i32 2 %1209 = extractelement <4 x float> %1205, i32 3 %1210 = bitcast float 1.000000e+00 to i32 %1211 = bitcast float 5.000000e-01 to i32 %1212 = insertelement <2 x i32> undef, i32 %1210, i32 0 %1213 = insertelement <2 x i32> %1212, i32 %1211, i32 1 %1214 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1213, <32 x i8> %35, <16 x i8> %37, i32 2) %1215 = extractelement <4 x float> %1214, i32 0 %1216 = extractelement <4 x float> %1214, i32 1 %1217 = extractelement <4 x float> %1214, i32 2 %1218 = fmul float %1206, %1215 %1219 = fmul float %1207, %1216 %1220 = fmul float %1208, %1217 %1221 = bitcast float %1198 to i32 %1222 = bitcast float %1200 to i32 %1223 = insertelement <2 x i32> undef, i32 %1221, i32 0 %1224 = insertelement <2 x i32> %1223, i32 %1222, i32 1 %1225 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1224, <32 x i8> %31, <16 x i8> %33, i32 2) %1226 = extractelement <4 x float> %1225, i32 0 %1227 = fsub float -0.000000e+00, %25 %1228 = fadd float %1209, %1227 %1229 = call float @llvm.AMDIL.clamp.(float %1228, float 0.000000e+00, float 1.000000e+00) %1230 = fmul float %1226, %1229 %1231 = fmul float %1218, %1230 %1232 = fadd float %1231, %1192 %1233 = fmul float %1219, %1230 %1234 = fadd float %1233, %1194 %1235 = fmul float %1220, %1230 %1236 = fadd float %1235, %1196 %1237 = fmul float %38, 0x3FDA3AC100000000 %1238 = fadd float %1237, 5.000000e-01 %1239 = fmul float %39, 0x3FDA3AC100000000 %1240 = fadd float %1239, 5.000000e-01 %1241 = bitcast float %1238 to i32 %1242 = bitcast float %1240 to i32 %1243 = insertelement <2 x i32> undef, i32 %1241, i32 0 %1244 = insertelement <2 x i32> %1243, i32 %1242, i32 1 %1245 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1244, <32 x i8> %27, <16 x i8> %29, i32 2) %1246 = extractelement <4 x float> %1245, i32 0 %1247 = extractelement <4 x float> %1245, i32 1 %1248 = extractelement <4 x float> %1245, i32 2 %1249 = extractelement <4 x float> %1245, i32 3 %1250 = bitcast float 1.000000e+00 to i32 %1251 = bitcast float 5.000000e-01 to i32 %1252 = insertelement <2 x i32> undef, i32 %1250, i32 0 %1253 = insertelement <2 x i32> %1252, i32 %1251, i32 1 %1254 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1253, <32 x i8> %35, <16 x i8> %37, i32 2) %1255 = extractelement <4 x float> %1254, i32 0 %1256 = extractelement <4 x float> %1254, i32 1 %1257 = extractelement <4 x float> %1254, i32 2 %1258 = fmul float %1246, %1255 %1259 = fmul float %1247, %1256 %1260 = fmul float %1248, %1257 %1261 = bitcast float %1238 to i32 %1262 = bitcast float %1240 to i32 %1263 = insertelement <2 x i32> undef, i32 %1261, i32 0 %1264 = insertelement <2 x i32> %1263, i32 %1262, i32 1 %1265 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1264, <32 x i8> %31, <16 x i8> %33, i32 2) %1266 = extractelement <4 x float> %1265, i32 0 %1267 = fsub float -0.000000e+00, %25 %1268 = fadd float %1249, %1267 %1269 = call float @llvm.AMDIL.clamp.(float %1268, float 0.000000e+00, float 1.000000e+00) %1270 = fmul float %1266, %1269 %1271 = fmul float %1258, %1270 %1272 = fadd float %1271, %1232 %1273 = fmul float %1259, %1270 %1274 = fadd float %1273, %1234 %1275 = fmul float %1260, %1270 %1276 = fadd float %1275, %1236 %1277 = fmul float %38, 0x3FD9CE73A0000000 %1278 = fadd float %1277, 5.000000e-01 %1279 = fmul float %39, 0x3FD9CE73A0000000 %1280 = fadd float %1279, 5.000000e-01 %1281 = bitcast float %1278 to i32 %1282 = bitcast float %1280 to i32 %1283 = insertelement <2 x i32> undef, i32 %1281, i32 0 %1284 = insertelement <2 x i32> %1283, i32 %1282, i32 1 %1285 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1284, <32 x i8> %27, <16 x i8> %29, i32 2) %1286 = extractelement <4 x float> %1285, i32 0 %1287 = extractelement <4 x float> %1285, i32 1 %1288 = extractelement <4 x float> %1285, i32 2 %1289 = extractelement <4 x float> %1285, i32 3 %1290 = bitcast float 1.000000e+00 to i32 %1291 = bitcast float 5.000000e-01 to i32 %1292 = insertelement <2 x i32> undef, i32 %1290, i32 0 %1293 = insertelement <2 x i32> %1292, i32 %1291, i32 1 %1294 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1293, <32 x i8> %35, <16 x i8> %37, i32 2) %1295 = extractelement <4 x float> %1294, i32 0 %1296 = extractelement <4 x float> %1294, i32 1 %1297 = extractelement <4 x float> %1294, i32 2 %1298 = fmul float %1286, %1295 %1299 = fmul float %1287, %1296 %1300 = fmul float %1288, %1297 %1301 = bitcast float %1278 to i32 %1302 = bitcast float %1280 to i32 %1303 = insertelement <2 x i32> undef, i32 %1301, i32 0 %1304 = insertelement <2 x i32> %1303, i32 %1302, i32 1 %1305 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1304, <32 x i8> %31, <16 x i8> %33, i32 2) %1306 = extractelement <4 x float> %1305, i32 0 %1307 = fsub float -0.000000e+00, %25 %1308 = fadd float %1289, %1307 %1309 = call float @llvm.AMDIL.clamp.(float %1308, float 0.000000e+00, float 1.000000e+00) %1310 = fmul float %1306, %1309 %1311 = fmul float %1298, %1310 %1312 = fadd float %1311, %1272 %1313 = fmul float %1299, %1310 %1314 = fadd float %1313, %1274 %1315 = fmul float %1300, %1310 %1316 = fadd float %1315, %1276 %1317 = fmul float %38, 0x3FD9659660000000 %1318 = fadd float %1317, 5.000000e-01 %1319 = fmul float %39, 0x3FD9659660000000 %1320 = fadd float %1319, 5.000000e-01 %1321 = bitcast float %1318 to i32 %1322 = bitcast float %1320 to i32 %1323 = insertelement <2 x i32> undef, i32 %1321, i32 0 %1324 = insertelement <2 x i32> %1323, i32 %1322, i32 1 %1325 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1324, <32 x i8> %27, <16 x i8> %29, i32 2) %1326 = extractelement <4 x float> %1325, i32 0 %1327 = extractelement <4 x float> %1325, i32 1 %1328 = extractelement <4 x float> %1325, i32 2 %1329 = extractelement <4 x float> %1325, i32 3 %1330 = bitcast float 1.000000e+00 to i32 %1331 = bitcast float 5.000000e-01 to i32 %1332 = insertelement <2 x i32> undef, i32 %1330, i32 0 %1333 = insertelement <2 x i32> %1332, i32 %1331, i32 1 %1334 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1333, <32 x i8> %35, <16 x i8> %37, i32 2) %1335 = extractelement <4 x float> %1334, i32 0 %1336 = extractelement <4 x float> %1334, i32 1 %1337 = extractelement <4 x float> %1334, i32 2 %1338 = fmul float %1326, %1335 %1339 = fmul float %1327, %1336 %1340 = fmul float %1328, %1337 %1341 = bitcast float %1318 to i32 %1342 = bitcast float %1320 to i32 %1343 = insertelement <2 x i32> undef, i32 %1341, i32 0 %1344 = insertelement <2 x i32> %1343, i32 %1342, i32 1 %1345 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1344, <32 x i8> %31, <16 x i8> %33, i32 2) %1346 = extractelement <4 x float> %1345, i32 0 %1347 = fsub float -0.000000e+00, %25 %1348 = fadd float %1329, %1347 %1349 = call float @llvm.AMDIL.clamp.(float %1348, float 0.000000e+00, float 1.000000e+00) %1350 = fmul float %1346, %1349 %1351 = fmul float %1338, %1350 %1352 = fadd float %1351, %1312 %1353 = fmul float %1339, %1350 %1354 = fadd float %1353, %1314 %1355 = fmul float %1340, %1350 %1356 = fadd float %1355, %1316 %1357 = fmul float %38, 3.906250e-01 %1358 = fadd float %1357, 5.000000e-01 %1359 = fmul float %39, 3.906250e-01 %1360 = fadd float %1359, 5.000000e-01 %1361 = bitcast float %1358 to i32 %1362 = bitcast float %1360 to i32 %1363 = insertelement <2 x i32> undef, i32 %1361, i32 0 %1364 = insertelement <2 x i32> %1363, i32 %1362, i32 1 %1365 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1364, <32 x i8> %27, <16 x i8> %29, i32 2) %1366 = extractelement <4 x float> %1365, i32 0 %1367 = extractelement <4 x float> %1365, i32 1 %1368 = extractelement <4 x float> %1365, i32 2 %1369 = extractelement <4 x float> %1365, i32 3 %1370 = bitcast float 1.000000e+00 to i32 %1371 = bitcast float 5.000000e-01 to i32 %1372 = insertelement <2 x i32> undef, i32 %1370, i32 0 %1373 = insertelement <2 x i32> %1372, i32 %1371, i32 1 %1374 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1373, <32 x i8> %35, <16 x i8> %37, i32 2) %1375 = extractelement <4 x float> %1374, i32 0 %1376 = extractelement <4 x float> %1374, i32 1 %1377 = extractelement <4 x float> %1374, i32 2 %1378 = fmul float %1366, %1375 %1379 = fmul float %1367, %1376 %1380 = fmul float %1368, %1377 %1381 = bitcast float %1358 to i32 %1382 = bitcast float %1360 to i32 %1383 = insertelement <2 x i32> undef, i32 %1381, i32 0 %1384 = insertelement <2 x i32> %1383, i32 %1382, i32 1 %1385 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1384, <32 x i8> %31, <16 x i8> %33, i32 2) %1386 = extractelement <4 x float> %1385, i32 0 %1387 = fsub float -0.000000e+00, %25 %1388 = fadd float %1369, %1387 %1389 = call float @llvm.AMDIL.clamp.(float %1388, float 0.000000e+00, float 1.000000e+00) %1390 = fmul float %1386, %1389 %1391 = fmul float %1378, %1390 %1392 = fadd float %1391, %1352 %1393 = fmul float %1379, %1390 %1394 = fadd float %1393, %1354 %1395 = fmul float %1380, %1390 %1396 = fadd float %1395, %1356 %1397 = fmul float %1392, %22 %1398 = fmul float %1394, %23 %1399 = fmul float %1396, %24 %1400 = call i32 @llvm.SI.packf16(float %1397, float %1398) %1401 = bitcast i32 %1400 to float %1402 = call i32 @llvm.SI.packf16(float %1399, float 1.000000e+00) %1403 = bitcast i32 %1402 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %1401, float %1403, float %1401, float %1403) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c8080100 c8090101 7e0602ff c09b56fe d2820005 03c20702 c8180000 c8190001 d2820004 03c20706 c0840304 c0c60508 bf8c007f f0800100 00430004 c08a0300 c0cc0500 bf8c0070 f0800f00 00a60704 c0900100 bf8c0070 c2002110 bf8c007f 7e020200 d2080003 0202030a d2060803 02010103 10000700 7e0602ff c0a00000 d2820005 03c20702 d2820004 03c20706 f0800100 00430304 f0800f00 00a60b04 bf8c0770 d2080004 0202030e d2060804 02010104 10060903 7e2002f0 7e1e02ff 3d4ccccd c0800308 c0d20510 bf8c007f f0800700 0009120f bf8c0770 1008270c 10080704 100a2708 d2820004 04120105 7e0a02ff c096f183 d2820016 03c20b02 d2820015 03c20b06 f0800100 00430515 f0800f00 00a61515 bf8c0770 d2080019 02020318 d2060819 02010119 100a3305 10322716 d2820004 04120b19 7e3202ff 40a00000 d282001b 03c23302 d282001a 03c23306 f0800100 0043191a f0800f00 00a61a1a bf8c0770 d208001e 0202031d d206081e 0201011e 10323d19 7e1e02ff 3e19999a f0800700 00091e0f bf8c0770 10423f1b d2820004 04123321 7e4202ff 409b56fe d2820023 03c24302 d2820022 03c24306 f0800100 00432122 f0800f00 00a62222 bf8c0770 d2080026 02020325 d2060826 02010126 10424d21 104c3f23 d2820004 04124326 7e4c02ff 4096f183 d2820028 03c24d02 d2820027 03c24d06 f0800100 00432627 f0800f00 00a62727 bf8c0770 d208002b 0202032a d206082b 0201012b 104c5726 10563f28 d2820004 04124d2b 7e5602ff 40555555 d282002d 03c25702 d282002c 03c25706 f0800100 00432b2c f0800f00 00a62c2c bf8c0770 d2080030 0202032f d2060830 02010130 1056612b 7e1e02ff 3e428f5c f0800700 0009300f bf8c0770 1066632d d2820004 04125733 7e6602ff 404fcace d2820035 03c26702 d2820034 03c26706 f0800100 00433334 f0800f00 00a63434 bf8c0770 d2080038 02020337 d2060838 02010138 10667133 10706335 d2820004 04126738 7e7002ff 404a881b d282003a 03c27102 d2820039 03c27106 f0800100 00433839 f0800f00 00a63939 bf8c0770 d208003d 0202033c d206083d 0201013d 10707b38 107a633a d2820004 0412713d 7e7a02ff 404587e8 d282003f 03c27b02 d282003e 03c27b06 f0800100 00433d3e f0800f00 00a63e3e bf8c0770 d2080042 02020341 d2060842 02010142 107a853d 1084633f d2820004 04127b42 7e8402ff 3fb6db6e d2820044 03c28502 d2820043 03c28506 f0800100 00434243 f0800f00 00a64343 bf8c0770 d2080047 02020346 d2060847 02010147 10848f42 7e1e02ff 3eb33333 f0800700 0009470f bf8c0770 10949144 d2820004 0412854a 7e9402ff 3fb1c71d d282004c 03c29502 d282004b 03c29506 f0800100 00434a4b f0800f00 00a64b4b bf8c0770 d208004f 0202034e d206084f 0201014f 10949f4a 109e914c d2820004 0412954f 7e9e02ff 3facf916 d2820051 03c29f02 d2820050 03c29f06 f0800100 00434f50 f0800f00 00a65050 bf8c0770 d2080054 02020353 d2060854 02010154 109ea94f 10a89151 d2820004 04129f54 7ea802ff 3fa86bcb d2820056 03c2a902 d2820055 03c2a906 f0800100 00435455 f0800f00 00a65555 bf8c0770 d2080059 02020358 d2060859 02010159 10a8b354 10b29156 d2820004 0412a959 7eb202ff 3f68ba2e d282005b 03c2b302 d282005a 03c2b306 f0800100 0043595a f0800f00 00a65a5a bf8c0770 d208005e 0202035d d206085e 0201015e 10b2bd59 7e220310 f0800700 00095e10 bf8c0770 10c2bf5b d2820004 0412b361 7ec202ff 3f608fb8 d2820063 03c2c302 d2820062 03c2c306 f0800100 00436162 f0800f00 00a66262 bf8c0770 d2080066 02020365 d2060866 02010166 10c2cd61 10ccbf63 d2820004 0412c366 7ecc02ff 3f58f2fc d2820068 03c2cd02 d2820067 03c2cd06 f0800100 00436667 f0800f00 00a66767 bf8c0770 d208006b 0202036a d206086b 0201016b 10ccd766 10d6bf68 d2820004 0412cd6b 7ed602ff 3f51d609 d282006d 03c2d702 d282006c 03c2d706 f0800100 00436b6c f0800f00 00a66c6c bf8c0770 d2080070 0202036f d2060870 02010170 10d6e16b 10e0bf6d d2820004 0412d770 7ee002ff 3f4b2cb4 d2820072 03c2e102 d2820071 03c2e106 f0800100 00437071 f0800f00 00a67171 bf8c0770 d2080075 02020374 d2060875 02010175 10e0eb70 10eabf72 d2820004 0412e175 7eea02ff 3f44ec4f d2820077 03c2eb02 d2820076 03c2eb06 f0800100 00437576 f0800f00 00a67676 bf8c0770 d208007a 02020379 d206087a 0201017a 10eaf575 7e1e02ff 3f11eb85 f0800700 00097a0f bf8c0770 10faf777 d2820004 0412eb7d 7efa02ff 3f3f0b77 d282007f 03c2fb02 d282007e 03c2fb06 f0800100 00437d7e f0800f00 00a67e7e bf8c0770 d2080082 02020381 d2060882 02010182 10fb057d 1104f77f d2820004 0412fb82 7f0402ff 3f3981dc d2820084 03c30502 d2820083 03c30506 f0800100 00438283 f0800f00 00a68383 bf8c0770 d2080087 02020386 d2060887 02010187 11050f82 110ef784 d2820004 04130587 7f0e02ff 3f34481e d2820089 03c30f02 d2820088 03c30f06 f0800100 00438788 f0800f00 00a68888 bf8c0770 d208008c 0202038b d206088c 0201018c 110f1987 1118f789 d2820004 04130f8c 7f1802ff 3f2f57ad d282008e 03c31902 d282008d 03c31906 f0800100 00438c8d f0800f00 00a68d8d bf8c0770 d2080091 02020390 d2060891 02010191 1119238c 1122f78e d2820004 04131991 d2820092 03c1e102 d2820091 03c1e106 f0800100 00439391 f0800f00 00a69491 bf8c0770 d2080091 02020397 d2060891 02010191 11232393 7e1e02ff 3f59999a f0800700 0009980f bf8c0770 11253395 d2820004 04132392 7f2402ff 3efafafb d282009c 03c32502 d282009b 03c32506 f0800100 0043929b f0800f00 00a69b9b bf8c0770 d2080093 0202039e d2060893 02010193 11252792 1127339c d2820004 04132593 7f2602ff 3ef62763 d28200a0 03c32702 d282009f 03c32706 f0800100 0043939f f0800f00 00a69f9f bf8c0770 d20800a3 020203a2 d20608a3 020101a3 11274793 114733a0 d2820004 041327a3 7f4602ff 3ef1826b d28200a5 03c34702 d28200a4 03c34706 f0800100 0043a3a4 f0800f00 00a6a4a4 bf8c0770 d20800a8 020203a7 d20608a8 020101a8 114751a3 115133a5 d2820004 041347a8 7f5002ff 3eed097c d28200aa 03c35102 d28200a9 03c35106 f0800100 0043a8a9 f0800f00 00a6a9a9 bf8c0770 d20800ad 020203ac d20608ad 020101ad 11515ba8 115b33aa d2820004 041351ad 7f5a02ff 3ed55555 d28200af 03c35b02 d28200ae 03c35b06 f0800100 0043adae f0800f00 00a6aeae bf8c0770 d20800b2 020203b1 d20608b2 020101b2 115b65ad 7e1e02f2 f0800700 00090f0f bf8c0770 116421af d2820004 04135bb2 7f6402ff 3ed1d608 d28200b4 03c36502 d28200b3 03c36506 f0800100 0043b2b3 f0800f00 00a6b3b3 bf8c0770 d20800b7 020203b6 d20608b7 020101b7 11656fb2 116e21b4 d2820004 041365b7 7f6e02ff 3ece739d d28200b9 03c36f02 d28200b8 03c36f06 f0800100 0043b7b8 f0800f00 00a6b8b8 bf8c0770 d20800bc 020203bb d20608bc 020101bc 116f79b7 117821b9 d2820004 04136fbc 7f7802ff 3ecb2cb3 d28200be 03c37902 d28200bd 03c37906 f0800100 0043bcbd f0800f00 00a6bdbd bf8c0770 d20800c1 020203c0 d20608c1 020101c1 117983bc 118221be d2820004 041379c1 7f8202ff 3ec80000 d28200c3 03c38302 d28200c2 03c38306 f0800100 004302c2 f0800f00 00a6c1c2 bf8c0770 d2080001 020203c4 d2060801 02010101 10020302 100421c2 d2820002 04120302 c200210d bf8c007f 10040400 1008250b 10080704 100c2507 d2820004 04120106 100c2515 d2820004 04120b06 100c3d1a d2820004 04123306 100c3d22 d2820004 04124306 100c3d27 d2820004 04124d06 100c612c d2820004 04125706 100c6134 d2820004 04126706 100c6139 d2820004 04127106 100c613e d2820004 04127b06 100c8f43 d2820004 04128506 100c8f4b d2820004 04129506 100c8f50 d2820004 04129f06 100c8f55 d2820004 0412a906 100cbd5a d2820004 0412b306 100cbd62 d2820004 0412c306 100cbd67 d2820004 0412cd06 100cbd6c d2820004 0412d706 100cbd71 d2820004 0412e106 100cf576 d2820004 0412eb06 100cf57e d2820004 0412fb06 100cf583 d2820004 04130506 100cf588 d2820004 04130f06 100cf58d d2820004 04131906 100d3194 d2820004 04132306 100d319b d2820004 04132506 100d319f d2820004 04132706 100d31a4 d2820004 04134706 100d31a9 d2820004 04135106 100c1fae d2820004 04135b06 100c1fb3 d2820004 04136506 100c1fb8 d2820004 04136f06 100c1fbd d2820004 04137906 100c1fc1 d2820004 04120306 c200210c bf8c007f 10080800 5e040504 1008290d 10060704 10082909 d2820000 040e0104 10062917 d2820000 04020b03 1006411c d2820000 04023303 10064124 d2820000 04024303 10064129 d2820000 04024d03 1006652e d2820000 04025703 10066536 d2820000 04026703 1006653b d2820000 04027103 10066540 d2820000 04027b03 10069345 d2820000 04028503 1006934d d2820000 04029503 10069352 d2820000 04029f03 10069357 d2820000 0402a903 1006c15c d2820000 0402b303 1006c164 d2820000 0402c303 1006c169 d2820000 0402cd03 1006c16e d2820000 0402d703 1006c173 d2820000 0402e103 1006f978 d2820000 0402eb03 1006f980 d2820000 0402fb03 1006f985 d2820000 04030503 1006f98a d2820000 04030f03 1006f98f d2820000 04031903 10073596 d2820000 04032303 1007359d d2820000 04032503 100735a1 d2820000 04032703 100735a6 d2820000 04034703 100735ab d2820000 04035103 100623b0 d2820000 04035b03 100623b5 d2820000 04036503 100623ba d2820000 04036f03 100623bf d2820000 04037903 100623c3 d2820000 04020303 c200210e bf8c007f 10000000 d25e0000 0201e500 f8001c0f 00020002 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL IMM[0] FLT32 { 0.5000, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: ADD TEMP[1].xy, IMM[0].xxxx, -IN[1].xyyy 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 %76 = fsub float -0.000000e+00, %40 %77 = fadd float 5.000000e-01, %76 %78 = fsub float -0.000000e+00, %41 %79 = fadd float 5.000000e-01, %78 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %77, float %79, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 080014f0 081212f0 f800020f 07080009 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1..2] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.9500, 0.9025, 0.8574, 0.8145} IMM[1] FLT32 { 0.7738, 0.7351, 0.6983, 0.6634} IMM[2] FLT32 { 0.6302, 0.5987, 0.5688, 0.5404} IMM[3] FLT32 { 0.5133, 0.4877, 0.4633, 0.4401} IMM[4] FLT32 { 0.4181, 0.3972, 0.3774, 0.3585} IMM[5] FLT32 { 0.3406, 0.3235, 0.3074, 0.2920} IMM[6] FLT32 { 0.2774, 0.2635, 0.2503, 0.2378} IMM[7] FLT32 { 0.2259, 0.2146, 0.2039, 1.0000} IMM[8] FLT32 { 0.1240, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: ADD_SAT TEMP[1].x, TEMP[0].wwww, -CONST[2].xxxx 3: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx 4: ADD TEMP[1].xy, IN[0].xyyy, IN[1].xyyy 5: MOV TEMP[2].xy, TEMP[1].xyyy 6: TEX TEMP[2], TEMP[2], SAMP[0], 2D 7: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 8: MUL TEMP[3].x, TEMP[3].xxxx, IMM[0].xxxx 9: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 10: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 11: MOV TEMP[2].xy, TEMP[1].xyyy 12: TEX TEMP[2], TEMP[2], SAMP[0], 2D 13: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 14: MUL TEMP[3].x, TEMP[3].xxxx, IMM[0].yyyy 15: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 16: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 17: MOV TEMP[2].xy, TEMP[1].xyyy 18: TEX TEMP[2], TEMP[2], SAMP[0], 2D 19: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 20: MUL TEMP[3].x, TEMP[3].xxxx, IMM[0].zzzz 21: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 22: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 23: MOV TEMP[2].xy, TEMP[1].xyyy 24: TEX TEMP[2], TEMP[2], SAMP[0], 2D 25: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 26: MUL TEMP[3].x, TEMP[3].xxxx, IMM[0].wwww 27: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 28: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 29: MOV TEMP[2].xy, TEMP[1].xyyy 30: TEX TEMP[2], TEMP[2], SAMP[0], 2D 31: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 32: MUL TEMP[3].x, TEMP[3].xxxx, IMM[1].xxxx 33: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 34: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 35: MOV TEMP[2].xy, TEMP[1].xyyy 36: TEX TEMP[2], TEMP[2], SAMP[0], 2D 37: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 38: MUL TEMP[3].x, TEMP[3].xxxx, IMM[1].yyyy 39: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 40: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 41: MOV TEMP[2].xy, TEMP[1].xyyy 42: TEX TEMP[2], TEMP[2], SAMP[0], 2D 43: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 44: MUL TEMP[3].x, TEMP[3].xxxx, IMM[1].zzzz 45: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 46: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 47: MOV TEMP[2].xy, TEMP[1].xyyy 48: TEX TEMP[2], TEMP[2], SAMP[0], 2D 49: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 50: MUL TEMP[3].x, TEMP[3].xxxx, IMM[1].wwww 51: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 52: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 53: MOV TEMP[2].xy, TEMP[1].xyyy 54: TEX TEMP[2], TEMP[2], SAMP[0], 2D 55: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 56: MUL TEMP[3].x, TEMP[3].xxxx, IMM[2].xxxx 57: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 58: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 59: MOV TEMP[2].xy, TEMP[1].xyyy 60: TEX TEMP[2], TEMP[2], SAMP[0], 2D 61: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 62: MUL TEMP[3].x, TEMP[3].xxxx, IMM[2].yyyy 63: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 64: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 65: MOV TEMP[2].xy, TEMP[1].xyyy 66: TEX TEMP[2], TEMP[2], SAMP[0], 2D 67: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 68: MUL TEMP[3].x, TEMP[3].xxxx, IMM[2].zzzz 69: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 70: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 71: MOV TEMP[2].xy, TEMP[1].xyyy 72: TEX TEMP[2], TEMP[2], SAMP[0], 2D 73: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 74: MUL TEMP[3].x, TEMP[3].xxxx, IMM[2].wwww 75: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 76: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 77: MOV TEMP[2].xy, TEMP[1].xyyy 78: TEX TEMP[2], TEMP[2], SAMP[0], 2D 79: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 80: MUL TEMP[3].x, TEMP[3].xxxx, IMM[3].xxxx 81: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 82: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 83: MOV TEMP[2].xy, TEMP[1].xyyy 84: TEX TEMP[2], TEMP[2], SAMP[0], 2D 85: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 86: MUL TEMP[3].x, TEMP[3].xxxx, IMM[3].yyyy 87: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 88: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 89: MOV TEMP[2].xy, TEMP[1].xyyy 90: TEX TEMP[2], TEMP[2], SAMP[0], 2D 91: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 92: MUL TEMP[3].x, TEMP[3].xxxx, IMM[3].zzzz 93: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 94: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 95: MOV TEMP[2].xy, TEMP[1].xyyy 96: TEX TEMP[2], TEMP[2], SAMP[0], 2D 97: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 98: MUL TEMP[3].x, TEMP[3].xxxx, IMM[3].wwww 99: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 100: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 101: MOV TEMP[2].xy, TEMP[1].xyyy 102: TEX TEMP[2], TEMP[2], SAMP[0], 2D 103: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 104: MUL TEMP[3].x, TEMP[3].xxxx, IMM[4].xxxx 105: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 106: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 107: MOV TEMP[2].xy, TEMP[1].xyyy 108: TEX TEMP[2], TEMP[2], SAMP[0], 2D 109: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 110: MUL TEMP[3].x, TEMP[3].xxxx, IMM[4].yyyy 111: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 112: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 113: MOV TEMP[2].xy, TEMP[1].xyyy 114: TEX TEMP[2], TEMP[2], SAMP[0], 2D 115: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 116: MUL TEMP[3].x, TEMP[3].xxxx, IMM[4].zzzz 117: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 118: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 119: MOV TEMP[2].xy, TEMP[1].xyyy 120: TEX TEMP[2], TEMP[2], SAMP[0], 2D 121: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 122: MUL TEMP[3].x, TEMP[3].xxxx, IMM[4].wwww 123: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 124: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 125: MOV TEMP[2].xy, TEMP[1].xyyy 126: TEX TEMP[2], TEMP[2], SAMP[0], 2D 127: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 128: MUL TEMP[3].x, TEMP[3].xxxx, IMM[5].xxxx 129: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 130: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 131: MOV TEMP[2].xy, TEMP[1].xyyy 132: TEX TEMP[2], TEMP[2], SAMP[0], 2D 133: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 134: MUL TEMP[3].x, TEMP[3].xxxx, IMM[5].yyyy 135: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 136: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 137: MOV TEMP[2].xy, TEMP[1].xyyy 138: TEX TEMP[2], TEMP[2], SAMP[0], 2D 139: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 140: MUL TEMP[3].x, TEMP[3].xxxx, IMM[5].zzzz 141: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 142: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 143: MOV TEMP[2].xy, TEMP[1].xyyy 144: TEX TEMP[2], TEMP[2], SAMP[0], 2D 145: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 146: MUL TEMP[3].x, TEMP[3].xxxx, IMM[5].wwww 147: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 148: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 149: MOV TEMP[2].xy, TEMP[1].xyyy 150: TEX TEMP[2], TEMP[2], SAMP[0], 2D 151: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 152: MUL TEMP[3].x, TEMP[3].xxxx, IMM[6].xxxx 153: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 154: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 155: MOV TEMP[2].xy, TEMP[1].xyyy 156: TEX TEMP[2], TEMP[2], SAMP[0], 2D 157: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 158: MUL TEMP[3].x, TEMP[3].xxxx, IMM[6].yyyy 159: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 160: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 161: MOV TEMP[2].xy, TEMP[1].xyyy 162: TEX TEMP[2], TEMP[2], SAMP[0], 2D 163: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 164: MUL TEMP[3].x, TEMP[3].xxxx, IMM[6].zzzz 165: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 166: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 167: MOV TEMP[2].xy, TEMP[1].xyyy 168: TEX TEMP[2], TEMP[2], SAMP[0], 2D 169: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 170: MUL TEMP[3].x, TEMP[3].xxxx, IMM[6].wwww 171: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 172: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 173: MOV TEMP[2].xy, TEMP[1].xyyy 174: TEX TEMP[2], TEMP[2], SAMP[0], 2D 175: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 176: MUL TEMP[3].x, TEMP[3].xxxx, IMM[7].xxxx 177: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 178: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 179: MOV TEMP[2].xy, TEMP[1].xyyy 180: TEX TEMP[2], TEMP[2], SAMP[0], 2D 181: ADD_SAT TEMP[3].x, TEMP[2].wwww, -CONST[2].xxxx 182: MUL TEMP[3].x, TEMP[3].xxxx, IMM[7].yyyy 183: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 184: ADD TEMP[1].xy, TEMP[1].xyyy, IN[1].xyyy 185: MOV TEMP[1].xy, TEMP[1].xyyy 186: TEX TEMP[1], TEMP[1], SAMP[0], 2D 187: ADD_SAT TEMP[2].x, TEMP[1].wwww, -CONST[2].xxxx 188: MUL TEMP[2].x, TEMP[2].xxxx, IMM[7].zzzz 189: MAD TEMP[0].xyz, TEMP[1].xyzz, TEMP[2].xxxx, TEMP[0].xyzz 190: MOV TEMP[1].w, IMM[7].wwww 191: MUL TEMP[0].xyz, TEMP[0].xyzz, CONST[1].xyzz 192: MUL TEMP[1].xyz, TEMP[0].xyzz, IMM[8].xxxx 193: MOV OUT[0], TEMP[1] 194: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %23 = call float @llvm.SI.load.const(<16 x i8> %21, i32 20) %24 = call float @llvm.SI.load.const(<16 x i8> %21, i32 24) %25 = call float @llvm.SI.load.const(<16 x i8> %21, i32 32) %26 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %27 = load <32 x i8> addrspace(2)* %26, !tbaa !0 %28 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %29 = load <16 x i8> addrspace(2)* %28, !tbaa !0 %30 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %31 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %32 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %33 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %34 = bitcast float %30 to i32 %35 = bitcast float %31 to i32 %36 = insertelement <2 x i32> undef, i32 %34, i32 0 %37 = insertelement <2 x i32> %36, i32 %35, i32 1 %38 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %37, <32 x i8> %27, <16 x i8> %29, i32 2) %39 = extractelement <4 x float> %38, i32 0 %40 = extractelement <4 x float> %38, i32 1 %41 = extractelement <4 x float> %38, i32 2 %42 = extractelement <4 x float> %38, i32 3 %43 = fsub float -0.000000e+00, %25 %44 = fadd float %42, %43 %45 = call float @llvm.AMDIL.clamp.(float %44, float 0.000000e+00, float 1.000000e+00) %46 = fmul float %39, %45 %47 = fmul float %40, %45 %48 = fmul float %41, %45 %49 = fadd float %30, %32 %50 = fadd float %31, %33 %51 = bitcast float %49 to i32 %52 = bitcast float %50 to i32 %53 = insertelement <2 x i32> undef, i32 %51, i32 0 %54 = insertelement <2 x i32> %53, i32 %52, i32 1 %55 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %54, <32 x i8> %27, <16 x i8> %29, i32 2) %56 = extractelement <4 x float> %55, i32 0 %57 = extractelement <4 x float> %55, i32 1 %58 = extractelement <4 x float> %55, i32 2 %59 = extractelement <4 x float> %55, i32 3 %60 = fsub float -0.000000e+00, %25 %61 = fadd float %59, %60 %62 = call float @llvm.AMDIL.clamp.(float %61, float 0.000000e+00, float 1.000000e+00) %63 = fmul float %62, 0x3FEE666660000000 %64 = fmul float %56, %63 %65 = fadd float %64, %46 %66 = fmul float %57, %63 %67 = fadd float %66, %47 %68 = fmul float %58, %63 %69 = fadd float %68, %48 %70 = fadd float %49, %32 %71 = fadd float %50, %33 %72 = bitcast float %70 to i32 %73 = bitcast float %71 to i32 %74 = insertelement <2 x i32> undef, i32 %72, i32 0 %75 = insertelement <2 x i32> %74, i32 %73, i32 1 %76 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %75, <32 x i8> %27, <16 x i8> %29, i32 2) %77 = extractelement <4 x float> %76, i32 0 %78 = extractelement <4 x float> %76, i32 1 %79 = extractelement <4 x float> %76, i32 2 %80 = extractelement <4 x float> %76, i32 3 %81 = fsub float -0.000000e+00, %25 %82 = fadd float %80, %81 %83 = call float @llvm.AMDIL.clamp.(float %82, float 0.000000e+00, float 1.000000e+00) %84 = fmul float %83, 0x3FECE147A0000000 %85 = fmul float %77, %84 %86 = fadd float %85, %65 %87 = fmul float %78, %84 %88 = fadd float %87, %67 %89 = fmul float %79, %84 %90 = fadd float %89, %69 %91 = fadd float %70, %32 %92 = fadd float %71, %33 %93 = bitcast float %91 to i32 %94 = bitcast float %92 to i32 %95 = insertelement <2 x i32> undef, i32 %93, i32 0 %96 = insertelement <2 x i32> %95, i32 %94, i32 1 %97 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %96, <32 x i8> %27, <16 x i8> %29, i32 2) %98 = extractelement <4 x float> %97, i32 0 %99 = extractelement <4 x float> %97, i32 1 %100 = extractelement <4 x float> %97, i32 2 %101 = extractelement <4 x float> %97, i32 3 %102 = fsub float -0.000000e+00, %25 %103 = fadd float %101, %102 %104 = call float @llvm.AMDIL.clamp.(float %103, float 0.000000e+00, float 1.000000e+00) %105 = fmul float %104, 0x3FEB6F9DA0000000 %106 = fmul float %98, %105 %107 = fadd float %106, %86 %108 = fmul float %99, %105 %109 = fadd float %108, %88 %110 = fmul float %100, %105 %111 = fadd float %110, %90 %112 = fadd float %91, %32 %113 = fadd float %92, %33 %114 = bitcast float %112 to i32 %115 = bitcast float %113 to i32 %116 = insertelement <2 x i32> undef, i32 %114, i32 0 %117 = insertelement <2 x i32> %116, i32 %115, i32 1 %118 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %117, <32 x i8> %27, <16 x i8> %29, i32 2) %119 = extractelement <4 x float> %118, i32 0 %120 = extractelement <4 x float> %118, i32 1 %121 = extractelement <4 x float> %118, i32 2 %122 = extractelement <4 x float> %118, i32 3 %123 = fsub float -0.000000e+00, %25 %124 = fadd float %122, %123 %125 = call float @llvm.AMDIL.clamp.(float %124, float 0.000000e+00, float 1.000000e+00) %126 = fmul float %125, 0x3FEA106F60000000 %127 = fmul float %119, %126 %128 = fadd float %127, %107 %129 = fmul float %120, %126 %130 = fadd float %129, %109 %131 = fmul float %121, %126 %132 = fadd float %131, %111 %133 = fadd float %112, %32 %134 = fadd float %113, %33 %135 = bitcast float %133 to i32 %136 = bitcast float %134 to i32 %137 = insertelement <2 x i32> undef, i32 %135, i32 0 %138 = insertelement <2 x i32> %137, i32 %136, i32 1 %139 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %138, <32 x i8> %27, <16 x i8> %29, i32 2) %140 = extractelement <4 x float> %139, i32 0 %141 = extractelement <4 x float> %139, i32 1 %142 = extractelement <4 x float> %139, i32 2 %143 = extractelement <4 x float> %139, i32 3 %144 = fsub float -0.000000e+00, %25 %145 = fadd float %143, %144 %146 = call float @llvm.AMDIL.clamp.(float %145, float 0.000000e+00, float 1.000000e+00) %147 = fmul float %146, 0x3FE8C2D020000000 %148 = fmul float %140, %147 %149 = fadd float %148, %128 %150 = fmul float %141, %147 %151 = fadd float %150, %130 %152 = fmul float %142, %147 %153 = fadd float %152, %132 %154 = fadd float %133, %32 %155 = fadd float %134, %33 %156 = bitcast float %154 to i32 %157 = bitcast float %155 to i32 %158 = insertelement <2 x i32> undef, i32 %156, i32 0 %159 = insertelement <2 x i32> %158, i32 %157, i32 1 %160 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %159, <32 x i8> %27, <16 x i8> %29, i32 2) %161 = extractelement <4 x float> %160, i32 0 %162 = extractelement <4 x float> %160, i32 1 %163 = extractelement <4 x float> %160, i32 2 %164 = extractelement <4 x float> %160, i32 3 %165 = fsub float -0.000000e+00, %25 %166 = fadd float %164, %165 %167 = call float @llvm.AMDIL.clamp.(float %166, float 0.000000e+00, float 1.000000e+00) %168 = fmul float %167, 0x3FE785DF40000000 %169 = fmul float %161, %168 %170 = fadd float %169, %149 %171 = fmul float %162, %168 %172 = fadd float %171, %151 %173 = fmul float %163, %168 %174 = fadd float %173, %153 %175 = fadd float %154, %32 %176 = fadd float %155, %33 %177 = bitcast float %175 to i32 %178 = bitcast float %176 to i32 %179 = insertelement <2 x i32> undef, i32 %177, i32 0 %180 = insertelement <2 x i32> %179, i32 %178, i32 1 %181 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %180, <32 x i8> %27, <16 x i8> %29, i32 2) %182 = extractelement <4 x float> %181, i32 0 %183 = extractelement <4 x float> %181, i32 1 %184 = extractelement <4 x float> %181, i32 2 %185 = extractelement <4 x float> %181, i32 3 %186 = fsub float -0.000000e+00, %25 %187 = fadd float %185, %186 %188 = call float @llvm.AMDIL.clamp.(float %187, float 0.000000e+00, float 1.000000e+00) %189 = fmul float %188, 0x3FE658C740000000 %190 = fmul float %182, %189 %191 = fadd float %190, %170 %192 = fmul float %183, %189 %193 = fadd float %192, %172 %194 = fmul float %184, %189 %195 = fadd float %194, %174 %196 = fadd float %175, %32 %197 = fadd float %176, %33 %198 = bitcast float %196 to i32 %199 = bitcast float %197 to i32 %200 = insertelement <2 x i32> undef, i32 %198, i32 0 %201 = insertelement <2 x i32> %200, i32 %199, i32 1 %202 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %201, <32 x i8> %27, <16 x i8> %29, i32 2) %203 = extractelement <4 x float> %202, i32 0 %204 = extractelement <4 x float> %202, i32 1 %205 = extractelement <4 x float> %202, i32 2 %206 = extractelement <4 x float> %202, i32 3 %207 = fsub float -0.000000e+00, %25 %208 = fadd float %206, %207 %209 = call float @llvm.AMDIL.clamp.(float %208, float 0.000000e+00, float 1.000000e+00) %210 = fmul float %209, 0x3FE53ABD40000000 %211 = fmul float %203, %210 %212 = fadd float %211, %191 %213 = fmul float %204, %210 %214 = fadd float %213, %193 %215 = fmul float %205, %210 %216 = fadd float %215, %195 %217 = fadd float %196, %32 %218 = fadd float %197, %33 %219 = bitcast float %217 to i32 %220 = bitcast float %218 to i32 %221 = insertelement <2 x i32> undef, i32 %219, i32 0 %222 = insertelement <2 x i32> %221, i32 %220, i32 1 %223 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %222, <32 x i8> %27, <16 x i8> %29, i32 2) %224 = extractelement <4 x float> %223, i32 0 %225 = extractelement <4 x float> %223, i32 1 %226 = extractelement <4 x float> %223, i32 2 %227 = extractelement <4 x float> %223, i32 3 %228 = fsub float -0.000000e+00, %25 %229 = fadd float %227, %228 %230 = call float @llvm.AMDIL.clamp.(float %229, float 0.000000e+00, float 1.000000e+00) %231 = fmul float %230, 0x3FE42B00A0000000 %232 = fmul float %224, %231 %233 = fadd float %232, %212 %234 = fmul float %225, %231 %235 = fadd float %234, %214 %236 = fmul float %226, %231 %237 = fadd float %236, %216 %238 = fadd float %217, %32 %239 = fadd float %218, %33 %240 = bitcast float %238 to i32 %241 = bitcast float %239 to i32 %242 = insertelement <2 x i32> undef, i32 %240, i32 0 %243 = insertelement <2 x i32> %242, i32 %241, i32 1 %244 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %243, <32 x i8> %27, <16 x i8> %29, i32 2) %245 = extractelement <4 x float> %244, i32 0 %246 = extractelement <4 x float> %244, i32 1 %247 = extractelement <4 x float> %244, i32 2 %248 = extractelement <4 x float> %244, i32 3 %249 = fsub float -0.000000e+00, %25 %250 = fadd float %248, %249 %251 = call float @llvm.AMDIL.clamp.(float %250, float 0.000000e+00, float 1.000000e+00) %252 = fmul float %251, 0x3FE328DA20000000 %253 = fmul float %245, %252 %254 = fadd float %253, %233 %255 = fmul float %246, %252 %256 = fadd float %255, %235 %257 = fmul float %247, %252 %258 = fadd float %257, %237 %259 = fadd float %238, %32 %260 = fadd float %239, %33 %261 = bitcast float %259 to i32 %262 = bitcast float %260 to i32 %263 = insertelement <2 x i32> undef, i32 %261, i32 0 %264 = insertelement <2 x i32> %263, i32 %262, i32 1 %265 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %264, <32 x i8> %27, <16 x i8> %29, i32 2) %266 = extractelement <4 x float> %265, i32 0 %267 = extractelement <4 x float> %265, i32 1 %268 = extractelement <4 x float> %265, i32 2 %269 = extractelement <4 x float> %265, i32 3 %270 = fsub float -0.000000e+00, %25 %271 = fadd float %269, %270 %272 = call float @llvm.AMDIL.clamp.(float %271, float 0.000000e+00, float 1.000000e+00) %273 = fmul float %272, 0x3FE2339C00000000 %274 = fmul float %266, %273 %275 = fadd float %274, %254 %276 = fmul float %267, %273 %277 = fadd float %276, %256 %278 = fmul float %268, %273 %279 = fadd float %278, %258 %280 = fadd float %259, %32 %281 = fadd float %260, %33 %282 = bitcast float %280 to i32 %283 = bitcast float %281 to i32 %284 = insertelement <2 x i32> undef, i32 %282, i32 0 %285 = insertelement <2 x i32> %284, i32 %283, i32 1 %286 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %285, <32 x i8> %27, <16 x i8> %29, i32 2) %287 = extractelement <4 x float> %286, i32 0 %288 = extractelement <4 x float> %286, i32 1 %289 = extractelement <4 x float> %286, i32 2 %290 = extractelement <4 x float> %286, i32 3 %291 = fsub float -0.000000e+00, %25 %292 = fadd float %290, %291 %293 = call float @llvm.AMDIL.clamp.(float %292, float 0.000000e+00, float 1.000000e+00) %294 = fmul float %293, 0x3FE14AA100000000 %295 = fmul float %287, %294 %296 = fadd float %295, %275 %297 = fmul float %288, %294 %298 = fadd float %297, %277 %299 = fmul float %289, %294 %300 = fadd float %299, %279 %301 = fadd float %280, %32 %302 = fadd float %281, %33 %303 = bitcast float %301 to i32 %304 = bitcast float %302 to i32 %305 = insertelement <2 x i32> undef, i32 %303, i32 0 %306 = insertelement <2 x i32> %305, i32 %304, i32 1 %307 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %306, <32 x i8> %27, <16 x i8> %29, i32 2) %308 = extractelement <4 x float> %307, i32 0 %309 = extractelement <4 x float> %307, i32 1 %310 = extractelement <4 x float> %307, i32 2 %311 = extractelement <4 x float> %307, i32 3 %312 = fsub float -0.000000e+00, %25 %313 = fadd float %311, %312 %314 = call float @llvm.AMDIL.clamp.(float %313, float 0.000000e+00, float 1.000000e+00) %315 = fmul float %314, 0x3FE06D4C20000000 %316 = fmul float %308, %315 %317 = fadd float %316, %296 %318 = fmul float %309, %315 %319 = fadd float %318, %298 %320 = fmul float %310, %315 %321 = fadd float %320, %300 %322 = fadd float %301, %32 %323 = fadd float %302, %33 %324 = bitcast float %322 to i32 %325 = bitcast float %323 to i32 %326 = insertelement <2 x i32> undef, i32 %324, i32 0 %327 = insertelement <2 x i32> %326, i32 %325, i32 1 %328 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %327, <32 x i8> %27, <16 x i8> %29, i32 2) %329 = extractelement <4 x float> %328, i32 0 %330 = extractelement <4 x float> %328, i32 1 %331 = extractelement <4 x float> %328, i32 2 %332 = extractelement <4 x float> %328, i32 3 %333 = fsub float -0.000000e+00, %25 %334 = fadd float %332, %333 %335 = call float @llvm.AMDIL.clamp.(float %334, float 0.000000e+00, float 1.000000e+00) %336 = fmul float %335, 0x3FDF3610A0000000 %337 = fmul float %329, %336 %338 = fadd float %337, %317 %339 = fmul float %330, %336 %340 = fadd float %339, %319 %341 = fmul float %331, %336 %342 = fadd float %341, %321 %343 = fadd float %322, %32 %344 = fadd float %323, %33 %345 = bitcast float %343 to i32 %346 = bitcast float %344 to i32 %347 = insertelement <2 x i32> undef, i32 %345, i32 0 %348 = insertelement <2 x i32> %347, i32 %346, i32 1 %349 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %348, <32 x i8> %27, <16 x i8> %29, i32 2) %350 = extractelement <4 x float> %349, i32 0 %351 = extractelement <4 x float> %349, i32 1 %352 = extractelement <4 x float> %349, i32 2 %353 = extractelement <4 x float> %349, i32 3 %354 = fsub float -0.000000e+00, %25 %355 = fadd float %353, %354 %356 = call float @llvm.AMDIL.clamp.(float %355, float 0.000000e+00, float 1.000000e+00) %357 = fmul float %356, 0x3FDDA68FC0000000 %358 = fmul float %350, %357 %359 = fadd float %358, %338 %360 = fmul float %351, %357 %361 = fadd float %360, %340 %362 = fmul float %352, %357 %363 = fadd float %362, %342 %364 = fadd float %343, %32 %365 = fadd float %344, %33 %366 = bitcast float %364 to i32 %367 = bitcast float %365 to i32 %368 = insertelement <2 x i32> undef, i32 %366, i32 0 %369 = insertelement <2 x i32> %368, i32 %367, i32 1 %370 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %369, <32 x i8> %27, <16 x i8> %29, i32 2) %371 = extractelement <4 x float> %370, i32 0 %372 = extractelement <4 x float> %370, i32 1 %373 = extractelement <4 x float> %370, i32 2 %374 = extractelement <4 x float> %370, i32 3 %375 = fsub float -0.000000e+00, %25 %376 = fadd float %374, %375 %377 = call float @llvm.AMDIL.clamp.(float %376, float 0.000000e+00, float 1.000000e+00) %378 = fmul float %377, 0x3FDC2B0880000000 %379 = fmul float %371, %378 %380 = fadd float %379, %359 %381 = fmul float %372, %378 %382 = fadd float %381, %361 %383 = fmul float %373, %378 %384 = fadd float %383, %363 %385 = fadd float %364, %32 %386 = fadd float %365, %33 %387 = bitcast float %385 to i32 %388 = bitcast float %386 to i32 %389 = insertelement <2 x i32> undef, i32 %387, i32 0 %390 = insertelement <2 x i32> %389, i32 %388, i32 1 %391 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %390, <32 x i8> %27, <16 x i8> %29, i32 2) %392 = extractelement <4 x float> %391, i32 0 %393 = extractelement <4 x float> %391, i32 1 %394 = extractelement <4 x float> %391, i32 2 %395 = extractelement <4 x float> %391, i32 3 %396 = fsub float -0.000000e+00, %25 %397 = fadd float %395, %396 %398 = call float @llvm.AMDIL.clamp.(float %397, float 0.000000e+00, float 1.000000e+00) %399 = fmul float %398, 0x3FDAC27B40000000 %400 = fmul float %392, %399 %401 = fadd float %400, %380 %402 = fmul float %393, %399 %403 = fadd float %402, %382 %404 = fmul float %394, %399 %405 = fadd float %404, %384 %406 = fadd float %385, %32 %407 = fadd float %386, %33 %408 = bitcast float %406 to i32 %409 = bitcast float %407 to i32 %410 = insertelement <2 x i32> undef, i32 %408, i32 0 %411 = insertelement <2 x i32> %410, i32 %409, i32 1 %412 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %411, <32 x i8> %27, <16 x i8> %29, i32 2) %413 = extractelement <4 x float> %412, i32 0 %414 = extractelement <4 x float> %412, i32 1 %415 = extractelement <4 x float> %412, i32 2 %416 = extractelement <4 x float> %412, i32 3 %417 = fsub float -0.000000e+00, %25 %418 = fadd float %416, %417 %419 = call float @llvm.AMDIL.clamp.(float %418, float 0.000000e+00, float 1.000000e+00) %420 = fmul float %419, 0x3FD96BF520000000 %421 = fmul float %413, %420 %422 = fadd float %421, %401 %423 = fmul float %414, %420 %424 = fadd float %423, %403 %425 = fmul float %415, %420 %426 = fadd float %425, %405 %427 = fadd float %406, %32 %428 = fadd float %407, %33 %429 = bitcast float %427 to i32 %430 = bitcast float %428 to i32 %431 = insertelement <2 x i32> undef, i32 %429, i32 0 %432 = insertelement <2 x i32> %431, i32 %430, i32 1 %433 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %432, <32 x i8> %27, <16 x i8> %29, i32 2) %434 = extractelement <4 x float> %433, i32 0 %435 = extractelement <4 x float> %433, i32 1 %436 = extractelement <4 x float> %433, i32 2 %437 = extractelement <4 x float> %433, i32 3 %438 = fsub float -0.000000e+00, %25 %439 = fadd float %437, %438 %440 = call float @llvm.AMDIL.clamp.(float %439, float 0.000000e+00, float 1.000000e+00) %441 = fmul float %440, 0x3FD8268F40000000 %442 = fmul float %434, %441 %443 = fadd float %442, %422 %444 = fmul float %435, %441 %445 = fadd float %444, %424 %446 = fmul float %436, %441 %447 = fadd float %446, %426 %448 = fadd float %427, %32 %449 = fadd float %428, %33 %450 = bitcast float %448 to i32 %451 = bitcast float %449 to i32 %452 = insertelement <2 x i32> undef, i32 %450, i32 0 %453 = insertelement <2 x i32> %452, i32 %451, i32 1 %454 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %453, <32 x i8> %27, <16 x i8> %29, i32 2) %455 = extractelement <4 x float> %454, i32 0 %456 = extractelement <4 x float> %454, i32 1 %457 = extractelement <4 x float> %454, i32 2 %458 = extractelement <4 x float> %454, i32 3 %459 = fsub float -0.000000e+00, %25 %460 = fadd float %458, %459 %461 = call float @llvm.AMDIL.clamp.(float %460, float 0.000000e+00, float 1.000000e+00) %462 = fmul float %461, 0x3FD6F16E80000000 %463 = fmul float %455, %462 %464 = fadd float %463, %443 %465 = fmul float %456, %462 %466 = fadd float %465, %445 %467 = fmul float %457, %462 %468 = fadd float %467, %447 %469 = fadd float %448, %32 %470 = fadd float %449, %33 %471 = bitcast float %469 to i32 %472 = bitcast float %470 to i32 %473 = insertelement <2 x i32> undef, i32 %471, i32 0 %474 = insertelement <2 x i32> %473, i32 %472, i32 1 %475 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %474, <32 x i8> %27, <16 x i8> %29, i32 2) %476 = extractelement <4 x float> %475, i32 0 %477 = extractelement <4 x float> %475, i32 1 %478 = extractelement <4 x float> %475, i32 2 %479 = extractelement <4 x float> %475, i32 3 %480 = fsub float -0.000000e+00, %25 %481 = fadd float %479, %480 %482 = call float @llvm.AMDIL.clamp.(float %481, float 0.000000e+00, float 1.000000e+00) %483 = fmul float %482, 0x3FD5CBC280000000 %484 = fmul float %476, %483 %485 = fadd float %484, %464 %486 = fmul float %477, %483 %487 = fadd float %486, %466 %488 = fmul float %478, %483 %489 = fadd float %488, %468 %490 = fadd float %469, %32 %491 = fadd float %470, %33 %492 = bitcast float %490 to i32 %493 = bitcast float %491 to i32 %494 = insertelement <2 x i32> undef, i32 %492, i32 0 %495 = insertelement <2 x i32> %494, i32 %493, i32 1 %496 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %495, <32 x i8> %27, <16 x i8> %29, i32 2) %497 = extractelement <4 x float> %496, i32 0 %498 = extractelement <4 x float> %496, i32 1 %499 = extractelement <4 x float> %496, i32 2 %500 = extractelement <4 x float> %496, i32 3 %501 = fsub float -0.000000e+00, %25 %502 = fadd float %500, %501 %503 = call float @llvm.AMDIL.clamp.(float %502, float 0.000000e+00, float 1.000000e+00) %504 = fmul float %503, 0x3FD4B4C580000000 %505 = fmul float %497, %504 %506 = fadd float %505, %485 %507 = fmul float %498, %504 %508 = fadd float %507, %487 %509 = fmul float %499, %504 %510 = fadd float %509, %489 %511 = fadd float %490, %32 %512 = fadd float %491, %33 %513 = bitcast float %511 to i32 %514 = bitcast float %512 to i32 %515 = insertelement <2 x i32> undef, i32 %513, i32 0 %516 = insertelement <2 x i32> %515, i32 %514, i32 1 %517 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %516, <32 x i8> %27, <16 x i8> %29, i32 2) %518 = extractelement <4 x float> %517, i32 0 %519 = extractelement <4 x float> %517, i32 1 %520 = extractelement <4 x float> %517, i32 2 %521 = extractelement <4 x float> %517, i32 3 %522 = fsub float -0.000000e+00, %25 %523 = fadd float %521, %522 %524 = call float @llvm.AMDIL.clamp.(float %523, float 0.000000e+00, float 1.000000e+00) %525 = fmul float %524, 0x3FD3ABBBA0000000 %526 = fmul float %518, %525 %527 = fadd float %526, %506 %528 = fmul float %519, %525 %529 = fadd float %528, %508 %530 = fmul float %520, %525 %531 = fadd float %530, %510 %532 = fadd float %511, %32 %533 = fadd float %512, %33 %534 = bitcast float %532 to i32 %535 = bitcast float %533 to i32 %536 = insertelement <2 x i32> undef, i32 %534, i32 0 %537 = insertelement <2 x i32> %536, i32 %535, i32 1 %538 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %537, <32 x i8> %27, <16 x i8> %29, i32 2) %539 = extractelement <4 x float> %538, i32 0 %540 = extractelement <4 x float> %538, i32 1 %541 = extractelement <4 x float> %538, i32 2 %542 = extractelement <4 x float> %538, i32 3 %543 = fsub float -0.000000e+00, %25 %544 = fadd float %542, %543 %545 = call float @llvm.AMDIL.clamp.(float %544, float 0.000000e+00, float 1.000000e+00) %546 = fmul float %545, 0x3FD2AFF240000000 %547 = fmul float %539, %546 %548 = fadd float %547, %527 %549 = fmul float %540, %546 %550 = fadd float %549, %529 %551 = fmul float %541, %546 %552 = fadd float %551, %531 %553 = fadd float %532, %32 %554 = fadd float %533, %33 %555 = bitcast float %553 to i32 %556 = bitcast float %554 to i32 %557 = insertelement <2 x i32> undef, i32 %555, i32 0 %558 = insertelement <2 x i32> %557, i32 %556, i32 1 %559 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %558, <32 x i8> %27, <16 x i8> %29, i32 2) %560 = extractelement <4 x float> %559, i32 0 %561 = extractelement <4 x float> %559, i32 1 %562 = extractelement <4 x float> %559, i32 2 %563 = extractelement <4 x float> %559, i32 3 %564 = fsub float -0.000000e+00, %25 %565 = fadd float %563, %564 %566 = call float @llvm.AMDIL.clamp.(float %565, float 0.000000e+00, float 1.000000e+00) %567 = fmul float %566, 0x3FD1C0BFC0000000 %568 = fmul float %560, %567 %569 = fadd float %568, %548 %570 = fmul float %561, %567 %571 = fadd float %570, %550 %572 = fmul float %562, %567 %573 = fadd float %572, %552 %574 = fadd float %553, %32 %575 = fadd float %554, %33 %576 = bitcast float %574 to i32 %577 = bitcast float %575 to i32 %578 = insertelement <2 x i32> undef, i32 %576, i32 0 %579 = insertelement <2 x i32> %578, i32 %577, i32 1 %580 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %579, <32 x i8> %27, <16 x i8> %29, i32 2) %581 = extractelement <4 x float> %580, i32 0 %582 = extractelement <4 x float> %580, i32 1 %583 = extractelement <4 x float> %580, i32 2 %584 = extractelement <4 x float> %580, i32 3 %585 = fsub float -0.000000e+00, %25 %586 = fadd float %584, %585 %587 = call float @llvm.AMDIL.clamp.(float %586, float 0.000000e+00, float 1.000000e+00) %588 = fmul float %587, 0x3FD0DD8300000000 %589 = fmul float %581, %588 %590 = fadd float %589, %569 %591 = fmul float %582, %588 %592 = fadd float %591, %571 %593 = fmul float %583, %588 %594 = fadd float %593, %573 %595 = fadd float %574, %32 %596 = fadd float %575, %33 %597 = bitcast float %595 to i32 %598 = bitcast float %596 to i32 %599 = insertelement <2 x i32> undef, i32 %597, i32 0 %600 = insertelement <2 x i32> %599, i32 %598, i32 1 %601 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %600, <32 x i8> %27, <16 x i8> %29, i32 2) %602 = extractelement <4 x float> %601, i32 0 %603 = extractelement <4 x float> %601, i32 1 %604 = extractelement <4 x float> %601, i32 2 %605 = extractelement <4 x float> %601, i32 3 %606 = fsub float -0.000000e+00, %25 %607 = fadd float %605, %606 %608 = call float @llvm.AMDIL.clamp.(float %607, float 0.000000e+00, float 1.000000e+00) %609 = fmul float %608, 0x3FD005A2E0000000 %610 = fmul float %602, %609 %611 = fadd float %610, %590 %612 = fmul float %603, %609 %613 = fadd float %612, %592 %614 = fmul float %604, %609 %615 = fadd float %614, %594 %616 = fadd float %595, %32 %617 = fadd float %596, %33 %618 = bitcast float %616 to i32 %619 = bitcast float %617 to i32 %620 = insertelement <2 x i32> undef, i32 %618, i32 0 %621 = insertelement <2 x i32> %620, i32 %619, i32 1 %622 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %621, <32 x i8> %27, <16 x i8> %29, i32 2) %623 = extractelement <4 x float> %622, i32 0 %624 = extractelement <4 x float> %622, i32 1 %625 = extractelement <4 x float> %622, i32 2 %626 = extractelement <4 x float> %622, i32 3 %627 = fsub float -0.000000e+00, %25 %628 = fadd float %626, %627 %629 = call float @llvm.AMDIL.clamp.(float %628, float 0.000000e+00, float 1.000000e+00) %630 = fmul float %629, 0x3FCE711BE0000000 %631 = fmul float %623, %630 %632 = fadd float %631, %611 %633 = fmul float %624, %630 %634 = fadd float %633, %613 %635 = fmul float %625, %630 %636 = fadd float %635, %615 %637 = fadd float %616, %32 %638 = fadd float %617, %33 %639 = bitcast float %637 to i32 %640 = bitcast float %638 to i32 %641 = insertelement <2 x i32> undef, i32 %639, i32 0 %642 = insertelement <2 x i32> %641, i32 %640, i32 1 %643 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %642, <32 x i8> %27, <16 x i8> %29, i32 2) %644 = extractelement <4 x float> %643, i32 0 %645 = extractelement <4 x float> %643, i32 1 %646 = extractelement <4 x float> %643, i32 2 %647 = extractelement <4 x float> %643, i32 3 %648 = fsub float -0.000000e+00, %25 %649 = fadd float %647, %648 %650 = call float @llvm.AMDIL.clamp.(float %649, float 0.000000e+00, float 1.000000e+00) %651 = fmul float %650, 0x3FCCEB7400000000 %652 = fmul float %644, %651 %653 = fadd float %652, %632 %654 = fmul float %645, %651 %655 = fadd float %654, %634 %656 = fmul float %646, %651 %657 = fadd float %656, %636 %658 = fadd float %637, %32 %659 = fadd float %638, %33 %660 = bitcast float %658 to i32 %661 = bitcast float %659 to i32 %662 = insertelement <2 x i32> undef, i32 %660, i32 0 %663 = insertelement <2 x i32> %662, i32 %661, i32 1 %664 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %663, <32 x i8> %27, <16 x i8> %29, i32 2) %665 = extractelement <4 x float> %664, i32 0 %666 = extractelement <4 x float> %664, i32 1 %667 = extractelement <4 x float> %664, i32 2 %668 = extractelement <4 x float> %664, i32 3 %669 = fsub float -0.000000e+00, %25 %670 = fadd float %668, %669 %671 = call float @llvm.AMDIL.clamp.(float %670, float 0.000000e+00, float 1.000000e+00) %672 = fmul float %671, 0x3FCB7947C0000000 %673 = fmul float %665, %672 %674 = fadd float %673, %653 %675 = fmul float %666, %672 %676 = fadd float %675, %655 %677 = fmul float %667, %672 %678 = fadd float %677, %657 %679 = fadd float %658, %32 %680 = fadd float %659, %33 %681 = bitcast float %679 to i32 %682 = bitcast float %680 to i32 %683 = insertelement <2 x i32> undef, i32 %681, i32 0 %684 = insertelement <2 x i32> %683, i32 %682, i32 1 %685 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %684, <32 x i8> %27, <16 x i8> %29, i32 2) %686 = extractelement <4 x float> %685, i32 0 %687 = extractelement <4 x float> %685, i32 1 %688 = extractelement <4 x float> %685, i32 2 %689 = extractelement <4 x float> %685, i32 3 %690 = fsub float -0.000000e+00, %25 %691 = fadd float %689, %690 %692 = call float @llvm.AMDIL.clamp.(float %691, float 0.000000e+00, float 1.000000e+00) %693 = fmul float %692, 0x3FCA199DC0000000 %694 = fmul float %686, %693 %695 = fadd float %694, %674 %696 = fmul float %687, %693 %697 = fadd float %696, %676 %698 = fmul float %688, %693 %699 = fadd float %698, %678 %700 = fmul float %695, %22 %701 = fmul float %697, %23 %702 = fmul float %699, %24 %703 = fmul float %700, 0x3FBFC017E0000000 %704 = fmul float %701, 0x3FBFC017E0000000 %705 = fmul float %702, 0x3FBFC017E0000000 %706 = call i32 @llvm.SI.packf16(float %703, float %704) %707 = bitcast i32 %706 to float %708 = call i32 @llvm.SI.packf16(float %705, float 1.000000e+00) %709 = bitcast i32 %708 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %707, float %709, float %707, float %709) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840300 c0c60500 bf8c007f f0800f00 00430402 c0800100 bf8c0070 c2020108 bf8c007f 7e100204 d2080009 02021107 d2060809 02010109 10141305 c82c0500 c82d0501 061a1703 c8380400 c8390401 06181d02 f0800f00 0043000c bf8c0770 d208000f 02021103 d206080f 0201010f 101e1eff 3f733333 d282000a 042a1f01 0622170d 06201d0c f0800f00 00431210 bf8c0770 d208000c 02021115 d206080c 0201010c 101818ff 3f670a3d d282000a 042a1913 062e1711 062c1d10 f0800f00 00431816 bf8c0770 d208000d 0202111b d206080d 0201010d 101a1aff 3f5b7ced d282000a 042a1b19 06221717 06201d16 f0800f00 00431c10 bf8c0770 d2080016 0202111f d2060816 02010116 102c2cff 3f50837b d282000a 042a2d1d 06421711 06401d10 f0800f00 00432220 bf8c0770 d2080010 02021125 d2060810 02010110 102020ff 3f461681 d282000a 042a2123 064e1721 064c1d20 f0800f00 00432826 bf8c0770 d2080011 0202112b d2060811 02010111 102222ff 3f3c2efa d282000a 042a2329 06421727 06401d26 f0800f00 00432c20 bf8c0770 d2080017 0202112f d2060817 02010117 102e2eff 3f32c63a d282000a 042a2f2d 064e1721 064c1d20 f0800f00 00433026 bf8c0770 d2080020 02021133 d2060820 02010120 104040ff 3f29d5ea d282000a 042a4131 066a1727 06681d26 f0800f00 00433634 bf8c0770 d2080021 02021139 d2060821 02010121 104242ff 3f215805 d282000a 042a4337 064e1735 064c1d34 f0800f00 00433a26 bf8c0770 d2080034 0202113d d2060834 02010134 106868ff 3f1946d1 d282000a 042a693b 067e1727 067c1d26 f0800f00 0043403e bf8c0770 d2080026 02021143 d2060826 02010126 104c4cff 3f119ce0 d282000a 042a4d41 068a173f 06881d3e f0800f00 00434644 bf8c0770 d2080027 02021149 d2060827 02010127 104e4eff 3f0a5508 d282000a 042a4f47 067e1745 067c1d44 f0800f00 00434a3e bf8c0770 d2080035 0202114d d2060835 02010135 106a6aff 3f036a61 d282000a 042a6b4b 068a173f 06881d3e f0800f00 00434e44 bf8c0770 d208003e 02021151 d206083e 0201013e 107c7cff 3ef9b085 d282000a 042a7d4f 06a61745 06a41d44 f0800f00 00435452 bf8c0770 d208003f 02021157 d206083f 0201013f 107e7eff 3eed347e d282000a 042a7f55 068a1753 06881d52 f0800f00 00435844 bf8c0770 d2080052 0202115b d2060852 02010152 10a4a4ff 3ee15844 d282000a 042aa559 06ba1745 06b81d44 f0800f00 00435e5c bf8c0770 d2080044 02021161 d2060844 02010144 108888ff 3ed613da d282000a 042a895f 06c6175d 06c41d5c f0800f00 00436462 bf8c0770 d2080045 02021167 d2060845 02010145 108a8aff 3ecb5fa9 d282000a 042a8b65 06ba1763 06b81d62 f0800f00 0043685c bf8c0770 d2080053 0202116b d2060853 02010153 10a6a6ff 3ec1347a d282000a 042aa769 06c6175d 06c41d5c f0800f00 00436c62 bf8c0770 d208005c 0202116f d206085c 0201015c 10b8b8ff 3eb78b74 d282000a 042ab96d 06e21763 06e01d62 f0800f00 00437270 bf8c0770 d208005d 02021175 d206085d 0201015d 10babaff 3eae5e14 d282000a 042abb73 06c61771 06c41d70 f0800f00 00437662 bf8c0770 d2080070 02021179 d2060870 02010170 10e0e0ff 3ea5a62c d282000a 042ae177 06f61763 06f41d62 f0800f00 00437c7a bf8c0770 d2080062 0202117f d2060862 02010162 10c4c4ff 3e9d5ddd d282000a 042ac57d 0702177b 07001d7a f0800f00 00438280 bf8c0770 d2080063 02021185 d2060863 02010163 10c6c6ff 3e957f92 d282000a 042ac783 06f61781 06f41d80 f0800f00 0043867a bf8c0770 d2080071 02021189 d2060871 02010171 10e2e2ff 3e8e05fe d282000a 042ae387 0702177b 07001d7a f0800f00 00438a80 bf8c0770 d208007a 0202118d d206087a 0201017a 10f4f4ff 3e86ec18 d282000a 042af58b 071e1781 071c1d80 f0800f00 0043908e bf8c0770 d208007b 02021193 d206087b 0201017b 10f6f6ff 3e802d17 d282000a 042af791 0702178f 07001d8e f0800f00 00439480 bf8c0770 d208008e 02021197 d206088e 0201018e 111d1cff 3e7388df d282000a 042b1d95 07321781 07301d80 f0800f00 00439a98 bf8c0770 d2080080 0202119d d2060880 02010180 110100ff 3e675ba0 d282000a 042b019b 073e1799 073c1d98 f0800f00 0043a09e bf8c0770 d2080081 020211a3 d2060881 02010181 110302ff 3e5bca3e d282000a 042b03a1 0732179f 07301d9e f0800f00 0043a498 bf8c0770 d2080008 020211a7 d2060808 02010108 101010ff 3e50ccee d282000a 042a11a5 c2020105 bf8c007f 10141404 101414ff 3dfe00bf 10161304 d282000b 042e1f00 d282000b 042e1912 d282000b 042e1b18 d282000b 042e2d1c d282000b 042e2122 d282000b 042e2328 d282000b 042e2f2c d282000b 042e4130 d282000b 042e4336 d282000b 042e693a d282000b 042e4d40 d282000b 042e4f46 d282000b 042e6b4a d282000b 042e7d4e d282000b 042e7f54 d282000b 042ea558 d282000b 042e895e d282000b 042e8b64 d282000b 042ea768 d282000b 042eb96c d282000b 042ebb72 d282000b 042ee176 d282000b 042ec57c d282000b 042ec782 d282000b 042ee386 d282000b 042ef58a d282000b 042ef790 d282000b 042f1d94 d282000b 042f019a d282000b 042f03a0 d282000b 042e11a4 c2020104 bf8c007f 10161604 101616ff 3dfe00bf 5e14150b 10081306 d2820000 04121f02 d2820000 04021914 d2820000 04021b1a d2820000 04022d1e d2820000 04022124 d2820000 0402232a d2820000 04022f2e d2820000 04024132 d2820000 04024338 d2820000 0402693c d2820000 04024d42 d2820000 04024f48 d2820000 04026b4c d2820000 04027d50 d2820000 04027f56 d2820000 0402a55a d2820000 04028960 d2820000 04028b66 d2820000 0402a76a d2820000 0402b96e d2820000 0402bb74 d2820000 0402e178 d2820000 0402c57e d2820000 0402c784 d2820000 0402e388 d2820000 0402f58c d2820000 0402f792 d2820000 04031d96 d2820000 0403019c d2820000 040303a2 d2820000 040211a6 c2000106 bf8c007f 10000000 100000ff 3dfe00bf d25e0000 0201e500 f8001c0f 000a000a bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..6] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 0.0312, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: ADD TEMP[2].xy, CONST[5].xyyy, -IN[1].xyyy 7: MUL TEMP[2].xy, TEMP[2].xyyy, CONST[6].xxxx 8: MUL TEMP[2].xy, TEMP[2].xyyy, IMM[0].xxxx 9: MOV OUT[1], TEMP[1] 10: MOV OUT[2], TEMP[2] 11: MOV OUT[0], TEMP[0] 12: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %32 = call float @llvm.SI.load.const(<16 x i8> %10, i32 96) %33 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %34 = load <16 x i8> addrspace(2)* %33, !tbaa !0 %35 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %34, i32 0, i32 %5) %36 = extractelement <4 x float> %35, i32 0 %37 = extractelement <4 x float> %35, i32 1 %38 = extractelement <4 x float> %35, i32 2 %39 = extractelement <4 x float> %35, i32 3 %40 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %41 = load <16 x i8> addrspace(2)* %40, !tbaa !0 %42 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %41, i32 0, i32 %5) %43 = extractelement <4 x float> %42, i32 0 %44 = extractelement <4 x float> %42, i32 1 %45 = fsub float -0.000000e+00, %27 %46 = fadd float %36, %45 %47 = fsub float -0.000000e+00, %28 %48 = fadd float %37, %47 %49 = fsub float -0.000000e+00, %29 %50 = fadd float %38, %49 %51 = fmul float %11, %46 %52 = fmul float %12, %46 %53 = fmul float %13, %46 %54 = fmul float %14, %46 %55 = fmul float %15, %48 %56 = fadd float %55, %51 %57 = fmul float %16, %48 %58 = fadd float %57, %52 %59 = fmul float %17, %48 %60 = fadd float %59, %53 %61 = fmul float %18, %48 %62 = fadd float %61, %54 %63 = fmul float %19, %50 %64 = fadd float %63, %56 %65 = fmul float %20, %50 %66 = fadd float %65, %58 %67 = fmul float %21, %50 %68 = fadd float %67, %60 %69 = fmul float %22, %50 %70 = fadd float %69, %62 %71 = fmul float %23, %39 %72 = fadd float %71, %64 %73 = fmul float %24, %39 %74 = fadd float %73, %66 %75 = fmul float %25, %39 %76 = fadd float %75, %68 %77 = fmul float %26, %39 %78 = fadd float %77, %70 %79 = fsub float -0.000000e+00, %43 %80 = fadd float %30, %79 %81 = fsub float -0.000000e+00, %44 %82 = fadd float %31, %81 %83 = fmul float %80, %32 %84 = fmul float %82, %32 %85 = fmul float %83, 3.125000e-02 %86 = fmul float %84, 3.125000e-02 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %43, float %44, float %60, float %62) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %85, float %86, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %72, float %74, float %76, float %78) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020115 bf8c000f 08001404 c2020118 bf8c007f 10000004 100000ff 3d000000 c2028114 bf8c007f 08121205 10121204 101212ff 3d000000 7e140280 f800021f 0a0a0009 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL SAMP[1] DCL SAMP[2] DCL SAMP[3] DCL SAMP[4] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 255.0000, 1.0000, 0.5000, 0.9688} IMM[1] FLT32 { 0.0156, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[1], 2D 2: ADD TEMP[0].xy, TEMP[0].xyyy, -TEMP[0].zwww 3: MUL TEMP[0].xy, TEMP[0].xyyy, IN[1].xyyy 4: ADD TEMP[1].xy, IN[0].xyyy, TEMP[0].xyyy 5: MOV TEMP[1].xy, TEMP[1].xyyy 6: TEX TEMP[1].w, TEMP[1], SAMP[1], 2D 7: MUL_SAT TEMP[1].x, TEMP[1].wwww, IMM[0].xxxx 8: MAD TEMP[0].xy, TEMP[0].xyyy, TEMP[1].xxxx, IN[0].xyyy 9: MOV TEMP[1].w, IMM[0].yyyy 10: MOV TEMP[2].xy, TEMP[0].xyyy 11: TEX TEMP[2].xyz, TEMP[2], SAMP[0], 2D 12: MOV TEMP[3].xy, IMM[0].zzzz 13: TEX TEMP[3].x, TEMP[3], SAMP[2], 2D 14: MOV TEMP[0].xy, TEMP[0].xyyy 15: TEX TEMP[0].xyz, TEMP[0], SAMP[3], 2D 16: MAD TEMP[0].xyz, TEMP[2].xyzz, TEMP[3].xxxx, TEMP[0].xyzz 17: MAD TEMP[0].xyz, TEMP[0].xyzz, IMM[0].wwww, IMM[1].xxxx 18: MOV TEMP[0].xyz, TEMP[0].xyzz 19: TEX TEMP[0].xyz, TEMP[0], SAMP[4], 3D 20: MOV TEMP[1].xyz, TEMP[0].xyzx 21: MOV OUT[0], TEMP[1] 22: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = getelementptr <32 x i8> addrspace(2)* %2, i32 1 %25 = load <32 x i8> addrspace(2)* %24, !tbaa !0 %26 = getelementptr <16 x i8> addrspace(2)* %1, i32 1 %27 = load <16 x i8> addrspace(2)* %26, !tbaa !0 %28 = getelementptr <32 x i8> addrspace(2)* %2, i32 2 %29 = load <32 x i8> addrspace(2)* %28, !tbaa !0 %30 = getelementptr <16 x i8> addrspace(2)* %1, i32 2 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = getelementptr <32 x i8> addrspace(2)* %2, i32 3 %33 = load <32 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr <16 x i8> addrspace(2)* %1, i32 3 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = getelementptr <32 x i8> addrspace(2)* %2, i32 4 %37 = load <32 x i8> addrspace(2)* %36, !tbaa !0 %38 = getelementptr <16 x i8> addrspace(2)* %1, i32 4 %39 = load <16 x i8> addrspace(2)* %38, !tbaa !0 %40 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %41 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %42 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %43 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %44 = bitcast float %40 to i32 %45 = bitcast float %41 to i32 %46 = insertelement <2 x i32> undef, i32 %44, i32 0 %47 = insertelement <2 x i32> %46, i32 %45, i32 1 %48 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %47, <32 x i8> %25, <16 x i8> %27, i32 2) %49 = extractelement <4 x float> %48, i32 0 %50 = extractelement <4 x float> %48, i32 1 %51 = extractelement <4 x float> %48, i32 2 %52 = extractelement <4 x float> %48, i32 3 %53 = fsub float -0.000000e+00, %51 %54 = fadd float %49, %53 %55 = fsub float -0.000000e+00, %52 %56 = fadd float %50, %55 %57 = fmul float %54, %42 %58 = fmul float %56, %43 %59 = fadd float %40, %57 %60 = fadd float %41, %58 %61 = bitcast float %59 to i32 %62 = bitcast float %60 to i32 %63 = insertelement <2 x i32> undef, i32 %61, i32 0 %64 = insertelement <2 x i32> %63, i32 %62, i32 1 %65 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %64, <32 x i8> %25, <16 x i8> %27, i32 2) %66 = extractelement <4 x float> %65, i32 3 %67 = fmul float %66, 2.550000e+02 %68 = call float @llvm.AMDIL.clamp.(float %67, float 0.000000e+00, float 1.000000e+00) %69 = fmul float %57, %68 %70 = fadd float %69, %40 %71 = fmul float %58, %68 %72 = fadd float %71, %41 %73 = bitcast float %70 to i32 %74 = bitcast float %72 to i32 %75 = insertelement <2 x i32> undef, i32 %73, i32 0 %76 = insertelement <2 x i32> %75, i32 %74, i32 1 %77 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %76, <32 x i8> %21, <16 x i8> %23, i32 2) %78 = extractelement <4 x float> %77, i32 0 %79 = extractelement <4 x float> %77, i32 1 %80 = extractelement <4 x float> %77, i32 2 %81 = bitcast float 5.000000e-01 to i32 %82 = bitcast float 5.000000e-01 to i32 %83 = insertelement <2 x i32> undef, i32 %81, i32 0 %84 = insertelement <2 x i32> %83, i32 %82, i32 1 %85 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %84, <32 x i8> %29, <16 x i8> %31, i32 2) %86 = extractelement <4 x float> %85, i32 0 %87 = bitcast float %70 to i32 %88 = bitcast float %72 to i32 %89 = insertelement <2 x i32> undef, i32 %87, i32 0 %90 = insertelement <2 x i32> %89, i32 %88, i32 1 %91 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %90, <32 x i8> %33, <16 x i8> %35, i32 2) %92 = extractelement <4 x float> %91, i32 0 %93 = extractelement <4 x float> %91, i32 1 %94 = extractelement <4 x float> %91, i32 2 %95 = fmul float %78, %86 %96 = fadd float %95, %92 %97 = fmul float %79, %86 %98 = fadd float %97, %93 %99 = fmul float %80, %86 %100 = fadd float %99, %94 %101 = fmul float %96, 9.687500e-01 %102 = fadd float %101, 1.562500e-02 %103 = fmul float %98, 9.687500e-01 %104 = fadd float %103, 1.562500e-02 %105 = fmul float %100, 9.687500e-01 %106 = fadd float %105, 1.562500e-02 %107 = bitcast float %102 to i32 %108 = bitcast float %104 to i32 %109 = bitcast float %106 to i32 %110 = insertelement <4 x i32> undef, i32 %107, i32 0 %111 = insertelement <4 x i32> %110, i32 %108, i32 1 %112 = insertelement <4 x i32> %111, i32 %109, i32 2 %113 = insertelement <4 x i32> %112, i32 undef, i32 3 %114 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %113, <32 x i8> %37, <16 x i8> %39, i32 3) %115 = extractelement <4 x float> %114, i32 0 %116 = extractelement <4 x float> %114, i32 1 %117 = extractelement <4 x float> %114, i32 2 %118 = call i32 @llvm.SI.packf16(float %115, float %116) %119 = bitcast i32 %118 to float %120 = call i32 @llvm.SI.packf16(float %117, float 1.000000e+00) %121 = bitcast i32 %120 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %119, float %121, float %119, float %121) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 c8080000 c8090001 c0840304 c0c60508 bf8c007f f0800f00 00430402 bf8c0770 08100f05 c8240500 c8250501 d282000b 040e1308 08080d04 c8140400 c8150401 d282000a 040a0b04 f0800800 0043000a bf8c0770 100000ff 437f0000 d2060800 02010100 10021308 d2820007 040e0101 10020b04 d2820006 040a0101 c0840300 c0c60500 bf8c007f f0800700 00430006 c084030c c0c60518 bf8c0070 f0800700 00430306 c0840308 c0c60510 7e0c02f0 7e0e0306 bf8c0070 f0800100 00430606 bf8c0770 d2820007 04160d02 7e1002ff 3c800000 7e1202ff 3f780000 d282000c 04221307 d2820007 04120d01 d282000b 04221307 d2820000 040e0d00 d282000a 04221300 c0800310 c0c20520 bf8c007f f0800700 0001000a bf8c0770 5e060300 d25e0000 0201e502 f8001c0f 00030003 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL OUT[2], GENERIC[1] DCL CONST[0..5] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 1.0000, 0.1250, 0.0000, 0.0000} 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[5].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[4], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV TEMP[2].y, IMM[0].xxxx 7: RCP TEMP[3].x, CONST[0].xxxx 8: MUL TEMP[2].x, CONST[0].yyyy, TEMP[3].xxxx 9: MUL TEMP[2].xy, TEMP[2].xyyy, IMM[0].yyyy 10: MOV OUT[1], TEMP[1] 11: MOV OUT[2], TEMP[2] 12: MOV OUT[0], TEMP[0] 13: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 76) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 80) %30 = call float @llvm.SI.load.const(<16 x i8> %10, i32 84) %31 = call float @llvm.SI.load.const(<16 x i8> %10, i32 88) %32 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %33 = load <16 x i8> addrspace(2)* %32, !tbaa !0 %34 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %33, i32 0, i32 %5) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %40, i32 0, i32 %5) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = fsub float -0.000000e+00, %29 %45 = fadd float %35, %44 %46 = fsub float -0.000000e+00, %30 %47 = fadd float %36, %46 %48 = fsub float -0.000000e+00, %31 %49 = fadd float %37, %48 %50 = fmul float %13, %45 %51 = fmul float %14, %45 %52 = fmul float %15, %45 %53 = fmul float %16, %45 %54 = fmul float %17, %47 %55 = fadd float %54, %50 %56 = fmul float %18, %47 %57 = fadd float %56, %51 %58 = fmul float %19, %47 %59 = fadd float %58, %52 %60 = fmul float %20, %47 %61 = fadd float %60, %53 %62 = fmul float %21, %49 %63 = fadd float %62, %55 %64 = fmul float %22, %49 %65 = fadd float %64, %57 %66 = fmul float %23, %49 %67 = fadd float %66, %59 %68 = fmul float %24, %49 %69 = fadd float %68, %61 %70 = fmul float %25, %38 %71 = fadd float %70, %63 %72 = fmul float %26, %38 %73 = fadd float %72, %65 %74 = fmul float %27, %38 %75 = fadd float %74, %67 %76 = fmul float %28, %38 %77 = fadd float %76, %69 %78 = fdiv float 1.000000e+00, %11 %79 = fmul float %12, %78 %80 = fmul float %79, 1.250000e-01 %81 = fmul float 1.000000e+00, 1.250000e-01 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %42, float %43, float %59, float %61) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %80, float %81, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %71, float %73, float %75, float %77) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020115 bf8c007f 7e0a0204 d2080005 02020b02 c2020114 bf8c007f 7e0c0204 d2080006 02020d01 c2020107 bf8c007f 100e0c04 c202010b bf8c007f d2820007 041e0a04 c2020106 bf8c007f 10100c04 c202010a bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020101 c2028100 bf8c000f 7e005405 10000004 100000ff 3e000000 7e120280 7e1402ff 3e000000 f800021f 09090a00 c2020116 bf8c000f 7e000204 d2080000 02020103 c202010f bf8c007f d2820007 041e0004 c2020113 bf8c007f d2820007 041e0804 c202010e bf8c007f d2820008 04220004 c2020112 bf8c007f d2820008 04220804 c2020105 bf8c007f 10120c04 c2020109 bf8c007f d2820009 04260a04 c202010d bf8c007f d2820009 04260004 c2020111 bf8c007f d2820009 04260804 c2020104 bf8c007f 100c0c04 c2020108 bf8c007f d2820005 041a0a04 c202010c bf8c007f d2820000 04160004 c2000110 bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.5000, 0.0100, 0.9500, 0.9025} IMM[1] FLT32 { 0.8574, 0.8145, 0.7738, 0.7351} IMM[2] FLT32 { 0.6983, 0.6634, 0.6302, 0.5987} IMM[3] FLT32 { 0.5688, 0.5404, 0.5133, 0.4877} IMM[4] FLT32 { 0.4633, 1.0000, 0.0893, 0.0000} 0: ADD TEMP[0].xy, IMM[0].xxxx, -IN[0].xyyy 1: MUL TEMP[0].xy, TEMP[0].xyyy, CONST[1].xxxx 2: MUL TEMP[0].xy, TEMP[0].xyyy, IMM[0].yyyy 3: MOV TEMP[1].xy, IN[0].xyyy 4: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 5: ADD TEMP[2].xy, IN[0].xyyy, TEMP[0].xyyy 6: MOV TEMP[3].xy, TEMP[2].xyyy 7: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 8: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[0].zzzz, TEMP[1].xyzz 9: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 10: MOV TEMP[3].xy, TEMP[2].xyyy 11: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 12: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[0].wwww, TEMP[1].xyzz 13: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 14: MOV TEMP[3].xy, TEMP[2].xyyy 15: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 16: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[1].xxxx, TEMP[1].xyzz 17: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 18: MOV TEMP[3].xy, TEMP[2].xyyy 19: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 20: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[1].yyyy, TEMP[1].xyzz 21: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 22: MOV TEMP[3].xy, TEMP[2].xyyy 23: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 24: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[1].zzzz, TEMP[1].xyzz 25: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 26: MOV TEMP[3].xy, TEMP[2].xyyy 27: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 28: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[1].wwww, TEMP[1].xyzz 29: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 30: MOV TEMP[3].xy, TEMP[2].xyyy 31: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 32: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[2].xxxx, TEMP[1].xyzz 33: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 34: MOV TEMP[3].xy, TEMP[2].xyyy 35: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 36: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[2].yyyy, TEMP[1].xyzz 37: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 38: MOV TEMP[3].xy, TEMP[2].xyyy 39: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 40: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[2].zzzz, TEMP[1].xyzz 41: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 42: MOV TEMP[3].xy, TEMP[2].xyyy 43: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 44: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[2].wwww, TEMP[1].xyzz 45: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 46: MOV TEMP[3].xy, TEMP[2].xyyy 47: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 48: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[3].xxxx, TEMP[1].xyzz 49: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 50: MOV TEMP[3].xy, TEMP[2].xyyy 51: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 52: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[3].yyyy, TEMP[1].xyzz 53: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 54: MOV TEMP[3].xy, TEMP[2].xyyy 55: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 56: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[3].zzzz, TEMP[1].xyzz 57: ADD TEMP[2].xy, TEMP[2].xyyy, TEMP[0].xyyy 58: MOV TEMP[3].xy, TEMP[2].xyyy 59: TEX TEMP[3].xyz, TEMP[3], SAMP[0], 2D 60: MAD TEMP[1].xyz, TEMP[3].xyzz, IMM[3].wwww, TEMP[1].xyzz 61: ADD TEMP[0].xy, TEMP[2].xyyy, TEMP[0].xyyy 62: MOV TEMP[0].xy, TEMP[0].xyyy 63: TEX TEMP[0].xyz, TEMP[0], SAMP[0], 2D 64: MAD TEMP[1].xyz, TEMP[0].xyzz, IMM[4].xxxx, TEMP[1].xyzz 65: MOV TEMP[0].w, IMM[4].yyyy 66: MUL TEMP[0].xyz, TEMP[1].xyzz, IMM[4].zzzz 67: MOV OUT[0], TEMP[0] 68: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 16) %23 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %24 = load <32 x i8> addrspace(2)* %23, !tbaa !0 %25 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %26 = load <16 x i8> addrspace(2)* %25, !tbaa !0 %27 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %29 = fsub float -0.000000e+00, %27 %30 = fadd float 5.000000e-01, %29 %31 = fsub float -0.000000e+00, %28 %32 = fadd float 5.000000e-01, %31 %33 = fmul float %30, %22 %34 = fmul float %32, %22 %35 = fmul float %33, 0x3F847AE140000000 %36 = fmul float %34, 0x3F847AE140000000 %37 = bitcast float %27 to i32 %38 = bitcast float %28 to i32 %39 = insertelement <2 x i32> undef, i32 %37, i32 0 %40 = insertelement <2 x i32> %39, i32 %38, i32 1 %41 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %40, <32 x i8> %24, <16 x i8> %26, i32 2) %42 = extractelement <4 x float> %41, i32 0 %43 = extractelement <4 x float> %41, i32 1 %44 = extractelement <4 x float> %41, i32 2 %45 = fadd float %27, %35 %46 = fadd float %28, %36 %47 = bitcast float %45 to i32 %48 = bitcast float %46 to i32 %49 = insertelement <2 x i32> undef, i32 %47, i32 0 %50 = insertelement <2 x i32> %49, i32 %48, i32 1 %51 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %50, <32 x i8> %24, <16 x i8> %26, i32 2) %52 = extractelement <4 x float> %51, i32 0 %53 = extractelement <4 x float> %51, i32 1 %54 = extractelement <4 x float> %51, i32 2 %55 = fmul float %52, 0x3FEE666660000000 %56 = fadd float %55, %42 %57 = fmul float %53, 0x3FEE666660000000 %58 = fadd float %57, %43 %59 = fmul float %54, 0x3FEE666660000000 %60 = fadd float %59, %44 %61 = fadd float %45, %35 %62 = fadd float %46, %36 %63 = bitcast float %61 to i32 %64 = bitcast float %62 to i32 %65 = insertelement <2 x i32> undef, i32 %63, i32 0 %66 = insertelement <2 x i32> %65, i32 %64, i32 1 %67 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %66, <32 x i8> %24, <16 x i8> %26, i32 2) %68 = extractelement <4 x float> %67, i32 0 %69 = extractelement <4 x float> %67, i32 1 %70 = extractelement <4 x float> %67, i32 2 %71 = fmul float %68, 0x3FECE147A0000000 %72 = fadd float %71, %56 %73 = fmul float %69, 0x3FECE147A0000000 %74 = fadd float %73, %58 %75 = fmul float %70, 0x3FECE147A0000000 %76 = fadd float %75, %60 %77 = fadd float %61, %35 %78 = fadd float %62, %36 %79 = bitcast float %77 to i32 %80 = bitcast float %78 to i32 %81 = insertelement <2 x i32> undef, i32 %79, i32 0 %82 = insertelement <2 x i32> %81, i32 %80, i32 1 %83 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %82, <32 x i8> %24, <16 x i8> %26, i32 2) %84 = extractelement <4 x float> %83, i32 0 %85 = extractelement <4 x float> %83, i32 1 %86 = extractelement <4 x float> %83, i32 2 %87 = fmul float %84, 0x3FEB6F9DA0000000 %88 = fadd float %87, %72 %89 = fmul float %85, 0x3FEB6F9DA0000000 %90 = fadd float %89, %74 %91 = fmul float %86, 0x3FEB6F9DA0000000 %92 = fadd float %91, %76 %93 = fadd float %77, %35 %94 = fadd float %78, %36 %95 = bitcast float %93 to i32 %96 = bitcast float %94 to i32 %97 = insertelement <2 x i32> undef, i32 %95, i32 0 %98 = insertelement <2 x i32> %97, i32 %96, i32 1 %99 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %98, <32 x i8> %24, <16 x i8> %26, i32 2) %100 = extractelement <4 x float> %99, i32 0 %101 = extractelement <4 x float> %99, i32 1 %102 = extractelement <4 x float> %99, i32 2 %103 = fmul float %100, 0x3FEA106F60000000 %104 = fadd float %103, %88 %105 = fmul float %101, 0x3FEA106F60000000 %106 = fadd float %105, %90 %107 = fmul float %102, 0x3FEA106F60000000 %108 = fadd float %107, %92 %109 = fadd float %93, %35 %110 = fadd float %94, %36 %111 = bitcast float %109 to i32 %112 = bitcast float %110 to i32 %113 = insertelement <2 x i32> undef, i32 %111, i32 0 %114 = insertelement <2 x i32> %113, i32 %112, i32 1 %115 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %114, <32 x i8> %24, <16 x i8> %26, i32 2) %116 = extractelement <4 x float> %115, i32 0 %117 = extractelement <4 x float> %115, i32 1 %118 = extractelement <4 x float> %115, i32 2 %119 = fmul float %116, 0x3FE8C2D020000000 %120 = fadd float %119, %104 %121 = fmul float %117, 0x3FE8C2D020000000 %122 = fadd float %121, %106 %123 = fmul float %118, 0x3FE8C2D020000000 %124 = fadd float %123, %108 %125 = fadd float %109, %35 %126 = fadd float %110, %36 %127 = bitcast float %125 to i32 %128 = bitcast float %126 to i32 %129 = insertelement <2 x i32> undef, i32 %127, i32 0 %130 = insertelement <2 x i32> %129, i32 %128, i32 1 %131 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %130, <32 x i8> %24, <16 x i8> %26, i32 2) %132 = extractelement <4 x float> %131, i32 0 %133 = extractelement <4 x float> %131, i32 1 %134 = extractelement <4 x float> %131, i32 2 %135 = fmul float %132, 0x3FE785DF40000000 %136 = fadd float %135, %120 %137 = fmul float %133, 0x3FE785DF40000000 %138 = fadd float %137, %122 %139 = fmul float %134, 0x3FE785DF40000000 %140 = fadd float %139, %124 %141 = fadd float %125, %35 %142 = fadd float %126, %36 %143 = bitcast float %141 to i32 %144 = bitcast float %142 to i32 %145 = insertelement <2 x i32> undef, i32 %143, i32 0 %146 = insertelement <2 x i32> %145, i32 %144, i32 1 %147 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %146, <32 x i8> %24, <16 x i8> %26, i32 2) %148 = extractelement <4 x float> %147, i32 0 %149 = extractelement <4 x float> %147, i32 1 %150 = extractelement <4 x float> %147, i32 2 %151 = fmul float %148, 0x3FE658C740000000 %152 = fadd float %151, %136 %153 = fmul float %149, 0x3FE658C740000000 %154 = fadd float %153, %138 %155 = fmul float %150, 0x3FE658C740000000 %156 = fadd float %155, %140 %157 = fadd float %141, %35 %158 = fadd float %142, %36 %159 = bitcast float %157 to i32 %160 = bitcast float %158 to i32 %161 = insertelement <2 x i32> undef, i32 %159, i32 0 %162 = insertelement <2 x i32> %161, i32 %160, i32 1 %163 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %162, <32 x i8> %24, <16 x i8> %26, i32 2) %164 = extractelement <4 x float> %163, i32 0 %165 = extractelement <4 x float> %163, i32 1 %166 = extractelement <4 x float> %163, i32 2 %167 = fmul float %164, 0x3FE53ABD40000000 %168 = fadd float %167, %152 %169 = fmul float %165, 0x3FE53ABD40000000 %170 = fadd float %169, %154 %171 = fmul float %166, 0x3FE53ABD40000000 %172 = fadd float %171, %156 %173 = fadd float %157, %35 %174 = fadd float %158, %36 %175 = bitcast float %173 to i32 %176 = bitcast float %174 to i32 %177 = insertelement <2 x i32> undef, i32 %175, i32 0 %178 = insertelement <2 x i32> %177, i32 %176, i32 1 %179 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %178, <32 x i8> %24, <16 x i8> %26, i32 2) %180 = extractelement <4 x float> %179, i32 0 %181 = extractelement <4 x float> %179, i32 1 %182 = extractelement <4 x float> %179, i32 2 %183 = fmul float %180, 0x3FE42B00A0000000 %184 = fadd float %183, %168 %185 = fmul float %181, 0x3FE42B00A0000000 %186 = fadd float %185, %170 %187 = fmul float %182, 0x3FE42B00A0000000 %188 = fadd float %187, %172 %189 = fadd float %173, %35 %190 = fadd float %174, %36 %191 = bitcast float %189 to i32 %192 = bitcast float %190 to i32 %193 = insertelement <2 x i32> undef, i32 %191, i32 0 %194 = insertelement <2 x i32> %193, i32 %192, i32 1 %195 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %194, <32 x i8> %24, <16 x i8> %26, i32 2) %196 = extractelement <4 x float> %195, i32 0 %197 = extractelement <4 x float> %195, i32 1 %198 = extractelement <4 x float> %195, i32 2 %199 = fmul float %196, 0x3FE328DA20000000 %200 = fadd float %199, %184 %201 = fmul float %197, 0x3FE328DA20000000 %202 = fadd float %201, %186 %203 = fmul float %198, 0x3FE328DA20000000 %204 = fadd float %203, %188 %205 = fadd float %189, %35 %206 = fadd float %190, %36 %207 = bitcast float %205 to i32 %208 = bitcast float %206 to i32 %209 = insertelement <2 x i32> undef, i32 %207, i32 0 %210 = insertelement <2 x i32> %209, i32 %208, i32 1 %211 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %210, <32 x i8> %24, <16 x i8> %26, i32 2) %212 = extractelement <4 x float> %211, i32 0 %213 = extractelement <4 x float> %211, i32 1 %214 = extractelement <4 x float> %211, i32 2 %215 = fmul float %212, 0x3FE2339C00000000 %216 = fadd float %215, %200 %217 = fmul float %213, 0x3FE2339C00000000 %218 = fadd float %217, %202 %219 = fmul float %214, 0x3FE2339C00000000 %220 = fadd float %219, %204 %221 = fadd float %205, %35 %222 = fadd float %206, %36 %223 = bitcast float %221 to i32 %224 = bitcast float %222 to i32 %225 = insertelement <2 x i32> undef, i32 %223, i32 0 %226 = insertelement <2 x i32> %225, i32 %224, i32 1 %227 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %226, <32 x i8> %24, <16 x i8> %26, i32 2) %228 = extractelement <4 x float> %227, i32 0 %229 = extractelement <4 x float> %227, i32 1 %230 = extractelement <4 x float> %227, i32 2 %231 = fmul float %228, 0x3FE14AA100000000 %232 = fadd float %231, %216 %233 = fmul float %229, 0x3FE14AA100000000 %234 = fadd float %233, %218 %235 = fmul float %230, 0x3FE14AA100000000 %236 = fadd float %235, %220 %237 = fadd float %221, %35 %238 = fadd float %222, %36 %239 = bitcast float %237 to i32 %240 = bitcast float %238 to i32 %241 = insertelement <2 x i32> undef, i32 %239, i32 0 %242 = insertelement <2 x i32> %241, i32 %240, i32 1 %243 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %242, <32 x i8> %24, <16 x i8> %26, i32 2) %244 = extractelement <4 x float> %243, i32 0 %245 = extractelement <4 x float> %243, i32 1 %246 = extractelement <4 x float> %243, i32 2 %247 = fmul float %244, 0x3FE06D4C20000000 %248 = fadd float %247, %232 %249 = fmul float %245, 0x3FE06D4C20000000 %250 = fadd float %249, %234 %251 = fmul float %246, 0x3FE06D4C20000000 %252 = fadd float %251, %236 %253 = fadd float %237, %35 %254 = fadd float %238, %36 %255 = bitcast float %253 to i32 %256 = bitcast float %254 to i32 %257 = insertelement <2 x i32> undef, i32 %255, i32 0 %258 = insertelement <2 x i32> %257, i32 %256, i32 1 %259 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %258, <32 x i8> %24, <16 x i8> %26, i32 2) %260 = extractelement <4 x float> %259, i32 0 %261 = extractelement <4 x float> %259, i32 1 %262 = extractelement <4 x float> %259, i32 2 %263 = fmul float %260, 0x3FDF3610A0000000 %264 = fadd float %263, %248 %265 = fmul float %261, 0x3FDF3610A0000000 %266 = fadd float %265, %250 %267 = fmul float %262, 0x3FDF3610A0000000 %268 = fadd float %267, %252 %269 = fadd float %253, %35 %270 = fadd float %254, %36 %271 = bitcast float %269 to i32 %272 = bitcast float %270 to i32 %273 = insertelement <2 x i32> undef, i32 %271, i32 0 %274 = insertelement <2 x i32> %273, i32 %272, i32 1 %275 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %274, <32 x i8> %24, <16 x i8> %26, i32 2) %276 = extractelement <4 x float> %275, i32 0 %277 = extractelement <4 x float> %275, i32 1 %278 = extractelement <4 x float> %275, i32 2 %279 = fmul float %276, 0x3FDDA68FC0000000 %280 = fadd float %279, %264 %281 = fmul float %277, 0x3FDDA68FC0000000 %282 = fadd float %281, %266 %283 = fmul float %278, 0x3FDDA68FC0000000 %284 = fadd float %283, %268 %285 = fmul float %280, 0x3FB6DCBC20000000 %286 = fmul float %282, 0x3FB6DCBC20000000 %287 = fmul float %284, 0x3FB6DCBC20000000 %288 = call i32 @llvm.SI.packf16(float %285, float %286) %289 = bitcast i32 %288 to float %290 = call i32 @llvm.SI.packf16(float %287, float 1.000000e+00) %291 = bitcast i32 %290 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %289, float %291, float %289, float %291) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0100 c80d0101 080806f0 c0840100 bf8c007f c2000904 bf8c007f 10080800 7e0a02ff 3c23d70a d2820007 040e0b04 c8080000 c8090001 080004f0 10000000 d2820006 040a0b00 c0800300 c0c20500 bf8c007f f0800700 00010806 f0800700 00010102 7e1602ff 3f733333 bf8c0770 d282000c 040a1709 d282000e 041e0b04 d282000d 041a0b00 f0800700 00010f0d 7e0c02ff 3f670a3d bf8c0770 d2820007 04320d10 d2820013 043a0b04 d2820012 04360b00 f0800700 00010c12 7e2802ff 3f5b7ced bf8c0770 d2820007 041e290d d2820016 044e0b04 d2820015 044a0b00 f0800700 00011715 7e2402ff 3f50837b bf8c0770 d2820007 041e2518 d282001b 045a0b04 d282001a 04560b00 f0800700 00011c1a 7e2602ff 3f461681 bf8c0770 d2820007 041e271d d2820016 046e0b04 d2820015 046a0b00 f0800700 00011f15 7e3402ff 3f3c2efa bf8c0770 d2820007 041e3520 d2820023 045a0b04 d2820022 04560b00 f0800700 00012422 7e2a02ff 3f32c63a bf8c0770 d2820007 041e2b25 d2820028 048e0b04 d2820027 048a0b00 f0800700 00012927 7e2c02ff 3f29d5ea bf8c0770 d2820007 041e2d2a d2820023 04a20b04 d2820022 049e0b00 f0800700 00012c22 7e3602ff 3f215805 bf8c0770 d2820007 041e372d d2820028 048e0b04 d2820027 048a0b00 f0800700 00012f27 7e4402ff 3f1946d1 bf8c0770 d2820007 041e4530 d2820033 04a20b04 d2820032 049e0b00 f0800700 00013432 7e4602ff 3f119ce0 bf8c0770 d2820007 041e4735 d2820028 04ce0b04 d2820027 04ca0b00 f0800700 00013727 7e6402ff 3f0a5508 bf8c0770 d2820007 041e6538 d282003b 04a20b04 d282003a 049e0b00 f0800700 00013c3a 7e4e02ff 3f036a61 bf8c0770 d2820007 041e4f3d d2820040 04ee0b04 d282003f 04ea0b00 f0800700 0001413f 7e5002ff 3ef9b085 bf8c0770 d2820007 041e5142 d282003b 05020b04 d282003a 04fe0b00 f0800700 0001443a 7e0002ff 3eed347e bf8c0770 d2820004 041e0145 100808ff 3db6e5e1 d2820005 04061708 d2820005 04160d0f d2820005 0416290c d2820005 04162517 d2820005 0416271c d2820005 0416351f d2820005 04162b24 d2820005 04162d29 d2820005 0416372c d2820005 0416452f d2820005 04164734 d2820005 04166537 d2820005 04164f3c d2820005 04165141 d2820005 04160144 100a0aff 3db6e5e1 5e080905 d2820001 040e170a d2820001 04060d11 d2820001 0406290e d2820001 04062519 d2820001 0406271e d2820001 04063521 d2820001 04062b26 d2820001 04062d2b d2820001 0406372e d2820001 04064531 d2820001 04064736 d2820001 04066539 d2820001 04064f3e d2820001 04065143 d2820000 04060146 100000ff 3db6e5e1 d25e0000 0201e500 f8001c0f 00040004 bf810000 VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV TEMP[1].xy, IN[1].xyxx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[0], TEMP[0] 8: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = fsub float -0.000000e+00, %27 %43 = fadd float %33, %42 %44 = fsub float -0.000000e+00, %28 %45 = fadd float %34, %44 %46 = fsub float -0.000000e+00, %29 %47 = fadd float %35, %46 %48 = fmul float %11, %43 %49 = fmul float %12, %43 %50 = fmul float %13, %43 %51 = fmul float %14, %43 %52 = fmul float %15, %45 %53 = fadd float %52, %48 %54 = fmul float %16, %45 %55 = fadd float %54, %49 %56 = fmul float %17, %45 %57 = fadd float %56, %50 %58 = fmul float %18, %45 %59 = fadd float %58, %51 %60 = fmul float %19, %47 %61 = fadd float %60, %53 %62 = fmul float %20, %47 %63 = fadd float %62, %55 %64 = fmul float %21, %47 %65 = fadd float %64, %57 %66 = fmul float %22, %47 %67 = fadd float %66, %59 %68 = fmul float %23, %36 %69 = fadd float %68, %61 %70 = fmul float %24, %36 %71 = fadd float %70, %63 %72 = fmul float %25, %36 %73 = fadd float %72, %65 %74 = fmul float %26, %36 %75 = fadd float %74, %67 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %40, float %41, float %57, float %59) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %69, float %71, float %73, float %75) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0840700 bf8c007f e00c2000 80020100 c0800100 bf8c0070 c2020111 bf8c007f 7e0a0204 d2080005 02020b02 c2020110 bf8c007f 7e0c0204 d2080006 02020d01 c2020103 bf8c007f 100e0c04 c2020107 bf8c007f d2820007 041e0a04 c2020102 bf8c007f 10100c04 c2020106 bf8c007f d2820008 04220a04 c0820704 bf8c007f e00c2000 80010900 bf8c0770 f800020f 07080a09 c2020112 bf8c000f 7e000204 d2080000 02020103 c202010b bf8c007f d2820007 041e0004 c202010f bf8c007f d2820007 041e0804 c202010a bf8c007f d2820008 04220004 c202010e bf8c007f d2820008 04220804 c2020101 bf8c007f 10120c04 c2020105 bf8c007f d2820009 04260a04 c2020109 bf8c007f d2820009 04260004 c202010d bf8c007f d2820009 04260804 c2020100 bf8c007f 100c0c04 c2020104 bf8c007f d2820005 041a0a04 c2020108 bf8c007f d2820000 04160004 c200010c bf8c007f d2820000 04020800 f80008cf 07080900 bf810000 FRAG DCL OUT[0], COLOR DCL OUT[1], COLOR[1] DCL OUT[2], COLOR[2] DCL OUT[3], COLOR[3] DCL OUT[4], COLOR[4] DCL OUT[5], COLOR[5] DCL OUT[6], COLOR[6] DCL OUT[7], COLOR[7] DCL CONST[0] DCL TEMP[0..7], ARRAY(1), LOCAL 0: MOV TEMP[0], CONST[0].xxxx 1: MOV TEMP[1], CONST[0].xxxx 2: MOV OUT[0], TEMP[0] 3: MOV OUT[1], TEMP[1] 4: MOV OUT[2], TEMP[2] 5: MOV OUT[3], TEMP[3] 6: MOV OUT[4], TEMP[4] 7: MOV OUT[5], TEMP[5] 8: MOV OUT[6], TEMP[6] 9: MOV OUT[7], TEMP[7] 10: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %21 = load <16 x i8> addrspace(2)* %20, !tbaa !0 %22 = call float @llvm.SI.load.const(<16 x i8> %21, i32 0) %23 = call i32 @llvm.SI.packf16(float %22, float %22) %24 = bitcast i32 %23 to float %25 = call i32 @llvm.SI.packf16(float %22, float %22) %26 = bitcast i32 %25 to float %27 = call i32 @llvm.SI.packf16(float %22, float %22) %28 = bitcast i32 %27 to float %29 = call i32 @llvm.SI.packf16(float %22, float %22) %30 = bitcast i32 %29 to float call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 0, i32 1, float %24, float %26, float %24, float %26) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 1, i32 1, float %28, float %30, float %28, float %30) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 2, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 3, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 4, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 5, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 6, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 7, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800100 bf8c007f c2000100 bf8c007f 7e000200 d25e0000 02020000 f800040f 00000000 f800041f 00000000 bf8c070f 7e000280 f800002f 00000000 f800003f 00000000 f800004f 00000000 f800005f 00000000 f800006f 00000000 f800187f 00000000 bf810000 VERT DCL IN[0] DCL OUT[0], POSITION DCL CONST[0..4] DCL TEMP[0..1], LOCAL 0: ADD TEMP[0].xyz, IN[0].xyzz, -CONST[4].xyzz 1: MUL TEMP[1], CONST[0], TEMP[0].xxxx 2: MAD TEMP[1], CONST[1], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[2], TEMP[0].zzzz, TEMP[1] 4: MAD TEMP[0], CONST[3], IN[0].wwww, TEMP[0] 5: MOV OUT[0], TEMP[0] 6: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %0, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call float @llvm.SI.load.const(<16 x i8> %10, i32 0) %12 = call float @llvm.SI.load.const(<16 x i8> %10, i32 4) %13 = call float @llvm.SI.load.const(<16 x i8> %10, i32 8) %14 = call float @llvm.SI.load.const(<16 x i8> %10, i32 12) %15 = call float @llvm.SI.load.const(<16 x i8> %10, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %10, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %10, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %10, i32 28) %19 = call float @llvm.SI.load.const(<16 x i8> %10, i32 32) %20 = call float @llvm.SI.load.const(<16 x i8> %10, i32 36) %21 = call float @llvm.SI.load.const(<16 x i8> %10, i32 40) %22 = call float @llvm.SI.load.const(<16 x i8> %10, i32 44) %23 = call float @llvm.SI.load.const(<16 x i8> %10, i32 48) %24 = call float @llvm.SI.load.const(<16 x i8> %10, i32 52) %25 = call float @llvm.SI.load.const(<16 x i8> %10, i32 56) %26 = call float @llvm.SI.load.const(<16 x i8> %10, i32 60) %27 = call float @llvm.SI.load.const(<16 x i8> %10, i32 64) %28 = call float @llvm.SI.load.const(<16 x i8> %10, i32 68) %29 = call float @llvm.SI.load.const(<16 x i8> %10, i32 72) %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = fsub float -0.000000e+00, %27 %38 = fadd float %33, %37 %39 = fsub float -0.000000e+00, %28 %40 = fadd float %34, %39 %41 = fsub float -0.000000e+00, %29 %42 = fadd float %35, %41 %43 = fmul float %11, %38 %44 = fmul float %12, %38 %45 = fmul float %13, %38 %46 = fmul float %14, %38 %47 = fmul float %15, %40 %48 = fadd float %47, %43 %49 = fmul float %16, %40 %50 = fadd float %49, %44 %51 = fmul float %17, %40 %52 = fadd float %51, %45 %53 = fmul float %18, %40 %54 = fadd float %53, %46 %55 = fmul float %19, %42 %56 = fadd float %55, %48 %57 = fmul float %20, %42 %58 = fadd float %57, %50 %59 = fmul float %21, %42 %60 = fadd float %59, %52 %61 = fmul float %22, %42 %62 = fadd float %61, %54 %63 = fmul float %23, %36 %64 = fadd float %63, %56 %65 = fmul float %24, %36 %66 = fadd float %65, %58 %67 = fmul float %25, %36 %68 = fadd float %67, %60 %69 = fmul float %26, %36 %70 = fadd float %69, %62 call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %64, float %66, float %68, float %70) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0820700 bf8c007f e00c2000 80010000 c0800100 bf8c0070 c2020111 bf8c007f 7e080204 d2080004 02020901 c2020110 bf8c007f 7e0a0204 d2080005 02020b00 c2020103 bf8c007f 100c0a04 c2020107 bf8c007f d2820006 041a0804 c2020112 bf8c007f 7e0e0204 d2080007 02020f02 c202010b bf8c007f d2820006 041a0e04 c202010f bf8c007f d2820006 041a0604 c2020102 bf8c007f 10100a04 c2020106 bf8c007f d2820008 04220804 c202010a bf8c007f d2820008 04220e04 c202010e bf8c007f d2820008 04220604 c2020101 bf8c007f 10120a04 c2020105 bf8c007f d2820009 04260804 c2020109 bf8c007f d2820009 04260e04 c202010d bf8c007f d2820009 04260604 c2020100 bf8c007f 100a0a04 c2020104 bf8c007f d2820004 04160804 c2020108 bf8c007f d2820004 04120e04 c200010c bf8c007f d2820000 04120600 f80008cf 06080900 bf810000 FRAG DCL IN[0], COLOR, COLOR DCL IN[1], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL OUT[1], COLOR[1] DCL OUT[2], COLOR[2] DCL OUT[3], COLOR[3] DCL OUT[4], COLOR[4] DCL OUT[5], COLOR[5] DCL OUT[6], COLOR[6] DCL OUT[7], COLOR[7] DCL SAMP[0] DCL TEMP[0], LOCAL DCL TEMP[1..8], ARRAY(1), LOCAL 0: MOV TEMP[0].xy, IN[1].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MUL TEMP[1], TEMP[0], IN[0] 3: MOV TEMP[2], TEMP[1] 4: MOV OUT[0], TEMP[1] 5: MOV OUT[1], TEMP[2] 6: MOV OUT[2], TEMP[3] 7: MOV OUT[3], TEMP[4] 8: MOV OUT[4], TEMP[5] 9: MOV OUT[5], TEMP[6] 10: MOV OUT[6], TEMP[7] 11: MOV OUT[7], TEMP[8] 12: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 { main_body: %20 = getelementptr <32 x i8> addrspace(2)* %2, i32 0 %21 = load <32 x i8> addrspace(2)* %20, !tbaa !0 %22 = getelementptr <16 x i8> addrspace(2)* %1, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %3, <2 x i32> %5) %25 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %3, <2 x i32> %5) %26 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %3, <2 x i32> %5) %27 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %3, <2 x i32> %5) %28 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %3, <2 x i32> %5) %29 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %3, <2 x i32> %5) %30 = bitcast float %28 to i32 %31 = bitcast float %29 to i32 %32 = insertelement <2 x i32> undef, i32 %30, i32 0 %33 = insertelement <2 x i32> %32, i32 %31, i32 1 %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %33, <32 x i8> %21, <16 x i8> %23, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = fmul float %35, %24 %40 = fmul float %36, %25 %41 = fmul float %37, %26 %42 = fmul float %38, %27 %43 = call i32 @llvm.SI.packf16(float %39, float %40) %44 = bitcast i32 %43 to float %45 = call i32 @llvm.SI.packf16(float %41, float %42) %46 = bitcast i32 %45 to float %47 = call i32 @llvm.SI.packf16(float %39, float %40) %48 = bitcast i32 %47 to float %49 = call i32 @llvm.SI.packf16(float %41, float %42) %50 = bitcast i32 %49 to float call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 0, i32 1, float %44, float %46, float %44, float %46) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 1, i32 1, float %48, float %50, float %48, float %50) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 2, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 3, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 4, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 5, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 6, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 7, i32 0, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: befe0a7e befc0306 c80c0500 c80d0501 c8080400 c8090401 c0800300 c0c40500 bf8c007f f0800f00 00020202 c8180300 c8190301 bf8c0770 100c0d05 c81c0200 c81d0201 100e0f04 5e0c0d07 c81c0100 c81d0101 100e0f03 c8200000 c8210001 10001102 5e000f00 f800040f 06000600 f800041f 06000600 bf8c070f 7e000280 f800002f 00000000 f800003f 00000000 f800004f 00000000 f800005f 00000000 f800006f 00000000 f800187f 00000000 bf810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL IN[4] DCL IN[5] DCL IN[6] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL OUT[2], GENERIC[0] DCL TEMP[0..1], LOCAL 0: DP4 TEMP[0].x, IN[0], IN[3] 1: DP4 TEMP[1].x, IN[0], IN[4] 2: MOV TEMP[0].y, TEMP[1].xxxx 3: DP4 TEMP[1].x, IN[0], IN[5] 4: MOV TEMP[0].z, TEMP[1].xxxx 5: DP4 TEMP[1].x, IN[0], IN[6] 6: MOV TEMP[0].w, TEMP[1].xxxx 7: MOV OUT[2], IN[1] 8: MOV OUT[0], TEMP[0] 9: MOV_SAT OUT[1], IN[2] 10: END ; ModuleID = 'tgsi' define void @main(<16 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, <32 x i8> addrspace(2)* inreg, <16 x i8> addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %9 = getelementptr <16 x i8> addrspace(2)* %3, i32 0 %10 = load <16 x i8> addrspace(2)* %9, !tbaa !0 %11 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %10, i32 0, i32 %5) %12 = extractelement <4 x float> %11, i32 0 %13 = extractelement <4 x float> %11, i32 1 %14 = extractelement <4 x float> %11, i32 2 %15 = extractelement <4 x float> %11, i32 3 %16 = getelementptr <16 x i8> addrspace(2)* %3, i32 1 %17 = load <16 x i8> addrspace(2)* %16, !tbaa !0 %18 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %17, i32 0, i32 %5) %19 = extractelement <4 x float> %18, i32 0 %20 = extractelement <4 x float> %18, i32 1 %21 = extractelement <4 x float> %18, i32 2 %22 = extractelement <4 x float> %18, i32 3 %23 = getelementptr <16 x i8> addrspace(2)* %3, i32 2 %24 = load <16 x i8> addrspace(2)* %23, !tbaa !0 %25 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %24, i32 0, i32 %5) %26 = extractelement <4 x float> %25, i32 0 %27 = extractelement <4 x float> %25, i32 1 %28 = extractelement <4 x float> %25, i32 2 %29 = extractelement <4 x float> %25, i32 3 %30 = getelementptr <16 x i8> addrspace(2)* %3, i32 3 %31 = load <16 x i8> addrspace(2)* %30, !tbaa !0 %32 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %31, i32 0, i32 %5) %33 = extractelement <4 x float> %32, i32 0 %34 = extractelement <4 x float> %32, i32 1 %35 = extractelement <4 x float> %32, i32 2 %36 = extractelement <4 x float> %32, i32 3 %37 = getelementptr <16 x i8> addrspace(2)* %3, i32 4 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %38, i32 0, i32 %5) %40 = extractelement <4 x float> %39, i32 0 %41 = extractelement <4 x float> %39, i32 1 %42 = extractelement <4 x float> %39, i32 2 %43 = extractelement <4 x float> %39, i32 3 %44 = getelementptr <16 x i8> addrspace(2)* %3, i32 5 %45 = load <16 x i8> addrspace(2)* %44, !tbaa !0 %46 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %45, i32 0, i32 %5) %47 = extractelement <4 x float> %46, i32 0 %48 = extractelement <4 x float> %46, i32 1 %49 = extractelement <4 x float> %46, i32 2 %50 = extractelement <4 x float> %46, i32 3 %51 = getelementptr <16 x i8> addrspace(2)* %3, i32 6 %52 = load <16 x i8> addrspace(2)* %51, !tbaa !0 %53 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %52, i32 0, i32 %5) %54 = extractelement <4 x float> %53, i32 0 %55 = extractelement <4 x float> %53, i32 1 %56 = extractelement <4 x float> %53, i32 2 %57 = extractelement <4 x float> %53, i32 3 %58 = fmul float %12, %33 %59 = fmul float %13, %34 %60 = fadd float %58, %59 %61 = fmul float %14, %35 %62 = fadd float %60, %61 %63 = fmul float %15, %36 %64 = fadd float %62, %63 %65 = fmul float %12, %40 %66 = fmul float %13, %41 %67 = fadd float %65, %66 %68 = fmul float %14, %42 %69 = fadd float %67, %68 %70 = fmul float %15, %43 %71 = fadd float %69, %70 %72 = fmul float %12, %47 %73 = fmul float %13, %48 %74 = fadd float %72, %73 %75 = fmul float %14, %49 %76 = fadd float %74, %75 %77 = fmul float %15, %50 %78 = fadd float %76, %77 %79 = fmul float %12, %54 %80 = fmul float %13, %55 %81 = fadd float %79, %80 %82 = fmul float %14, %56 %83 = fadd float %81, %82 %84 = fmul float %15, %57 %85 = fadd float %83, %84 %86 = call float @llvm.AMDIL.clamp.(float %26, float 0.000000e+00, float 1.000000e+00) %87 = call float @llvm.AMDIL.clamp.(float %27, float 0.000000e+00, float 1.000000e+00) %88 = call float @llvm.AMDIL.clamp.(float %28, float 0.000000e+00, float 1.000000e+00) %89 = call float @llvm.AMDIL.clamp.(float %29, float 0.000000e+00, float 1.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %86, float %87, float %88, float %89) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %19, float %20, float %21, float %22) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %64, float %71, float %78, float %85) ret void } ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } !0 = metadata !{metadata !"const", null, i32 1} SI CODE: c0800708 bf8c007f e00c2000 80000100 bf8c0770 d2060805 02010104 d2060806 02010103 d2060807 02010102 d2060801 02010101 f800020f 05060701 c0800704 bf8c000f e00c2000 80000100 bf8c0770 f800021f 04030201 c0800718 bf8c000f e00c2000 80000100 c0800700 bf8c0070 e00c2000 80000500 bf8c0770 10120506 d2820009 04260305 d2820009 04260707 d2820001 04260908 c0800714 bf8c007f e00c2000 80000900 bf8c0770 10041506 d2820002 040a1305 d2820002 040a1707 d2820002 040a1908 c0800710 bf8c007f e00c2000 80000900 bf8c0770 10061506 d2820003 040e1305 d2820003 040e1707 d2820003 040e1908 c080070c bf8c007f e00c2000 80000900 bf8c0770 10001506 d2820000 04021305 d2820000 04021707 d2820000 04021908 f80008cf 01020300 bf810000