FRAG DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[0..3] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 3.5000, -0.2500, 0.0000, 0.2500} IMM[1] FLT32 { 2.5000, -0.4000, 0.0000, 0.0000} IMM[2] INT32 {0, 0, 0, 0} 0: MAD TEMP[0].xy, IN[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 1: DP2 TEMP[1].x, CONST[0].xyyy, TEMP[0].xyyy 2: DP2 TEMP[2].x, CONST[1].xyyy, TEMP[0].xyyy 3: MOV TEMP[1].y, TEMP[2].xxxx 4: ADD TEMP[0].xy, TEMP[1].xyyy, IMM[0].wwww 5: MUL TEMP[0].xy, TEMP[0].xyyy, CONST[2].xyyy 6: MOV TEMP[1].xy, TEMP[0].xyyy 7: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 8: MAD TEMP[2].xy, IN[0].xyyy, IMM[1].xxxx, CONST[3].xyyy 9: MUL TEMP[2].xy, TEMP[2].xyyy, CONST[2].xyyy 10: MOV TEMP[2].xy, TEMP[2].xyyy 11: TEX TEMP[2].x, TEMP[2], SAMP[0], 2D 12: ADD TEMP[0].x, TEMP[1].xxxx, TEMP[2].xxxx 13: ADD TEMP[0], TEMP[0].xxxx, IMM[1].yyyy 14: FSLT TEMP[0], TEMP[0], IMM[0].zzzz 15: DP4 TEMP[0].x, TEMP[0], TEMP[0] 16: USNE TEMP[0].x, TEMP[0].xxxx, IMM[2].xxxx 17: UIF TEMP[0].xxxx :0 18: KILL 19: ENDIF 20: MOV OUT[0], IMM[0].zzzz 21: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float 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: %22 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.load.const(<16 x i8> %23, i32 0) %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 4) %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 16) %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 20) %28 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32) %29 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36) %30 = call float @llvm.SI.load.const(<16 x i8> %23, i32 48) %31 = call float @llvm.SI.load.const(<16 x i8> %23, i32 52) %32 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0 %33 = load <32 x i8> addrspace(2)* %32, !tbaa !0 %34 = getelementptr [32 x <16 x i8>] addrspace(2)* %1, i64 0, i32 0 %35 = load <16 x i8> addrspace(2)* %34, !tbaa !0 %36 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %37 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %38 = fmul float %36, 3.500000e+00 %39 = fadd float %38, -2.500000e-01 %40 = fmul float %37, 3.500000e+00 %41 = fadd float %40, -2.500000e-01 %42 = fmul float %24, %39 %43 = fmul float %25, %41 %44 = fadd float %42, %43 %45 = fmul float %26, %39 %46 = fmul float %27, %41 %47 = fadd float %45, %46 %48 = fadd float %44, 2.500000e-01 %49 = fadd float %47, 2.500000e-01 %50 = fmul float %48, %28 %51 = fmul float %49, %29 %52 = bitcast float %50 to i32 %53 = bitcast float %51 to i32 %54 = insertelement <2 x i32> undef, i32 %52, i32 0 %55 = insertelement <2 x i32> %54, i32 %53, i32 1 %56 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %55, <32 x i8> %33, <16 x i8> %35, i32 2) %57 = extractelement <4 x float> %56, i32 0 %58 = fmul float %36, 2.500000e+00 %59 = fadd float %58, %30 %60 = fmul float %37, 2.500000e+00 %61 = fadd float %60, %31 %62 = fmul float %59, %28 %63 = fmul float %61, %29 %64 = bitcast float %62 to i32 %65 = bitcast float %63 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> %33, <16 x i8> %35, i32 2) %69 = extractelement <4 x float> %68, i32 0 %70 = fadd float %57, %69 %71 = fadd float %70, 0xBFD99999A0000000 %72 = fadd float %70, 0xBFD99999A0000000 %73 = fadd float %70, 0xBFD99999A0000000 %74 = fadd float %70, 0xBFD99999A0000000 %75 = fcmp olt float %71, 0.000000e+00 %76 = sext i1 %75 to i32 %77 = fcmp olt float %72, 0.000000e+00 %78 = sext i1 %77 to i32 %79 = fcmp olt float %73, 0.000000e+00 %80 = sext i1 %79 to i32 %81 = fcmp olt float %74, 0.000000e+00 %82 = sext i1 %81 to i32 %83 = bitcast i32 %76 to float %84 = bitcast i32 %78 to float %85 = bitcast i32 %80 to float %86 = bitcast i32 %82 to float %87 = fmul float %83, %83 %88 = fmul float %84, %84 %89 = fadd float %87, %88 %90 = fmul float %85, %85 %91 = fadd float %89, %90 %92 = fmul float %86, %86 %93 = fadd float %91, %92 %94 = bitcast float %93 to i32 %95 = icmp ne i32 %94, 0 %96 = sext i1 %95 to i32 %97 = bitcast i32 %96 to float %98 = bitcast float %97 to i32 %99 = icmp ne i32 %98, 0 br i1 %99, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %100 = call i32 @llvm.SI.packf16(float 0.000000e+00, float 0.000000e+00) %101 = bitcast i32 %100 to float %102 = call i32 @llvm.SI.packf16(float 0.000000e+00, float 0.000000e+00) %103 = bitcast i32 %102 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %101, float %103, float %101, float %103) 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 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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg1, %SGPR2_SGPR3 in %vreg2, %SGPR4_SGPR5 in %vreg3, %SGPR9 in %vreg6, %VGPR0 in %vreg7, %VGPR1 in %vreg8 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC %VGPR3 = V_MOV_B32_e32 -2.500000e-01, %EXEC %VGPR4 = V_MOV_B32_e32 3.500000e+00, %EXEC %VGPR5 = V_MAD_F32 %VGPR2, %VGPR4, %VGPR3, 0, 0, 0, 0, %EXEC %VGPR6 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC %VGPR6 = V_INTERP_P2_F32 %VGPR6, %VGPR1, 1, 0, %M0, %EXEC, %VGPR0_VGPR1 %VGPR0 = V_MAD_F32 %VGPR6, %VGPR4, %VGPR3, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%23(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 127 %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 5; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MUL_F32_e32 %SGPR0, %VGPR0, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 4; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %SGPR0, %VGPR5, %VGPR1, 0, 0, 0, 0, %EXEC %VGPR1 = V_ADD_F32_e32 2.500000e-01, %VGPR1, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 9; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MUL_F32_e32 %SGPR0, %VGPR1, %EXEC, %VGPR3_VGPR4 %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 1; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MUL_F32_e32 %SGPR1, %VGPR0, %EXEC %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 0; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %SGPR1, %VGPR5, %VGPR0, 0, 0, 0, 0, %EXEC %VGPR0 = V_ADD_F32_e32 2.500000e-01, %VGPR0, %EXEC %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 8; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MUL_F32_e32 %SGPR1, %VGPR0, %EXEC, %VGPR3_VGPR4, %VGPR3_VGPR4 %SGPR12_SGPR13_SGPR14_SGPR15 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%37(addrspace=2)](align=8)(tbaa=!"const") %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%34(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0 = IMAGE_SAMPLE_V1_V2 1, 0, 0, 0, 0, 0, 0, 0, %VGPR3_VGPR4, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC %SGPR2 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 13; mem:LD4[] %VGPR1 = V_MOV_B32_e32 2.500000e+00, %EXEC S_WAITCNT 112 %VGPR3 = V_MAD_F32 %VGPR6, %VGPR1, %SGPR2, 0, 0, 0, 0, %EXEC %VGPR4 = V_MUL_F32_e32 %SGPR0, %VGPR3, %EXEC, %VGPR3_VGPR4 %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR8_SGPR9_SGPR10_SGPR11, 12; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %VGPR2, %VGPR1, %SGPR0, 0, 0, 0, 0, %EXEC %VGPR3 = V_MUL_F32_e32 %SGPR1, %VGPR1, %EXEC, %VGPR3_VGPR4, %VGPR3_VGPR4 %VGPR1 = IMAGE_SAMPLE_V1_V2 1, 0, 0, 0, 0, 0, 0, 0, %VGPR3_VGPR4, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC S_WAITCNT 1904 %VGPR0 = V_ADD_F32_e32 %VGPR0, %VGPR1, %EXEC %VGPR0 = V_ADD_F32_e32 -4.000000e-01, %VGPR0, %EXEC %SGPR0_SGPR1 = V_CMP_LT_F32_e64 %VGPR0, 0.000000e+00, 0, 0, 0, 0, %EXEC %VGPR0 = V_CNDMASK_B32_e64 0, -1, %SGPR0_SGPR1, 0, 0, 0, 0, %EXEC %VGPR1 = V_MUL_F32_e32 %VGPR0, %VGPR0, %EXEC %VGPR1 = V_MAD_F32 %VGPR0, %VGPR0, %VGPR1, 0, 0, 0, 0, %EXEC %VGPR1 = V_MAD_F32 %VGPR0, %VGPR0, %VGPR1, 0, 0, 0, 0, %EXEC %VGPR0 = V_MAD_F32 %VGPR0, %VGPR0, %VGPR1, 0, 0, 0, 0, %EXEC %SGPR0_SGPR1 = V_CMP_NE_I32_e64 %VGPR0, 0, 0, 0, 0, 0, %EXEC %SGPR0_SGPR1 = S_AND_SAVEEXEC_B64 %SGPR0_SGPR1, %EXEC, %EXEC %SGPR0_SGPR1 = S_XOR_B64 %EXEC, %SGPR0_SGPR1 Successors according to CFG: BB#1(16) BB#2(16) BB#1: derived from LLVM BB %IF Live Ins: %SGPR0_SGPR1 Predecessors according to CFG: BB#0 %VGPR0 = V_MOV_B32_e32 -1082130432, %EXEC %VCC = V_CMPX_LE_F32_e32 0, %VGPR0, %EXEC, %EXEC Successors according to CFG: BB#2 BB#2: derived from LLVM BB %ENDIF Live Ins: %SGPR0_SGPR1 Predecessors according to CFG: BB#0 BB#1 %EXEC = S_OR_B64 %EXEC, %SGPR0_SGPR1 %VGPR0 = V_CVT_PKRTZ_F16_F32_e64 0.000000e+00, 0.000000e+00, 0, 0, 0, 0, %EXEC EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 V_MOV_B32_e32 v3, -2.500000e-01 ; 7E0602FF BE800000 V_MOV_B32_e32 v4, 3.500000e+00 ; 7E0802FF 40600000 V_MAD_F32 v5, v2, v4, v3, 0, 0, 0, 0 ; D2820005 040E0902 V_INTERP_P1_F32 v6, v0, 1, 0, [m0] ; C8180100 V_INTERP_P2_F32 v6, [v6], v1, 1, 0, [m0] ; C8190101 V_MAD_F32 v0, v6, v4, v3, 0, 0, 0, 0 ; D2820000 040E0906 S_LOAD_DWORDX4 s[8:11], s[0:1], 0 ; C0840100 S_WAITCNT lgkmcnt(0) ; BF8C007F S_BUFFER_LOAD_DWORD s0, s[8:11], 5 ; C2000905 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v1, s0, v0 ; 10020000 S_BUFFER_LOAD_DWORD s0, s[8:11], 4 ; C2000904 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, s0, v5, v1, 0, 0, 0, 0 ; D2820001 04060A00 V_ADD_F32_e32 v1, 2.500000e-01, v1 ; 060202FF 3E800000 S_BUFFER_LOAD_DWORD s0, s[8:11], 9 ; C2000909 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v4, s0, v1 ; 10080200 S_BUFFER_LOAD_DWORD s1, s[8:11], 1 ; C2008901 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v0, s1, v0 ; 10000001 S_BUFFER_LOAD_DWORD s1, s[8:11], 0 ; C2008900 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, s1, v5, v0, 0, 0, 0, 0 ; D2820000 04020A01 V_ADD_F32_e32 v0, 2.500000e-01, v0 ; 060000FF 3E800000 S_BUFFER_LOAD_DWORD s1, s[8:11], 8 ; C2008908 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v3, s1, v0 ; 10060001 S_LOAD_DWORDX4 s[12:15], s[2:3], 0 ; C0860300 S_LOAD_DWORDX8 s[16:23], s[4:5], 0 ; C0C80500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v0, 1, 0, 0, 0, 0, 0, 0, 0, v[3:4], s[16:23], s[12:15] ; F0800100 00640003 S_BUFFER_LOAD_DWORD s2, s[8:11], 13 ; C201090D V_MOV_B32_e32 v1, 2.500000e+00 ; 7E0202FF 40200000 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 V_MAD_F32 v3, v6, v1, s2, 0, 0, 0, 0 ; D2820003 000A0306 V_MUL_F32_e32 v4, s0, v3 ; 10080600 S_BUFFER_LOAD_DWORD s0, s[8:11], 12 ; C200090C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, v2, v1, s0, 0, 0, 0, 0 ; D2820001 00020302 V_MUL_F32_e32 v3, s1, v1 ; 10060201 IMAGE_SAMPLE v1, 1, 0, 0, 0, 0, 0, 0, 0, v[3:4], s[16:23], s[12:15] ; F0800100 00640103 S_WAITCNT vmcnt(0) ; BF8C0770 V_ADD_F32_e32 v0, v0, v1 ; 06000300 V_ADD_F32_e32 v0, -4.000000e-01, v0 ; 060000FF BECCCCCD V_CMP_LT_F32_e64 s[0:1], v0, 0.000000e+00, 0, 0, 0, 0 ; D0020000 02010100 V_CNDMASK_B32_e64 v0, 0, -1, s[0:1], 0, 0, 0, 0 ; D2000000 00018280 V_MUL_F32_e32 v1, v0, v0 ; 10020100 V_MAD_F32 v1, v0, v0, v1, 0, 0, 0, 0 ; D2820001 04060100 V_MAD_F32 v1, v0, v0, v1, 0, 0, 0, 0 ; D2820001 04060100 V_MAD_F32 v0, v0, v0, v1, 0, 0, 0, 0 ; D2820000 04060100 V_CMP_NE_I32_e64 s[0:1], v0, 0, 0, 0, 0, 0 ; D10A0000 02010100 S_AND_SAVEEXEC_B64 s[0:1], s[0:1] ; BE802400 S_XOR_B64 s[0:1], exec, s[0:1] ; 8980007E V_MOV_B32_e32 v0, -1082130432 ; 7E0002F3 V_CMPX_LE_F32_e32 vcc, 0, v0 ; 7C260080 S_OR_B64 exec, exec, s[0:1] ; 88FE007E V_CVT_PKRTZ_F16_F32_e64 v0, 0.000000e+00, 0.000000e+00, 0, 0, 0, 0 ; D25E0000 02010080 EXP 15, 0, 1, 1, 1, v0, v0, v0, v0 ; F8001C0F 00000000 S_ENDPGM ; BF810000 VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] DCL CONST[0..12] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0078, -1.0000, 1.0000, 0.0000} 0: MUL TEMP[0], CONST[0], IN[0].xxxx 1: MAD TEMP[1], CONST[1], IN[0].yyyy, TEMP[0] 2: MAD TEMP[2], CONST[2], IN[0].zzzz, TEMP[1] 3: MAD TEMP[2], CONST[3], IN[0].wwww, TEMP[2] 4: MUL TEMP[3], CONST[8], TEMP[2].xxxx 5: MAD TEMP[3], TEMP[2].yyyy, CONST[9], TEMP[3] 6: MAD TEMP[3], CONST[10], TEMP[2].zzzz, TEMP[3] 7: MAD TEMP[2], CONST[11], TEMP[2].wwww, TEMP[3] 8: MOV TEMP[0].zw, TEMP[2].wwzw 9: MUL TEMP[1].x, TEMP[2].wwww, CONST[7].zzzz 10: MAD TEMP[0].xy, TEMP[1].xxxx, CONST[7].xyyy, TEMP[2].xyyy 11: MUL TEMP[1], IMM[0].zzww, IN[3].xyxx 12: MOV OUT[1], TEMP[1] 13: MOV OUT[0], TEMP[0] 14: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, [17 x <16 x i8>] addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %10 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %11 = load <16 x i8> addrspace(2)* %10, !tbaa !0 %12 = call float @llvm.SI.load.const(<16 x i8> %11, i32 0) %13 = call float @llvm.SI.load.const(<16 x i8> %11, i32 4) %14 = call float @llvm.SI.load.const(<16 x i8> %11, i32 8) %15 = call float @llvm.SI.load.const(<16 x i8> %11, i32 12) %16 = call float @llvm.SI.load.const(<16 x i8> %11, i32 16) %17 = call float @llvm.SI.load.const(<16 x i8> %11, i32 20) %18 = call float @llvm.SI.load.const(<16 x i8> %11, i32 24) %19 = call float @llvm.SI.load.const(<16 x i8> %11, i32 28) %20 = call float @llvm.SI.load.const(<16 x i8> %11, i32 32) %21 = call float @llvm.SI.load.const(<16 x i8> %11, i32 36) %22 = call float @llvm.SI.load.const(<16 x i8> %11, i32 40) %23 = call float @llvm.SI.load.const(<16 x i8> %11, i32 44) %24 = call float @llvm.SI.load.const(<16 x i8> %11, i32 48) %25 = call float @llvm.SI.load.const(<16 x i8> %11, i32 52) %26 = call float @llvm.SI.load.const(<16 x i8> %11, i32 56) %27 = call float @llvm.SI.load.const(<16 x i8> %11, i32 60) %28 = call float @llvm.SI.load.const(<16 x i8> %11, i32 112) %29 = call float @llvm.SI.load.const(<16 x i8> %11, i32 116) %30 = call float @llvm.SI.load.const(<16 x i8> %11, i32 120) %31 = call float @llvm.SI.load.const(<16 x i8> %11, i32 128) %32 = call float @llvm.SI.load.const(<16 x i8> %11, i32 132) %33 = call float @llvm.SI.load.const(<16 x i8> %11, i32 136) %34 = call float @llvm.SI.load.const(<16 x i8> %11, i32 140) %35 = call float @llvm.SI.load.const(<16 x i8> %11, i32 144) %36 = call float @llvm.SI.load.const(<16 x i8> %11, i32 148) %37 = call float @llvm.SI.load.const(<16 x i8> %11, i32 152) %38 = call float @llvm.SI.load.const(<16 x i8> %11, i32 156) %39 = call float @llvm.SI.load.const(<16 x i8> %11, i32 160) %40 = call float @llvm.SI.load.const(<16 x i8> %11, i32 164) %41 = call float @llvm.SI.load.const(<16 x i8> %11, i32 168) %42 = call float @llvm.SI.load.const(<16 x i8> %11, i32 172) %43 = call float @llvm.SI.load.const(<16 x i8> %11, i32 176) %44 = call float @llvm.SI.load.const(<16 x i8> %11, i32 180) %45 = call float @llvm.SI.load.const(<16 x i8> %11, i32 184) %46 = call float @llvm.SI.load.const(<16 x i8> %11, i32 188) %47 = getelementptr [17 x <16 x i8>] addrspace(2)* %4, i64 0, 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 %6) %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 [17 x <16 x i8>] addrspace(2)* %4, i64 0, 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 %6) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = fmul float %12, %50 %60 = fmul float %13, %50 %61 = fmul float %14, %50 %62 = fmul float %15, %50 %63 = fmul float %16, %51 %64 = fadd float %63, %59 %65 = fmul float %17, %51 %66 = fadd float %65, %60 %67 = fmul float %18, %51 %68 = fadd float %67, %61 %69 = fmul float %19, %51 %70 = fadd float %69, %62 %71 = fmul float %20, %52 %72 = fadd float %71, %64 %73 = fmul float %21, %52 %74 = fadd float %73, %66 %75 = fmul float %22, %52 %76 = fadd float %75, %68 %77 = fmul float %23, %52 %78 = fadd float %77, %70 %79 = fmul float %24, %53 %80 = fadd float %79, %72 %81 = fmul float %25, %53 %82 = fadd float %81, %74 %83 = fmul float %26, %53 %84 = fadd float %83, %76 %85 = fmul float %27, %53 %86 = fadd float %85, %78 %87 = fmul float %31, %80 %88 = fmul float %32, %80 %89 = fmul float %33, %80 %90 = fmul float %34, %80 %91 = fmul float %82, %35 %92 = fadd float %91, %87 %93 = fmul float %82, %36 %94 = fadd float %93, %88 %95 = fmul float %82, %37 %96 = fadd float %95, %89 %97 = fmul float %82, %38 %98 = fadd float %97, %90 %99 = fmul float %39, %84 %100 = fadd float %99, %92 %101 = fmul float %40, %84 %102 = fadd float %101, %94 %103 = fmul float %41, %84 %104 = fadd float %103, %96 %105 = fmul float %42, %84 %106 = fadd float %105, %98 %107 = fmul float %43, %86 %108 = fadd float %107, %100 %109 = fmul float %44, %86 %110 = fadd float %109, %102 %111 = fmul float %45, %86 %112 = fadd float %111, %104 %113 = fmul float %46, %86 %114 = fadd float %113, %106 %115 = fmul float %114, %30 %116 = fmul float %115, %28 %117 = fadd float %116, %108 %118 = fmul float %115, %29 %119 = fadd float %118, %110 %120 = fmul float 1.000000e+00, %57 %121 = fmul float 1.000000e+00, %58 %122 = fmul float 0.000000e+00, %57 %123 = fmul float 0.000000e+00, %57 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %120, float %121, float %122, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %117, float %119, float %112, float %114) 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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg0, %SGPR8_SGPR9 in %vreg4, %VGPR0 in %vreg6 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR8_SGPR9 %VGPR0 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 12; mem:LD16[%59(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 127 %VGPR1_VGPR2_VGPR3_VGPR4 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC S_WAITCNT 1904 %VGPR5 = V_MUL_F32_e64 %VGPR1, 0.000000e+00, 0, 0, 0, 0, %EXEC EXP 15, 32, 0, 0, 0, %VGPR1, %VGPR2, %VGPR5, %VGPR5, %EXEC, %VGPR1_VGPR2_VGPR3_VGPR4 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 0; mem:LD16[%50(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 15 %VGPR0_VGPR1_VGPR2_VGPR3 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%11(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 112 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 1; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 5; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 9; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 13; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 0; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 4; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 8; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 12; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 33; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 37; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 2; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 6; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 10; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 14; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 41; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 3; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 7; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 11; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 15; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR8, 0, 0, 0, 0, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 45; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 35; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 39; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 43; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 47; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 30; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MUL_F32_e32 %SGPR4, %VGPR2, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 29; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %VGPR3, %SGPR4, %VGPR1, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 32; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 36; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 40; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 44; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 28; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MAD_F32 %VGPR3, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 34; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 38; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 42; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 46; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %SGPR0, %VGPR0, %VGPR4, 0, 0, 0, 0, %EXEC EXP 15, 12, 0, 1, 0, %VGPR3, %VGPR1, %VGPR0, %VGPR2, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_LOAD_DWORDX4 s[4:7], s[8:9], 12 ; C082090C S_WAITCNT lgkmcnt(0) ; BF8C007F BUFFER_LOAD_FORMAT_XYZW v[1:4], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010100 S_WAITCNT vmcnt(0) ; BF8C0770 V_MUL_F32_e64 v5, v1, 0.000000e+00, 0, 0, 0, 0 ; D2100005 02010101 EXP 15, 32, 0, 0, 0, v1, v2, v5, v5 ; F800020F 05050201 S_LOAD_DWORDX4 s[4:7], s[8:9], 0 ; C0820900 S_WAITCNT expcnt(0) lgkmcnt(0) ; BF8C000F BUFFER_LOAD_FORMAT_XYZW v[0:3], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010000 S_LOAD_DWORDX4 s[0:3], s[0:1], 0 ; C0800100 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 S_BUFFER_LOAD_DWORD s4, s[0:3], 1 ; C2020101 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v4, s4, v0 ; 10080004 S_BUFFER_LOAD_DWORD s4, s[0:3], 5 ; C2020105 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v1, v4, 0, 0, 0, 0 ; D2820004 04120204 S_BUFFER_LOAD_DWORD s4, s[0:3], 9 ; C2020109 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v2, v4, 0, 0, 0, 0 ; D2820004 04120404 S_BUFFER_LOAD_DWORD s4, s[0:3], 13 ; C202010D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v3, v4, 0, 0, 0, 0 ; D2820004 04120604 S_BUFFER_LOAD_DWORD s4, s[0:3], 0 ; C2020100 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v5, s4, v0 ; 100A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 4 ; C2020104 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v1, v5, 0, 0, 0, 0 ; D2820005 04160204 S_BUFFER_LOAD_DWORD s4, s[0:3], 8 ; C2020108 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v2, v5, 0, 0, 0, 0 ; D2820005 04160404 S_BUFFER_LOAD_DWORD s4, s[0:3], 12 ; C202010C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v3, v5, 0, 0, 0, 0 ; D2820005 04160604 S_BUFFER_LOAD_DWORD s4, s[0:3], 33 ; C2020121 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v6, s4, v5 ; 100C0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 37 ; C2020125 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, v4, s4, v6, 0, 0, 0, 0 ; D2820006 04180904 S_BUFFER_LOAD_DWORD s4, s[0:3], 2 ; C2020102 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v7, s4, v0 ; 100E0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 6 ; C2020106 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v1, v7, 0, 0, 0, 0 ; D2820007 041E0204 S_BUFFER_LOAD_DWORD s4, s[0:3], 10 ; C202010A S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v2, v7, 0, 0, 0, 0 ; D2820007 041E0404 S_BUFFER_LOAD_DWORD s4, s[0:3], 14 ; C202010E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v3, v7, 0, 0, 0, 0 ; D2820007 041E0604 S_BUFFER_LOAD_DWORD s4, s[0:3], 41 ; C2020129 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v7, v6, 0, 0, 0, 0 ; D2820006 041A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 3 ; C2020103 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v8, s4, v0 ; 10100004 S_BUFFER_LOAD_DWORD s4, s[0:3], 7 ; C2020107 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v8, s4, v1, v8, 0, 0, 0, 0 ; D2820008 04220204 S_BUFFER_LOAD_DWORD s4, s[0:3], 11 ; C202010B S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v8, s4, v2, v8, 0, 0, 0, 0 ; D2820008 04220404 S_BUFFER_LOAD_DWORD s4, s[0:3], 15 ; C202010F S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, s4, v3, v8, 0, 0, 0, 0 ; D2820000 04220604 S_BUFFER_LOAD_DWORD s4, s[0:3], 45 ; C202012D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, s4, v0, v6, 0, 0, 0, 0 ; D2820001 041A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 35 ; C2020123 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v2, s4, v5 ; 10040A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 39 ; C2020127 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, v4, s4, v2, 0, 0, 0, 0 ; D2820002 04080904 S_BUFFER_LOAD_DWORD s4, s[0:3], 43 ; C202012B S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, s4, v7, v2, 0, 0, 0, 0 ; D2820002 040A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 47 ; C202012F S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, s4, v0, v2, 0, 0, 0, 0 ; D2820002 040A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 30 ; C202011E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v3, s4, v2 ; 10060404 S_BUFFER_LOAD_DWORD s4, s[0:3], 29 ; C202011D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, v3, s4, v1, 0, 0, 0, 0 ; D2820001 04040903 S_BUFFER_LOAD_DWORD s4, s[0:3], 32 ; C2020120 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v6, s4, v5 ; 100C0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 36 ; C2020124 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, v4, s4, v6, 0, 0, 0, 0 ; D2820006 04180904 S_BUFFER_LOAD_DWORD s4, s[0:3], 40 ; C2020128 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v7, v6, 0, 0, 0, 0 ; D2820006 041A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 44 ; C202012C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v0, v6, 0, 0, 0, 0 ; D2820006 041A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 28 ; C202011C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v3, v3, s4, v6, 0, 0, 0, 0 ; D2820003 04180903 S_BUFFER_LOAD_DWORD s4, s[0:3], 34 ; C2020122 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v5, s4, v5 ; 100A0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 38 ; C2020126 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, v4, s4, v5, 0, 0, 0, 0 ; D2820004 04140904 S_BUFFER_LOAD_DWORD s4, s[0:3], 42 ; C202012A S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v7, v4, 0, 0, 0, 0 ; D2820004 04120E04 S_BUFFER_LOAD_DWORD s0, s[0:3], 46 ; C200012E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, s0, v0, v4, 0, 0, 0, 0 ; D2820000 04120000 EXP 15, 12, 0, 1, 0, v3, v1, v0, v2 ; F80008CF 02000103 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[5], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[0..7] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 3.5000, -0.2500, 0.0000, 0.2500} IMM[1] FLT32 { 2.5000, -100.0000, 1.0000, -0.4000} IMM[2] INT32 {0, 0, 0, 0} 0: MAD TEMP[0].xy, IN[0].xyyy, IMM[0].xxxx, IMM[0].yyyy 1: DP2 TEMP[1].x, CONST[1].xyyy, TEMP[0].xyyy 2: DP2 TEMP[2].x, CONST[2].xyyy, TEMP[0].xyyy 3: MOV TEMP[1].y, TEMP[2].xxxx 4: ADD TEMP[0].xy, TEMP[1].xyyy, IMM[0].wwww 5: MUL TEMP[0].xy, TEMP[0].xyyy, CONST[3].xyyy 6: MOV TEMP[1].xy, TEMP[0].xyyy 7: TEX TEMP[1].x, TEMP[1], SAMP[0], 2D 8: MAD TEMP[2].xy, IN[0].xyyy, IMM[1].xxxx, CONST[4].xyyy 9: MUL TEMP[2].xy, TEMP[2].xyyy, CONST[3].xyyy 10: MOV TEMP[2].xy, TEMP[2].xyyy 11: TEX TEMP[2].x, TEMP[2], SAMP[0], 2D 12: ADD TEMP[0].x, TEMP[1].xxxx, TEMP[2].xxxx 13: ADD TEMP[1], TEMP[0].xxxx, IMM[1].wwww 14: FSLT TEMP[1], TEMP[1], IMM[0].zzzz 15: DP4 TEMP[1].x, TEMP[1], TEMP[1] 16: USNE TEMP[1].x, TEMP[1].xxxx, IMM[2].xxxx 17: UIF TEMP[1].xxxx :0 18: KILL 19: ENDIF 20: ADD TEMP[1].xyz, IMM[1].yyyy, CONST[0].xyzz 21: ADD TEMP[0].x, IMM[1].zzzz, -CONST[7].yyyy 22: RCP TEMP[2].x, IN[1].wwww 23: MAD TEMP[0].x, -CONST[7].xxxx, TEMP[2].xxxx, TEMP[0].xxxx 24: MOV TEMP[1].w, TEMP[0].xxxx 25: MOV OUT[0], TEMP[1] 26: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float 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: %22 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.load.const(<16 x i8> %23, i32 0) %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 4) %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 8) %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 16) %28 = call float @llvm.SI.load.const(<16 x i8> %23, i32 20) %29 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32) %30 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36) %31 = call float @llvm.SI.load.const(<16 x i8> %23, i32 48) %32 = call float @llvm.SI.load.const(<16 x i8> %23, i32 52) %33 = call float @llvm.SI.load.const(<16 x i8> %23, i32 64) %34 = call float @llvm.SI.load.const(<16 x i8> %23, i32 68) %35 = call float @llvm.SI.load.const(<16 x i8> %23, i32 112) %36 = call float @llvm.SI.load.const(<16 x i8> %23, i32 116) %37 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0 %38 = load <32 x i8> addrspace(2)* %37, !tbaa !0 %39 = getelementptr [32 x <16 x i8>] addrspace(2)* %1, i64 0, i32 0 %40 = load <16 x i8> addrspace(2)* %39, !tbaa !0 %41 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %42 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %43 = call float @llvm.SI.fs.interp(i32 3, i32 1, i32 %5, <2 x i32> %7) %44 = fmul float %41, 3.500000e+00 %45 = fadd float %44, -2.500000e-01 %46 = fmul float %42, 3.500000e+00 %47 = fadd float %46, -2.500000e-01 %48 = fmul float %27, %45 %49 = fmul float %28, %47 %50 = fadd float %48, %49 %51 = fmul float %29, %45 %52 = fmul float %30, %47 %53 = fadd float %51, %52 %54 = fadd float %50, 2.500000e-01 %55 = fadd float %53, 2.500000e-01 %56 = fmul float %54, %31 %57 = fmul float %55, %32 %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> %38, <16 x i8> %40, i32 2) %63 = extractelement <4 x float> %62, i32 0 %64 = fmul float %41, 2.500000e+00 %65 = fadd float %64, %33 %66 = fmul float %42, 2.500000e+00 %67 = fadd float %66, %34 %68 = fmul float %65, %31 %69 = fmul float %67, %32 %70 = bitcast float %68 to i32 %71 = bitcast float %69 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> %38, <16 x i8> %40, i32 2) %75 = extractelement <4 x float> %74, i32 0 %76 = fadd float %63, %75 %77 = fadd float %76, 0xBFD99999A0000000 %78 = fadd float %76, 0xBFD99999A0000000 %79 = fadd float %76, 0xBFD99999A0000000 %80 = fadd float %76, 0xBFD99999A0000000 %81 = fcmp olt float %77, 0.000000e+00 %82 = sext i1 %81 to i32 %83 = fcmp olt float %78, 0.000000e+00 %84 = sext i1 %83 to i32 %85 = fcmp olt float %79, 0.000000e+00 %86 = sext i1 %85 to i32 %87 = fcmp olt float %80, 0.000000e+00 %88 = sext i1 %87 to i32 %89 = bitcast i32 %82 to float %90 = bitcast i32 %84 to float %91 = bitcast i32 %86 to float %92 = bitcast i32 %88 to float %93 = fmul float %89, %89 %94 = fmul float %90, %90 %95 = fadd float %93, %94 %96 = fmul float %91, %91 %97 = fadd float %95, %96 %98 = fmul float %92, %92 %99 = fadd float %97, %98 %100 = bitcast float %99 to i32 %101 = icmp ne i32 %100, 0 %102 = sext i1 %101 to i32 %103 = bitcast i32 %102 to float %104 = bitcast float %103 to i32 %105 = icmp ne i32 %104, 0 br i1 %105, label %IF, label %ENDIF IF: ; preds = %main_body call void @llvm.AMDGPU.kilp() br label %ENDIF ENDIF: ; preds = %main_body, %IF %106 = fadd float -1.000000e+02, %24 %107 = fadd float -1.000000e+02, %25 %108 = fadd float -1.000000e+02, %26 %109 = fsub float -0.000000e+00, %36 %110 = fadd float 1.000000e+00, %109 %111 = fdiv float 1.000000e+00, %43 %112 = fsub float -0.000000e+00, %35 %113 = fmul float %112, %111 %114 = fadd float %113, %110 %115 = call i32 @llvm.SI.packf16(float %106, float %107) %116 = bitcast i32 %115 to float %117 = call i32 @llvm.SI.packf16(float %108, float %114) %118 = bitcast i32 %117 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %116, float %118, float %116, float %118) 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 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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg7, %SGPR2_SGPR3 in %vreg8, %SGPR4_SGPR5 in %vreg9, %SGPR9 in %vreg12, %VGPR0 in %vreg13, %VGPR1 in %vreg14 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC %VGPR3 = V_MOV_B32_e32 -2.500000e-01, %EXEC %VGPR4 = V_MOV_B32_e32 3.500000e+00, %EXEC %VGPR5 = V_MAD_F32 %VGPR2, %VGPR4, %VGPR3, 0, 0, 0, 0, %EXEC %VGPR6 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC %VGPR6 = V_INTERP_P2_F32 %VGPR6, %VGPR1, 1, 0, %M0, %EXEC %VGPR3 = V_MAD_F32 %VGPR6, %VGPR4, %VGPR3, 0, 0, 0, 0, %EXEC %SGPR12_SGPR13_SGPR14_SGPR15 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%23(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 127 %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 9; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MUL_F32_e32 %SGPR0, %VGPR3, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 8; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR0, %VGPR5, %VGPR4, 0, 0, 0, 0, %EXEC %VGPR4 = V_ADD_F32_e32 2.500000e-01, %VGPR4, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 13; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MUL_F32_e32 %SGPR0, %VGPR4, %EXEC, %VGPR7_VGPR8 %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 5; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MUL_F32_e32 %SGPR1, %VGPR3, %EXEC %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 4; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MAD_F32 %SGPR1, %VGPR5, %VGPR3, 0, 0, 0, 0, %EXEC %VGPR3 = V_ADD_F32_e32 2.500000e-01, %VGPR3, %EXEC %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 12; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MUL_F32_e32 %SGPR1, %VGPR3, %EXEC, %VGPR7_VGPR8, %VGPR7_VGPR8 %SGPR16_SGPR17_SGPR18_SGPR19 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%42(addrspace=2)](align=8)(tbaa=!"const") %SGPR20_SGPR21_SGPR22_SGPR23_SGPR24_SGPR25_SGPR26_SGPR27 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%39(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR3 = IMAGE_SAMPLE_V1_V2 1, 0, 0, 0, 0, 0, 0, 0, %VGPR7_VGPR8, %SGPR20_SGPR21_SGPR22_SGPR23_SGPR24_SGPR25_SGPR26_SGPR27, %SGPR16_SGPR17_SGPR18_SGPR19, %EXEC %SGPR2 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 17; mem:LD4[] %VGPR4 = V_MOV_B32_e32 2.500000e+00, %EXEC S_WAITCNT 112 %VGPR5 = V_MAD_F32 %VGPR6, %VGPR4, %SGPR2, 0, 0, 0, 0, %EXEC %VGPR6 = V_MUL_F32_e32 %SGPR0, %VGPR5, %EXEC, %VGPR5_VGPR6 %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 16; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %VGPR2, %VGPR4, %SGPR0, 0, 0, 0, 0, %EXEC %VGPR5 = V_MUL_F32_e32 %SGPR1, %VGPR2, %EXEC, %VGPR5_VGPR6, %VGPR5_VGPR6 %VGPR2 = IMAGE_SAMPLE_V1_V2 1, 0, 0, 0, 0, 0, 0, 0, %VGPR5_VGPR6, %SGPR20_SGPR21_SGPR22_SGPR23_SGPR24_SGPR25_SGPR26_SGPR27, %SGPR16_SGPR17_SGPR18_SGPR19, %EXEC S_WAITCNT 1904 %VGPR2 = V_ADD_F32_e32 %VGPR3, %VGPR2, %EXEC %VGPR2 = V_ADD_F32_e32 -4.000000e-01, %VGPR2, %EXEC %SGPR0_SGPR1 = V_CMP_LT_F32_e64 %VGPR2, 0.000000e+00, 0, 0, 0, 0, %EXEC %VGPR2 = V_CNDMASK_B32_e64 0, -1, %SGPR0_SGPR1, 0, 0, 0, 0, %EXEC %VGPR3 = V_MUL_F32_e32 %VGPR2, %VGPR2, %EXEC %VGPR3 = V_MAD_F32 %VGPR2, %VGPR2, %VGPR3, 0, 0, 0, 0, %EXEC %VGPR3 = V_MAD_F32 %VGPR2, %VGPR2, %VGPR3, 0, 0, 0, 0, %EXEC %VGPR2 = V_MAD_F32 %VGPR2, %VGPR2, %VGPR3, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_NE_I32_e64 %VGPR2, 0, 0, 0, 0, 0, %EXEC %VGPR2 = V_INTERP_P1_F32 %VGPR0, 3, 1, %M0, %EXEC %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 3, 1, %M0, %EXEC, %VGPR0_VGPR1 %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 29; mem:LD4[] %SGPR1 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 28; mem:LD4[] %SGPR2 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 2; mem:LD4[] %SGPR3 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 1; mem:LD4[] %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR12_SGPR13_SGPR14_SGPR15, 0; mem:LD4[] S_WAITCNT 127 %SGPR6_SGPR7 = S_AND_SAVEEXEC_B64 %SGPR6_SGPR7, %EXEC, %EXEC %SGPR6_SGPR7 = S_XOR_B64 %EXEC, %SGPR6_SGPR7 Successors according to CFG: BB#1(16) BB#2(16) BB#1: derived from LLVM BB %IF Live Ins: %VGPR2 %SGPR0 %SGPR1 %SGPR2 %SGPR3 %SGPR4 %SGPR6_SGPR7 Predecessors according to CFG: BB#0 %VGPR0 = V_MOV_B32_e32 -1082130432, %EXEC %VCC = V_CMPX_LE_F32_e32 0, %VGPR0, %EXEC, %EXEC Successors according to CFG: BB#2 BB#2: derived from LLVM BB %ENDIF Live Ins: %VGPR2 %SGPR0 %SGPR1 %SGPR2 %SGPR3 %SGPR4 %SGPR6_SGPR7 Predecessors according to CFG: BB#0 BB#1 %EXEC = S_OR_B64 %EXEC, %SGPR6_SGPR7 %VGPR0 = V_MOV_B32_e32 -1.000000e+02, %EXEC %VGPR1 = V_ADD_F32_e32 %SGPR3, %VGPR0, %EXEC %VGPR3 = V_ADD_F32_e32 %SGPR4, %VGPR0, %EXEC %VGPR1 = V_CVT_PKRTZ_F16_F32_e32 %VGPR3, %VGPR1, %EXEC %VGPR0 = V_ADD_F32_e32 %SGPR2, %VGPR0, %EXEC %VGPR2 = V_RCP_F32_e32 %VGPR2, %EXEC %VGPR2 = V_MUL_F32_e32 %SGPR1, %VGPR2, %EXEC %VGPR3 = V_SUB_F32_e64 1.000000e+00, %SGPR0, 0, 0, 0, 0, %EXEC %VGPR2 = V_SUB_F32_e32 %VGPR3, %VGPR2, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR2, %EXEC EXP 15, 0, 1, 1, 1, %VGPR1, %VGPR0, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 V_MOV_B32_e32 v3, -2.500000e-01 ; 7E0602FF BE800000 V_MOV_B32_e32 v4, 3.500000e+00 ; 7E0802FF 40600000 V_MAD_F32 v5, v2, v4, v3, 0, 0, 0, 0 ; D2820005 040E0902 V_INTERP_P1_F32 v6, v0, 1, 0, [m0] ; C8180100 V_INTERP_P2_F32 v6, [v6], v1, 1, 0, [m0] ; C8190101 V_MAD_F32 v3, v6, v4, v3, 0, 0, 0, 0 ; D2820003 040E0906 S_LOAD_DWORDX4 s[12:15], s[0:1], 0 ; C0860100 S_WAITCNT lgkmcnt(0) ; BF8C007F S_BUFFER_LOAD_DWORD s0, s[12:15], 9 ; C2000D09 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v4, s0, v3 ; 10080600 S_BUFFER_LOAD_DWORD s0, s[12:15], 8 ; C2000D08 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s0, v5, v4, 0, 0, 0, 0 ; D2820004 04120A00 V_ADD_F32_e32 v4, 2.500000e-01, v4 ; 060808FF 3E800000 S_BUFFER_LOAD_DWORD s0, s[12:15], 13 ; C2000D0D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v8, s0, v4 ; 10100800 S_BUFFER_LOAD_DWORD s1, s[12:15], 5 ; C2008D05 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v3, s1, v3 ; 10060601 S_BUFFER_LOAD_DWORD s1, s[12:15], 4 ; C2008D04 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v3, s1, v5, v3, 0, 0, 0, 0 ; D2820003 040E0A01 V_ADD_F32_e32 v3, 2.500000e-01, v3 ; 060606FF 3E800000 S_BUFFER_LOAD_DWORD s1, s[12:15], 12 ; C2008D0C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v7, s1, v3 ; 100E0601 S_LOAD_DWORDX4 s[16:19], s[2:3], 0 ; C0880300 S_LOAD_DWORDX8 s[20:27], s[4:5], 0 ; C0CA0500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v3, 1, 0, 0, 0, 0, 0, 0, 0, v[7:8], s[20:27], s[16:19] ; F0800100 00850307 S_BUFFER_LOAD_DWORD s2, s[12:15], 17 ; C2010D11 V_MOV_B32_e32 v4, 2.500000e+00 ; 7E0802FF 40200000 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 V_MAD_F32 v5, v6, v4, s2, 0, 0, 0, 0 ; D2820005 000A0906 V_MUL_F32_e32 v6, s0, v5 ; 100C0A00 S_BUFFER_LOAD_DWORD s0, s[12:15], 16 ; C2000D10 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, v2, v4, s0, 0, 0, 0, 0 ; D2820002 00020902 V_MUL_F32_e32 v5, s1, v2 ; 100A0401 IMAGE_SAMPLE v2, 1, 0, 0, 0, 0, 0, 0, 0, v[5:6], s[20:27], s[16:19] ; F0800100 00850205 S_WAITCNT vmcnt(0) ; BF8C0770 V_ADD_F32_e32 v2, v3, v2 ; 06040503 V_ADD_F32_e32 v2, -4.000000e-01, v2 ; 060404FF BECCCCCD V_CMP_LT_F32_e64 s[0:1], v2, 0.000000e+00, 0, 0, 0, 0 ; D0020000 02010102 V_CNDMASK_B32_e64 v2, 0, -1, s[0:1], 0, 0, 0, 0 ; D2000002 00018280 V_MUL_F32_e32 v3, v2, v2 ; 10060502 V_MAD_F32 v3, v2, v2, v3, 0, 0, 0, 0 ; D2820003 040E0502 V_MAD_F32 v3, v2, v2, v3, 0, 0, 0, 0 ; D2820003 040E0502 V_MAD_F32 v2, v2, v2, v3, 0, 0, 0, 0 ; D2820002 040E0502 V_CMP_NE_I32_e64 s[6:7], v2, 0, 0, 0, 0, 0 ; D10A0006 02010102 V_INTERP_P1_F32 v2, v0, 3, 1, [m0] ; C8080700 V_INTERP_P2_F32 v2, [v2], v1, 3, 1, [m0] ; C8090701 S_BUFFER_LOAD_DWORD s0, s[12:15], 29 ; C2000D1D S_BUFFER_LOAD_DWORD s1, s[12:15], 28 ; C2008D1C S_BUFFER_LOAD_DWORD s2, s[12:15], 2 ; C2010D02 S_BUFFER_LOAD_DWORD s3, s[12:15], 1 ; C2018D01 S_BUFFER_LOAD_DWORD s4, s[12:15], 0 ; C2020D00 S_WAITCNT lgkmcnt(0) ; BF8C007F S_AND_SAVEEXEC_B64 s[6:7], s[6:7] ; BE862406 S_XOR_B64 s[6:7], exec, s[6:7] ; 8986067E V_MOV_B32_e32 v0, -1082130432 ; 7E0002F3 V_CMPX_LE_F32_e32 vcc, 0, v0 ; 7C260080 S_OR_B64 exec, exec, s[6:7] ; 88FE067E V_MOV_B32_e32 v0, -1.000000e+02 ; 7E0002FF C2C80000 V_ADD_F32_e32 v1, s3, v0 ; 06020003 V_ADD_F32_e32 v3, s4, v0 ; 06060004 V_CVT_PKRTZ_F16_F32_e32 v1, v3, v1 ; 5E020303 V_ADD_F32_e32 v0, s2, v0 ; 06000002 V_RCP_F32_e32 v2, v2 ; 7E045502 V_MUL_F32_e32 v2, s1, v2 ; 10040401 V_SUB_F32_e64 v3, 1.000000e+00, s0, 0, 0, 0, 0 ; D2080003 020000F2 V_SUB_F32_e32 v2, v3, v2 ; 08040503 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v2 ; 5E000500 EXP 15, 0, 1, 1, 1, v1, v0, v1, v0 ; F8001C0F 00010001 S_ENDPGM ; 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[5] DCL CONST[0..12] DCL TEMP[0..3], LOCAL IMM[0] FLT32 { 0.0078, -1.0000, 1.0000, 0.0000} 0: MUL TEMP[0], CONST[0], IN[0].xxxx 1: MAD TEMP[1], CONST[1], IN[0].yyyy, TEMP[0] 2: MAD TEMP[2], CONST[2], IN[0].zzzz, TEMP[1] 3: MAD TEMP[2], CONST[3], IN[0].wwww, TEMP[2] 4: MUL TEMP[3], CONST[8], TEMP[2].xxxx 5: MAD TEMP[3], TEMP[2].yyyy, CONST[9], TEMP[3] 6: MAD TEMP[3], CONST[10], TEMP[2].zzzz, TEMP[3] 7: MAD TEMP[2], CONST[11], TEMP[2].wwww, TEMP[3] 8: MOV TEMP[0].zw, TEMP[2].wwzw 9: MUL TEMP[1].x, TEMP[2].wwww, CONST[7].zzzz 10: MAD TEMP[0].xy, TEMP[1].xxxx, CONST[7].xyyy, TEMP[2].xyyy 11: MUL TEMP[1], IMM[0].zzww, IN[3].xyxx 12: MOV OUT[1], TEMP[1] 13: MOV OUT[2], TEMP[0] 14: MOV OUT[0], TEMP[0] 15: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, [17 x <16 x i8>] addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %10 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %11 = load <16 x i8> addrspace(2)* %10, !tbaa !0 %12 = call float @llvm.SI.load.const(<16 x i8> %11, i32 0) %13 = call float @llvm.SI.load.const(<16 x i8> %11, i32 4) %14 = call float @llvm.SI.load.const(<16 x i8> %11, i32 8) %15 = call float @llvm.SI.load.const(<16 x i8> %11, i32 12) %16 = call float @llvm.SI.load.const(<16 x i8> %11, i32 16) %17 = call float @llvm.SI.load.const(<16 x i8> %11, i32 20) %18 = call float @llvm.SI.load.const(<16 x i8> %11, i32 24) %19 = call float @llvm.SI.load.const(<16 x i8> %11, i32 28) %20 = call float @llvm.SI.load.const(<16 x i8> %11, i32 32) %21 = call float @llvm.SI.load.const(<16 x i8> %11, i32 36) %22 = call float @llvm.SI.load.const(<16 x i8> %11, i32 40) %23 = call float @llvm.SI.load.const(<16 x i8> %11, i32 44) %24 = call float @llvm.SI.load.const(<16 x i8> %11, i32 48) %25 = call float @llvm.SI.load.const(<16 x i8> %11, i32 52) %26 = call float @llvm.SI.load.const(<16 x i8> %11, i32 56) %27 = call float @llvm.SI.load.const(<16 x i8> %11, i32 60) %28 = call float @llvm.SI.load.const(<16 x i8> %11, i32 112) %29 = call float @llvm.SI.load.const(<16 x i8> %11, i32 116) %30 = call float @llvm.SI.load.const(<16 x i8> %11, i32 120) %31 = call float @llvm.SI.load.const(<16 x i8> %11, i32 128) %32 = call float @llvm.SI.load.const(<16 x i8> %11, i32 132) %33 = call float @llvm.SI.load.const(<16 x i8> %11, i32 136) %34 = call float @llvm.SI.load.const(<16 x i8> %11, i32 140) %35 = call float @llvm.SI.load.const(<16 x i8> %11, i32 144) %36 = call float @llvm.SI.load.const(<16 x i8> %11, i32 148) %37 = call float @llvm.SI.load.const(<16 x i8> %11, i32 152) %38 = call float @llvm.SI.load.const(<16 x i8> %11, i32 156) %39 = call float @llvm.SI.load.const(<16 x i8> %11, i32 160) %40 = call float @llvm.SI.load.const(<16 x i8> %11, i32 164) %41 = call float @llvm.SI.load.const(<16 x i8> %11, i32 168) %42 = call float @llvm.SI.load.const(<16 x i8> %11, i32 172) %43 = call float @llvm.SI.load.const(<16 x i8> %11, i32 176) %44 = call float @llvm.SI.load.const(<16 x i8> %11, i32 180) %45 = call float @llvm.SI.load.const(<16 x i8> %11, i32 184) %46 = call float @llvm.SI.load.const(<16 x i8> %11, i32 188) %47 = getelementptr [17 x <16 x i8>] addrspace(2)* %4, i64 0, 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 %6) %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 [17 x <16 x i8>] addrspace(2)* %4, i64 0, 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 %6) %57 = extractelement <4 x float> %56, i32 0 %58 = extractelement <4 x float> %56, i32 1 %59 = fmul float %12, %50 %60 = fmul float %13, %50 %61 = fmul float %14, %50 %62 = fmul float %15, %50 %63 = fmul float %16, %51 %64 = fadd float %63, %59 %65 = fmul float %17, %51 %66 = fadd float %65, %60 %67 = fmul float %18, %51 %68 = fadd float %67, %61 %69 = fmul float %19, %51 %70 = fadd float %69, %62 %71 = fmul float %20, %52 %72 = fadd float %71, %64 %73 = fmul float %21, %52 %74 = fadd float %73, %66 %75 = fmul float %22, %52 %76 = fadd float %75, %68 %77 = fmul float %23, %52 %78 = fadd float %77, %70 %79 = fmul float %24, %53 %80 = fadd float %79, %72 %81 = fmul float %25, %53 %82 = fadd float %81, %74 %83 = fmul float %26, %53 %84 = fadd float %83, %76 %85 = fmul float %27, %53 %86 = fadd float %85, %78 %87 = fmul float %31, %80 %88 = fmul float %32, %80 %89 = fmul float %33, %80 %90 = fmul float %34, %80 %91 = fmul float %82, %35 %92 = fadd float %91, %87 %93 = fmul float %82, %36 %94 = fadd float %93, %88 %95 = fmul float %82, %37 %96 = fadd float %95, %89 %97 = fmul float %82, %38 %98 = fadd float %97, %90 %99 = fmul float %39, %84 %100 = fadd float %99, %92 %101 = fmul float %40, %84 %102 = fadd float %101, %94 %103 = fmul float %41, %84 %104 = fadd float %103, %96 %105 = fmul float %42, %84 %106 = fadd float %105, %98 %107 = fmul float %43, %86 %108 = fadd float %107, %100 %109 = fmul float %44, %86 %110 = fadd float %109, %102 %111 = fmul float %45, %86 %112 = fadd float %111, %104 %113 = fmul float %46, %86 %114 = fadd float %113, %106 %115 = fmul float %114, %30 %116 = fmul float %115, %28 %117 = fadd float %116, %108 %118 = fmul float %115, %29 %119 = fadd float %118, %110 %120 = fmul float 1.000000e+00, %57 %121 = fmul float 1.000000e+00, %58 %122 = fmul float 0.000000e+00, %57 %123 = fmul float 0.000000e+00, %57 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %120, float %121, float %122, float %123) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %117, float %119, float %112, float %114) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %117, float %119, float %112, float %114) 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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg0, %SGPR8_SGPR9 in %vreg4, %VGPR0 in %vreg6 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR8_SGPR9 %VGPR0 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 12; mem:LD16[%59(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 127 %VGPR1_VGPR2_VGPR3_VGPR4 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC S_WAITCNT 1904 %VGPR5 = V_MUL_F32_e64 %VGPR1, 0.000000e+00, 0, 0, 0, 0, %EXEC EXP 15, 32, 0, 0, 0, %VGPR1, %VGPR2, %VGPR5, %VGPR5, %EXEC, %VGPR1_VGPR2_VGPR3_VGPR4 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 0; mem:LD16[%50(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 15 %VGPR0_VGPR1_VGPR2_VGPR3 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%11(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 112 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 1; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 5; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 9; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 13; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 0; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 4; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 8; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 12; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 33; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 37; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 2; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 6; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 10; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 14; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 41; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 3; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MUL_F32_e32 %SGPR4, %VGPR0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 7; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MAD_F32 %SGPR4, %VGPR1, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 11; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MAD_F32 %SGPR4, %VGPR2, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 15; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %SGPR4, %VGPR3, %VGPR8, 0, 0, 0, 0, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 45; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 35; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 39; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 43; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 47; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 30; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MUL_F32_e32 %SGPR4, %VGPR2, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 29; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_MAD_F32 %VGPR3, %SGPR4, %VGPR1, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 32; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 36; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 40; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 44; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 28; mem:LD4[] S_WAITCNT 127 %VGPR3 = V_MAD_F32 %VGPR3, %SGPR4, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 34; mem:LD4[] S_WAITCNT 127 %VGPR5 = V_MUL_F32_e32 %SGPR4, %VGPR5, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 38; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %VGPR4, %SGPR4, %VGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 42; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR7, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 46; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %SGPR0, %VGPR0, %VGPR4, 0, 0, 0, 0, %EXEC EXP 15, 33, 0, 0, 0, %VGPR3, %VGPR1, %VGPR0, %VGPR2, %EXEC EXP 15, 12, 0, 1, 0, %VGPR3, %VGPR1, %VGPR0, %VGPR2, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_LOAD_DWORDX4 s[4:7], s[8:9], 12 ; C082090C S_WAITCNT lgkmcnt(0) ; BF8C007F BUFFER_LOAD_FORMAT_XYZW v[1:4], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010100 S_WAITCNT vmcnt(0) ; BF8C0770 V_MUL_F32_e64 v5, v1, 0.000000e+00, 0, 0, 0, 0 ; D2100005 02010101 EXP 15, 32, 0, 0, 0, v1, v2, v5, v5 ; F800020F 05050201 S_LOAD_DWORDX4 s[4:7], s[8:9], 0 ; C0820900 S_WAITCNT expcnt(0) lgkmcnt(0) ; BF8C000F BUFFER_LOAD_FORMAT_XYZW v[0:3], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010000 S_LOAD_DWORDX4 s[0:3], s[0:1], 0 ; C0800100 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 S_BUFFER_LOAD_DWORD s4, s[0:3], 1 ; C2020101 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v4, s4, v0 ; 10080004 S_BUFFER_LOAD_DWORD s4, s[0:3], 5 ; C2020105 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v1, v4, 0, 0, 0, 0 ; D2820004 04120204 S_BUFFER_LOAD_DWORD s4, s[0:3], 9 ; C2020109 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v2, v4, 0, 0, 0, 0 ; D2820004 04120404 S_BUFFER_LOAD_DWORD s4, s[0:3], 13 ; C202010D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v3, v4, 0, 0, 0, 0 ; D2820004 04120604 S_BUFFER_LOAD_DWORD s4, s[0:3], 0 ; C2020100 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v5, s4, v0 ; 100A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 4 ; C2020104 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v1, v5, 0, 0, 0, 0 ; D2820005 04160204 S_BUFFER_LOAD_DWORD s4, s[0:3], 8 ; C2020108 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v2, v5, 0, 0, 0, 0 ; D2820005 04160404 S_BUFFER_LOAD_DWORD s4, s[0:3], 12 ; C202010C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v5, s4, v3, v5, 0, 0, 0, 0 ; D2820005 04160604 S_BUFFER_LOAD_DWORD s4, s[0:3], 33 ; C2020121 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v6, s4, v5 ; 100C0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 37 ; C2020125 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, v4, s4, v6, 0, 0, 0, 0 ; D2820006 04180904 S_BUFFER_LOAD_DWORD s4, s[0:3], 2 ; C2020102 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v7, s4, v0 ; 100E0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 6 ; C2020106 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v1, v7, 0, 0, 0, 0 ; D2820007 041E0204 S_BUFFER_LOAD_DWORD s4, s[0:3], 10 ; C202010A S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v2, v7, 0, 0, 0, 0 ; D2820007 041E0404 S_BUFFER_LOAD_DWORD s4, s[0:3], 14 ; C202010E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v3, v7, 0, 0, 0, 0 ; D2820007 041E0604 S_BUFFER_LOAD_DWORD s4, s[0:3], 41 ; C2020129 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v7, v6, 0, 0, 0, 0 ; D2820006 041A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 3 ; C2020103 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v8, s4, v0 ; 10100004 S_BUFFER_LOAD_DWORD s4, s[0:3], 7 ; C2020107 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v8, s4, v1, v8, 0, 0, 0, 0 ; D2820008 04220204 S_BUFFER_LOAD_DWORD s4, s[0:3], 11 ; C202010B S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v8, s4, v2, v8, 0, 0, 0, 0 ; D2820008 04220404 S_BUFFER_LOAD_DWORD s4, s[0:3], 15 ; C202010F S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, s4, v3, v8, 0, 0, 0, 0 ; D2820000 04220604 S_BUFFER_LOAD_DWORD s4, s[0:3], 45 ; C202012D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, s4, v0, v6, 0, 0, 0, 0 ; D2820001 041A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 35 ; C2020123 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v2, s4, v5 ; 10040A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 39 ; C2020127 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, v4, s4, v2, 0, 0, 0, 0 ; D2820002 04080904 S_BUFFER_LOAD_DWORD s4, s[0:3], 43 ; C202012B S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, s4, v7, v2, 0, 0, 0, 0 ; D2820002 040A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 47 ; C202012F S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v2, s4, v0, v2, 0, 0, 0, 0 ; D2820002 040A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 30 ; C202011E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v3, s4, v2 ; 10060404 S_BUFFER_LOAD_DWORD s4, s[0:3], 29 ; C202011D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v1, v3, s4, v1, 0, 0, 0, 0 ; D2820001 04040903 S_BUFFER_LOAD_DWORD s4, s[0:3], 32 ; C2020120 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v6, s4, v5 ; 100C0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 36 ; C2020124 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, v4, s4, v6, 0, 0, 0, 0 ; D2820006 04180904 S_BUFFER_LOAD_DWORD s4, s[0:3], 40 ; C2020128 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v7, v6, 0, 0, 0, 0 ; D2820006 041A0E04 S_BUFFER_LOAD_DWORD s4, s[0:3], 44 ; C202012C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v0, v6, 0, 0, 0, 0 ; D2820006 041A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 28 ; C202011C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v3, v3, s4, v6, 0, 0, 0, 0 ; D2820003 04180903 S_BUFFER_LOAD_DWORD s4, s[0:3], 34 ; C2020122 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v5, s4, v5 ; 100A0A04 S_BUFFER_LOAD_DWORD s4, s[0:3], 38 ; C2020126 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, v4, s4, v5, 0, 0, 0, 0 ; D2820004 04140904 S_BUFFER_LOAD_DWORD s4, s[0:3], 42 ; C202012A S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v7, v4, 0, 0, 0, 0 ; D2820004 04120E04 S_BUFFER_LOAD_DWORD s0, s[0:3], 46 ; C200012E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, s0, v0, v4, 0, 0, 0, 0 ; D2820000 04120000 EXP 15, 33, 0, 0, 0, v3, v1, v0, v2 ; F800021F 02000103 EXP 15, 12, 0, 1, 0, v3, v1, v0, v2 ; F80008CF 02000103 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], PERSPECTIVE DCL IN[1], GENERIC[1], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[0..10] DCL TEMP[0..11], LOCAL IMM[0] FLT32 { 0.0000, 1.0000, 65503.0000, 3.0000} IMM[1] FLT32 { 0.2500, -8.0000, 0.0001, 0.5900} IMM[2] FLT32 { 0.3000, 0.5900, 0.1100, 0.0000} 0: ADD TEMP[0].xy, -CONST[0].zwww, IN[0].xyyy 1: MOV TEMP[1].xy, TEMP[0].xyyy 2: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 3: MOV TEMP[1].xyz, TEMP[1].xyzx 4: MOV TEMP[2].xy, TEMP[0].xyyy 5: MOV TEMP[2].w, IMM[0].xxxx 6: TXL TEMP[2].w, TEMP[2], SAMP[0], 2D 7: ADD TEMP[3].x, IMM[0].yyyy, -CONST[10].yyyy 8: ADD TEMP[2].x, -TEMP[3].xxxx, TEMP[2].wwww 9: RCP TEMP[2].x, TEMP[2].xxxx 10: MOV TEMP[4].x, -CONST[10].xxxx 11: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[4].xxxx 12: MOV TEMP[1].w, TEMP[2].xxxx 13: MIN TEMP[2], TEMP[1], IMM[0].zzzz 14: MAD TEMP[1].xyz, IN[1].xyzz, TEMP[2].wwww, CONST[3].xyzz 15: MOV TEMP[5].xyz, -CONST[2].xyzx 16: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[5].xyzz 17: DP3 TEMP[6].x, TEMP[1].xyzz, TEMP[1].xyzz 18: RSQ TEMP[6].x, TEMP[6].xxxx 19: RCP TEMP[6].x, TEMP[6].xxxx 20: MOV TEMP[1].y, TEMP[6].xxxx 21: MUL TEMP[6].xyw, IMM[0].yyxx, IN[0].xyxx 22: MOV TEMP[7].xy, TEMP[6].xyyy 23: MOV TEMP[7].w, TEMP[6].wwww 24: TXL TEMP[6].w, TEMP[7], SAMP[0], 2D 25: ADD TEMP[6].x, -TEMP[3].xxxx, TEMP[6].wwww 26: RCP TEMP[6].x, TEMP[6].xxxx 27: MUL TEMP[6].x, TEMP[6].xxxx, TEMP[4].xxxx 28: MOV TEMP[6].w, TEMP[6].xxxx 29: MOV TEMP[7].xy, IN[0].xyyy 30: TEX TEMP[7].xyz, TEMP[7], SAMP[0], 2D 31: MOV TEMP[6].xyz, TEMP[7].xyzx 32: MIN TEMP[7], TEMP[6], IMM[0].zzzz 33: MAD TEMP[6].xyz, IN[1].xyzz, TEMP[7].wwww, CONST[3].xyzz 34: ADD TEMP[6].xyz, TEMP[6].xyzz, TEMP[5].xyzz 35: DP3 TEMP[8].x, TEMP[6].xyzz, TEMP[6].xyzz 36: RSQ TEMP[8].x, TEMP[8].xxxx 37: RCP TEMP[1].x, TEMP[8].xxxx 38: ADD TEMP[8], -CONST[1], IN[0].xyxy 39: MUL TEMP[9].xyw, TEMP[8].xyxx, IMM[0].yyxx 40: MOV TEMP[10].xy, TEMP[9].xyyy 41: MOV TEMP[10].w, TEMP[9].wwww 42: TXL TEMP[9].w, TEMP[10], SAMP[0], 2D 43: ADD TEMP[9].x, -TEMP[3].xxxx, TEMP[9].wwww 44: RCP TEMP[9].x, TEMP[9].xxxx 45: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[4].xxxx 46: MOV TEMP[9].w, TEMP[9].xxxx 47: MOV TEMP[10].xy, TEMP[8].xyyy 48: TEX TEMP[10].xyz, TEMP[10], SAMP[0], 2D 49: MOV TEMP[9].xyz, TEMP[10].xyzx 50: MIN TEMP[10], TEMP[9], IMM[0].zzzz 51: MAD TEMP[9].xyz, IN[1].xyzz, TEMP[10].wwww, CONST[3].xyzz 52: ADD TEMP[9].xyz, TEMP[9].xyzz, TEMP[5].xyzz 53: DP3 TEMP[11].x, TEMP[9].xyzz, TEMP[9].xyzz 54: RSQ TEMP[11].x, TEMP[11].xxxx 55: RCP TEMP[11].x, TEMP[11].xxxx 56: MOV TEMP[1].z, TEMP[11].xxxx 57: MUL TEMP[9].xyw, TEMP[8].zwxx, IMM[0].yyxx 58: MOV TEMP[8].xy, TEMP[8].zwww 59: TEX TEMP[8].xyz, TEMP[8], SAMP[0], 2D 60: MOV TEMP[6].xyz, TEMP[8].xyzx 61: MOV TEMP[8].xy, TEMP[9].xyyy 62: MOV TEMP[8].w, TEMP[9].wwww 63: TXL TEMP[8].w, TEMP[8], SAMP[0], 2D 64: ADD TEMP[3].x, -TEMP[3].xxxx, TEMP[8].wwww 65: RCP TEMP[3].x, TEMP[3].xxxx 66: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 67: MOV TEMP[6].w, TEMP[3].xxxx 68: MIN TEMP[3], TEMP[6], IMM[0].zzzz 69: MAD TEMP[4].xyz, IN[1].xyzz, TEMP[3].wwww, CONST[3].xyzz 70: ADD TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xyzz 71: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[4].xyzz 72: RSQ TEMP[5].x, TEMP[4].xxxx 73: MUL TEMP[5].x, TEMP[5].xxxx, TEMP[4].xxxx 74: CMP TEMP[5].x, -TEMP[4].xxxx, TEMP[5].xxxx, IMM[0].xxxx 75: MOV TEMP[1].w, TEMP[5].xxxx 76: RCP TEMP[4].x, CONST[2].wwww 77: MUL TEMP[5], TEMP[4].xxxx, TEMP[1] 78: MOV_SAT TEMP[8], TEMP[5] 79: MUL_SAT TEMP[5], TEMP[5], IMM[0].wwww 80: DP4 TEMP[5].x, TEMP[5], IMM[1].xxxx 81: ADD TEMP[5].x, -TEMP[5].xxxx, IMM[0].yyyy 82: MOV TEMP[0].z, TEMP[5].xxxx 83: DP4 TEMP[5].x, TEMP[8], IMM[1].xxxx 84: MUL TEMP[1].xyz, TEMP[7].wwww, IN[1].xyzz 85: ADD TEMP[2].xyz, TEMP[2].xyzz, TEMP[7].xyzz 86: ADD TEMP[2].xyz, TEMP[10].xyzz, TEMP[2].xyzz 87: ADD TEMP[2].xyz, TEMP[3].xyzz, TEMP[2].xyzz 88: MUL TEMP[2].xyz, TEMP[2].xyzz, IMM[1].xxxx 89: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[1].xyzz 90: RSQ TEMP[3].x, TEMP[1].xxxx 91: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[1].xxxx 92: CMP TEMP[1].x, -TEMP[1].xxxx, TEMP[3].xxxx, IMM[0].xxxx 93: ADD TEMP[1].x, -TEMP[1].xxxx, CONST[3].wwww 94: MUL TEMP[3].x, TEMP[4].xxxx, TEMP[1].xxxx 95: MOV_SAT TEMP[3].x, TEMP[3].xxxx 96: ADD TEMP[3].x, -TEMP[3].xxxx, IMM[0].yyyy 97: MAX TEMP[3].x, TEMP[5].xxxx, TEMP[3].xxxx 98: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[3].xxxx 99: MOV TEMP[0].y, TEMP[3].xxxx 100: ADD TEMP[1].xy, -CONST[4].xyyy, IN[0].xyyy 101: RCP TEMP[6].x, CONST[4].zzzz 102: RCP TEMP[3].x, CONST[4].wwww 103: MOV TEMP[6].y, TEMP[3].xxxx 104: MUL TEMP[3].xy, TEMP[1].xyyy, TEMP[6].xyyy 105: MAD TEMP[1].xy, TEMP[1].xyyy, -TEMP[6].xyyy, IMM[0].yyyy 106: MUL TEMP[4].x, TEMP[1].xxxx, TEMP[3].xxxx 107: MUL TEMP[3].x, TEMP[3].yyyy, TEMP[4].xxxx 108: MUL TEMP[3].x, TEMP[1].yyyy, TEMP[3].xxxx 109: MAD TEMP[3].x, TEMP[3].xxxx, IMM[1].yyyy, IMM[0].yyyy 110: MOV TEMP[0].w, TEMP[3].xxxx 111: MUL TEMP[3].xyz, TEMP[0].yzww, TEMP[0].yzww 112: MUL TEMP[1].x, TEMP[3].zzzz, TEMP[3].zzzz 113: MAD TEMP[4].x, TEMP[3].zzzz, -TEMP[3].zzzz, IMM[0].yyyy 114: MAX TEMP[5].x, TEMP[3].xxxx, TEMP[1].xxxx 115: MUL TEMP[6].x, CONST[7].xxxx, CONST[7].xxxx 116: MAX TEMP[5].x, TEMP[5].xxxx, TEMP[6].xxxx 117: MOV TEMP[5].w, TEMP[5].xxxx 118: MUL TEMP[1].xyz, TEMP[2].xyzz, CONST[5].yyyy 119: DP3 TEMP[2].x, TEMP[2].xyzz, IMM[2].xyzz 120: MAX TEMP[2].x, TEMP[2].xxxx, IMM[1].zzzz 121: RCP TEMP[6].x, TEMP[2].xxxx 122: ADD TEMP[2].x, TEMP[2].xxxx, -CONST[6].wwww 123: MUL TEMP[1].xyz, TEMP[6].xxxx, TEMP[1].xyzz 124: MUL TEMP[1].xyz, TEMP[2].xxxx, TEMP[1].xyzz 125: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[1].xyzz 126: FSGE TEMP[2].x, TEMP[2].xxxx, IMM[0].xxxx 127: UIF TEMP[2].xxxx :0 128: MOV TEMP[2].xyz, TEMP[1].xyzx 129: ELSE :0 130: MOV TEMP[2].xyz, IMM[0].xxxx 131: ENDIF 132: MUL TEMP[1].xyz, TEMP[4].xxxx, TEMP[2].xyzz 133: ADD TEMP[0].x, IMM[0].yyyy, -CONST[7].xxxx 134: MUL TEMP[1].xyz, TEMP[0].xxxx, TEMP[1].xyzz 135: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[3].yyyy 136: MUL TEMP[5].xyz, TEMP[0].xyzz, IMM[1].xxxx 137: MOV OUT[0], TEMP[5] 138: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float 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: %22 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.load.const(<16 x i8> %23, i32 8) %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 12) %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 16) %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 20) %28 = call float @llvm.SI.load.const(<16 x i8> %23, i32 24) %29 = call float @llvm.SI.load.const(<16 x i8> %23, i32 28) %30 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32) %31 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36) %32 = call float @llvm.SI.load.const(<16 x i8> %23, i32 40) %33 = call float @llvm.SI.load.const(<16 x i8> %23, i32 44) %34 = call float @llvm.SI.load.const(<16 x i8> %23, i32 48) %35 = call float @llvm.SI.load.const(<16 x i8> %23, i32 52) %36 = call float @llvm.SI.load.const(<16 x i8> %23, i32 56) %37 = call float @llvm.SI.load.const(<16 x i8> %23, i32 60) %38 = call float @llvm.SI.load.const(<16 x i8> %23, i32 64) %39 = call float @llvm.SI.load.const(<16 x i8> %23, i32 68) %40 = call float @llvm.SI.load.const(<16 x i8> %23, i32 72) %41 = call float @llvm.SI.load.const(<16 x i8> %23, i32 76) %42 = call float @llvm.SI.load.const(<16 x i8> %23, i32 84) %43 = call float @llvm.SI.load.const(<16 x i8> %23, i32 108) %44 = call float @llvm.SI.load.const(<16 x i8> %23, i32 112) %45 = call float @llvm.SI.load.const(<16 x i8> %23, i32 160) %46 = call float @llvm.SI.load.const(<16 x i8> %23, i32 164) %47 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0 %48 = load <32 x i8> addrspace(2)* %47, !tbaa !0 %49 = getelementptr [32 x <16 x i8>] addrspace(2)* %1, i64 0, i32 0 %50 = load <16 x i8> addrspace(2)* %49, !tbaa !0 %51 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %52 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %53 = call float @llvm.SI.fs.interp(i32 0, i32 1, i32 %5, <2 x i32> %7) %54 = call float @llvm.SI.fs.interp(i32 1, i32 1, i32 %5, <2 x i32> %7) %55 = call float @llvm.SI.fs.interp(i32 2, i32 1, i32 %5, <2 x i32> %7) %56 = fsub float -0.000000e+00, %24 %57 = fadd float %56, %51 %58 = fsub float -0.000000e+00, %25 %59 = fadd float %58, %52 %60 = bitcast float %57 to i32 %61 = bitcast float %59 to i32 %62 = insertelement <2 x i32> undef, i32 %60, i32 0 %63 = insertelement <2 x i32> %62, i32 %61, i32 1 %64 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %63, <32 x i8> %48, <16 x i8> %50, i32 2) %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 = bitcast float %57 to i32 %69 = bitcast float %59 to i32 %70 = bitcast float 0.000000e+00 to i32 %71 = insertelement <4 x i32> undef, i32 %68, i32 0 %72 = insertelement <4 x i32> %71, i32 %69, i32 1 %73 = insertelement <4 x i32> %72, i32 %70, i32 2 %74 = insertelement <4 x i32> %73, i32 undef, i32 3 %75 = call <4 x float> @llvm.SI.samplel.v4i32(<4 x i32> %74, <32 x i8> %48, <16 x i8> %50, i32 2) %76 = extractelement <4 x float> %75, i32 3 %77 = fsub float -0.000000e+00, %46 %78 = fadd float 1.000000e+00, %77 %79 = fsub float -0.000000e+00, %78 %80 = fadd float %79, %76 %81 = fdiv float 1.000000e+00, %80 %82 = fsub float -0.000000e+00, %45 %83 = fmul float %81, %82 %84 = fcmp uge float %65, 6.550300e+04 %85 = select i1 %84, float 6.550300e+04, float %65 %86 = fcmp uge float %66, 6.550300e+04 %87 = select i1 %86, float 6.550300e+04, float %66 %88 = fcmp uge float %67, 6.550300e+04 %89 = select i1 %88, float 6.550300e+04, float %67 %90 = fcmp uge float %83, 6.550300e+04 %91 = select i1 %90, float 6.550300e+04, float %83 %92 = fmul float %53, %91 %93 = fadd float %92, %34 %94 = fmul float %54, %91 %95 = fadd float %94, %35 %96 = fmul float %55, %91 %97 = fadd float %96, %36 %98 = fsub float -0.000000e+00, %30 %99 = fsub float -0.000000e+00, %31 %100 = fsub float -0.000000e+00, %32 %101 = fadd float %93, %98 %102 = fadd float %95, %99 %103 = fadd float %97, %100 %104 = fmul float %101, %101 %105 = fmul float %102, %102 %106 = fadd float %105, %104 %107 = fmul float %103, %103 %108 = fadd float %106, %107 %109 = call float @llvm.AMDGPU.rsq(float %108) %110 = fdiv float 1.000000e+00, %109 %111 = fmul float 1.000000e+00, %51 %112 = fmul float 1.000000e+00, %52 %113 = fmul float 0.000000e+00, %51 %114 = bitcast float %111 to i32 %115 = bitcast float %112 to i32 %116 = bitcast float %113 to i32 %117 = insertelement <4 x i32> undef, i32 %114, i32 0 %118 = insertelement <4 x i32> %117, i32 %115, i32 1 %119 = insertelement <4 x i32> %118, i32 %116, i32 2 %120 = insertelement <4 x i32> %119, i32 undef, i32 3 %121 = call <4 x float> @llvm.SI.samplel.v4i32(<4 x i32> %120, <32 x i8> %48, <16 x i8> %50, i32 2) %122 = extractelement <4 x float> %121, i32 3 %123 = fsub float -0.000000e+00, %78 %124 = fadd float %123, %122 %125 = fdiv float 1.000000e+00, %124 %126 = fmul float %125, %82 %127 = bitcast float %51 to i32 %128 = bitcast float %52 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> %48, <16 x i8> %50, 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 = fcmp uge float %132, 6.550300e+04 %136 = select i1 %135, float 6.550300e+04, float %132 %137 = fcmp uge float %133, 6.550300e+04 %138 = select i1 %137, float 6.550300e+04, float %133 %139 = fcmp uge float %134, 6.550300e+04 %140 = select i1 %139, float 6.550300e+04, float %134 %141 = fcmp uge float %126, 6.550300e+04 %142 = select i1 %141, float 6.550300e+04, float %126 %143 = fmul float %53, %142 %144 = fadd float %143, %34 %145 = fmul float %54, %142 %146 = fadd float %145, %35 %147 = fmul float %55, %142 %148 = fadd float %147, %36 %149 = fadd float %144, %98 %150 = fadd float %146, %99 %151 = fadd float %148, %100 %152 = fmul float %149, %149 %153 = fmul float %150, %150 %154 = fadd float %153, %152 %155 = fmul float %151, %151 %156 = fadd float %154, %155 %157 = call float @llvm.AMDGPU.rsq(float %156) %158 = fdiv float 1.000000e+00, %157 %159 = fsub float -0.000000e+00, %26 %160 = fadd float %159, %51 %161 = fsub float -0.000000e+00, %27 %162 = fadd float %161, %52 %163 = fsub float -0.000000e+00, %28 %164 = fadd float %163, %51 %165 = fsub float -0.000000e+00, %29 %166 = fadd float %165, %52 %167 = fmul float %160, 1.000000e+00 %168 = fmul float %162, 1.000000e+00 %169 = fmul float %160, 0.000000e+00 %170 = bitcast float %167 to i32 %171 = bitcast float %168 to i32 %172 = bitcast float %169 to i32 %173 = insertelement <4 x i32> undef, i32 %170, i32 0 %174 = insertelement <4 x i32> %173, i32 %171, i32 1 %175 = insertelement <4 x i32> %174, i32 %172, i32 2 %176 = insertelement <4 x i32> %175, i32 undef, i32 3 %177 = call <4 x float> @llvm.SI.samplel.v4i32(<4 x i32> %176, <32 x i8> %48, <16 x i8> %50, i32 2) %178 = extractelement <4 x float> %177, i32 3 %179 = fsub float -0.000000e+00, %78 %180 = fadd float %179, %178 %181 = fdiv float 1.000000e+00, %180 %182 = fmul float %181, %82 %183 = bitcast float %160 to i32 %184 = bitcast float %162 to i32 %185 = insertelement <2 x i32> undef, i32 %183, i32 0 %186 = insertelement <2 x i32> %185, i32 %184, i32 1 %187 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %186, <32 x i8> %48, <16 x i8> %50, i32 2) %188 = extractelement <4 x float> %187, i32 0 %189 = extractelement <4 x float> %187, i32 1 %190 = extractelement <4 x float> %187, i32 2 %191 = fcmp uge float %188, 6.550300e+04 %192 = select i1 %191, float 6.550300e+04, float %188 %193 = fcmp uge float %189, 6.550300e+04 %194 = select i1 %193, float 6.550300e+04, float %189 %195 = fcmp uge float %190, 6.550300e+04 %196 = select i1 %195, float 6.550300e+04, float %190 %197 = fcmp uge float %182, 6.550300e+04 %198 = select i1 %197, float 6.550300e+04, float %182 %199 = fmul float %53, %198 %200 = fadd float %199, %34 %201 = fmul float %54, %198 %202 = fadd float %201, %35 %203 = fmul float %55, %198 %204 = fadd float %203, %36 %205 = fadd float %200, %98 %206 = fadd float %202, %99 %207 = fadd float %204, %100 %208 = fmul float %205, %205 %209 = fmul float %206, %206 %210 = fadd float %209, %208 %211 = fmul float %207, %207 %212 = fadd float %210, %211 %213 = call float @llvm.AMDGPU.rsq(float %212) %214 = fdiv float 1.000000e+00, %213 %215 = fmul float %164, 1.000000e+00 %216 = fmul float %166, 1.000000e+00 %217 = fmul float %160, 0.000000e+00 %218 = bitcast float %164 to i32 %219 = bitcast float %166 to i32 %220 = insertelement <2 x i32> undef, i32 %218, i32 0 %221 = insertelement <2 x i32> %220, i32 %219, i32 1 %222 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %221, <32 x i8> %48, <16 x i8> %50, i32 2) %223 = extractelement <4 x float> %222, i32 0 %224 = extractelement <4 x float> %222, i32 1 %225 = extractelement <4 x float> %222, i32 2 %226 = bitcast float %215 to i32 %227 = bitcast float %216 to i32 %228 = bitcast float %217 to i32 %229 = insertelement <4 x i32> undef, i32 %226, i32 0 %230 = insertelement <4 x i32> %229, i32 %227, i32 1 %231 = insertelement <4 x i32> %230, i32 %228, i32 2 %232 = insertelement <4 x i32> %231, i32 undef, i32 3 %233 = call <4 x float> @llvm.SI.samplel.v4i32(<4 x i32> %232, <32 x i8> %48, <16 x i8> %50, i32 2) %234 = extractelement <4 x float> %233, i32 3 %235 = fsub float -0.000000e+00, %78 %236 = fadd float %235, %234 %237 = fdiv float 1.000000e+00, %236 %238 = fmul float %237, %82 %239 = fcmp uge float %223, 6.550300e+04 %240 = select i1 %239, float 6.550300e+04, float %223 %241 = fcmp uge float %224, 6.550300e+04 %242 = select i1 %241, float 6.550300e+04, float %224 %243 = fcmp uge float %225, 6.550300e+04 %244 = select i1 %243, float 6.550300e+04, float %225 %245 = fcmp uge float %238, 6.550300e+04 %246 = select i1 %245, float 6.550300e+04, float %238 %247 = fmul float %53, %246 %248 = fadd float %247, %34 %249 = fmul float %54, %246 %250 = fadd float %249, %35 %251 = fmul float %55, %246 %252 = fadd float %251, %36 %253 = fadd float %248, %98 %254 = fadd float %250, %99 %255 = fadd float %252, %100 %256 = fmul float %253, %253 %257 = fmul float %254, %254 %258 = fadd float %257, %256 %259 = fmul float %255, %255 %260 = fadd float %258, %259 %261 = call float @llvm.AMDGPU.rsq(float %260) %262 = fmul float %261, %260 %263 = fsub float -0.000000e+00, %260 %264 = call float @llvm.AMDGPU.cndlt(float %263, float %262, float 0.000000e+00) %265 = fdiv float 1.000000e+00, %33 %266 = fmul float %265, %158 %267 = fmul float %265, %110 %268 = fmul float %265, %214 %269 = fmul float %265, %264 %270 = call float @llvm.AMDIL.clamp.(float %266, float 0.000000e+00, float 1.000000e+00) %271 = call float @llvm.AMDIL.clamp.(float %267, float 0.000000e+00, float 1.000000e+00) %272 = call float @llvm.AMDIL.clamp.(float %268, float 0.000000e+00, float 1.000000e+00) %273 = call float @llvm.AMDIL.clamp.(float %269, float 0.000000e+00, float 1.000000e+00) %274 = fmul float %266, 3.000000e+00 %275 = fmul float %267, 3.000000e+00 %276 = fmul float %268, 3.000000e+00 %277 = fmul float %269, 3.000000e+00 %278 = call float @llvm.AMDIL.clamp.(float %274, float 0.000000e+00, float 1.000000e+00) %279 = call float @llvm.AMDIL.clamp.(float %275, float 0.000000e+00, float 1.000000e+00) %280 = call float @llvm.AMDIL.clamp.(float %276, float 0.000000e+00, float 1.000000e+00) %281 = call float @llvm.AMDIL.clamp.(float %277, float 0.000000e+00, float 1.000000e+00) %282 = fmul float %278, 2.500000e-01 %283 = fmul float %279, 2.500000e-01 %284 = fadd float %282, %283 %285 = fmul float %280, 2.500000e-01 %286 = fadd float %284, %285 %287 = fmul float %281, 2.500000e-01 %288 = fadd float %286, %287 %289 = fsub float -0.000000e+00, %288 %290 = fadd float %289, 1.000000e+00 %291 = fmul float %270, 2.500000e-01 %292 = fmul float %271, 2.500000e-01 %293 = fadd float %291, %292 %294 = fmul float %272, 2.500000e-01 %295 = fadd float %293, %294 %296 = fmul float %273, 2.500000e-01 %297 = fadd float %295, %296 %298 = fmul float %142, %53 %299 = fmul float %142, %54 %300 = fmul float %142, %55 %301 = fadd float %85, %136 %302 = fadd float %87, %138 %303 = fadd float %89, %140 %304 = fadd float %192, %301 %305 = fadd float %194, %302 %306 = fadd float %196, %303 %307 = fadd float %240, %304 %308 = fadd float %242, %305 %309 = fadd float %244, %306 %310 = fmul float %307, 2.500000e-01 %311 = fmul float %308, 2.500000e-01 %312 = fmul float %309, 2.500000e-01 %313 = fmul float %298, %298 %314 = fmul float %299, %299 %315 = fadd float %314, %313 %316 = fmul float %300, %300 %317 = fadd float %315, %316 %318 = call float @llvm.AMDGPU.rsq(float %317) %319 = fmul float %318, %317 %320 = fsub float -0.000000e+00, %317 %321 = call float @llvm.AMDGPU.cndlt(float %320, float %319, float 0.000000e+00) %322 = fsub float -0.000000e+00, %321 %323 = fadd float %322, %37 %324 = fmul float %265, %323 %325 = call float @llvm.AMDIL.clamp.(float %324, float 0.000000e+00, float 1.000000e+00) %326 = fsub float -0.000000e+00, %325 %327 = fadd float %326, 1.000000e+00 %328 = fcmp uge float %297, %327 %329 = select i1 %328, float %297, float %327 %330 = fmul float %329, %329 %331 = fsub float -0.000000e+00, %38 %332 = fadd float %331, %51 %333 = fsub float -0.000000e+00, %39 %334 = fadd float %333, %52 %335 = fdiv float 1.000000e+00, %40 %336 = fdiv float 1.000000e+00, %41 %337 = fmul float %332, %335 %338 = fmul float %334, %336 %339 = fsub float -0.000000e+00, %335 %340 = fmul float %332, %339 %341 = fadd float %340, 1.000000e+00 %342 = fsub float -0.000000e+00, %336 %343 = fmul float %334, %342 %344 = fadd float %343, 1.000000e+00 %345 = fmul float %341, %337 %346 = fmul float %338, %345 %347 = fmul float %344, %346 %348 = fmul float %347, -8.000000e+00 %349 = fadd float %348, 1.000000e+00 %350 = fmul float %330, %330 %351 = fmul float %290, %290 %352 = fmul float %349, %349 %353 = fmul float %352, %352 %354 = fsub float -0.000000e+00, %352 %355 = fmul float %352, %354 %356 = fadd float %355, 1.000000e+00 %357 = fcmp uge float %350, %353 %358 = select i1 %357, float %350, float %353 %359 = fmul float %44, %44 %360 = fcmp uge float %358, %359 %361 = select i1 %360, float %358, float %359 %362 = fmul float %310, %42 %363 = fmul float %311, %42 %364 = fmul float %312, %42 %365 = fmul float %310, 0x3FD3333340000000 %366 = fmul float %311, 0x3FE2E147A0000000 %367 = fadd float %366, %365 %368 = fmul float %312, 0x3FBC28F5C0000000 %369 = fadd float %367, %368 %370 = fcmp uge float %369, 0x3F0FFB4800000000 %371 = select i1 %370, float %369, float 0x3F0FFB4800000000 %372 = fdiv float 1.000000e+00, %371 %373 = fsub float -0.000000e+00, %43 %374 = fadd float %371, %373 %375 = fmul float %372, %362 %376 = fmul float %372, %363 %377 = fmul float %372, %364 %378 = fmul float %374, %375 %379 = fmul float %374, %376 %380 = fmul float %374, %377 %381 = fadd float %378, %378 %382 = fadd float %379, %379 %383 = fadd float %380, %380 %384 = fcmp oge float %374, 0.000000e+00 %385 = sext i1 %384 to i32 %386 = bitcast i32 %385 to float %387 = bitcast float %386 to i32 %388 = icmp ne i32 %387, 0 %. = select i1 %388, float %383, float 0.000000e+00 %.48 = select i1 %388, float %382, float 0.000000e+00 %.49 = select i1 %388, float %381, float 0.000000e+00 %389 = fmul float %356, %.49 %390 = fmul float %356, %.48 %391 = fmul float %356, %. %392 = fsub float -0.000000e+00, %44 %393 = fadd float 1.000000e+00, %392 %394 = fmul float %393, %389 %395 = fmul float %393, %390 %396 = fmul float %393, %391 %397 = fmul float %394, %351 %398 = fmul float %395, %351 %399 = fmul float %396, %351 %400 = fmul float %397, 2.500000e-01 %401 = fmul float %398, 2.500000e-01 %402 = fmul float %399, 2.500000e-01 %403 = call i32 @llvm.SI.packf16(float %400, float %401) %404 = bitcast i32 %403 to float %405 = call i32 @llvm.SI.packf16(float %402, float %361) %406 = bitcast i32 %405 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %404, float %406, float %404, float %406) 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 <4 x float> @llvm.SI.samplel.v4i32(<4 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.AMDGPU.cndlt(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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg0, %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR4 = V_MUL_F32_e32 0.000000e+00, %VGPR2, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %SGPR12_SGPR13_SGPR14_SGPR15 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%52(addrspace=2)](align=8)(tbaa=!"const") %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%49(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR6 = IMAGE_SAMPLE_L_V1_V4 8, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3_VGPR4_VGPR5, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%23(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 112 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 41; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_SUB_F32_e64 1.000000e+00, %SGPR4, 0, 0, 0, 0, %EXEC %VGPR6 = V_SUB_F32_e32 %VGPR6, %VGPR7, %EXEC %VGPR6 = V_RCP_F32_e32 %VGPR6, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 40; mem:LD4[] %VGPR8 = V_MOV_B32_e32 -2147483648, %EXEC S_WAITCNT 127 %VGPR8 = V_XOR_B32_e32 %SGPR4, %VGPR8, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR6, %VGPR8, %EXEC %VGPR9 = V_MOV_B32_e32 6.550300e+04, %EXEC %SGPR4_SGPR5 = V_CMP_GE_F32_e64 %VGPR6, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR6, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4_SGPR5 = S_OR_B64 %SGPR4_SGPR5, %SGPR6_SGPR7 %VGPR6 = V_CNDMASK_B32_e64 %VGPR6, %VGPR9, %SGPR4_SGPR5, 0, 0, 0, 0, %EXEC %VGPR10 = V_INTERP_P1_F32 %VGPR0, 1, 1, %M0, %EXEC %VGPR10 = V_INTERP_P2_F32 %VGPR10, %VGPR1, 1, 1, %M0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 13; mem:LD4[] S_WAITCNT 127 %VGPR11 = V_MAD_F32 %VGPR10, %VGPR6, %SGPR4, 0, 0, 0, 0, %EXEC %SGPR5 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 9; mem:LD4[] S_WAITCNT 127 %VGPR11 = V_SUBREV_F32_e32 %SGPR5, %VGPR11, %EXEC %VGPR12 = V_INTERP_P1_F32 %VGPR0, 0, 1, %M0, %EXEC %VGPR12 = V_INTERP_P2_F32 %VGPR12, %VGPR1, 0, 1, %M0, %EXEC %SGPR6 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 12; mem:LD4[] S_WAITCNT 127 %VGPR13 = V_MAD_F32 %VGPR12, %VGPR6, %SGPR6, 0, 0, 0, 0, %EXEC %SGPR7 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 8; mem:LD4[] S_WAITCNT 127 %VGPR13 = V_SUBREV_F32_e32 %SGPR7, %VGPR13, %EXEC %VGPR13 = V_MUL_F32_e32 %VGPR13, %VGPR13, %EXEC %VGPR11 = V_MAD_F32 %VGPR11, %VGPR11, %VGPR13, 0, 0, 0, 0, %EXEC %VGPR13 = V_INTERP_P1_F32 %VGPR0, 2, 1, %M0, %EXEC %VGPR13 = V_INTERP_P2_F32 %VGPR13, %VGPR1, 2, 1, %M0, %EXEC, %VGPR0_VGPR1 %SGPR8 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 14; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_MAD_F32 %VGPR13, %VGPR6, %SGPR8, 0, 0, 0, 0, %EXEC %SGPR9 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 10; mem:LD4[] S_WAITCNT 127 %VGPR0 = V_SUBREV_F32_e32 %SGPR9, %VGPR0, %EXEC %VGPR0 = V_MAD_F32 %VGPR0, %VGPR0, %VGPR11, 0, 0, 0, 0, %EXEC %VGPR0 = V_RSQ_LEGACY_F32_e32 %VGPR0, %EXEC %VGPR0 = V_RCP_F32_e32 %VGPR0, %EXEC %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 11; mem:LD4[] S_WAITCNT 127 %VGPR1 = V_RCP_F32_e32 %SGPR10, %EXEC %VGPR0 = V_MUL_F32_e32 %VGPR1, %VGPR0, %EXEC %VGPR11 = V_ADD_F32_e64 0, %VGPR0, 0, 1, 0, 0, %EXEC %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 3; mem:LD4[] S_WAITCNT 127 %VGPR15 = V_SUBREV_F32_e32 %SGPR10, %VGPR3, %EXEC, %VGPR14_VGPR15_VGPR16_VGPR17 %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 2; mem:LD4[] S_WAITCNT 127 %VGPR14 = V_SUBREV_F32_e32 %SGPR10, %VGPR2, %EXEC, %VGPR14_VGPR15_VGPR16_VGPR17, %VGPR14_VGPR15_VGPR16_VGPR17 %VGPR16 = V_MOV_B32_e32 0, %EXEC, %VGPR14_VGPR15_VGPR16_VGPR17, %VGPR14_VGPR15_VGPR16_VGPR17 %VGPR18 = IMAGE_SAMPLE_L_V1_V4 8, 0, 0, 0, 0, 0, 0, 0, %VGPR14_VGPR15_VGPR16_VGPR17, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC S_WAITCNT 1904 %VGPR18 = V_SUB_F32_e32 %VGPR18, %VGPR7, %EXEC %VGPR18 = V_RCP_F32_e32 %VGPR18, %EXEC %VGPR18 = V_MUL_F32_e32 %VGPR18, %VGPR8, %EXEC %SGPR10_SGPR11 = V_CMP_GE_F32_e64 %VGPR18, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR24_SGPR25 = V_CMP_U_F32_e64 %VGPR18, %VGPR18, 0, 0, 0, 0, %EXEC %SGPR10_SGPR11 = S_OR_B64 %SGPR10_SGPR11, %SGPR24_SGPR25 %VGPR18 = V_CNDMASK_B32_e64 %VGPR18, %VGPR9, %SGPR10_SGPR11, 0, 0, 0, 0, %EXEC %VGPR19 = V_MAD_F32 %VGPR10, %VGPR18, %SGPR4, 0, 0, 0, 0, %EXEC %VGPR19 = V_SUBREV_F32_e32 %SGPR5, %VGPR19, %EXEC %VGPR20 = V_MAD_F32 %VGPR12, %VGPR18, %SGPR6, 0, 0, 0, 0, %EXEC %VGPR20 = V_SUBREV_F32_e32 %SGPR7, %VGPR20, %EXEC %VGPR20 = V_MUL_F32_e32 %VGPR20, %VGPR20, %EXEC %VGPR19 = V_MAD_F32 %VGPR19, %VGPR19, %VGPR20, 0, 0, 0, 0, %EXEC %VGPR18 = V_MAD_F32 %VGPR13, %VGPR18, %SGPR8, 0, 0, 0, 0, %EXEC %VGPR18 = V_SUBREV_F32_e32 %SGPR9, %VGPR18, %EXEC %VGPR18 = V_MAD_F32 %VGPR18, %VGPR18, %VGPR19, 0, 0, 0, 0, %EXEC %VGPR18 = V_RSQ_LEGACY_F32_e32 %VGPR18, %EXEC %VGPR18 = V_RCP_F32_e32 %VGPR18, %EXEC %VGPR18 = V_MUL_F32_e32 %VGPR1, %VGPR18, %EXEC %VGPR19 = V_ADD_F32_e64 0, %VGPR18, 0, 1, 0, 0, %EXEC %VGPR19 = V_MUL_F32_e32 2.500000e-01, %VGPR19, %EXEC %VGPR20 = V_MOV_B32_e32 2.500000e-01, %EXEC %VGPR11 = V_MAD_F32 %VGPR11, %VGPR20, %VGPR19, 0, 0, 0, 0, %EXEC %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 5; mem:LD4[] S_WAITCNT 127 %VGPR22 = V_SUBREV_F32_e32 %SGPR10, %VGPR3, %EXEC, %VGPR21_VGPR22_VGPR23_VGPR24 %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 4; mem:LD4[] S_WAITCNT 127 %VGPR21 = V_SUBREV_F32_e32 %SGPR10, %VGPR2, %EXEC, %VGPR21_VGPR22_VGPR23_VGPR24, %VGPR21_VGPR22_VGPR23_VGPR24 %VGPR23 = V_MUL_F32_e32 0.000000e+00, %VGPR21, %EXEC, %VGPR21_VGPR22_VGPR23_VGPR24, %VGPR21_VGPR22_VGPR23_VGPR24 %VGPR19 = IMAGE_SAMPLE_L_V1_V4 8, 0, 0, 0, 0, 0, 0, 0, %VGPR21_VGPR22_VGPR23_VGPR24, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC S_WAITCNT 1904 %VGPR19 = V_SUB_F32_e32 %VGPR19, %VGPR7, %EXEC %VGPR19 = V_RCP_F32_e32 %VGPR19, %EXEC %VGPR19 = V_MUL_F32_e32 %VGPR19, %VGPR8, %EXEC %SGPR10_SGPR11 = V_CMP_GE_F32_e64 %VGPR19, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR24_SGPR25 = V_CMP_U_F32_e64 %VGPR19, %VGPR19, 0, 0, 0, 0, %EXEC %SGPR10_SGPR11 = S_OR_B64 %SGPR10_SGPR11, %SGPR24_SGPR25 %VGPR19 = V_CNDMASK_B32_e64 %VGPR19, %VGPR9, %SGPR10_SGPR11, 0, 0, 0, 0, %EXEC %VGPR25 = V_MAD_F32 %VGPR10, %VGPR19, %SGPR4, 0, 0, 0, 0, %EXEC %VGPR25 = V_SUBREV_F32_e32 %SGPR5, %VGPR25, %EXEC %VGPR26 = V_MAD_F32 %VGPR12, %VGPR19, %SGPR6, 0, 0, 0, 0, %EXEC %VGPR26 = V_SUBREV_F32_e32 %SGPR7, %VGPR26, %EXEC %VGPR26 = V_MUL_F32_e32 %VGPR26, %VGPR26, %EXEC %VGPR25 = V_MAD_F32 %VGPR25, %VGPR25, %VGPR26, 0, 0, 0, 0, %EXEC %VGPR19 = V_MAD_F32 %VGPR13, %VGPR19, %SGPR8, 0, 0, 0, 0, %EXEC %VGPR19 = V_SUBREV_F32_e32 %SGPR9, %VGPR19, %EXEC %VGPR19 = V_MAD_F32 %VGPR19, %VGPR19, %VGPR25, 0, 0, 0, 0, %EXEC %VGPR19 = V_RSQ_LEGACY_F32_e32 %VGPR19, %EXEC %VGPR19 = V_RCP_F32_e32 %VGPR19, %EXEC %VGPR19 = V_MUL_F32_e32 %VGPR1, %VGPR19, %EXEC %VGPR25 = V_ADD_F32_e64 0, %VGPR19, 0, 1, 0, 0, %EXEC %VGPR11 = V_MAD_F32 %VGPR25, %VGPR20, %VGPR11, 0, 0, 0, 0, %EXEC %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 7; mem:LD4[] S_WAITCNT 127 %VGPR26 = V_SUBREV_F32_e32 %SGPR10, %VGPR3, %EXEC, %VGPR25_VGPR26_VGPR27_VGPR28 %SGPR10 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 6; mem:LD4[] S_WAITCNT 127 %VGPR25 = V_SUBREV_F32_e32 %SGPR10, %VGPR2, %EXEC, %VGPR25_VGPR26_VGPR27_VGPR28, %VGPR25_VGPR26_VGPR27_VGPR28 %VGPR27 = V_MOV_B32_e32 %VGPR23, %EXEC, %VGPR25_VGPR26_VGPR27_VGPR28 %VGPR29 = IMAGE_SAMPLE_L_V1_V4 8, 0, 0, 0, 0, 0, 0, 0, %VGPR25_VGPR26_VGPR27_VGPR28, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC S_WAITCNT 1904 %VGPR7 = V_SUB_F32_e32 %VGPR29, %VGPR7, %EXEC %VGPR7 = V_RCP_F32_e32 %VGPR7, %EXEC %VGPR7 = V_MUL_F32_e32 %VGPR7, %VGPR8, %EXEC %SGPR10_SGPR11 = V_CMP_GE_F32_e64 %VGPR7, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR24_SGPR25 = V_CMP_U_F32_e64 %VGPR7, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR10_SGPR11 = S_OR_B64 %SGPR10_SGPR11, %SGPR24_SGPR25 %VGPR7 = V_CNDMASK_B32_e64 %VGPR7, %VGPR9, %SGPR10_SGPR11, 0, 0, 0, 0, %EXEC %VGPR8 = V_MAD_F32 %VGPR10, %VGPR7, %SGPR4, 0, 0, 0, 0, %EXEC %VGPR8 = V_SUBREV_F32_e32 %SGPR5, %VGPR8, %EXEC %VGPR29 = V_MAD_F32 %VGPR12, %VGPR7, %SGPR6, 0, 0, 0, 0, %EXEC %VGPR29 = V_SUBREV_F32_e32 %SGPR7, %VGPR29, %EXEC %VGPR29 = V_MUL_F32_e32 %VGPR29, %VGPR29, %EXEC %VGPR8 = V_MAD_F32 %VGPR8, %VGPR8, %VGPR29, 0, 0, 0, 0, %EXEC %VGPR7 = V_MAD_F32 %VGPR13, %VGPR7, %SGPR8, 0, 0, 0, 0, %EXEC %VGPR7 = V_SUBREV_F32_e32 %SGPR9, %VGPR7, %EXEC %VGPR7 = V_MAD_F32 %VGPR7, %VGPR7, %VGPR8, 0, 0, 0, 0, %EXEC %VGPR8 = V_RSQ_LEGACY_F32_e32 %VGPR7, %EXEC %VGPR8 = V_MUL_F32_e32 %VGPR8, %VGPR7, %EXEC %VGPR7 = V_XOR_B32_e32 -2147483648, %VGPR7, %EXEC %SGPR4_SGPR5 = V_CMP_GT_F32_e64 0, %VGPR7, 0, 0, 0, 0, %EXEC %VGPR7 = V_CNDMASK_B32_e64 0.000000e+00, %VGPR8, %SGPR4_SGPR5, 0, 0, 0, 0, %EXEC %VGPR7 = V_MUL_F32_e32 %VGPR1, %VGPR7, %EXEC %VGPR8 = V_ADD_F32_e64 0, %VGPR7, 0, 1, 0, 0, %EXEC %VGPR8 = V_MAD_F32 %VGPR8, %VGPR20, %VGPR11, 0, 0, 0, 0, %EXEC %VGPR10 = V_MUL_F32_e32 %VGPR10, %VGPR6, %EXEC %VGPR11 = V_MUL_F32_e32 %VGPR12, %VGPR6, %EXEC %VGPR11 = V_MUL_F32_e32 %VGPR11, %VGPR11, %EXEC %VGPR10 = V_MAD_F32 %VGPR10, %VGPR10, %VGPR11, 0, 0, 0, 0, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR13, %VGPR6, %EXEC %VGPR6 = V_MAD_F32 %VGPR6, %VGPR6, %VGPR10, 0, 0, 0, 0, %EXEC %VGPR10 = V_RSQ_LEGACY_F32_e32 %VGPR6, %EXEC %VGPR10 = V_MUL_F32_e32 %VGPR10, %VGPR6, %EXEC %VGPR6 = V_XOR_B32_e32 -2147483648, %VGPR6, %EXEC %SGPR4_SGPR5 = V_CMP_GT_F32_e64 0, %VGPR6, 0, 0, 0, 0, %EXEC %VGPR6 = V_CNDMASK_B32_e64 0.000000e+00, %VGPR10, %SGPR4_SGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 15; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_SUB_F32_e32 %SGPR4, %VGPR6, %EXEC %VGPR1 = V_MUL_F32_e32 %VGPR1, %VGPR6, %EXEC %VGPR1 = V_ADD_F32_e64 0, %VGPR1, 0, 1, 0, 0, %EXEC %VGPR1 = V_SUB_F32_e32 1.000000e+00, %VGPR1, %EXEC %SGPR4_SGPR5 = V_CMP_U_F32_e64 %VGPR8, %VGPR1, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_GE_F32_e64 %VGPR8, %VGPR1, 0, 0, 0, 0, %EXEC %SGPR4_SGPR5 = S_OR_B64 %SGPR6_SGPR7, %SGPR4_SGPR5 %VGPR1 = V_CNDMASK_B32_e64 %VGPR1, %VGPR8, %SGPR4_SGPR5, 0, 0, 0, 0, %EXEC %VGPR1 = V_MUL_F32_e32 %VGPR1, %VGPR1, %EXEC %VGPR1 = V_MUL_F32_e32 %VGPR1, %VGPR1, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 16; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_SUBREV_F32_e32 %SGPR4, %VGPR2, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 18; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_RCP_F32_e32 %SGPR4, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR6, %VGPR8, %EXEC %VGPR8 = V_SUB_F32_e32 1.000000e+00, %VGPR6, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR8, %VGPR6, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 17; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_SUBREV_F32_e32 %SGPR4, %VGPR3, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 19; mem:LD4[] S_WAITCNT 127 %VGPR10 = V_RCP_F32_e32 %SGPR4, %EXEC %VGPR8 = V_MUL_F32_e32 %VGPR8, %VGPR10, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR8, %VGPR6, %EXEC %VGPR8 = V_SUB_F32_e32 1.000000e+00, %VGPR8, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR8, %VGPR6, %EXEC %VGPR8 = V_MOV_B32_e32 -8.000000e+00, %EXEC %VGPR6 = V_MAD_F32 %VGPR6, %VGPR8, 1.000000e+00, 0, 0, 0, 0, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR6, %VGPR6, %EXEC %VGPR6 = V_MUL_F32_e32 %VGPR6, %VGPR6, %EXEC %SGPR4_SGPR5 = V_CMP_U_F32_e64 %VGPR1, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_GE_F32_e64 %VGPR1, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4_SGPR5 = S_OR_B64 %SGPR6_SGPR7, %SGPR4_SGPR5 %VGPR1 = V_CNDMASK_B32_e64 %VGPR6, %VGPR1, %SGPR4_SGPR5, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 28; mem:LD4[] S_WAITCNT 127 %VGPR8 = V_MOV_B32_e32 %SGPR4, %EXEC %VGPR8 = V_MUL_F32_e64 %SGPR4, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR1, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR1, %VGPR8, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR1 = V_CNDMASK_B32_e64 %VGPR8, %VGPR1, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR2_VGPR3_VGPR4 = IMAGE_SAMPLE_V3_V2 7, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 S_WAITCNT 1904 %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR3, %VGPR3, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR3, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR5 = V_CNDMASK_B32_e64 %VGPR3, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR10_VGPR11_VGPR12 = IMAGE_SAMPLE_V3_V2 7, 0, 0, 0, 0, 0, 0, 0, %VGPR14_VGPR15, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC, %VGPR14_VGPR15_VGPR16_VGPR17 S_WAITCNT 1904 %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR11, %VGPR11, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR11, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR8 = V_CNDMASK_B32_e64 %VGPR11, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR5 = V_ADD_F32_e32 %VGPR8, %VGPR5, %EXEC %VGPR13_VGPR14_VGPR15 = IMAGE_SAMPLE_V3_V2 7, 0, 0, 0, 0, 0, 0, 0, %VGPR21_VGPR22, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC, %VGPR21_VGPR22_VGPR23_VGPR24 S_WAITCNT 1904 %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR14, %VGPR14, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR14, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR8 = V_CNDMASK_B32_e64 %VGPR14, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR5 = V_ADD_F32_e32 %VGPR8, %VGPR5, %EXEC %VGPR21_VGPR22_VGPR23 = IMAGE_SAMPLE_V3_V2 7, 0, 0, 0, 0, 0, 0, 0, %VGPR25_VGPR26, %SGPR16_SGPR17_SGPR18_SGPR19_SGPR20_SGPR21_SGPR22_SGPR23, %SGPR12_SGPR13_SGPR14_SGPR15, %EXEC, %VGPR25_VGPR26_VGPR27_VGPR28 S_WAITCNT 1904 %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR22, %VGPR22, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR22, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR8 = V_CNDMASK_B32_e64 %VGPR22, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR5 = V_ADD_F32_e32 %VGPR8, %VGPR5, %EXEC %VGPR5 = V_MUL_F32_e32 2.500000e-01, %VGPR5, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR2, %VGPR2, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR2, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR8 = V_CNDMASK_B32_e64 %VGPR2, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR10, %VGPR10, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR10, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR16 = V_CNDMASK_B32_e64 %VGPR10, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR8 = V_ADD_F32_e32 %VGPR16, %VGPR8, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR13, %VGPR13, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR13, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR16 = V_CNDMASK_B32_e64 %VGPR13, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR8 = V_ADD_F32_e32 %VGPR16, %VGPR8, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR21, %VGPR21, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR21, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR16 = V_CNDMASK_B32_e64 %VGPR21, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %VGPR8 = V_ADD_F32_e32 %VGPR16, %VGPR8, %EXEC %VGPR8 = V_MUL_F32_e32 2.500000e-01, %VGPR8, %EXEC %VGPR16 = V_MUL_F32_e32 3.000000e-01, %VGPR8, %EXEC %VGPR17 = V_MOV_B32_e32 5.900000e-01, %EXEC %VGPR16 = V_MAD_F32 %VGPR5, %VGPR17, %VGPR16, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR4, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR4, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR2 = V_CNDMASK_B32_e64 %VGPR4, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC, %VGPR2_VGPR3_VGPR4 %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR12, %VGPR12, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR12, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR3 = V_CNDMASK_B32_e64 %VGPR12, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC, %VGPR10_VGPR11_VGPR12 %VGPR2 = V_ADD_F32_e32 %VGPR3, %VGPR2, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR15, %VGPR15, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR15, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR3 = V_CNDMASK_B32_e64 %VGPR15, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC, %VGPR13_VGPR14_VGPR15 %VGPR2 = V_ADD_F32_e32 %VGPR3, %VGPR2, %EXEC %SGPR6_SGPR7 = V_CMP_U_F32_e64 %VGPR23, %VGPR23, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_GE_F32_e64 %VGPR23, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR8_SGPR9, %SGPR6_SGPR7 %VGPR3 = V_CNDMASK_B32_e64 %VGPR23, %VGPR9, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC, %VGPR21_VGPR22_VGPR23 %VGPR2 = V_ADD_F32_e32 %VGPR3, %VGPR2, %EXEC %VGPR2 = V_MUL_F32_e32 2.500000e-01, %VGPR2, %EXEC %VGPR3 = V_MOV_B32_e32 1.100000e-01, %EXEC %VGPR3 = V_MAD_F32 %VGPR2, %VGPR3, %VGPR16, 0, 0, 0, 0, %EXEC %VGPR4 = V_MOV_B32_e32 6.100000e-05, %EXEC %SGPR6_SGPR7 = V_CMP_GE_F32_e64 %VGPR3, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR8_SGPR9 = V_CMP_U_F32_e64 %VGPR3, %VGPR3, 0, 0, 0, 0, %EXEC %SGPR6_SGPR7 = S_OR_B64 %SGPR6_SGPR7, %SGPR8_SGPR9 %VGPR3 = V_CNDMASK_B32_e64 %VGPR4, %VGPR3, %SGPR6_SGPR7, 0, 0, 0, 0, %EXEC %SGPR5 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 27; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_SUBREV_F32_e32 %SGPR5, %VGPR3, %EXEC %VGPR3 = V_RCP_F32_e32 %VGPR3, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 21; mem:LD4[] S_WAITCNT 127 %VGPR2 = V_MUL_F32_e32 %SGPR0, %VGPR2, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR3, %VGPR2, %EXEC %VGPR9 = V_MUL_F32_e32 %VGPR4, %VGPR2, %EXEC %VGPR2 = V_MAD_F32 %VGPR4, %VGPR2, %VGPR9, 0, 0, 0, 0, %EXEC %SGPR2_SGPR3 = V_CMP_GE_F32_e64 %VGPR4, 0.000000e+00, 0, 0, 0, 0, %EXEC %VGPR2 = V_CNDMASK_B32_e64 0.000000e+00, %VGPR2, %SGPR2_SGPR3, 0, 0, 0, 0, %EXEC %VGPR6 = V_SUB_F32_e32 1.000000e+00, %VGPR6, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR6, %VGPR2, %EXEC %VGPR9 = V_SUB_F32_e64 1.000000e+00, %SGPR4, 0, 0, 0, 0, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR9, %VGPR2, %EXEC %VGPR0 = V_MUL_F32_e32 3.000000e+00, %VGPR0, %EXEC %VGPR0 = V_ADD_F32_e64 0, %VGPR0, 0, 1, 0, 0, %EXEC %VGPR10 = V_MUL_F32_e32 3.000000e+00, %VGPR18, %EXEC %VGPR10 = V_ADD_F32_e64 0, %VGPR10, 0, 1, 0, 0, %EXEC %VGPR10 = V_MUL_F32_e32 2.500000e-01, %VGPR10, %EXEC %VGPR0 = V_MAD_F32 %VGPR0, %VGPR20, %VGPR10, 0, 0, 0, 0, %EXEC %VGPR10 = V_MUL_F32_e32 3.000000e+00, %VGPR19, %EXEC %VGPR10 = V_ADD_F32_e64 0, %VGPR10, 0, 1, 0, 0, %EXEC %VGPR0 = V_MAD_F32 %VGPR10, %VGPR20, %VGPR0, 0, 0, 0, 0, %EXEC %VGPR7 = V_MUL_F32_e32 3.000000e+00, %VGPR7, %EXEC %VGPR7 = V_ADD_F32_e64 0, %VGPR7, 0, 1, 0, 0, %EXEC %VGPR0 = V_MAD_F32 %VGPR7, %VGPR20, %VGPR0, 0, 0, 0, 0, %EXEC %VGPR0 = V_SUB_F32_e32 1.000000e+00, %VGPR0, %EXEC %VGPR0 = V_MUL_F32_e32 %VGPR0, %VGPR0, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR2, %VGPR0, %EXEC %VGPR2 = V_MUL_F32_e32 2.500000e-01, %VGPR2, %EXEC %VGPR1 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR1, %EXEC %VGPR2 = V_MUL_F32_e32 %SGPR0, %VGPR5, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR3, %VGPR2, %EXEC %VGPR5 = V_MUL_F32_e32 %VGPR4, %VGPR2, %EXEC %VGPR2 = V_MAD_F32 %VGPR4, %VGPR2, %VGPR5, 0, 0, 0, 0, %EXEC %VGPR2 = V_CNDMASK_B32_e64 0.000000e+00, %VGPR2, %SGPR2_SGPR3, 0, 0, 0, 0, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR6, %VGPR2, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR9, %VGPR2, %EXEC %VGPR2 = V_MUL_F32_e32 %VGPR2, %VGPR0, %EXEC %VGPR2 = V_MUL_F32_e32 2.500000e-01, %VGPR2, %EXEC %VGPR5 = V_MUL_F32_e32 %SGPR0, %VGPR8, %EXEC %VGPR3 = V_MUL_F32_e32 %VGPR3, %VGPR5, %EXEC %VGPR5 = V_MUL_F32_e32 %VGPR4, %VGPR3, %EXEC %VGPR3 = V_MAD_F32 %VGPR4, %VGPR3, %VGPR5, 0, 0, 0, 0, %EXEC %VGPR3 = V_CNDMASK_B32_e64 0.000000e+00, %VGPR3, %SGPR2_SGPR3, 0, 0, 0, 0, %EXEC %VGPR3 = V_MUL_F32_e32 %VGPR6, %VGPR3, %EXEC %VGPR3 = V_MUL_F32_e32 %VGPR9, %VGPR3, %EXEC %VGPR0 = V_MUL_F32_e32 %VGPR3, %VGPR0, %EXEC %VGPR0 = V_MUL_F32_e32 2.500000e-01, %VGPR0, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR2, %EXEC EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR1, %VGPR0, %VGPR1, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 V_MUL_F32_e32 v4, 0.000000e+00, v2 ; 10080480 S_LOAD_DWORDX4 s[12:15], s[2:3], 0 ; C0860300 S_LOAD_DWORDX8 s[16:23], s[4:5], 0 ; C0C80500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE_L v6, 8, 0, 0, 0, 0, 0, 0, 0, v[2:5], s[16:23], s[12:15] ; F0900800 00640602 S_LOAD_DWORDX4 s[0:3], s[0:1], 0 ; C0800100 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 S_BUFFER_LOAD_DWORD s4, s[0:3], 41 ; C2020129 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUB_F32_e64 v7, 1.000000e+00, s4, 0, 0, 0, 0 ; D2080007 020008F2 V_SUB_F32_e32 v6, v6, v7 ; 080C0F06 V_RCP_F32_e32 v6, v6 ; 7E0C5506 S_BUFFER_LOAD_DWORD s4, s[0:3], 40 ; C2020128 V_MOV_B32_e32 v8, -2147483648 ; 7E1002FF 80000000 S_WAITCNT lgkmcnt(0) ; BF8C007F V_XOR_B32_e32 v8, s4, v8 ; 3A101004 V_MUL_F32_e32 v6, v6, v8 ; 100C1106 V_MOV_B32_e32 v9, 6.550300e+04 ; 7E1202FF 477FDF00 V_CMP_GE_F32_e64 s[4:5], v6, v9, 0, 0, 0, 0 ; D00C0004 02021306 V_CMP_U_F32_e64 s[6:7], v6, v6, 0, 0, 0, 0 ; D0100006 02020D06 S_OR_B64 s[4:5], s[4:5], s[6:7] ; 88840604 V_CNDMASK_B32_e64 v6, v6, v9, s[4:5], 0, 0, 0, 0 ; D2000006 00121306 V_INTERP_P1_F32 v10, v0, 1, 1, [m0] ; C8280500 V_INTERP_P2_F32 v10, [v10], v1, 1, 1, [m0] ; C8290501 S_BUFFER_LOAD_DWORD s4, s[0:3], 13 ; C202010D S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v11, v10, v6, s4, 0, 0, 0, 0 ; D282000B 00120D0A S_BUFFER_LOAD_DWORD s5, s[0:3], 9 ; C2028109 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v11, s5, v11 ; 0A161605 V_INTERP_P1_F32 v12, v0, 0, 1, [m0] ; C8300400 V_INTERP_P2_F32 v12, [v12], v1, 0, 1, [m0] ; C8310401 S_BUFFER_LOAD_DWORD s6, s[0:3], 12 ; C203010C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v13, v12, v6, s6, 0, 0, 0, 0 ; D282000D 001A0D0C S_BUFFER_LOAD_DWORD s7, s[0:3], 8 ; C2038108 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v13, s7, v13 ; 0A1A1A07 V_MUL_F32_e32 v13, v13, v13 ; 101A1B0D V_MAD_F32 v11, v11, v11, v13, 0, 0, 0, 0 ; D282000B 0436170B V_INTERP_P1_F32 v13, v0, 2, 1, [m0] ; C8340600 V_INTERP_P2_F32 v13, [v13], v1, 2, 1, [m0] ; C8350601 S_BUFFER_LOAD_DWORD s8, s[0:3], 14 ; C204010E S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v0, v13, v6, s8, 0, 0, 0, 0 ; D2820000 00220D0D S_BUFFER_LOAD_DWORD s9, s[0:3], 10 ; C204810A S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v0, s9, v0 ; 0A000009 V_MAD_F32 v0, v0, v0, v11, 0, 0, 0, 0 ; D2820000 042E0100 V_RSQ_LEGACY_F32_e32 v0, v0 ; 7E005B00 V_RCP_F32_e32 v0, v0 ; 7E005500 S_BUFFER_LOAD_DWORD s10, s[0:3], 11 ; C205010B S_WAITCNT lgkmcnt(0) ; BF8C007F V_RCP_F32_e32 v1, s10 ; 7E02540A V_MUL_F32_e32 v0, v1, v0 ; 10000101 V_ADD_F32_e64 v11, 0, v0, 0, 1, 0, 0 ; D206080B 02020080 S_BUFFER_LOAD_DWORD s10, s[0:3], 3 ; C2050103 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v15, s10, v3 ; 0A1E060A S_BUFFER_LOAD_DWORD s10, s[0:3], 2 ; C2050102 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v14, s10, v2 ; 0A1C040A V_MOV_B32_e32 v16, 0 ; 7E200280 IMAGE_SAMPLE_L v18, 8, 0, 0, 0, 0, 0, 0, 0, v[14:17], s[16:23], s[12:15] ; F0900800 0064120E S_WAITCNT vmcnt(0) ; BF8C0770 V_SUB_F32_e32 v18, v18, v7 ; 08240F12 V_RCP_F32_e32 v18, v18 ; 7E245512 V_MUL_F32_e32 v18, v18, v8 ; 10241112 V_CMP_GE_F32_e64 s[10:11], v18, v9, 0, 0, 0, 0 ; D00C000A 02021312 V_CMP_U_F32_e64 s[24:25], v18, v18, 0, 0, 0, 0 ; D0100018 02022512 S_OR_B64 s[10:11], s[10:11], s[24:25] ; 888A180A V_CNDMASK_B32_e64 v18, v18, v9, s[10:11], 0, 0, 0, 0 ; D2000012 002A1312 V_MAD_F32 v19, v10, v18, s4, 0, 0, 0, 0 ; D2820013 0012250A V_SUBREV_F32_e32 v19, s5, v19 ; 0A262605 V_MAD_F32 v20, v12, v18, s6, 0, 0, 0, 0 ; D2820014 001A250C V_SUBREV_F32_e32 v20, s7, v20 ; 0A282807 V_MUL_F32_e32 v20, v20, v20 ; 10282914 V_MAD_F32 v19, v19, v19, v20, 0, 0, 0, 0 ; D2820013 04522713 V_MAD_F32 v18, v13, v18, s8, 0, 0, 0, 0 ; D2820012 0022250D V_SUBREV_F32_e32 v18, s9, v18 ; 0A242409 V_MAD_F32 v18, v18, v18, v19, 0, 0, 0, 0 ; D2820012 044E2512 V_RSQ_LEGACY_F32_e32 v18, v18 ; 7E245B12 V_RCP_F32_e32 v18, v18 ; 7E245512 V_MUL_F32_e32 v18, v1, v18 ; 10242501 V_ADD_F32_e64 v19, 0, v18, 0, 1, 0, 0 ; D2060813 02022480 V_MUL_F32_e32 v19, 2.500000e-01, v19 ; 102626FF 3E800000 V_MOV_B32_e32 v20, 2.500000e-01 ; 7E2802FF 3E800000 V_MAD_F32 v11, v11, v20, v19, 0, 0, 0, 0 ; D282000B 044E290B S_BUFFER_LOAD_DWORD s10, s[0:3], 5 ; C2050105 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v22, s10, v3 ; 0A2C060A S_BUFFER_LOAD_DWORD s10, s[0:3], 4 ; C2050104 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v21, s10, v2 ; 0A2A040A V_MUL_F32_e32 v23, 0.000000e+00, v21 ; 102E2A80 IMAGE_SAMPLE_L v19, 8, 0, 0, 0, 0, 0, 0, 0, v[21:24], s[16:23], s[12:15] ; F0900800 00641315 S_WAITCNT vmcnt(0) ; BF8C0770 V_SUB_F32_e32 v19, v19, v7 ; 08260F13 V_RCP_F32_e32 v19, v19 ; 7E265513 V_MUL_F32_e32 v19, v19, v8 ; 10261113 V_CMP_GE_F32_e64 s[10:11], v19, v9, 0, 0, 0, 0 ; D00C000A 02021313 V_CMP_U_F32_e64 s[24:25], v19, v19, 0, 0, 0, 0 ; D0100018 02022713 S_OR_B64 s[10:11], s[10:11], s[24:25] ; 888A180A V_CNDMASK_B32_e64 v19, v19, v9, s[10:11], 0, 0, 0, 0 ; D2000013 002A1313 V_MAD_F32 v25, v10, v19, s4, 0, 0, 0, 0 ; D2820019 0012270A V_SUBREV_F32_e32 v25, s5, v25 ; 0A323205 V_MAD_F32 v26, v12, v19, s6, 0, 0, 0, 0 ; D282001A 001A270C V_SUBREV_F32_e32 v26, s7, v26 ; 0A343407 V_MUL_F32_e32 v26, v26, v26 ; 1034351A V_MAD_F32 v25, v25, v25, v26, 0, 0, 0, 0 ; D2820019 046A3319 V_MAD_F32 v19, v13, v19, s8, 0, 0, 0, 0 ; D2820013 0022270D V_SUBREV_F32_e32 v19, s9, v19 ; 0A262609 V_MAD_F32 v19, v19, v19, v25, 0, 0, 0, 0 ; D2820013 04662713 V_RSQ_LEGACY_F32_e32 v19, v19 ; 7E265B13 V_RCP_F32_e32 v19, v19 ; 7E265513 V_MUL_F32_e32 v19, v1, v19 ; 10262701 V_ADD_F32_e64 v25, 0, v19, 0, 1, 0, 0 ; D2060819 02022680 V_MAD_F32 v11, v25, v20, v11, 0, 0, 0, 0 ; D282000B 042E2919 S_BUFFER_LOAD_DWORD s10, s[0:3], 7 ; C2050107 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v26, s10, v3 ; 0A34060A S_BUFFER_LOAD_DWORD s10, s[0:3], 6 ; C2050106 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v25, s10, v2 ; 0A32040A V_MOV_B32_e32 v27, v23 ; 7E360317 IMAGE_SAMPLE_L v29, 8, 0, 0, 0, 0, 0, 0, 0, v[25:28], s[16:23], s[12:15] ; F0900800 00641D19 S_WAITCNT vmcnt(0) ; BF8C0770 V_SUB_F32_e32 v7, v29, v7 ; 080E0F1D V_RCP_F32_e32 v7, v7 ; 7E0E5507 V_MUL_F32_e32 v7, v7, v8 ; 100E1107 V_CMP_GE_F32_e64 s[10:11], v7, v9, 0, 0, 0, 0 ; D00C000A 02021307 V_CMP_U_F32_e64 s[24:25], v7, v7, 0, 0, 0, 0 ; D0100018 02020F07 S_OR_B64 s[10:11], s[10:11], s[24:25] ; 888A180A V_CNDMASK_B32_e64 v7, v7, v9, s[10:11], 0, 0, 0, 0 ; D2000007 002A1307 V_MAD_F32 v8, v10, v7, s4, 0, 0, 0, 0 ; D2820008 00120F0A V_SUBREV_F32_e32 v8, s5, v8 ; 0A101005 V_MAD_F32 v29, v12, v7, s6, 0, 0, 0, 0 ; D282001D 001A0F0C V_SUBREV_F32_e32 v29, s7, v29 ; 0A3A3A07 V_MUL_F32_e32 v29, v29, v29 ; 103A3B1D V_MAD_F32 v8, v8, v8, v29, 0, 0, 0, 0 ; D2820008 04761108 V_MAD_F32 v7, v13, v7, s8, 0, 0, 0, 0 ; D2820007 00220F0D V_SUBREV_F32_e32 v7, s9, v7 ; 0A0E0E09 V_MAD_F32 v7, v7, v7, v8, 0, 0, 0, 0 ; D2820007 04220F07 V_RSQ_LEGACY_F32_e32 v8, v7 ; 7E105B07 V_MUL_F32_e32 v8, v8, v7 ; 10100F08 V_XOR_B32_e32 v7, -2147483648, v7 ; 3A0E0EFF 80000000 V_CMP_GT_F32_e64 s[4:5], 0, v7, 0, 0, 0, 0 ; D0080004 02020E80 V_CNDMASK_B32_e64 v7, 0.000000e+00, v8, s[4:5], 0, 0, 0, 0 ; D2000007 00121080 V_MUL_F32_e32 v7, v1, v7 ; 100E0F01 V_ADD_F32_e64 v8, 0, v7, 0, 1, 0, 0 ; D2060808 02020E80 V_MAD_F32 v8, v8, v20, v11, 0, 0, 0, 0 ; D2820008 042E2908 V_MUL_F32_e32 v10, v10, v6 ; 10140D0A V_MUL_F32_e32 v11, v12, v6 ; 10160D0C V_MUL_F32_e32 v11, v11, v11 ; 1016170B V_MAD_F32 v10, v10, v10, v11, 0, 0, 0, 0 ; D282000A 042E150A V_MUL_F32_e32 v6, v13, v6 ; 100C0D0D V_MAD_F32 v6, v6, v6, v10, 0, 0, 0, 0 ; D2820006 042A0D06 V_RSQ_LEGACY_F32_e32 v10, v6 ; 7E145B06 V_MUL_F32_e32 v10, v10, v6 ; 10140D0A V_XOR_B32_e32 v6, -2147483648, v6 ; 3A0C0CFF 80000000 V_CMP_GT_F32_e64 s[4:5], 0, v6, 0, 0, 0, 0 ; D0080004 02020C80 V_CNDMASK_B32_e64 v6, 0.000000e+00, v10, s[4:5], 0, 0, 0, 0 ; D2000006 00121480 S_BUFFER_LOAD_DWORD s4, s[0:3], 15 ; C202010F S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUB_F32_e32 v6, s4, v6 ; 080C0C04 V_MUL_F32_e32 v1, v1, v6 ; 10020D01 V_ADD_F32_e64 v1, 0, v1, 0, 1, 0, 0 ; D2060801 02020280 V_SUB_F32_e32 v1, 1.000000e+00, v1 ; 080202F2 V_CMP_U_F32_e64 s[4:5], v8, v1, 0, 0, 0, 0 ; D0100004 02020308 V_CMP_GE_F32_e64 s[6:7], v8, v1, 0, 0, 0, 0 ; D00C0006 02020308 S_OR_B64 s[4:5], s[6:7], s[4:5] ; 88840406 V_CNDMASK_B32_e64 v1, v1, v8, s[4:5], 0, 0, 0, 0 ; D2000001 00121101 V_MUL_F32_e32 v1, v1, v1 ; 10020301 V_MUL_F32_e32 v1, v1, v1 ; 10020301 S_BUFFER_LOAD_DWORD s4, s[0:3], 16 ; C2020110 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v6, s4, v2 ; 0A0C0404 S_BUFFER_LOAD_DWORD s4, s[0:3], 18 ; C2020112 S_WAITCNT lgkmcnt(0) ; BF8C007F V_RCP_F32_e32 v8, s4 ; 7E105404 V_MUL_F32_e32 v6, v6, v8 ; 100C1106 V_SUB_F32_e32 v8, 1.000000e+00, v6 ; 08100CF2 V_MUL_F32_e32 v6, v8, v6 ; 100C0D08 S_BUFFER_LOAD_DWORD s4, s[0:3], 17 ; C2020111 S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v8, s4, v3 ; 0A100604 S_BUFFER_LOAD_DWORD s4, s[0:3], 19 ; C2020113 S_WAITCNT lgkmcnt(0) ; BF8C007F V_RCP_F32_e32 v10, s4 ; 7E145404 V_MUL_F32_e32 v8, v8, v10 ; 10101508 V_MUL_F32_e32 v6, v8, v6 ; 100C0D08 V_SUB_F32_e32 v8, 1.000000e+00, v8 ; 081010F2 V_MUL_F32_e32 v6, v8, v6 ; 100C0D08 V_MOV_B32_e32 v8, -8.000000e+00 ; 7E1002FF C1000000 V_MAD_F32 v6, v6, v8, 1.000000e+00, 0, 0, 0, 0 ; D2820006 03CA1106 V_MUL_F32_e32 v6, v6, v6 ; 100C0D06 V_MUL_F32_e32 v6, v6, v6 ; 100C0D06 V_CMP_U_F32_e64 s[4:5], v1, v6, 0, 0, 0, 0 ; D0100004 02020D01 V_CMP_GE_F32_e64 s[6:7], v1, v6, 0, 0, 0, 0 ; D00C0006 02020D01 S_OR_B64 s[4:5], s[6:7], s[4:5] ; 88840406 V_CNDMASK_B32_e64 v1, v6, v1, s[4:5], 0, 0, 0, 0 ; D2000001 00120306 S_BUFFER_LOAD_DWORD s4, s[0:3], 28 ; C202011C S_WAITCNT lgkmcnt(0) ; BF8C007F V_MOV_B32_e32 v8, s4 ; 7E100204 V_MUL_F32_e64 v8, s4, v8, 0, 0, 0, 0 ; D2100008 02021004 V_CMP_U_F32_e64 s[6:7], v1, v8, 0, 0, 0, 0 ; D0100006 02021101 V_CMP_GE_F32_e64 s[8:9], v1, v8, 0, 0, 0, 0 ; D00C0008 02021101 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v1, v8, v1, s[6:7], 0, 0, 0, 0 ; D2000001 001A0308 IMAGE_SAMPLE v[2:4], 7, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[16:23], s[12:15] ; F0800700 00640202 S_WAITCNT vmcnt(0) ; BF8C0770 V_CMP_U_F32_e64 s[6:7], v3, v3, 0, 0, 0, 0 ; D0100006 02020703 V_CMP_GE_F32_e64 s[8:9], v3, v9, 0, 0, 0, 0 ; D00C0008 02021303 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v5, v3, v9, s[6:7], 0, 0, 0, 0 ; D2000005 001A1303 IMAGE_SAMPLE v[10:12], 7, 0, 0, 0, 0, 0, 0, 0, v[14:15], s[16:23], s[12:15] ; F0800700 00640A0E S_WAITCNT vmcnt(0) ; BF8C0770 V_CMP_U_F32_e64 s[6:7], v11, v11, 0, 0, 0, 0 ; D0100006 0202170B V_CMP_GE_F32_e64 s[8:9], v11, v9, 0, 0, 0, 0 ; D00C0008 0202130B S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v8, v11, v9, s[6:7], 0, 0, 0, 0 ; D2000008 001A130B V_ADD_F32_e32 v5, v8, v5 ; 060A0B08 IMAGE_SAMPLE v[13:15], 7, 0, 0, 0, 0, 0, 0, 0, v[21:22], s[16:23], s[12:15] ; F0800700 00640D15 S_WAITCNT vmcnt(0) ; BF8C0770 V_CMP_U_F32_e64 s[6:7], v14, v14, 0, 0, 0, 0 ; D0100006 02021D0E V_CMP_GE_F32_e64 s[8:9], v14, v9, 0, 0, 0, 0 ; D00C0008 0202130E S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v8, v14, v9, s[6:7], 0, 0, 0, 0 ; D2000008 001A130E V_ADD_F32_e32 v5, v8, v5 ; 060A0B08 IMAGE_SAMPLE v[21:23], 7, 0, 0, 0, 0, 0, 0, 0, v[25:26], s[16:23], s[12:15] ; F0800700 00641519 S_WAITCNT vmcnt(0) ; BF8C0770 V_CMP_U_F32_e64 s[6:7], v22, v22, 0, 0, 0, 0 ; D0100006 02022D16 V_CMP_GE_F32_e64 s[8:9], v22, v9, 0, 0, 0, 0 ; D00C0008 02021316 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v8, v22, v9, s[6:7], 0, 0, 0, 0 ; D2000008 001A1316 V_ADD_F32_e32 v5, v8, v5 ; 060A0B08 V_MUL_F32_e32 v5, 2.500000e-01, v5 ; 100A0AFF 3E800000 V_CMP_U_F32_e64 s[6:7], v2, v2, 0, 0, 0, 0 ; D0100006 02020502 V_CMP_GE_F32_e64 s[8:9], v2, v9, 0, 0, 0, 0 ; D00C0008 02021302 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v8, v2, v9, s[6:7], 0, 0, 0, 0 ; D2000008 001A1302 V_CMP_U_F32_e64 s[6:7], v10, v10, 0, 0, 0, 0 ; D0100006 0202150A V_CMP_GE_F32_e64 s[8:9], v10, v9, 0, 0, 0, 0 ; D00C0008 0202130A S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v16, v10, v9, s[6:7], 0, 0, 0, 0 ; D2000010 001A130A V_ADD_F32_e32 v8, v16, v8 ; 06101110 V_CMP_U_F32_e64 s[6:7], v13, v13, 0, 0, 0, 0 ; D0100006 02021B0D V_CMP_GE_F32_e64 s[8:9], v13, v9, 0, 0, 0, 0 ; D00C0008 0202130D S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v16, v13, v9, s[6:7], 0, 0, 0, 0 ; D2000010 001A130D V_ADD_F32_e32 v8, v16, v8 ; 06101110 V_CMP_U_F32_e64 s[6:7], v21, v21, 0, 0, 0, 0 ; D0100006 02022B15 V_CMP_GE_F32_e64 s[8:9], v21, v9, 0, 0, 0, 0 ; D00C0008 02021315 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v16, v21, v9, s[6:7], 0, 0, 0, 0 ; D2000010 001A1315 V_ADD_F32_e32 v8, v16, v8 ; 06101110 V_MUL_F32_e32 v8, 2.500000e-01, v8 ; 101010FF 3E800000 V_MUL_F32_e32 v16, 3.000000e-01, v8 ; 102010FF 3E99999A V_MOV_B32_e32 v17, 5.900000e-01 ; 7E2202FF 3F170A3D V_MAD_F32 v16, v5, v17, v16, 0, 0, 0, 0 ; D2820010 04422305 V_CMP_U_F32_e64 s[6:7], v4, v4, 0, 0, 0, 0 ; D0100006 02020904 V_CMP_GE_F32_e64 s[8:9], v4, v9, 0, 0, 0, 0 ; D00C0008 02021304 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v2, v4, v9, s[6:7], 0, 0, 0, 0 ; D2000002 001A1304 V_CMP_U_F32_e64 s[6:7], v12, v12, 0, 0, 0, 0 ; D0100006 0202190C V_CMP_GE_F32_e64 s[8:9], v12, v9, 0, 0, 0, 0 ; D00C0008 0202130C S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v3, v12, v9, s[6:7], 0, 0, 0, 0 ; D2000003 001A130C V_ADD_F32_e32 v2, v3, v2 ; 06040503 V_CMP_U_F32_e64 s[6:7], v15, v15, 0, 0, 0, 0 ; D0100006 02021F0F V_CMP_GE_F32_e64 s[8:9], v15, v9, 0, 0, 0, 0 ; D00C0008 0202130F S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v3, v15, v9, s[6:7], 0, 0, 0, 0 ; D2000003 001A130F V_ADD_F32_e32 v2, v3, v2 ; 06040503 V_CMP_U_F32_e64 s[6:7], v23, v23, 0, 0, 0, 0 ; D0100006 02022F17 V_CMP_GE_F32_e64 s[8:9], v23, v9, 0, 0, 0, 0 ; D00C0008 02021317 S_OR_B64 s[6:7], s[8:9], s[6:7] ; 88860608 V_CNDMASK_B32_e64 v3, v23, v9, s[6:7], 0, 0, 0, 0 ; D2000003 001A1317 V_ADD_F32_e32 v2, v3, v2 ; 06040503 V_MUL_F32_e32 v2, 2.500000e-01, v2 ; 100404FF 3E800000 V_MOV_B32_e32 v3, 1.100000e-01 ; 7E0602FF 3DE147AE V_MAD_F32 v3, v2, v3, v16, 0, 0, 0, 0 ; D2820003 04420702 V_MOV_B32_e32 v4, 6.100000e-05 ; 7E0802FF 387FDA40 V_CMP_GE_F32_e64 s[6:7], v3, v4, 0, 0, 0, 0 ; D00C0006 02020903 V_CMP_U_F32_e64 s[8:9], v3, v3, 0, 0, 0, 0 ; D0100008 02020703 S_OR_B64 s[6:7], s[6:7], s[8:9] ; 88860806 V_CNDMASK_B32_e64 v3, v4, v3, s[6:7], 0, 0, 0, 0 ; D2000003 001A0704 S_BUFFER_LOAD_DWORD s5, s[0:3], 27 ; C202811B S_WAITCNT lgkmcnt(0) ; BF8C007F V_SUBREV_F32_e32 v4, s5, v3 ; 0A080605 V_RCP_F32_e32 v3, v3 ; 7E065503 S_BUFFER_LOAD_DWORD s0, s[0:3], 21 ; C2000115 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v2, s0, v2 ; 10040400 V_MUL_F32_e32 v2, v3, v2 ; 10040503 V_MUL_F32_e32 v9, v4, v2 ; 10120504 V_MAD_F32 v2, v4, v2, v9, 0, 0, 0, 0 ; D2820002 04260504 V_CMP_GE_F32_e64 s[2:3], v4, 0.000000e+00, 0, 0, 0, 0 ; D00C0002 02010104 V_CNDMASK_B32_e64 v2, 0.000000e+00, v2, s[2:3], 0, 0, 0, 0 ; D2000002 000A0480 V_SUB_F32_e32 v6, 1.000000e+00, v6 ; 080C0CF2 V_MUL_F32_e32 v2, v6, v2 ; 10040506 V_SUB_F32_e64 v9, 1.000000e+00, s4, 0, 0, 0, 0 ; D2080009 020008F2 V_MUL_F32_e32 v2, v9, v2 ; 10040509 V_MUL_F32_e32 v0, 3.000000e+00, v0 ; 100000FF 40400000 V_ADD_F32_e64 v0, 0, v0, 0, 1, 0, 0 ; D2060800 02020080 V_MUL_F32_e32 v10, 3.000000e+00, v18 ; 101424FF 40400000 V_ADD_F32_e64 v10, 0, v10, 0, 1, 0, 0 ; D206080A 02021480 V_MUL_F32_e32 v10, 2.500000e-01, v10 ; 101414FF 3E800000 V_MAD_F32 v0, v0, v20, v10, 0, 0, 0, 0 ; D2820000 042A2900 V_MUL_F32_e32 v10, 3.000000e+00, v19 ; 101426FF 40400000 V_ADD_F32_e64 v10, 0, v10, 0, 1, 0, 0 ; D206080A 02021480 V_MAD_F32 v0, v10, v20, v0, 0, 0, 0, 0 ; D2820000 0402290A V_MUL_F32_e32 v7, 3.000000e+00, v7 ; 100E0EFF 40400000 V_ADD_F32_e64 v7, 0, v7, 0, 1, 0, 0 ; D2060807 02020E80 V_MAD_F32 v0, v7, v20, v0, 0, 0, 0, 0 ; D2820000 04022907 V_SUB_F32_e32 v0, 1.000000e+00, v0 ; 080000F2 V_MUL_F32_e32 v0, v0, v0 ; 10000100 V_MUL_F32_e32 v2, v2, v0 ; 10040102 V_MUL_F32_e32 v2, 2.500000e-01, v2 ; 100404FF 3E800000 V_CVT_PKRTZ_F16_F32_e32 v1, v2, v1 ; 5E020302 V_MUL_F32_e32 v2, s0, v5 ; 10040A00 V_MUL_F32_e32 v2, v3, v2 ; 10040503 V_MUL_F32_e32 v5, v4, v2 ; 100A0504 V_MAD_F32 v2, v4, v2, v5, 0, 0, 0, 0 ; D2820002 04160504 V_CNDMASK_B32_e64 v2, 0.000000e+00, v2, s[2:3], 0, 0, 0, 0 ; D2000002 000A0480 V_MUL_F32_e32 v2, v6, v2 ; 10040506 V_MUL_F32_e32 v2, v9, v2 ; 10040509 V_MUL_F32_e32 v2, v2, v0 ; 10040102 V_MUL_F32_e32 v2, 2.500000e-01, v2 ; 100404FF 3E800000 V_MUL_F32_e32 v5, s0, v8 ; 100A1000 V_MUL_F32_e32 v3, v3, v5 ; 10060B03 V_MUL_F32_e32 v5, v4, v3 ; 100A0704 V_MAD_F32 v3, v4, v3, v5, 0, 0, 0, 0 ; D2820003 04160704 V_CNDMASK_B32_e64 v3, 0.000000e+00, v3, s[2:3], 0, 0, 0, 0 ; D2000003 000A0680 V_MUL_F32_e32 v3, v6, v3 ; 10060706 V_MUL_F32_e32 v3, v9, v3 ; 10060709 V_MUL_F32_e32 v0, v3, v0 ; 10000103 V_MUL_F32_e32 v0, 2.500000e-01, v0 ; 100000FF 3E800000 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v2 ; 5E000500 EXP 15, 0, 1, 1, 1, v0, v1, v0, v1 ; F8001C0F 01000100 S_ENDPGM ; 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..2] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: MUL TEMP[0].xyz, CONST[1].xyzz, IN[0].yyyy 1: MAD TEMP[0].xyz, CONST[0].xyzz, IN[0].xxxx, TEMP[0].xyzz 2: ADD TEMP[0].xyz, TEMP[0].xyzz, CONST[2].xyzz 3: MOV TEMP[1].xy, IN[1].xyxx 4: MOV TEMP[0].xyz, TEMP[0].xyzx 5: MAD TEMP[2], IN[0].xyxx, IMM[0].xxyy, IMM[0].yyyx 6: MOV OUT[1], TEMP[1] 7: MOV OUT[2], TEMP[0] 8: MOV OUT[0], TEMP[2] 9: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, [17 x <16 x i8>] addrspace(2)* inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %10 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %11 = load <16 x i8> addrspace(2)* %10, !tbaa !0 %12 = call float @llvm.SI.load.const(<16 x i8> %11, i32 0) %13 = call float @llvm.SI.load.const(<16 x i8> %11, i32 4) %14 = call float @llvm.SI.load.const(<16 x i8> %11, i32 8) %15 = call float @llvm.SI.load.const(<16 x i8> %11, i32 16) %16 = call float @llvm.SI.load.const(<16 x i8> %11, i32 20) %17 = call float @llvm.SI.load.const(<16 x i8> %11, i32 24) %18 = call float @llvm.SI.load.const(<16 x i8> %11, i32 32) %19 = call float @llvm.SI.load.const(<16 x i8> %11, i32 36) %20 = call float @llvm.SI.load.const(<16 x i8> %11, i32 40) %21 = getelementptr [17 x <16 x i8>] addrspace(2)* %4, i64 0, i32 0 %22 = load <16 x i8> addrspace(2)* %21, !tbaa !0 %23 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %22, i32 0, i32 %6) %24 = extractelement <4 x float> %23, i32 0 %25 = extractelement <4 x float> %23, i32 1 %26 = getelementptr [17 x <16 x i8>] addrspace(2)* %4, i64 0, i32 1 %27 = load <16 x i8> addrspace(2)* %26, !tbaa !0 %28 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %27, i32 0, i32 %6) %29 = extractelement <4 x float> %28, i32 0 %30 = extractelement <4 x float> %28, i32 1 %31 = fmul float %15, %25 %32 = fmul float %16, %25 %33 = fmul float %17, %25 %34 = fmul float %12, %24 %35 = fadd float %34, %31 %36 = fmul float %13, %24 %37 = fadd float %36, %32 %38 = fmul float %14, %24 %39 = fadd float %38, %33 %40 = fadd float %35, %18 %41 = fadd float %37, %19 %42 = fadd float %39, %20 %43 = fmul float %24, 1.000000e+00 %44 = fadd float %43, 0.000000e+00 %45 = fmul float %25, 1.000000e+00 %46 = fadd float %45, 0.000000e+00 %47 = fmul float %24, 0.000000e+00 %48 = fadd float %47, 0.000000e+00 %49 = fmul float %24, 0.000000e+00 %50 = fadd float %49, 1.000000e+00 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %29, float %30, float 0.000000e+00, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %40, float %41, float %42, float 0.000000e+00) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %44, float %46, float %48, float %50) 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} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR0_SGPR1 in %vreg0, %SGPR8_SGPR9 in %vreg4, %VGPR0 in %vreg6 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR0_SGPR1 %SGPR8_SGPR9 %VGPR0 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 4; mem:LD16[%31(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 127 %VGPR1_VGPR2_VGPR3_VGPR4 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC %VGPR5 = V_MOV_B32_e32 0.000000e+00, %EXEC S_WAITCNT 1904 EXP 15, 32, 0, 0, 0, %VGPR1, %VGPR2, %VGPR5, %VGPR5, %EXEC, %VGPR1_VGPR2_VGPR3_VGPR4 %SGPR4_SGPR5_SGPR6_SGPR7 = S_LOAD_DWORDX4_IMM %SGPR8_SGPR9, 0; mem:LD16[%24(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 15 %VGPR0_VGPR1_VGPR2_VGPR3 = BUFFER_LOAD_FORMAT_XYZW_IDXEN %SGPR4_SGPR5_SGPR6_SGPR7, %VGPR0, 0, 0, 0, 0, 0, %EXEC %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1, 0; mem:LD16[%11(addrspace=2)](align=8)(tbaa=!"const") S_WAITCNT 112 %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 6; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MUL_F32_e32 %SGPR4, %VGPR1, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 2; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR4, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 10; mem:LD4[] S_WAITCNT 127 %VGPR4 = V_ADD_F32_e32 %SGPR4, %VGPR4, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 5; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MUL_F32_e32 %SGPR4, %VGPR1, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 1; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR6, 0, 0, 0, 0, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 9; mem:LD4[] S_WAITCNT 127 %VGPR6 = V_ADD_F32_e32 %SGPR4, %VGPR6, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 4; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MUL_F32_e32 %SGPR4, %VGPR1, %EXEC %SGPR4 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 0; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_MAD_F32 %SGPR4, %VGPR0, %VGPR7, 0, 0, 0, 0, %EXEC %SGPR0 = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3, 8; mem:LD4[] S_WAITCNT 127 %VGPR7 = V_ADD_F32_e32 %SGPR0, %VGPR7, %EXEC EXP 15, 33, 0, 0, 0, %VGPR7, %VGPR6, %VGPR4, %VGPR5, %EXEC S_WAITCNT 1807 %VGPR4 = V_MAD_F32 %VGPR0, 0.000000e+00, 1.000000e+00, 0, 0, 0, 0, %EXEC %VGPR5 = V_MAD_F32 %VGPR0, 0.000000e+00, 0.000000e+00, 0, 0, 0, 0, %EXEC %VGPR6 = V_ADD_F32_e64 %VGPR1, 0.000000e+00, 0, 0, 0, 0, %EXEC %VGPR0 = V_ADD_F32_e64 %VGPR0, 0.000000e+00, 0, 0, 0, 0, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 12, 0, 1, 0, %VGPR0, %VGPR6, %VGPR5, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_LOAD_DWORDX4 s[4:7], s[8:9], 4 ; C0820904 S_WAITCNT lgkmcnt(0) ; BF8C007F BUFFER_LOAD_FORMAT_XYZW v[1:4], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010100 V_MOV_B32_e32 v5, 0.000000e+00 ; 7E0A0280 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 32, 0, 0, 0, v1, v2, v5, v5 ; F800020F 05050201 S_LOAD_DWORDX4 s[4:7], s[8:9], 0 ; C0820900 S_WAITCNT expcnt(0) lgkmcnt(0) ; BF8C000F BUFFER_LOAD_FORMAT_XYZW v[0:3], s[4:7][v0] + 0 + 0, glc=0, slc=0, tfe=0 ; E00C2000 80010000 S_LOAD_DWORDX4 s[0:3], s[0:1], 0 ; C0800100 S_WAITCNT vmcnt(0) lgkmcnt(0) ; BF8C0070 S_BUFFER_LOAD_DWORD s4, s[0:3], 6 ; C2020106 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v4, s4, v1 ; 10080204 S_BUFFER_LOAD_DWORD s4, s[0:3], 2 ; C2020102 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v4, s4, v0, v4, 0, 0, 0, 0 ; D2820004 04120004 S_BUFFER_LOAD_DWORD s4, s[0:3], 10 ; C202010A S_WAITCNT lgkmcnt(0) ; BF8C007F V_ADD_F32_e32 v4, s4, v4 ; 06080804 S_BUFFER_LOAD_DWORD s4, s[0:3], 5 ; C2020105 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v6, s4, v1 ; 100C0204 S_BUFFER_LOAD_DWORD s4, s[0:3], 1 ; C2020101 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v6, s4, v0, v6, 0, 0, 0, 0 ; D2820006 041A0004 S_BUFFER_LOAD_DWORD s4, s[0:3], 9 ; C2020109 S_WAITCNT lgkmcnt(0) ; BF8C007F V_ADD_F32_e32 v6, s4, v6 ; 060C0C04 S_BUFFER_LOAD_DWORD s4, s[0:3], 4 ; C2020104 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MUL_F32_e32 v7, s4, v1 ; 100E0204 S_BUFFER_LOAD_DWORD s4, s[0:3], 0 ; C2020100 S_WAITCNT lgkmcnt(0) ; BF8C007F V_MAD_F32 v7, s4, v0, v7, 0, 0, 0, 0 ; D2820007 041E0004 S_BUFFER_LOAD_DWORD s0, s[0:3], 8 ; C2000108 S_WAITCNT lgkmcnt(0) ; BF8C007F V_ADD_F32_e32 v7, s0, v7 ; 060E0E00 EXP 15, 33, 0, 0, 0, v7, v6, v4, v5 ; F800021F 05040607 S_WAITCNT expcnt(0) ; BF8C070F V_MAD_F32 v4, v0, 0.000000e+00, 1.000000e+00, 0, 0, 0, 0 ; D2820004 03C90100 V_MAD_F32 v5, v0, 0.000000e+00, 0.000000e+00, 0, 0, 0, 0 ; D2820005 02010100 V_ADD_F32_e64 v6, v1, 0.000000e+00, 0, 0, 0, 0 ; D2060006 02010101 V_ADD_F32_e64 v0, v0, 0.000000e+00, 0, 0, 0, 0 ; D2060000 02010100 EXP 15, 12, 0, 1, 0, v0, v6, v5, v4 ; F80008CF 04050600 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[0..3] DCL TEMP[0..8], LOCAL IMM[0] FLT32 { 0.0000, 0.5000, 0.0156, 1.0000} IMM[1] FLT32 { 2.0000, 1.9688, 4.0000, -0.0625} 0: MUL TEMP[0], CONST[2].zwzw, IN[0].xyxy 1: MAD TEMP[1], IN[0].xyxy, -CONST[2].zwzw, CONST[0].xyxy 2: DP2 TEMP[2].x, TEMP[1].zwww, TEMP[1].zwww 3: RSQ TEMP[3].x, TEMP[2].xxxx 4: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 5: CMP TEMP[2].x, -TEMP[2].xxxx, TEMP[3].xxxx, IMM[0].xxxx 6: MUL TEMP[2].x, TEMP[2].xxxx, IMM[0].yyyy 7: RCP TEMP[3].x, TEMP[2].xxxx 8: MUL TEMP[1], TEMP[1], TEMP[3].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].xxxx 12: MUL TEMP[3].x, TEMP[3].xxxx, IMM[0].yyyy 13: MIN TEMP[3].x, TEMP[2].xxxx, TEMP[3].xxxx 14: MUL TEMP[2].x, IMM[0].zzzz, CONST[3].zzzz 15: MUL TEMP[3], TEMP[1], TEMP[3].xxxx 16: MUL TEMP[3], TEMP[3], TEMP[2].xxxx 17: MUL TEMP[1], TEMP[3], CONST[2].xyxy 18: MAD TEMP[0], TEMP[3].zwzw, IMM[0].xxww, TEMP[0] 19: MUL TEMP[0], TEMP[0], CONST[2].xyxy 20: MOV TEMP[3].zw, IMM[1].yyxy 21: MUL TEMP[4].xy, IMM[1].xyyy, IMM[1].xyyy 22: MUL TEMP[5].xy, TEMP[4].xyyy, IMM[1].zzzz 23: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -IMM[1].xyyy 24: FSGE TEMP[6].x, TEMP[4].xxxx, IMM[0].xxxx 25: UIF TEMP[6].xxxx :0 26: MOV TEMP[6].x, IMM[1].xxxx 27: ELSE :0 28: MOV TEMP[6].x, TEMP[5].xxxx 29: ENDIF 30: MOV TEMP[6].x, TEMP[6].xxxx 31: FSGE TEMP[7].x, TEMP[4].yyyy, IMM[0].xxxx 32: UIF TEMP[7].xxxx :0 33: MOV TEMP[7].x, IMM[1].yyyy 34: ELSE :0 35: MOV TEMP[7].x, TEMP[5].yyyy 36: ENDIF 37: MOV TEMP[6].y, TEMP[7].xxxx 38: MOV TEMP[3].xy, TEMP[6].xyxx 39: MAX TEMP[5], TEMP[0], CONST[1].xyxy 40: MIN TEMP[5], CONST[1].zwzw, TEMP[5] 41: MOV TEMP[7].xy, TEMP[5].xyyy 42: TEX TEMP[7], TEMP[7], SAMP[0], 2D 43: MUL TEMP[4], TEMP[7], TEMP[3].xxxz 44: MOV TEMP[5].xy, TEMP[5].zwww 45: TEX TEMP[5], TEMP[5], SAMP[0], 2D 46: MAD TEMP[2], TEMP[5], TEMP[3].yyyw, TEMP[4] 47: ADD TEMP[5].xy, IMM[1].xyyy, IMM[1].wwww 48: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 49: MOV TEMP[3].zw, TEMP[5].yyxy 50: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 51: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 52: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 53: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 54: UIF TEMP[8].xxxx :0 55: MOV TEMP[8].x, TEMP[5].xxxx 56: ELSE :0 57: MOV TEMP[8].x, TEMP[7].xxxx 58: ENDIF 59: MOV TEMP[6].x, TEMP[8].xxxx 60: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 61: UIF TEMP[8].xxxx :0 62: MOV TEMP[8].x, TEMP[5].yyyy 63: ELSE :0 64: MOV TEMP[8].x, TEMP[7].yyyy 65: ENDIF 66: MOV TEMP[6].y, TEMP[8].xxxx 67: MOV TEMP[3].xy, TEMP[6].xyxx 68: MAX TEMP[7], TEMP[0], CONST[1].xyxy 69: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 70: MOV TEMP[8].xy, TEMP[7].xyyy 71: TEX TEMP[8], TEMP[8], SAMP[0], 2D 72: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 73: MOV TEMP[7].xy, TEMP[7].zwww 74: TEX TEMP[7], TEMP[7], SAMP[0], 2D 75: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 76: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 77: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 78: MOV TEMP[3].zw, TEMP[5].yyxy 79: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 80: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 81: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 82: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 83: UIF TEMP[8].xxxx :0 84: MOV TEMP[8].x, TEMP[5].xxxx 85: ELSE :0 86: MOV TEMP[8].x, TEMP[7].xxxx 87: ENDIF 88: MOV TEMP[6].x, TEMP[8].xxxx 89: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 90: UIF TEMP[8].xxxx :0 91: MOV TEMP[8].x, TEMP[5].yyyy 92: ELSE :0 93: MOV TEMP[8].x, TEMP[7].yyyy 94: ENDIF 95: MOV TEMP[6].y, TEMP[8].xxxx 96: MOV TEMP[3].xy, TEMP[6].xyxx 97: MAX TEMP[7], TEMP[0], CONST[1].xyxy 98: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 99: MOV TEMP[8].xy, TEMP[7].xyyy 100: TEX TEMP[8], TEMP[8], SAMP[0], 2D 101: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 102: MOV TEMP[7].xy, TEMP[7].zwww 103: TEX TEMP[7], TEMP[7], SAMP[0], 2D 104: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 105: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 106: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 107: MOV TEMP[3].zw, TEMP[5].yyxy 108: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 109: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 110: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 111: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 112: UIF TEMP[8].xxxx :0 113: MOV TEMP[8].x, TEMP[5].xxxx 114: ELSE :0 115: MOV TEMP[8].x, TEMP[7].xxxx 116: ENDIF 117: MOV TEMP[6].x, TEMP[8].xxxx 118: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 119: UIF TEMP[8].xxxx :0 120: MOV TEMP[8].x, TEMP[5].yyyy 121: ELSE :0 122: MOV TEMP[8].x, TEMP[7].yyyy 123: ENDIF 124: MOV TEMP[6].y, TEMP[8].xxxx 125: MOV TEMP[3].xy, TEMP[6].xyxx 126: MAX TEMP[7], TEMP[0], CONST[1].xyxy 127: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 128: MOV TEMP[8].xy, TEMP[7].xyyy 129: TEX TEMP[8], TEMP[8], SAMP[0], 2D 130: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 131: MOV TEMP[7].xy, TEMP[7].zwww 132: TEX TEMP[7], TEMP[7], SAMP[0], 2D 133: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 134: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 135: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 136: MOV TEMP[3].zw, TEMP[5].yyxy 137: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 138: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 139: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 140: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 141: UIF TEMP[8].xxxx :0 142: MOV TEMP[8].x, TEMP[5].xxxx 143: ELSE :0 144: MOV TEMP[8].x, TEMP[7].xxxx 145: ENDIF 146: MOV TEMP[6].x, TEMP[8].xxxx 147: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 148: UIF TEMP[8].xxxx :0 149: MOV TEMP[8].x, TEMP[5].yyyy 150: ELSE :0 151: MOV TEMP[8].x, TEMP[7].yyyy 152: ENDIF 153: MOV TEMP[6].y, TEMP[8].xxxx 154: MOV TEMP[3].xy, TEMP[6].xyxx 155: MAX TEMP[7], TEMP[0], CONST[1].xyxy 156: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 157: MOV TEMP[8].xy, TEMP[7].xyyy 158: TEX TEMP[8], TEMP[8], SAMP[0], 2D 159: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 160: MOV TEMP[7].xy, TEMP[7].zwww 161: TEX TEMP[7], TEMP[7], SAMP[0], 2D 162: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 163: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 164: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 165: MOV TEMP[3].zw, TEMP[5].yyxy 166: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 167: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 168: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 169: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 170: UIF TEMP[8].xxxx :0 171: MOV TEMP[8].x, TEMP[5].xxxx 172: ELSE :0 173: MOV TEMP[8].x, TEMP[7].xxxx 174: ENDIF 175: MOV TEMP[6].x, TEMP[8].xxxx 176: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 177: UIF TEMP[8].xxxx :0 178: MOV TEMP[8].x, TEMP[5].yyyy 179: ELSE :0 180: MOV TEMP[8].x, TEMP[7].yyyy 181: ENDIF 182: MOV TEMP[6].y, TEMP[8].xxxx 183: MOV TEMP[3].xy, TEMP[6].xyxx 184: MAX TEMP[7], TEMP[0], CONST[1].xyxy 185: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 186: MOV TEMP[8].xy, TEMP[7].xyyy 187: TEX TEMP[8], TEMP[8], SAMP[0], 2D 188: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 189: MOV TEMP[7].xy, TEMP[7].zwww 190: TEX TEMP[7], TEMP[7], SAMP[0], 2D 191: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 192: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 193: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 194: MOV TEMP[3].zw, TEMP[5].yyxy 195: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 196: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 197: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 198: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 199: UIF TEMP[8].xxxx :0 200: MOV TEMP[8].x, TEMP[5].xxxx 201: ELSE :0 202: MOV TEMP[8].x, TEMP[7].xxxx 203: ENDIF 204: MOV TEMP[6].x, TEMP[8].xxxx 205: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 206: UIF TEMP[8].xxxx :0 207: MOV TEMP[8].x, TEMP[5].yyyy 208: ELSE :0 209: MOV TEMP[8].x, TEMP[7].yyyy 210: ENDIF 211: MOV TEMP[6].y, TEMP[8].xxxx 212: MOV TEMP[3].xy, TEMP[6].xyxx 213: MAX TEMP[7], TEMP[0], CONST[1].xyxy 214: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 215: MOV TEMP[8].xy, TEMP[7].xyyy 216: TEX TEMP[8], TEMP[8], SAMP[0], 2D 217: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 218: MOV TEMP[7].xy, TEMP[7].zwww 219: TEX TEMP[7], TEMP[7], SAMP[0], 2D 220: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 221: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 222: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 223: MOV TEMP[3].zw, TEMP[5].yyxy 224: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 225: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 226: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 227: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 228: UIF TEMP[8].xxxx :0 229: MOV TEMP[8].x, TEMP[5].xxxx 230: ELSE :0 231: MOV TEMP[8].x, TEMP[7].xxxx 232: ENDIF 233: MOV TEMP[6].x, TEMP[8].xxxx 234: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 235: UIF TEMP[8].xxxx :0 236: MOV TEMP[8].x, TEMP[5].yyyy 237: ELSE :0 238: MOV TEMP[8].x, TEMP[7].yyyy 239: ENDIF 240: MOV TEMP[6].y, TEMP[8].xxxx 241: MOV TEMP[3].xy, TEMP[6].xyxx 242: MAX TEMP[7], TEMP[0], CONST[1].xyxy 243: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 244: MOV TEMP[8].xy, TEMP[7].xyyy 245: TEX TEMP[8], TEMP[8], SAMP[0], 2D 246: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 247: MOV TEMP[7].xy, TEMP[7].zwww 248: TEX TEMP[7], TEMP[7], SAMP[0], 2D 249: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 250: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 251: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 252: MOV TEMP[3].zw, TEMP[5].yyxy 253: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 254: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 255: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 256: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 257: UIF TEMP[8].xxxx :0 258: MOV TEMP[8].x, TEMP[5].xxxx 259: ELSE :0 260: MOV TEMP[8].x, TEMP[7].xxxx 261: ENDIF 262: MOV TEMP[6].x, TEMP[8].xxxx 263: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 264: UIF TEMP[8].xxxx :0 265: MOV TEMP[8].x, TEMP[5].yyyy 266: ELSE :0 267: MOV TEMP[8].x, TEMP[7].yyyy 268: ENDIF 269: MOV TEMP[6].y, TEMP[8].xxxx 270: MOV TEMP[3].xy, TEMP[6].xyxx 271: MAX TEMP[7], TEMP[0], CONST[1].xyxy 272: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 273: MOV TEMP[8].xy, TEMP[7].xyyy 274: TEX TEMP[8], TEMP[8], SAMP[0], 2D 275: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 276: MOV TEMP[7].xy, TEMP[7].zwww 277: TEX TEMP[7], TEMP[7], SAMP[0], 2D 278: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 279: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 280: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 281: MOV TEMP[3].zw, TEMP[5].yyxy 282: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 283: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 284: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 285: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 286: UIF TEMP[8].xxxx :0 287: MOV TEMP[8].x, TEMP[5].xxxx 288: ELSE :0 289: MOV TEMP[8].x, TEMP[7].xxxx 290: ENDIF 291: MOV TEMP[6].x, TEMP[8].xxxx 292: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 293: UIF TEMP[8].xxxx :0 294: MOV TEMP[8].x, TEMP[5].yyyy 295: ELSE :0 296: MOV TEMP[8].x, TEMP[7].yyyy 297: ENDIF 298: MOV TEMP[6].y, TEMP[8].xxxx 299: MOV TEMP[3].xy, TEMP[6].xyxx 300: MAX TEMP[7], TEMP[0], CONST[1].xyxy 301: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 302: MOV TEMP[8].xy, TEMP[7].xyyy 303: TEX TEMP[8], TEMP[8], SAMP[0], 2D 304: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 305: MOV TEMP[7].xy, TEMP[7].zwww 306: TEX TEMP[7], TEMP[7], SAMP[0], 2D 307: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 308: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 309: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 310: MOV TEMP[3].zw, TEMP[5].yyxy 311: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 312: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 313: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 314: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 315: UIF TEMP[8].xxxx :0 316: MOV TEMP[8].x, TEMP[5].xxxx 317: ELSE :0 318: MOV TEMP[8].x, TEMP[7].xxxx 319: ENDIF 320: MOV TEMP[6].x, TEMP[8].xxxx 321: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 322: UIF TEMP[8].xxxx :0 323: MOV TEMP[8].x, TEMP[5].yyyy 324: ELSE :0 325: MOV TEMP[8].x, TEMP[7].yyyy 326: ENDIF 327: MOV TEMP[6].y, TEMP[8].xxxx 328: MOV TEMP[3].xy, TEMP[6].xyxx 329: MAX TEMP[7], TEMP[0], CONST[1].xyxy 330: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 331: MOV TEMP[8].xy, TEMP[7].xyyy 332: TEX TEMP[8], TEMP[8], SAMP[0], 2D 333: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 334: MOV TEMP[7].xy, TEMP[7].zwww 335: TEX TEMP[7], TEMP[7], SAMP[0], 2D 336: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 337: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 338: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 339: MOV TEMP[3].zw, TEMP[5].yyxy 340: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 341: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 342: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 343: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 344: UIF TEMP[8].xxxx :0 345: MOV TEMP[8].x, TEMP[5].xxxx 346: ELSE :0 347: MOV TEMP[8].x, TEMP[7].xxxx 348: ENDIF 349: MOV TEMP[6].x, TEMP[8].xxxx 350: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 351: UIF TEMP[8].xxxx :0 352: MOV TEMP[8].x, TEMP[5].yyyy 353: ELSE :0 354: MOV TEMP[8].x, TEMP[7].yyyy 355: ENDIF 356: MOV TEMP[6].y, TEMP[8].xxxx 357: MOV TEMP[3].xy, TEMP[6].xyxx 358: MAX TEMP[7], TEMP[0], CONST[1].xyxy 359: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 360: MOV TEMP[8].xy, TEMP[7].xyyy 361: TEX TEMP[8], TEMP[8], SAMP[0], 2D 362: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 363: MOV TEMP[7].xy, TEMP[7].zwww 364: TEX TEMP[7], TEMP[7], SAMP[0], 2D 365: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 366: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 367: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 368: MOV TEMP[3].zw, TEMP[5].yyxy 369: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 370: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 371: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 372: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 373: UIF TEMP[8].xxxx :0 374: MOV TEMP[8].x, TEMP[5].xxxx 375: ELSE :0 376: MOV TEMP[8].x, TEMP[7].xxxx 377: ENDIF 378: MOV TEMP[6].x, TEMP[8].xxxx 379: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 380: UIF TEMP[8].xxxx :0 381: MOV TEMP[8].x, TEMP[5].yyyy 382: ELSE :0 383: MOV TEMP[8].x, TEMP[7].yyyy 384: ENDIF 385: MOV TEMP[6].y, TEMP[8].xxxx 386: MOV TEMP[3].xy, TEMP[6].xyxx 387: MAX TEMP[7], TEMP[0], CONST[1].xyxy 388: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 389: MOV TEMP[8].xy, TEMP[7].xyyy 390: TEX TEMP[8], TEMP[8], SAMP[0], 2D 391: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 392: MOV TEMP[7].xy, TEMP[7].zwww 393: TEX TEMP[7], TEMP[7], SAMP[0], 2D 394: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 395: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 396: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 397: MOV TEMP[3].zw, TEMP[5].yyxy 398: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 399: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 400: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 401: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 402: UIF TEMP[8].xxxx :0 403: MOV TEMP[8].x, TEMP[5].xxxx 404: ELSE :0 405: MOV TEMP[8].x, TEMP[7].xxxx 406: ENDIF 407: MOV TEMP[6].x, TEMP[8].xxxx 408: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 409: UIF TEMP[8].xxxx :0 410: MOV TEMP[8].x, TEMP[5].yyyy 411: ELSE :0 412: MOV TEMP[8].x, TEMP[7].yyyy 413: ENDIF 414: MOV TEMP[6].y, TEMP[8].xxxx 415: MOV TEMP[3].xy, TEMP[6].xyxx 416: MAX TEMP[7], TEMP[0], CONST[1].xyxy 417: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 418: MOV TEMP[8].xy, TEMP[7].xyyy 419: TEX TEMP[8], TEMP[8], SAMP[0], 2D 420: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 421: MOV TEMP[7].xy, TEMP[7].zwww 422: TEX TEMP[7], TEMP[7], SAMP[0], 2D 423: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 424: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 425: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 426: MOV TEMP[3].zw, TEMP[5].yyxy 427: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 428: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 429: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 430: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 431: UIF TEMP[8].xxxx :0 432: MOV TEMP[8].x, TEMP[5].xxxx 433: ELSE :0 434: MOV TEMP[8].x, TEMP[7].xxxx 435: ENDIF 436: MOV TEMP[6].x, TEMP[8].xxxx 437: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 438: UIF TEMP[8].xxxx :0 439: MOV TEMP[8].x, TEMP[5].yyyy 440: ELSE :0 441: MOV TEMP[8].x, TEMP[7].yyyy 442: ENDIF 443: MOV TEMP[6].y, TEMP[8].xxxx 444: MOV TEMP[3].xy, TEMP[6].xyxx 445: MAX TEMP[7], TEMP[0], CONST[1].xyxy 446: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 447: MOV TEMP[8].xy, TEMP[7].xyyy 448: TEX TEMP[8], TEMP[8], SAMP[0], 2D 449: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 450: MOV TEMP[7].xy, TEMP[7].zwww 451: TEX TEMP[7], TEMP[7], SAMP[0], 2D 452: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 453: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 454: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 455: MOV TEMP[3].zw, TEMP[5].yyxy 456: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 457: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 458: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 459: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 460: UIF TEMP[8].xxxx :0 461: MOV TEMP[8].x, TEMP[5].xxxx 462: ELSE :0 463: MOV TEMP[8].x, TEMP[7].xxxx 464: ENDIF 465: MOV TEMP[6].x, TEMP[8].xxxx 466: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 467: UIF TEMP[8].xxxx :0 468: MOV TEMP[8].x, TEMP[5].yyyy 469: ELSE :0 470: MOV TEMP[8].x, TEMP[7].yyyy 471: ENDIF 472: MOV TEMP[6].y, TEMP[8].xxxx 473: MOV TEMP[3].xy, TEMP[6].xyxx 474: MAX TEMP[7], TEMP[0], CONST[1].xyxy 475: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 476: MOV TEMP[8].xy, TEMP[7].xyyy 477: TEX TEMP[8], TEMP[8], SAMP[0], 2D 478: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 479: MOV TEMP[7].xy, TEMP[7].zwww 480: TEX TEMP[7], TEMP[7], SAMP[0], 2D 481: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 482: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 483: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 484: MOV TEMP[3].zw, TEMP[5].yyxy 485: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 486: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 487: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 488: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 489: UIF TEMP[8].xxxx :0 490: MOV TEMP[8].x, TEMP[5].xxxx 491: ELSE :0 492: MOV TEMP[8].x, TEMP[7].xxxx 493: ENDIF 494: MOV TEMP[6].x, TEMP[8].xxxx 495: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 496: UIF TEMP[8].xxxx :0 497: MOV TEMP[8].x, TEMP[5].yyyy 498: ELSE :0 499: MOV TEMP[8].x, TEMP[7].yyyy 500: ENDIF 501: MOV TEMP[6].y, TEMP[8].xxxx 502: MOV TEMP[3].xy, TEMP[6].xyxx 503: MAX TEMP[7], TEMP[0], CONST[1].xyxy 504: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 505: MOV TEMP[8].xy, TEMP[7].xyyy 506: TEX TEMP[8], TEMP[8], SAMP[0], 2D 507: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 508: MOV TEMP[7].xy, TEMP[7].zwww 509: TEX TEMP[7], TEMP[7], SAMP[0], 2D 510: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 511: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 512: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 513: MOV TEMP[3].zw, TEMP[5].yyxy 514: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 515: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 516: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 517: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 518: UIF TEMP[8].xxxx :0 519: MOV TEMP[8].x, TEMP[5].xxxx 520: ELSE :0 521: MOV TEMP[8].x, TEMP[7].xxxx 522: ENDIF 523: MOV TEMP[6].x, TEMP[8].xxxx 524: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 525: UIF TEMP[8].xxxx :0 526: MOV TEMP[8].x, TEMP[5].yyyy 527: ELSE :0 528: MOV TEMP[8].x, TEMP[7].yyyy 529: ENDIF 530: MOV TEMP[6].y, TEMP[8].xxxx 531: MOV TEMP[3].xy, TEMP[6].xyxx 532: MAX TEMP[7], TEMP[0], CONST[1].xyxy 533: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 534: MOV TEMP[8].xy, TEMP[7].xyyy 535: TEX TEMP[8], TEMP[8], SAMP[0], 2D 536: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 537: MOV TEMP[7].xy, TEMP[7].zwww 538: TEX TEMP[7], TEMP[7], SAMP[0], 2D 539: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 540: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 541: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 542: MOV TEMP[3].zw, TEMP[5].yyxy 543: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 544: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 545: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 546: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 547: UIF TEMP[8].xxxx :0 548: MOV TEMP[8].x, TEMP[5].xxxx 549: ELSE :0 550: MOV TEMP[8].x, TEMP[7].xxxx 551: ENDIF 552: MOV TEMP[6].x, TEMP[8].xxxx 553: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 554: UIF TEMP[8].xxxx :0 555: MOV TEMP[8].x, TEMP[5].yyyy 556: ELSE :0 557: MOV TEMP[8].x, TEMP[7].yyyy 558: ENDIF 559: MOV TEMP[6].y, TEMP[8].xxxx 560: MOV TEMP[3].xy, TEMP[6].xyxx 561: MAX TEMP[7], TEMP[0], CONST[1].xyxy 562: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 563: MOV TEMP[8].xy, TEMP[7].xyyy 564: TEX TEMP[8], TEMP[8], SAMP[0], 2D 565: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 566: MOV TEMP[7].xy, TEMP[7].zwww 567: TEX TEMP[7], TEMP[7], SAMP[0], 2D 568: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 569: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 570: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 571: MOV TEMP[3].zw, TEMP[5].yyxy 572: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 573: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 574: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 575: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 576: UIF TEMP[8].xxxx :0 577: MOV TEMP[8].x, TEMP[5].xxxx 578: ELSE :0 579: MOV TEMP[8].x, TEMP[7].xxxx 580: ENDIF 581: MOV TEMP[6].x, TEMP[8].xxxx 582: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 583: UIF TEMP[8].xxxx :0 584: MOV TEMP[8].x, TEMP[5].yyyy 585: ELSE :0 586: MOV TEMP[8].x, TEMP[7].yyyy 587: ENDIF 588: MOV TEMP[6].y, TEMP[8].xxxx 589: MOV TEMP[3].xy, TEMP[6].xyxx 590: MAX TEMP[7], TEMP[0], CONST[1].xyxy 591: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 592: MOV TEMP[8].xy, TEMP[7].xyyy 593: TEX TEMP[8], TEMP[8], SAMP[0], 2D 594: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 595: MOV TEMP[7].xy, TEMP[7].zwww 596: TEX TEMP[7], TEMP[7], SAMP[0], 2D 597: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 598: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 599: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 600: MOV TEMP[3].zw, TEMP[5].yyxy 601: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 602: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 603: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 604: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 605: UIF TEMP[8].xxxx :0 606: MOV TEMP[8].x, TEMP[5].xxxx 607: ELSE :0 608: MOV TEMP[8].x, TEMP[7].xxxx 609: ENDIF 610: MOV TEMP[6].x, TEMP[8].xxxx 611: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 612: UIF TEMP[8].xxxx :0 613: MOV TEMP[8].x, TEMP[5].yyyy 614: ELSE :0 615: MOV TEMP[8].x, TEMP[7].yyyy 616: ENDIF 617: MOV TEMP[6].y, TEMP[8].xxxx 618: MOV TEMP[3].xy, TEMP[6].xyxx 619: MAX TEMP[7], TEMP[0], CONST[1].xyxy 620: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 621: MOV TEMP[8].xy, TEMP[7].xyyy 622: TEX TEMP[8], TEMP[8], SAMP[0], 2D 623: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 624: MOV TEMP[7].xy, TEMP[7].zwww 625: TEX TEMP[7], TEMP[7], SAMP[0], 2D 626: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 627: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 628: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 629: MOV TEMP[3].zw, TEMP[5].yyxy 630: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 631: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 632: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 633: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 634: UIF TEMP[8].xxxx :0 635: MOV TEMP[8].x, TEMP[5].xxxx 636: ELSE :0 637: MOV TEMP[8].x, TEMP[7].xxxx 638: ENDIF 639: MOV TEMP[6].x, TEMP[8].xxxx 640: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 641: UIF TEMP[8].xxxx :0 642: MOV TEMP[8].x, TEMP[5].yyyy 643: ELSE :0 644: MOV TEMP[8].x, TEMP[7].yyyy 645: ENDIF 646: MOV TEMP[6].y, TEMP[8].xxxx 647: MOV TEMP[3].xy, TEMP[6].xyxx 648: MAX TEMP[7], TEMP[0], CONST[1].xyxy 649: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 650: MOV TEMP[8].xy, TEMP[7].xyyy 651: TEX TEMP[8], TEMP[8], SAMP[0], 2D 652: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 653: MOV TEMP[7].xy, TEMP[7].zwww 654: TEX TEMP[7], TEMP[7], SAMP[0], 2D 655: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 656: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 657: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 658: MOV TEMP[3].zw, TEMP[5].yyxy 659: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 660: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 661: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 662: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 663: UIF TEMP[8].xxxx :0 664: MOV TEMP[8].x, TEMP[5].xxxx 665: ELSE :0 666: MOV TEMP[8].x, TEMP[7].xxxx 667: ENDIF 668: MOV TEMP[6].x, TEMP[8].xxxx 669: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 670: UIF TEMP[8].xxxx :0 671: MOV TEMP[8].x, TEMP[5].yyyy 672: ELSE :0 673: MOV TEMP[8].x, TEMP[7].yyyy 674: ENDIF 675: MOV TEMP[6].y, TEMP[8].xxxx 676: MOV TEMP[3].xy, TEMP[6].xyxx 677: MAX TEMP[7], TEMP[0], CONST[1].xyxy 678: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 679: MOV TEMP[8].xy, TEMP[7].xyyy 680: TEX TEMP[8], TEMP[8], SAMP[0], 2D 681: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 682: MOV TEMP[7].xy, TEMP[7].zwww 683: TEX TEMP[7], TEMP[7], SAMP[0], 2D 684: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 685: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 686: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 687: MOV TEMP[3].zw, TEMP[5].yyxy 688: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 689: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 690: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 691: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 692: UIF TEMP[8].xxxx :0 693: MOV TEMP[8].x, TEMP[5].xxxx 694: ELSE :0 695: MOV TEMP[8].x, TEMP[7].xxxx 696: ENDIF 697: MOV TEMP[6].x, TEMP[8].xxxx 698: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 699: UIF TEMP[8].xxxx :0 700: MOV TEMP[8].x, TEMP[5].yyyy 701: ELSE :0 702: MOV TEMP[8].x, TEMP[7].yyyy 703: ENDIF 704: MOV TEMP[6].y, TEMP[8].xxxx 705: MOV TEMP[3].xy, TEMP[6].xyxx 706: MAX TEMP[7], TEMP[0], CONST[1].xyxy 707: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 708: MOV TEMP[8].xy, TEMP[7].xyyy 709: TEX TEMP[8], TEMP[8], SAMP[0], 2D 710: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 711: MOV TEMP[7].xy, TEMP[7].zwww 712: TEX TEMP[7], TEMP[7], SAMP[0], 2D 713: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 714: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 715: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 716: MOV TEMP[3].zw, TEMP[5].yyxy 717: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 718: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 719: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 720: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 721: UIF TEMP[8].xxxx :0 722: MOV TEMP[8].x, TEMP[5].xxxx 723: ELSE :0 724: MOV TEMP[8].x, TEMP[7].xxxx 725: ENDIF 726: MOV TEMP[6].x, TEMP[8].xxxx 727: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 728: UIF TEMP[8].xxxx :0 729: MOV TEMP[8].x, TEMP[5].yyyy 730: ELSE :0 731: MOV TEMP[8].x, TEMP[7].yyyy 732: ENDIF 733: MOV TEMP[6].y, TEMP[8].xxxx 734: MOV TEMP[3].xy, TEMP[6].xyxx 735: MAX TEMP[7], TEMP[0], CONST[1].xyxy 736: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 737: MOV TEMP[8].xy, TEMP[7].xyyy 738: TEX TEMP[8], TEMP[8], SAMP[0], 2D 739: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 740: MOV TEMP[7].xy, TEMP[7].zwww 741: TEX TEMP[7], TEMP[7], SAMP[0], 2D 742: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 743: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 744: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 745: MOV TEMP[3].zw, TEMP[5].yyxy 746: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 747: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 748: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 749: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 750: UIF TEMP[8].xxxx :0 751: MOV TEMP[8].x, TEMP[5].xxxx 752: ELSE :0 753: MOV TEMP[8].x, TEMP[7].xxxx 754: ENDIF 755: MOV TEMP[6].x, TEMP[8].xxxx 756: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 757: UIF TEMP[8].xxxx :0 758: MOV TEMP[8].x, TEMP[5].yyyy 759: ELSE :0 760: MOV TEMP[8].x, TEMP[7].yyyy 761: ENDIF 762: MOV TEMP[6].y, TEMP[8].xxxx 763: MOV TEMP[3].xy, TEMP[6].xyxx 764: MAX TEMP[7], TEMP[0], CONST[1].xyxy 765: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 766: MOV TEMP[8].xy, TEMP[7].xyyy 767: TEX TEMP[8], TEMP[8], SAMP[0], 2D 768: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 769: MOV TEMP[7].xy, TEMP[7].zwww 770: TEX TEMP[7], TEMP[7], SAMP[0], 2D 771: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 772: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 773: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 774: MOV TEMP[3].zw, TEMP[5].yyxy 775: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 776: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 777: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 778: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 779: UIF TEMP[8].xxxx :0 780: MOV TEMP[8].x, TEMP[5].xxxx 781: ELSE :0 782: MOV TEMP[8].x, TEMP[7].xxxx 783: ENDIF 784: MOV TEMP[6].x, TEMP[8].xxxx 785: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 786: UIF TEMP[8].xxxx :0 787: MOV TEMP[8].x, TEMP[5].yyyy 788: ELSE :0 789: MOV TEMP[8].x, TEMP[7].yyyy 790: ENDIF 791: MOV TEMP[6].y, TEMP[8].xxxx 792: MOV TEMP[3].xy, TEMP[6].xyxx 793: MAX TEMP[7], TEMP[0], CONST[1].xyxy 794: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 795: MOV TEMP[8].xy, TEMP[7].xyyy 796: TEX TEMP[8], TEMP[8], SAMP[0], 2D 797: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 798: MOV TEMP[7].xy, TEMP[7].zwww 799: TEX TEMP[7], TEMP[7], SAMP[0], 2D 800: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 801: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 802: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 803: MOV TEMP[3].zw, TEMP[5].yyxy 804: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 805: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 806: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 807: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 808: UIF TEMP[8].xxxx :0 809: MOV TEMP[8].x, TEMP[5].xxxx 810: ELSE :0 811: MOV TEMP[8].x, TEMP[7].xxxx 812: ENDIF 813: MOV TEMP[6].x, TEMP[8].xxxx 814: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 815: UIF TEMP[8].xxxx :0 816: MOV TEMP[8].x, TEMP[5].yyyy 817: ELSE :0 818: MOV TEMP[8].x, TEMP[7].yyyy 819: ENDIF 820: MOV TEMP[6].y, TEMP[8].xxxx 821: MOV TEMP[3].xy, TEMP[6].xyxx 822: MAX TEMP[7], TEMP[0], CONST[1].xyxy 823: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 824: MOV TEMP[8].xy, TEMP[7].xyyy 825: TEX TEMP[8], TEMP[8], SAMP[0], 2D 826: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 827: MOV TEMP[7].xy, TEMP[7].zwww 828: TEX TEMP[7], TEMP[7], SAMP[0], 2D 829: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 830: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 831: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 832: MOV TEMP[3].zw, TEMP[5].yyxy 833: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 834: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 835: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 836: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 837: UIF TEMP[8].xxxx :0 838: MOV TEMP[8].x, TEMP[5].xxxx 839: ELSE :0 840: MOV TEMP[8].x, TEMP[7].xxxx 841: ENDIF 842: MOV TEMP[6].x, TEMP[8].xxxx 843: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 844: UIF TEMP[8].xxxx :0 845: MOV TEMP[8].x, TEMP[5].yyyy 846: ELSE :0 847: MOV TEMP[8].x, TEMP[7].yyyy 848: ENDIF 849: MOV TEMP[6].y, TEMP[8].xxxx 850: MOV TEMP[3].xy, TEMP[6].xyxx 851: MAX TEMP[7], TEMP[0], CONST[1].xyxy 852: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 853: MOV TEMP[8].xy, TEMP[7].xyyy 854: TEX TEMP[8], TEMP[8], SAMP[0], 2D 855: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 856: MOV TEMP[7].xy, TEMP[7].zwww 857: TEX TEMP[7], TEMP[7], SAMP[0], 2D 858: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 859: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 860: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 861: MOV TEMP[3].zw, TEMP[5].yyxy 862: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 863: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 864: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 865: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 866: UIF TEMP[8].xxxx :0 867: MOV TEMP[8].x, TEMP[5].xxxx 868: ELSE :0 869: MOV TEMP[8].x, TEMP[7].xxxx 870: ENDIF 871: MOV TEMP[6].x, TEMP[8].xxxx 872: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 873: UIF TEMP[8].xxxx :0 874: MOV TEMP[8].x, TEMP[5].yyyy 875: ELSE :0 876: MOV TEMP[8].x, TEMP[7].yyyy 877: ENDIF 878: MOV TEMP[6].y, TEMP[8].xxxx 879: MOV TEMP[3].xy, TEMP[6].xyxx 880: MAX TEMP[7], TEMP[0], CONST[1].xyxy 881: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 882: MOV TEMP[8].xy, TEMP[7].xyyy 883: TEX TEMP[8], TEMP[8], SAMP[0], 2D 884: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 885: MOV TEMP[7].xy, TEMP[7].zwww 886: TEX TEMP[7], TEMP[7], SAMP[0], 2D 887: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 888: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 889: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 890: MOV TEMP[3].zw, TEMP[5].yyxy 891: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 892: MUL TEMP[7].xy, TEMP[4].xyyy, IMM[1].zzzz 893: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 894: FSGE TEMP[8].x, TEMP[4].xxxx, IMM[0].xxxx 895: UIF TEMP[8].xxxx :0 896: MOV TEMP[8].x, TEMP[5].xxxx 897: ELSE :0 898: MOV TEMP[8].x, TEMP[7].xxxx 899: ENDIF 900: MOV TEMP[6].x, TEMP[8].xxxx 901: FSGE TEMP[8].x, TEMP[4].yyyy, IMM[0].xxxx 902: UIF TEMP[8].xxxx :0 903: MOV TEMP[8].x, TEMP[5].yyyy 904: ELSE :0 905: MOV TEMP[8].x, TEMP[7].yyyy 906: ENDIF 907: MOV TEMP[6].y, TEMP[8].xxxx 908: MOV TEMP[3].xy, TEMP[6].xyxx 909: MAX TEMP[7], TEMP[0], CONST[1].xyxy 910: MIN TEMP[7], CONST[1].zwzw, TEMP[7] 911: MOV TEMP[8].xy, TEMP[7].xyyy 912: TEX TEMP[8], TEMP[8], SAMP[0], 2D 913: MAD TEMP[4], TEMP[8], TEMP[3].xxxz, TEMP[2] 914: MOV TEMP[7].xy, TEMP[7].zwww 915: TEX TEMP[7], TEMP[7], SAMP[0], 2D 916: MAD TEMP[2], TEMP[7], TEMP[3].yyyw, TEMP[4] 917: ADD TEMP[5].xy, TEMP[5].xyyy, IMM[1].wwww 918: MAD TEMP[0], TEMP[1], IMM[1].xxxx, TEMP[0] 919: MOV TEMP[3].zw, TEMP[5].yyxy 920: MUL TEMP[4].xy, TEMP[5].xyyy, TEMP[5].xyyy 921: MUL TEMP[1].xy, TEMP[4].xyyy, IMM[1].zzzz 922: MAD TEMP[4].xy, TEMP[4].xyyy, IMM[1].zzzz, -TEMP[5].xyyy 923: FSGE TEMP[7].x, TEMP[4].xxxx, IMM[0].xxxx 924: UIF TEMP[7].xxxx :0 925: MOV TEMP[7].x, TEMP[5].xxxx 926: ELSE :0 927: MOV TEMP[7].x, TEMP[1].xxxx 928: ENDIF 929: MOV TEMP[6].x, TEMP[7].xxxx 930: FSGE TEMP[7].x, TEMP[4].yyyy, IMM[0].xxxx 931: UIF TEMP[7].xxxx :0 932: MOV TEMP[5].x, TEMP[5].yyyy 933: ELSE :0 934: MOV TEMP[5].x, TEMP[1].yyyy 935: ENDIF 936: MOV TEMP[6].y, TEMP[5].xxxx 937: MOV TEMP[3].xy, TEMP[6].xyxx 938: MAX TEMP[0], TEMP[0], CONST[1].xyxy 939: MIN TEMP[0], CONST[1].zwzw, TEMP[0] 940: MOV TEMP[1].xy, TEMP[0].xyyy 941: TEX TEMP[1], TEMP[1], SAMP[0], 2D 942: MAD TEMP[4], TEMP[1], TEMP[3].xxxz, TEMP[2] 943: MOV TEMP[0].xy, TEMP[0].zwww 944: TEX TEMP[0], TEMP[0], SAMP[0], 2D 945: MAD TEMP[2], TEMP[0], TEMP[3].yyyw, TEMP[4] 946: MUL TEMP[0], TEMP[2], IMM[0].zzzz 947: MOV OUT[0], TEMP[0] 948: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float 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: %22 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0 %24 = call float @llvm.SI.load.const(<16 x i8> %23, i32 0) %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 4) %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 16) %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 20) %28 = call float @llvm.SI.load.const(<16 x i8> %23, i32 24) %29 = call float @llvm.SI.load.const(<16 x i8> %23, i32 28) %30 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32) %31 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36) %32 = call float @llvm.SI.load.const(<16 x i8> %23, i32 40) %33 = call float @llvm.SI.load.const(<16 x i8> %23, i32 44) %34 = call float @llvm.SI.load.const(<16 x i8> %23, i32 56) %35 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0 %36 = load <32 x i8> addrspace(2)* %35, !tbaa !0 %37 = getelementptr [32 x <16 x i8>] addrspace(2)* %1, i64 0, i32 0 %38 = load <16 x i8> addrspace(2)* %37, !tbaa !0 %39 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %40 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %41 = fmul float %32, %39 %42 = fmul float %33, %40 %43 = fmul float %32, %39 %44 = fmul float %33, %40 %45 = fsub float -0.000000e+00, %32 %46 = fmul float %39, %45 %47 = fadd float %46, %24 %48 = fsub float -0.000000e+00, %33 %49 = fmul float %40, %48 %50 = fadd float %49, %25 %51 = fsub float -0.000000e+00, %32 %52 = fmul float %39, %51 %53 = fadd float %52, %24 %54 = fsub float -0.000000e+00, %33 %55 = fmul float %40, %54 %56 = fadd float %55, %25 %57 = fmul float %53, %53 %58 = fmul float %56, %56 %59 = fadd float %57, %58 %60 = call float @llvm.AMDGPU.rsq(float %59) %61 = fmul float %60, %59 %62 = fsub float -0.000000e+00, %59 %63 = call float @llvm.AMDGPU.cndlt(float %62, float %61, float 0.000000e+00) %64 = fmul float %63, 5.000000e-01 %65 = fdiv float 1.000000e+00, %64 %66 = fmul float %47, %65 %67 = fmul float %50, %65 %68 = fmul float %53, %65 %69 = fmul float %56, %65 %70 = call float @llvm.AMDGPU.rsq(float %64) %71 = fmul float %70, %64 %72 = fsub float -0.000000e+00, %64 %73 = call float @llvm.AMDGPU.cndlt(float %72, float %71, float 0.000000e+00) %74 = fmul float %73, 5.000000e-01 %75 = fcmp uge float %64, %74 %76 = select i1 %75, float %74, float %64 %77 = fmul float 1.562500e-02, %34 %78 = fmul float %66, %76 %79 = fmul float %67, %76 %80 = fmul float %68, %76 %81 = fmul float %69, %76 %82 = fmul float %78, %77 %83 = fmul float %79, %77 %84 = fmul float %80, %77 %85 = fmul float %81, %77 %86 = fmul float %82, %30 %87 = fmul float %83, %31 %88 = fmul float %84, %30 %89 = fmul float %85, %31 %90 = fmul float %84, 0.000000e+00 %91 = fadd float %90, %41 %92 = fmul float %85, 0.000000e+00 %93 = fadd float %92, %42 %94 = fmul float %84, 1.000000e+00 %95 = fadd float %94, %43 %96 = fmul float %85, 1.000000e+00 %97 = fadd float %96, %44 %98 = fmul float %91, %30 %99 = fmul float %93, %31 %100 = fmul float %95, %30 %101 = fmul float %97, %31 %102 = fmul float 4.000000e+00, 4.000000e+00 %103 = fmul float 0x400F020000000000, 4.000000e+00 %104 = fmul float 4.000000e+00, 4.000000e+00 %105 = fadd float %104, -2.000000e+00 %106 = fmul float 0x400F020000000000, 4.000000e+00 %107 = fadd float %106, -1.968750e+00 %108 = fcmp oge float %105, 0.000000e+00 %109 = sext i1 %108 to i32 %110 = bitcast i32 %109 to float %111 = bitcast float %110 to i32 %112 = icmp ne i32 %111, 0 %. = select i1 %112, float 2.000000e+00, float %102 %113 = fcmp oge float %107, 0.000000e+00 %114 = sext i1 %113 to i32 %115 = bitcast i32 %114 to float %116 = bitcast float %115 to i32 %117 = icmp ne i32 %116, 0 %temp28.0 = select i1 %117, float 1.968750e+00, float %103 %118 = fcmp uge float %98, %26 %119 = select i1 %118, float %98, float %26 %120 = fcmp uge float %99, %27 %121 = select i1 %120, float %99, float %27 %122 = fcmp uge float %100, %26 %123 = select i1 %122, float %100, float %26 %124 = fcmp uge float %101, %27 %125 = select i1 %124, float %101, float %27 %126 = fcmp uge float %28, %119 %127 = select i1 %126, float %119, float %28 %128 = fcmp uge float %29, %121 %129 = select i1 %128, float %121, float %29 %130 = fcmp uge float %28, %123 %131 = select i1 %130, float %123, float %28 %132 = fcmp uge float %29, %125 %133 = select i1 %132, float %125, float %29 %134 = bitcast float %127 to i32 %135 = bitcast float %129 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> %36, <16 x i8> %38, 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 = fmul float %139, %. %144 = fmul float %140, %. %145 = fmul float %141, %. %146 = fmul float %142, 2.000000e+00 %147 = bitcast float %131 to i32 %148 = bitcast float %133 to i32 %149 = insertelement <2 x i32> undef, i32 %147, i32 0 %150 = insertelement <2 x i32> %149, i32 %148, i32 1 %151 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %150, <32 x i8> %36, <16 x i8> %38, i32 2) %152 = extractelement <4 x float> %151, i32 0 %153 = extractelement <4 x float> %151, i32 1 %154 = extractelement <4 x float> %151, i32 2 %155 = extractelement <4 x float> %151, i32 3 %156 = fmul float %152, %temp28.0 %157 = fadd float %156, %143 %158 = fmul float %153, %temp28.0 %159 = fadd float %158, %144 %160 = fmul float %154, %temp28.0 %161 = fadd float %160, %145 %162 = fmul float %155, 1.968750e+00 %163 = fadd float %162, %146 %164 = fmul float %86, 2.000000e+00 %165 = fadd float %164, %98 %166 = fmul float %87, 2.000000e+00 %167 = fadd float %166, %99 %168 = fmul float %88, 2.000000e+00 %169 = fadd float %168, %100 %170 = fmul float %89, 2.000000e+00 %171 = fadd float %170, %101 %172 = fmul float 1.937500e+00, 1.937500e+00 %173 = fmul float 1.906250e+00, 1.906250e+00 %174 = fmul float %172, 4.000000e+00 %175 = fmul float %173, 4.000000e+00 %176 = fsub float -0.000000e+00, 1.937500e+00 %177 = fmul float %172, 4.000000e+00 %178 = fadd float %177, %176 %179 = fsub float -0.000000e+00, 1.906250e+00 %180 = fmul float %173, 4.000000e+00 %181 = fadd float %180, %179 %182 = fcmp oge float %178, 0.000000e+00 %183 = sext i1 %182 to i32 %184 = bitcast i32 %183 to float %185 = bitcast float %184 to i32 %186 = icmp ne i32 %185, 0 %.225 = select i1 %186, float 1.937500e+00, float %174 %187 = fcmp oge float %181, 0.000000e+00 %188 = sext i1 %187 to i32 %189 = bitcast i32 %188 to float %190 = bitcast float %189 to i32 %191 = icmp ne i32 %190, 0 %temp32.1 = select i1 %191, float 1.906250e+00, float %175 %192 = fcmp uge float %165, %26 %193 = select i1 %192, float %165, float %26 %194 = fcmp uge float %167, %27 %195 = select i1 %194, float %167, float %27 %196 = fcmp uge float %169, %26 %197 = select i1 %196, float %169, float %26 %198 = fcmp uge float %171, %27 %199 = select i1 %198, float %171, float %27 %200 = fcmp uge float %28, %193 %201 = select i1 %200, float %193, float %28 %202 = fcmp uge float %29, %195 %203 = select i1 %202, float %195, float %29 %204 = fcmp uge float %28, %197 %205 = select i1 %204, float %197, float %28 %206 = fcmp uge float %29, %199 %207 = select i1 %206, float %199, float %29 %208 = bitcast float %201 to i32 %209 = bitcast float %203 to i32 %210 = insertelement <2 x i32> undef, i32 %208, i32 0 %211 = insertelement <2 x i32> %210, i32 %209, i32 1 %212 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %211, <32 x i8> %36, <16 x i8> %38, i32 2) %213 = extractelement <4 x float> %212, i32 0 %214 = extractelement <4 x float> %212, i32 1 %215 = extractelement <4 x float> %212, i32 2 %216 = extractelement <4 x float> %212, i32 3 %217 = fmul float %213, %.225 %218 = fadd float %217, %157 %219 = fmul float %214, %.225 %220 = fadd float %219, %159 %221 = fmul float %215, %.225 %222 = fadd float %221, %161 %223 = fmul float %216, 1.937500e+00 %224 = fadd float %223, %163 %225 = bitcast float %205 to i32 %226 = bitcast float %207 to i32 %227 = insertelement <2 x i32> undef, i32 %225, i32 0 %228 = insertelement <2 x i32> %227, i32 %226, i32 1 %229 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %228, <32 x i8> %36, <16 x i8> %38, i32 2) %230 = extractelement <4 x float> %229, i32 0 %231 = extractelement <4 x float> %229, i32 1 %232 = extractelement <4 x float> %229, i32 2 %233 = extractelement <4 x float> %229, i32 3 %234 = fmul float %230, %temp32.1 %235 = fadd float %234, %218 %236 = fmul float %231, %temp32.1 %237 = fadd float %236, %220 %238 = fmul float %232, %temp32.1 %239 = fadd float %238, %222 %240 = fmul float %233, 1.906250e+00 %241 = fadd float %240, %224 %242 = fadd float 1.937500e+00, -6.250000e-02 %243 = fadd float 1.906250e+00, -6.250000e-02 %244 = fmul float %86, 2.000000e+00 %245 = fadd float %244, %165 %246 = fmul float %87, 2.000000e+00 %247 = fadd float %246, %167 %248 = fmul float %88, 2.000000e+00 %249 = fadd float %248, %169 %250 = fmul float %89, 2.000000e+00 %251 = fadd float %250, %171 %252 = fmul float %242, %242 %253 = fmul float %243, %243 %254 = fmul float %252, 4.000000e+00 %255 = fmul float %253, 4.000000e+00 %256 = fsub float -0.000000e+00, %242 %257 = fmul float %252, 4.000000e+00 %258 = fadd float %257, %256 %259 = fsub float -0.000000e+00, %243 %260 = fmul float %253, 4.000000e+00 %261 = fadd float %260, %259 %262 = fcmp oge float %258, 0.000000e+00 %263 = sext i1 %262 to i32 %264 = bitcast i32 %263 to float %265 = bitcast float %264 to i32 %266 = icmp ne i32 %265, 0 %.226 = select i1 %266, float %242, float %254 %267 = fcmp oge float %261, 0.000000e+00 %268 = sext i1 %267 to i32 %269 = bitcast i32 %268 to float %270 = bitcast float %269 to i32 %271 = icmp ne i32 %270, 0 %temp32.3 = select i1 %271, float %243, float %255 %272 = fcmp uge float %245, %26 %273 = select i1 %272, float %245, float %26 %274 = fcmp uge float %247, %27 %275 = select i1 %274, float %247, float %27 %276 = fcmp uge float %249, %26 %277 = select i1 %276, float %249, float %26 %278 = fcmp uge float %251, %27 %279 = select i1 %278, float %251, float %27 %280 = fcmp uge float %28, %273 %281 = select i1 %280, float %273, float %28 %282 = fcmp uge float %29, %275 %283 = select i1 %282, float %275, float %29 %284 = fcmp uge float %28, %277 %285 = select i1 %284, float %277, float %28 %286 = fcmp uge float %29, %279 %287 = select i1 %286, float %279, float %29 %288 = bitcast float %281 to i32 %289 = bitcast float %283 to i32 %290 = insertelement <2 x i32> undef, i32 %288, i32 0 %291 = insertelement <2 x i32> %290, i32 %289, i32 1 %292 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %291, <32 x i8> %36, <16 x i8> %38, i32 2) %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 = extractelement <4 x float> %292, i32 3 %297 = fmul float %293, %.226 %298 = fadd float %297, %235 %299 = fmul float %294, %.226 %300 = fadd float %299, %237 %301 = fmul float %295, %.226 %302 = fadd float %301, %239 %303 = fmul float %296, %242 %304 = fadd float %303, %241 %305 = bitcast float %285 to i32 %306 = bitcast float %287 to i32 %307 = insertelement <2 x i32> undef, i32 %305, i32 0 %308 = insertelement <2 x i32> %307, i32 %306, i32 1 %309 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %308, <32 x i8> %36, <16 x i8> %38, i32 2) %310 = extractelement <4 x float> %309, i32 0 %311 = extractelement <4 x float> %309, i32 1 %312 = extractelement <4 x float> %309, i32 2 %313 = extractelement <4 x float> %309, i32 3 %314 = fmul float %310, %temp32.3 %315 = fadd float %314, %298 %316 = fmul float %311, %temp32.3 %317 = fadd float %316, %300 %318 = fmul float %312, %temp32.3 %319 = fadd float %318, %302 %320 = fmul float %313, %243 %321 = fadd float %320, %304 %322 = fadd float %242, -6.250000e-02 %323 = fadd float %243, -6.250000e-02 %324 = fmul float %86, 2.000000e+00 %325 = fadd float %324, %245 %326 = fmul float %87, 2.000000e+00 %327 = fadd float %326, %247 %328 = fmul float %88, 2.000000e+00 %329 = fadd float %328, %249 %330 = fmul float %89, 2.000000e+00 %331 = fadd float %330, %251 %332 = fmul float %322, %322 %333 = fmul float %323, %323 %334 = fmul float %332, 4.000000e+00 %335 = fmul float %333, 4.000000e+00 %336 = fsub float -0.000000e+00, %322 %337 = fmul float %332, 4.000000e+00 %338 = fadd float %337, %336 %339 = fsub float -0.000000e+00, %323 %340 = fmul float %333, 4.000000e+00 %341 = fadd float %340, %339 %342 = fcmp oge float %338, 0.000000e+00 %343 = sext i1 %342 to i32 %344 = bitcast i32 %343 to float %345 = bitcast float %344 to i32 %346 = icmp ne i32 %345, 0 %.227 = select i1 %346, float %322, float %334 %347 = fcmp oge float %341, 0.000000e+00 %348 = sext i1 %347 to i32 %349 = bitcast i32 %348 to float %350 = bitcast float %349 to i32 %351 = icmp ne i32 %350, 0 %temp32.5 = select i1 %351, float %323, float %335 %352 = fcmp uge float %325, %26 %353 = select i1 %352, float %325, float %26 %354 = fcmp uge float %327, %27 %355 = select i1 %354, float %327, float %27 %356 = fcmp uge float %329, %26 %357 = select i1 %356, float %329, float %26 %358 = fcmp uge float %331, %27 %359 = select i1 %358, float %331, float %27 %360 = fcmp uge float %28, %353 %361 = select i1 %360, float %353, float %28 %362 = fcmp uge float %29, %355 %363 = select i1 %362, float %355, float %29 %364 = fcmp uge float %28, %357 %365 = select i1 %364, float %357, float %28 %366 = fcmp uge float %29, %359 %367 = select i1 %366, float %359, float %29 %368 = bitcast float %361 to i32 %369 = bitcast float %363 to i32 %370 = insertelement <2 x i32> undef, i32 %368, i32 0 %371 = insertelement <2 x i32> %370, i32 %369, i32 1 %372 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %371, <32 x i8> %36, <16 x i8> %38, i32 2) %373 = extractelement <4 x float> %372, i32 0 %374 = extractelement <4 x float> %372, i32 1 %375 = extractelement <4 x float> %372, i32 2 %376 = extractelement <4 x float> %372, i32 3 %377 = fmul float %373, %.227 %378 = fadd float %377, %315 %379 = fmul float %374, %.227 %380 = fadd float %379, %317 %381 = fmul float %375, %.227 %382 = fadd float %381, %319 %383 = fmul float %376, %322 %384 = fadd float %383, %321 %385 = bitcast float %365 to i32 %386 = bitcast float %367 to i32 %387 = insertelement <2 x i32> undef, i32 %385, i32 0 %388 = insertelement <2 x i32> %387, i32 %386, i32 1 %389 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %388, <32 x i8> %36, <16 x i8> %38, i32 2) %390 = extractelement <4 x float> %389, i32 0 %391 = extractelement <4 x float> %389, i32 1 %392 = extractelement <4 x float> %389, i32 2 %393 = extractelement <4 x float> %389, i32 3 %394 = fmul float %390, %temp32.5 %395 = fadd float %394, %378 %396 = fmul float %391, %temp32.5 %397 = fadd float %396, %380 %398 = fmul float %392, %temp32.5 %399 = fadd float %398, %382 %400 = fmul float %393, %323 %401 = fadd float %400, %384 %402 = fadd float %322, -6.250000e-02 %403 = fadd float %323, -6.250000e-02 %404 = fmul float %86, 2.000000e+00 %405 = fadd float %404, %325 %406 = fmul float %87, 2.000000e+00 %407 = fadd float %406, %327 %408 = fmul float %88, 2.000000e+00 %409 = fadd float %408, %329 %410 = fmul float %89, 2.000000e+00 %411 = fadd float %410, %331 %412 = fmul float %402, %402 %413 = fmul float %403, %403 %414 = fmul float %412, 4.000000e+00 %415 = fmul float %413, 4.000000e+00 %416 = fsub float -0.000000e+00, %402 %417 = fmul float %412, 4.000000e+00 %418 = fadd float %417, %416 %419 = fsub float -0.000000e+00, %403 %420 = fmul float %413, 4.000000e+00 %421 = fadd float %420, %419 %422 = fcmp oge float %418, 0.000000e+00 %423 = sext i1 %422 to i32 %424 = bitcast i32 %423 to float %425 = bitcast float %424 to i32 %426 = icmp ne i32 %425, 0 %.228 = select i1 %426, float %402, float %414 %427 = fcmp oge float %421, 0.000000e+00 %428 = sext i1 %427 to i32 %429 = bitcast i32 %428 to float %430 = bitcast float %429 to i32 %431 = icmp ne i32 %430, 0 %temp32.7 = select i1 %431, float %403, float %415 %432 = fcmp uge float %405, %26 %433 = select i1 %432, float %405, float %26 %434 = fcmp uge float %407, %27 %435 = select i1 %434, float %407, float %27 %436 = fcmp uge float %409, %26 %437 = select i1 %436, float %409, float %26 %438 = fcmp uge float %411, %27 %439 = select i1 %438, float %411, float %27 %440 = fcmp uge float %28, %433 %441 = select i1 %440, float %433, float %28 %442 = fcmp uge float %29, %435 %443 = select i1 %442, float %435, float %29 %444 = fcmp uge float %28, %437 %445 = select i1 %444, float %437, float %28 %446 = fcmp uge float %29, %439 %447 = select i1 %446, float %439, float %29 %448 = bitcast float %441 to i32 %449 = bitcast float %443 to i32 %450 = insertelement <2 x i32> undef, i32 %448, i32 0 %451 = insertelement <2 x i32> %450, i32 %449, i32 1 %452 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %451, <32 x i8> %36, <16 x i8> %38, i32 2) %453 = extractelement <4 x float> %452, i32 0 %454 = extractelement <4 x float> %452, i32 1 %455 = extractelement <4 x float> %452, i32 2 %456 = extractelement <4 x float> %452, i32 3 %457 = fmul float %453, %.228 %458 = fadd float %457, %395 %459 = fmul float %454, %.228 %460 = fadd float %459, %397 %461 = fmul float %455, %.228 %462 = fadd float %461, %399 %463 = fmul float %456, %402 %464 = fadd float %463, %401 %465 = bitcast float %445 to i32 %466 = bitcast float %447 to i32 %467 = insertelement <2 x i32> undef, i32 %465, i32 0 %468 = insertelement <2 x i32> %467, i32 %466, i32 1 %469 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %468, <32 x i8> %36, <16 x i8> %38, i32 2) %470 = extractelement <4 x float> %469, i32 0 %471 = extractelement <4 x float> %469, i32 1 %472 = extractelement <4 x float> %469, i32 2 %473 = extractelement <4 x float> %469, i32 3 %474 = fmul float %470, %temp32.7 %475 = fadd float %474, %458 %476 = fmul float %471, %temp32.7 %477 = fadd float %476, %460 %478 = fmul float %472, %temp32.7 %479 = fadd float %478, %462 %480 = fmul float %473, %403 %481 = fadd float %480, %464 %482 = fadd float %402, -6.250000e-02 %483 = fadd float %403, -6.250000e-02 %484 = fmul float %86, 2.000000e+00 %485 = fadd float %484, %405 %486 = fmul float %87, 2.000000e+00 %487 = fadd float %486, %407 %488 = fmul float %88, 2.000000e+00 %489 = fadd float %488, %409 %490 = fmul float %89, 2.000000e+00 %491 = fadd float %490, %411 %492 = fmul float %482, %482 %493 = fmul float %483, %483 %494 = fmul float %492, 4.000000e+00 %495 = fmul float %493, 4.000000e+00 %496 = fsub float -0.000000e+00, %482 %497 = fmul float %492, 4.000000e+00 %498 = fadd float %497, %496 %499 = fsub float -0.000000e+00, %483 %500 = fmul float %493, 4.000000e+00 %501 = fadd float %500, %499 %502 = fcmp oge float %498, 0.000000e+00 %503 = sext i1 %502 to i32 %504 = bitcast i32 %503 to float %505 = bitcast float %504 to i32 %506 = icmp ne i32 %505, 0 %.229 = select i1 %506, float %482, float %494 %507 = fcmp oge float %501, 0.000000e+00 %508 = sext i1 %507 to i32 %509 = bitcast i32 %508 to float %510 = bitcast float %509 to i32 %511 = icmp ne i32 %510, 0 %temp32.9 = select i1 %511, float %483, float %495 %512 = fcmp uge float %485, %26 %513 = select i1 %512, float %485, float %26 %514 = fcmp uge float %487, %27 %515 = select i1 %514, float %487, float %27 %516 = fcmp uge float %489, %26 %517 = select i1 %516, float %489, float %26 %518 = fcmp uge float %491, %27 %519 = select i1 %518, float %491, float %27 %520 = fcmp uge float %28, %513 %521 = select i1 %520, float %513, float %28 %522 = fcmp uge float %29, %515 %523 = select i1 %522, float %515, float %29 %524 = fcmp uge float %28, %517 %525 = select i1 %524, float %517, float %28 %526 = fcmp uge float %29, %519 %527 = select i1 %526, float %519, float %29 %528 = bitcast float %521 to i32 %529 = bitcast float %523 to i32 %530 = insertelement <2 x i32> undef, i32 %528, i32 0 %531 = insertelement <2 x i32> %530, i32 %529, i32 1 %532 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %531, <32 x i8> %36, <16 x i8> %38, i32 2) %533 = extractelement <4 x float> %532, i32 0 %534 = extractelement <4 x float> %532, i32 1 %535 = extractelement <4 x float> %532, i32 2 %536 = extractelement <4 x float> %532, i32 3 %537 = fmul float %533, %.229 %538 = fadd float %537, %475 %539 = fmul float %534, %.229 %540 = fadd float %539, %477 %541 = fmul float %535, %.229 %542 = fadd float %541, %479 %543 = fmul float %536, %482 %544 = fadd float %543, %481 %545 = bitcast float %525 to i32 %546 = bitcast float %527 to i32 %547 = insertelement <2 x i32> undef, i32 %545, i32 0 %548 = insertelement <2 x i32> %547, i32 %546, i32 1 %549 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %548, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %temp32.9 %555 = fadd float %554, %538 %556 = fmul float %551, %temp32.9 %557 = fadd float %556, %540 %558 = fmul float %552, %temp32.9 %559 = fadd float %558, %542 %560 = fmul float %553, %483 %561 = fadd float %560, %544 %562 = fadd float %482, -6.250000e-02 %563 = fadd float %483, -6.250000e-02 %564 = fmul float %86, 2.000000e+00 %565 = fadd float %564, %485 %566 = fmul float %87, 2.000000e+00 %567 = fadd float %566, %487 %568 = fmul float %88, 2.000000e+00 %569 = fadd float %568, %489 %570 = fmul float %89, 2.000000e+00 %571 = fadd float %570, %491 %572 = fmul float %562, %562 %573 = fmul float %563, %563 %574 = fmul float %572, 4.000000e+00 %575 = fmul float %573, 4.000000e+00 %576 = fsub float -0.000000e+00, %562 %577 = fmul float %572, 4.000000e+00 %578 = fadd float %577, %576 %579 = fsub float -0.000000e+00, %563 %580 = fmul float %573, 4.000000e+00 %581 = fadd float %580, %579 %582 = fcmp oge float %578, 0.000000e+00 %583 = sext i1 %582 to i32 %584 = bitcast i32 %583 to float %585 = bitcast float %584 to i32 %586 = icmp ne i32 %585, 0 %.230 = select i1 %586, float %562, float %574 %587 = fcmp oge float %581, 0.000000e+00 %588 = sext i1 %587 to i32 %589 = bitcast i32 %588 to float %590 = bitcast float %589 to i32 %591 = icmp ne i32 %590, 0 %temp32.11 = select i1 %591, float %563, float %575 %592 = fcmp uge float %565, %26 %593 = select i1 %592, float %565, float %26 %594 = fcmp uge float %567, %27 %595 = select i1 %594, float %567, float %27 %596 = fcmp uge float %569, %26 %597 = select i1 %596, float %569, float %26 %598 = fcmp uge float %571, %27 %599 = select i1 %598, float %571, float %27 %600 = fcmp uge float %28, %593 %601 = select i1 %600, float %593, float %28 %602 = fcmp uge float %29, %595 %603 = select i1 %602, float %595, float %29 %604 = fcmp uge float %28, %597 %605 = select i1 %604, float %597, float %28 %606 = fcmp uge float %29, %599 %607 = select i1 %606, float %599, float %29 %608 = bitcast float %601 to i32 %609 = bitcast float %603 to i32 %610 = insertelement <2 x i32> undef, i32 %608, i32 0 %611 = insertelement <2 x i32> %610, i32 %609, i32 1 %612 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %611, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.230 %618 = fadd float %617, %555 %619 = fmul float %614, %.230 %620 = fadd float %619, %557 %621 = fmul float %615, %.230 %622 = fadd float %621, %559 %623 = fmul float %616, %562 %624 = fadd float %623, %561 %625 = bitcast float %605 to i32 %626 = bitcast float %607 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> %36, <16 x i8> %38, i32 2) %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, %temp32.11 %635 = fadd float %634, %618 %636 = fmul float %631, %temp32.11 %637 = fadd float %636, %620 %638 = fmul float %632, %temp32.11 %639 = fadd float %638, %622 %640 = fmul float %633, %563 %641 = fadd float %640, %624 %642 = fadd float %562, -6.250000e-02 %643 = fadd float %563, -6.250000e-02 %644 = fmul float %86, 2.000000e+00 %645 = fadd float %644, %565 %646 = fmul float %87, 2.000000e+00 %647 = fadd float %646, %567 %648 = fmul float %88, 2.000000e+00 %649 = fadd float %648, %569 %650 = fmul float %89, 2.000000e+00 %651 = fadd float %650, %571 %652 = fmul float %642, %642 %653 = fmul float %643, %643 %654 = fmul float %652, 4.000000e+00 %655 = fmul float %653, 4.000000e+00 %656 = fsub float -0.000000e+00, %642 %657 = fmul float %652, 4.000000e+00 %658 = fadd float %657, %656 %659 = fsub float -0.000000e+00, %643 %660 = fmul float %653, 4.000000e+00 %661 = fadd float %660, %659 %662 = fcmp oge float %658, 0.000000e+00 %663 = sext i1 %662 to i32 %664 = bitcast i32 %663 to float %665 = bitcast float %664 to i32 %666 = icmp ne i32 %665, 0 %.231 = select i1 %666, float %642, float %654 %667 = fcmp oge float %661, 0.000000e+00 %668 = sext i1 %667 to i32 %669 = bitcast i32 %668 to float %670 = bitcast float %669 to i32 %671 = icmp ne i32 %670, 0 %temp32.13 = select i1 %671, float %643, float %655 %672 = fcmp uge float %645, %26 %673 = select i1 %672, float %645, float %26 %674 = fcmp uge float %647, %27 %675 = select i1 %674, float %647, float %27 %676 = fcmp uge float %649, %26 %677 = select i1 %676, float %649, float %26 %678 = fcmp uge float %651, %27 %679 = select i1 %678, float %651, float %27 %680 = fcmp uge float %28, %673 %681 = select i1 %680, float %673, float %28 %682 = fcmp uge float %29, %675 %683 = select i1 %682, float %675, float %29 %684 = fcmp uge float %28, %677 %685 = select i1 %684, float %677, float %28 %686 = fcmp uge float %29, %679 %687 = select i1 %686, float %679, float %29 %688 = bitcast float %681 to i32 %689 = bitcast float %683 to i32 %690 = insertelement <2 x i32> undef, i32 %688, i32 0 %691 = insertelement <2 x i32> %690, i32 %689, i32 1 %692 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %691, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.231 %698 = fadd float %697, %635 %699 = fmul float %694, %.231 %700 = fadd float %699, %637 %701 = fmul float %695, %.231 %702 = fadd float %701, %639 %703 = fmul float %696, %642 %704 = fadd float %703, %641 %705 = bitcast float %685 to i32 %706 = bitcast float %687 to i32 %707 = insertelement <2 x i32> undef, i32 %705, i32 0 %708 = insertelement <2 x i32> %707, i32 %706, i32 1 %709 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %708, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %temp32.13 %715 = fadd float %714, %698 %716 = fmul float %711, %temp32.13 %717 = fadd float %716, %700 %718 = fmul float %712, %temp32.13 %719 = fadd float %718, %702 %720 = fmul float %713, %643 %721 = fadd float %720, %704 %722 = fadd float %642, -6.250000e-02 %723 = fadd float %643, -6.250000e-02 %724 = fmul float %86, 2.000000e+00 %725 = fadd float %724, %645 %726 = fmul float %87, 2.000000e+00 %727 = fadd float %726, %647 %728 = fmul float %88, 2.000000e+00 %729 = fadd float %728, %649 %730 = fmul float %89, 2.000000e+00 %731 = fadd float %730, %651 %732 = fmul float %722, %722 %733 = fmul float %723, %723 %734 = fmul float %732, 4.000000e+00 %735 = fmul float %733, 4.000000e+00 %736 = fsub float -0.000000e+00, %722 %737 = fmul float %732, 4.000000e+00 %738 = fadd float %737, %736 %739 = fsub float -0.000000e+00, %723 %740 = fmul float %733, 4.000000e+00 %741 = fadd float %740, %739 %742 = fcmp oge float %738, 0.000000e+00 %743 = sext i1 %742 to i32 %744 = bitcast i32 %743 to float %745 = bitcast float %744 to i32 %746 = icmp ne i32 %745, 0 %.232 = select i1 %746, float %722, float %734 %747 = fcmp oge float %741, 0.000000e+00 %748 = sext i1 %747 to i32 %749 = bitcast i32 %748 to float %750 = bitcast float %749 to i32 %751 = icmp ne i32 %750, 0 %temp32.15 = select i1 %751, float %723, float %735 %752 = fcmp uge float %725, %26 %753 = select i1 %752, float %725, float %26 %754 = fcmp uge float %727, %27 %755 = select i1 %754, float %727, float %27 %756 = fcmp uge float %729, %26 %757 = select i1 %756, float %729, float %26 %758 = fcmp uge float %731, %27 %759 = select i1 %758, float %731, float %27 %760 = fcmp uge float %28, %753 %761 = select i1 %760, float %753, float %28 %762 = fcmp uge float %29, %755 %763 = select i1 %762, float %755, float %29 %764 = fcmp uge float %28, %757 %765 = select i1 %764, float %757, float %28 %766 = fcmp uge float %29, %759 %767 = select i1 %766, float %759, float %29 %768 = bitcast float %761 to i32 %769 = bitcast float %763 to i32 %770 = insertelement <2 x i32> undef, i32 %768, i32 0 %771 = insertelement <2 x i32> %770, i32 %769, i32 1 %772 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %771, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.232 %778 = fadd float %777, %715 %779 = fmul float %774, %.232 %780 = fadd float %779, %717 %781 = fmul float %775, %.232 %782 = fadd float %781, %719 %783 = fmul float %776, %722 %784 = fadd float %783, %721 %785 = bitcast float %765 to i32 %786 = bitcast float %767 to i32 %787 = insertelement <2 x i32> undef, i32 %785, i32 0 %788 = insertelement <2 x i32> %787, i32 %786, i32 1 %789 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %788, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %temp32.15 %795 = fadd float %794, %778 %796 = fmul float %791, %temp32.15 %797 = fadd float %796, %780 %798 = fmul float %792, %temp32.15 %799 = fadd float %798, %782 %800 = fmul float %793, %723 %801 = fadd float %800, %784 %802 = fadd float %722, -6.250000e-02 %803 = fadd float %723, -6.250000e-02 %804 = fmul float %86, 2.000000e+00 %805 = fadd float %804, %725 %806 = fmul float %87, 2.000000e+00 %807 = fadd float %806, %727 %808 = fmul float %88, 2.000000e+00 %809 = fadd float %808, %729 %810 = fmul float %89, 2.000000e+00 %811 = fadd float %810, %731 %812 = fmul float %802, %802 %813 = fmul float %803, %803 %814 = fmul float %812, 4.000000e+00 %815 = fmul float %813, 4.000000e+00 %816 = fsub float -0.000000e+00, %802 %817 = fmul float %812, 4.000000e+00 %818 = fadd float %817, %816 %819 = fsub float -0.000000e+00, %803 %820 = fmul float %813, 4.000000e+00 %821 = fadd float %820, %819 %822 = fcmp oge float %818, 0.000000e+00 %823 = sext i1 %822 to i32 %824 = bitcast i32 %823 to float %825 = bitcast float %824 to i32 %826 = icmp ne i32 %825, 0 %.233 = select i1 %826, float %802, float %814 %827 = fcmp oge float %821, 0.000000e+00 %828 = sext i1 %827 to i32 %829 = bitcast i32 %828 to float %830 = bitcast float %829 to i32 %831 = icmp ne i32 %830, 0 %temp32.17 = select i1 %831, float %803, float %815 %832 = fcmp uge float %805, %26 %833 = select i1 %832, float %805, float %26 %834 = fcmp uge float %807, %27 %835 = select i1 %834, float %807, float %27 %836 = fcmp uge float %809, %26 %837 = select i1 %836, float %809, float %26 %838 = fcmp uge float %811, %27 %839 = select i1 %838, float %811, float %27 %840 = fcmp uge float %28, %833 %841 = select i1 %840, float %833, float %28 %842 = fcmp uge float %29, %835 %843 = select i1 %842, float %835, float %29 %844 = fcmp uge float %28, %837 %845 = select i1 %844, float %837, float %28 %846 = fcmp uge float %29, %839 %847 = select i1 %846, float %839, float %29 %848 = bitcast float %841 to i32 %849 = bitcast float %843 to i32 %850 = insertelement <2 x i32> undef, i32 %848, i32 0 %851 = insertelement <2 x i32> %850, i32 %849, i32 1 %852 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %851, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.233 %858 = fadd float %857, %795 %859 = fmul float %854, %.233 %860 = fadd float %859, %797 %861 = fmul float %855, %.233 %862 = fadd float %861, %799 %863 = fmul float %856, %802 %864 = fadd float %863, %801 %865 = bitcast float %845 to i32 %866 = bitcast float %847 to i32 %867 = insertelement <2 x i32> undef, i32 %865, i32 0 %868 = insertelement <2 x i32> %867, i32 %866, i32 1 %869 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %868, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %temp32.17 %875 = fadd float %874, %858 %876 = fmul float %871, %temp32.17 %877 = fadd float %876, %860 %878 = fmul float %872, %temp32.17 %879 = fadd float %878, %862 %880 = fmul float %873, %803 %881 = fadd float %880, %864 %882 = fadd float %802, -6.250000e-02 %883 = fadd float %803, -6.250000e-02 %884 = fmul float %86, 2.000000e+00 %885 = fadd float %884, %805 %886 = fmul float %87, 2.000000e+00 %887 = fadd float %886, %807 %888 = fmul float %88, 2.000000e+00 %889 = fadd float %888, %809 %890 = fmul float %89, 2.000000e+00 %891 = fadd float %890, %811 %892 = fmul float %882, %882 %893 = fmul float %883, %883 %894 = fmul float %892, 4.000000e+00 %895 = fmul float %893, 4.000000e+00 %896 = fsub float -0.000000e+00, %882 %897 = fmul float %892, 4.000000e+00 %898 = fadd float %897, %896 %899 = fsub float -0.000000e+00, %883 %900 = fmul float %893, 4.000000e+00 %901 = fadd float %900, %899 %902 = fcmp oge float %898, 0.000000e+00 %903 = sext i1 %902 to i32 %904 = bitcast i32 %903 to float %905 = bitcast float %904 to i32 %906 = icmp ne i32 %905, 0 %.234 = select i1 %906, float %882, float %894 %907 = fcmp oge float %901, 0.000000e+00 %908 = sext i1 %907 to i32 %909 = bitcast i32 %908 to float %910 = bitcast float %909 to i32 %911 = icmp ne i32 %910, 0 %temp32.19 = select i1 %911, float %883, float %895 %912 = fcmp uge float %885, %26 %913 = select i1 %912, float %885, float %26 %914 = fcmp uge float %887, %27 %915 = select i1 %914, float %887, float %27 %916 = fcmp uge float %889, %26 %917 = select i1 %916, float %889, float %26 %918 = fcmp uge float %891, %27 %919 = select i1 %918, float %891, float %27 %920 = fcmp uge float %28, %913 %921 = select i1 %920, float %913, float %28 %922 = fcmp uge float %29, %915 %923 = select i1 %922, float %915, float %29 %924 = fcmp uge float %28, %917 %925 = select i1 %924, float %917, float %28 %926 = fcmp uge float %29, %919 %927 = select i1 %926, float %919, float %29 %928 = bitcast float %921 to i32 %929 = bitcast float %923 to i32 %930 = insertelement <2 x i32> undef, i32 %928, i32 0 %931 = insertelement <2 x i32> %930, i32 %929, i32 1 %932 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %931, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.234 %938 = fadd float %937, %875 %939 = fmul float %934, %.234 %940 = fadd float %939, %877 %941 = fmul float %935, %.234 %942 = fadd float %941, %879 %943 = fmul float %936, %882 %944 = fadd float %943, %881 %945 = bitcast float %925 to i32 %946 = bitcast float %927 to i32 %947 = insertelement <2 x i32> undef, i32 %945, i32 0 %948 = insertelement <2 x i32> %947, i32 %946, i32 1 %949 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %948, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %temp32.19 %955 = fadd float %954, %938 %956 = fmul float %951, %temp32.19 %957 = fadd float %956, %940 %958 = fmul float %952, %temp32.19 %959 = fadd float %958, %942 %960 = fmul float %953, %883 %961 = fadd float %960, %944 %962 = fadd float %882, -6.250000e-02 %963 = fadd float %883, -6.250000e-02 %964 = fmul float %86, 2.000000e+00 %965 = fadd float %964, %885 %966 = fmul float %87, 2.000000e+00 %967 = fadd float %966, %887 %968 = fmul float %88, 2.000000e+00 %969 = fadd float %968, %889 %970 = fmul float %89, 2.000000e+00 %971 = fadd float %970, %891 %972 = fmul float %962, %962 %973 = fmul float %963, %963 %974 = fmul float %972, 4.000000e+00 %975 = fmul float %973, 4.000000e+00 %976 = fsub float -0.000000e+00, %962 %977 = fmul float %972, 4.000000e+00 %978 = fadd float %977, %976 %979 = fsub float -0.000000e+00, %963 %980 = fmul float %973, 4.000000e+00 %981 = fadd float %980, %979 %982 = fcmp oge float %978, 0.000000e+00 %983 = sext i1 %982 to i32 %984 = bitcast i32 %983 to float %985 = bitcast float %984 to i32 %986 = icmp ne i32 %985, 0 %.235 = select i1 %986, float %962, float %974 %987 = fcmp oge float %981, 0.000000e+00 %988 = sext i1 %987 to i32 %989 = bitcast i32 %988 to float %990 = bitcast float %989 to i32 %991 = icmp ne i32 %990, 0 %temp32.21 = select i1 %991, float %963, float %975 %992 = fcmp uge float %965, %26 %993 = select i1 %992, float %965, float %26 %994 = fcmp uge float %967, %27 %995 = select i1 %994, float %967, float %27 %996 = fcmp uge float %969, %26 %997 = select i1 %996, float %969, float %26 %998 = fcmp uge float %971, %27 %999 = select i1 %998, float %971, float %27 %1000 = fcmp uge float %28, %993 %1001 = select i1 %1000, float %993, float %28 %1002 = fcmp uge float %29, %995 %1003 = select i1 %1002, float %995, float %29 %1004 = fcmp uge float %28, %997 %1005 = select i1 %1004, float %997, float %28 %1006 = fcmp uge float %29, %999 %1007 = select i1 %1006, float %999, float %29 %1008 = bitcast float %1001 to i32 %1009 = bitcast float %1003 to i32 %1010 = insertelement <2 x i32> undef, i32 %1008, i32 0 %1011 = insertelement <2 x i32> %1010, i32 %1009, i32 1 %1012 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1011, <32 x i8> %36, <16 x i8> %38, i32 2) %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, %.235 %1018 = fadd float %1017, %955 %1019 = fmul float %1014, %.235 %1020 = fadd float %1019, %957 %1021 = fmul float %1015, %.235 %1022 = fadd float %1021, %959 %1023 = fmul float %1016, %962 %1024 = fadd float %1023, %961 %1025 = bitcast float %1005 to i32 %1026 = bitcast float %1007 to i32 %1027 = insertelement <2 x i32> undef, i32 %1025, i32 0 %1028 = insertelement <2 x i32> %1027, i32 %1026, i32 1 %1029 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1028, <32 x i8> %36, <16 x i8> %38, i32 2) %1030 = extractelement <4 x float> %1029, i32 0 %1031 = extractelement <4 x float> %1029, i32 1 %1032 = extractelement <4 x float> %1029, i32 2 %1033 = extractelement <4 x float> %1029, i32 3 %1034 = fmul float %1030, %temp32.21 %1035 = fadd float %1034, %1018 %1036 = fmul float %1031, %temp32.21 %1037 = fadd float %1036, %1020 %1038 = fmul float %1032, %temp32.21 %1039 = fadd float %1038, %1022 %1040 = fmul float %1033, %963 %1041 = fadd float %1040, %1024 %1042 = fadd float %962, -6.250000e-02 %1043 = fadd float %963, -6.250000e-02 %1044 = fmul float %86, 2.000000e+00 %1045 = fadd float %1044, %965 %1046 = fmul float %87, 2.000000e+00 %1047 = fadd float %1046, %967 %1048 = fmul float %88, 2.000000e+00 %1049 = fadd float %1048, %969 %1050 = fmul float %89, 2.000000e+00 %1051 = fadd float %1050, %971 %1052 = fmul float %1042, %1042 %1053 = fmul float %1043, %1043 %1054 = fmul float %1052, 4.000000e+00 %1055 = fmul float %1053, 4.000000e+00 %1056 = fsub float -0.000000e+00, %1042 %1057 = fmul float %1052, 4.000000e+00 %1058 = fadd float %1057, %1056 %1059 = fsub float -0.000000e+00, %1043 %1060 = fmul float %1053, 4.000000e+00 %1061 = fadd float %1060, %1059 %1062 = fcmp oge float %1058, 0.000000e+00 %1063 = sext i1 %1062 to i32 %1064 = bitcast i32 %1063 to float %1065 = bitcast float %1064 to i32 %1066 = icmp ne i32 %1065, 0 %.236 = select i1 %1066, float %1042, float %1054 %1067 = fcmp oge float %1061, 0.000000e+00 %1068 = sext i1 %1067 to i32 %1069 = bitcast i32 %1068 to float %1070 = bitcast float %1069 to i32 %1071 = icmp ne i32 %1070, 0 %temp32.23 = select i1 %1071, float %1043, float %1055 %1072 = fcmp uge float %1045, %26 %1073 = select i1 %1072, float %1045, float %26 %1074 = fcmp uge float %1047, %27 %1075 = select i1 %1074, float %1047, float %27 %1076 = fcmp uge float %1049, %26 %1077 = select i1 %1076, float %1049, float %26 %1078 = fcmp uge float %1051, %27 %1079 = select i1 %1078, float %1051, float %27 %1080 = fcmp uge float %28, %1073 %1081 = select i1 %1080, float %1073, float %28 %1082 = fcmp uge float %29, %1075 %1083 = select i1 %1082, float %1075, float %29 %1084 = fcmp uge float %28, %1077 %1085 = select i1 %1084, float %1077, float %28 %1086 = fcmp uge float %29, %1079 %1087 = select i1 %1086, float %1079, float %29 %1088 = bitcast float %1081 to i32 %1089 = bitcast float %1083 to i32 %1090 = insertelement <2 x i32> undef, i32 %1088, i32 0 %1091 = insertelement <2 x i32> %1090, i32 %1089, i32 1 %1092 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1091, <32 x i8> %36, <16 x i8> %38, i32 2) %1093 = extractelement <4 x float> %1092, i32 0 %1094 = extractelement <4 x float> %1092, i32 1 %1095 = extractelement <4 x float> %1092, i32 2 %1096 = extractelement <4 x float> %1092, i32 3 %1097 = fmul float %1093, %.236 %1098 = fadd float %1097, %1035 %1099 = fmul float %1094, %.236 %1100 = fadd float %1099, %1037 %1101 = fmul float %1095, %.236 %1102 = fadd float %1101, %1039 %1103 = fmul float %1096, %1042 %1104 = fadd float %1103, %1041 %1105 = bitcast float %1085 to i32 %1106 = bitcast float %1087 to i32 %1107 = insertelement <2 x i32> undef, i32 %1105, i32 0 %1108 = insertelement <2 x i32> %1107, i32 %1106, i32 1 %1109 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1108, <32 x i8> %36, <16 x i8> %38, i32 2) %1110 = extractelement <4 x float> %1109, i32 0 %1111 = extractelement <4 x float> %1109, i32 1 %1112 = extractelement <4 x float> %1109, i32 2 %1113 = extractelement <4 x float> %1109, i32 3 %1114 = fmul float %1110, %temp32.23 %1115 = fadd float %1114, %1098 %1116 = fmul float %1111, %temp32.23 %1117 = fadd float %1116, %1100 %1118 = fmul float %1112, %temp32.23 %1119 = fadd float %1118, %1102 %1120 = fmul float %1113, %1043 %1121 = fadd float %1120, %1104 %1122 = fadd float %1042, -6.250000e-02 %1123 = fadd float %1043, -6.250000e-02 %1124 = fmul float %86, 2.000000e+00 %1125 = fadd float %1124, %1045 %1126 = fmul float %87, 2.000000e+00 %1127 = fadd float %1126, %1047 %1128 = fmul float %88, 2.000000e+00 %1129 = fadd float %1128, %1049 %1130 = fmul float %89, 2.000000e+00 %1131 = fadd float %1130, %1051 %1132 = fmul float %1122, %1122 %1133 = fmul float %1123, %1123 %1134 = fmul float %1132, 4.000000e+00 %1135 = fmul float %1133, 4.000000e+00 %1136 = fsub float -0.000000e+00, %1122 %1137 = fmul float %1132, 4.000000e+00 %1138 = fadd float %1137, %1136 %1139 = fsub float -0.000000e+00, %1123 %1140 = fmul float %1133, 4.000000e+00 %1141 = fadd float %1140, %1139 %1142 = fcmp oge float %1138, 0.000000e+00 %1143 = sext i1 %1142 to i32 %1144 = bitcast i32 %1143 to float %1145 = bitcast float %1144 to i32 %1146 = icmp ne i32 %1145, 0 %.237 = select i1 %1146, float %1122, float %1134 %1147 = fcmp oge float %1141, 0.000000e+00 %1148 = sext i1 %1147 to i32 %1149 = bitcast i32 %1148 to float %1150 = bitcast float %1149 to i32 %1151 = icmp ne i32 %1150, 0 %temp32.25 = select i1 %1151, float %1123, float %1135 %1152 = fcmp uge float %1125, %26 %1153 = select i1 %1152, float %1125, float %26 %1154 = fcmp uge float %1127, %27 %1155 = select i1 %1154, float %1127, float %27 %1156 = fcmp uge float %1129, %26 %1157 = select i1 %1156, float %1129, float %26 %1158 = fcmp uge float %1131, %27 %1159 = select i1 %1158, float %1131, float %27 %1160 = fcmp uge float %28, %1153 %1161 = select i1 %1160, float %1153, float %28 %1162 = fcmp uge float %29, %1155 %1163 = select i1 %1162, float %1155, float %29 %1164 = fcmp uge float %28, %1157 %1165 = select i1 %1164, float %1157, float %28 %1166 = fcmp uge float %29, %1159 %1167 = select i1 %1166, float %1159, float %29 %1168 = bitcast float %1161 to i32 %1169 = bitcast float %1163 to i32 %1170 = insertelement <2 x i32> undef, i32 %1168, i32 0 %1171 = insertelement <2 x i32> %1170, i32 %1169, i32 1 %1172 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1171, <32 x i8> %36, <16 x i8> %38, i32 2) %1173 = extractelement <4 x float> %1172, i32 0 %1174 = extractelement <4 x float> %1172, i32 1 %1175 = extractelement <4 x float> %1172, i32 2 %1176 = extractelement <4 x float> %1172, i32 3 %1177 = fmul float %1173, %.237 %1178 = fadd float %1177, %1115 %1179 = fmul float %1174, %.237 %1180 = fadd float %1179, %1117 %1181 = fmul float %1175, %.237 %1182 = fadd float %1181, %1119 %1183 = fmul float %1176, %1122 %1184 = fadd float %1183, %1121 %1185 = bitcast float %1165 to i32 %1186 = bitcast float %1167 to i32 %1187 = insertelement <2 x i32> undef, i32 %1185, i32 0 %1188 = insertelement <2 x i32> %1187, i32 %1186, i32 1 %1189 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1188, <32 x i8> %36, <16 x i8> %38, i32 2) %1190 = extractelement <4 x float> %1189, i32 0 %1191 = extractelement <4 x float> %1189, i32 1 %1192 = extractelement <4 x float> %1189, i32 2 %1193 = extractelement <4 x float> %1189, i32 3 %1194 = fmul float %1190, %temp32.25 %1195 = fadd float %1194, %1178 %1196 = fmul float %1191, %temp32.25 %1197 = fadd float %1196, %1180 %1198 = fmul float %1192, %temp32.25 %1199 = fadd float %1198, %1182 %1200 = fmul float %1193, %1123 %1201 = fadd float %1200, %1184 %1202 = fadd float %1122, -6.250000e-02 %1203 = fadd float %1123, -6.250000e-02 %1204 = fmul float %86, 2.000000e+00 %1205 = fadd float %1204, %1125 %1206 = fmul float %87, 2.000000e+00 %1207 = fadd float %1206, %1127 %1208 = fmul float %88, 2.000000e+00 %1209 = fadd float %1208, %1129 %1210 = fmul float %89, 2.000000e+00 %1211 = fadd float %1210, %1131 %1212 = fmul float %1202, %1202 %1213 = fmul float %1203, %1203 %1214 = fmul float %1212, 4.000000e+00 %1215 = fmul float %1213, 4.000000e+00 %1216 = fsub float -0.000000e+00, %1202 %1217 = fmul float %1212, 4.000000e+00 %1218 = fadd float %1217, %1216 %1219 = fsub float -0.000000e+00, %1203 %1220 = fmul float %1213, 4.000000e+00 %1221 = fadd float %1220, %1219 %1222 = fcmp oge float %1218, 0.000000e+00 %1223 = sext i1 %1222 to i32 %1224 = bitcast i32 %1223 to float %1225 = bitcast float %1224 to i32 %1226 = icmp ne i32 %1225, 0 %.238 = select i1 %1226, float %1202, float %1214 %1227 = fcmp oge float %1221, 0.000000e+00 %1228 = sext i1 %1227 to i32 %1229 = bitcast i32 %1228 to float %1230 = bitcast float %1229 to i32 %1231 = icmp ne i32 %1230, 0 %temp32.27 = select i1 %1231, float %1203, float %1215 %1232 = fcmp uge float %1205, %26 %1233 = select i1 %1232, float %1205, float %26 %1234 = fcmp uge float %1207, %27 %1235 = select i1 %1234, float %1207, float %27 %1236 = fcmp uge float %1209, %26 %1237 = select i1 %1236, float %1209, float %26 %1238 = fcmp uge float %1211, %27 %1239 = select i1 %1238, float %1211, float %27 %1240 = fcmp uge float %28, %1233 %1241 = select i1 %1240, float %1233, float %28 %1242 = fcmp uge float %29, %1235 %1243 = select i1 %1242, float %1235, float %29 %1244 = fcmp uge float %28, %1237 %1245 = select i1 %1244, float %1237, float %28 %1246 = fcmp uge float %29, %1239 %1247 = select i1 %1246, float %1239, float %29 %1248 = bitcast float %1241 to i32 %1249 = bitcast float %1243 to i32 %1250 = insertelement <2 x i32> undef, i32 %1248, i32 0 %1251 = insertelement <2 x i32> %1250, i32 %1249, i32 1 %1252 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1251, <32 x i8> %36, <16 x i8> %38, i32 2) %1253 = extractelement <4 x float> %1252, i32 0 %1254 = extractelement <4 x float> %1252, i32 1 %1255 = extractelement <4 x float> %1252, i32 2 %1256 = extractelement <4 x float> %1252, i32 3 %1257 = fmul float %1253, %.238 %1258 = fadd float %1257, %1195 %1259 = fmul float %1254, %.238 %1260 = fadd float %1259, %1197 %1261 = fmul float %1255, %.238 %1262 = fadd float %1261, %1199 %1263 = fmul float %1256, %1202 %1264 = fadd float %1263, %1201 %1265 = bitcast float %1245 to i32 %1266 = bitcast float %1247 to i32 %1267 = insertelement <2 x i32> undef, i32 %1265, i32 0 %1268 = insertelement <2 x i32> %1267, i32 %1266, i32 1 %1269 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1268, <32 x i8> %36, <16 x i8> %38, i32 2) %1270 = extractelement <4 x float> %1269, i32 0 %1271 = extractelement <4 x float> %1269, i32 1 %1272 = extractelement <4 x float> %1269, i32 2 %1273 = extractelement <4 x float> %1269, i32 3 %1274 = fmul float %1270, %temp32.27 %1275 = fadd float %1274, %1258 %1276 = fmul float %1271, %temp32.27 %1277 = fadd float %1276, %1260 %1278 = fmul float %1272, %temp32.27 %1279 = fadd float %1278, %1262 %1280 = fmul float %1273, %1203 %1281 = fadd float %1280, %1264 %1282 = fadd float %1202, -6.250000e-02 %1283 = fadd float %1203, -6.250000e-02 %1284 = fmul float %86, 2.000000e+00 %1285 = fadd float %1284, %1205 %1286 = fmul float %87, 2.000000e+00 %1287 = fadd float %1286, %1207 %1288 = fmul float %88, 2.000000e+00 %1289 = fadd float %1288, %1209 %1290 = fmul float %89, 2.000000e+00 %1291 = fadd float %1290, %1211 %1292 = fmul float %1282, %1282 %1293 = fmul float %1283, %1283 %1294 = fmul float %1292, 4.000000e+00 %1295 = fmul float %1293, 4.000000e+00 %1296 = fsub float -0.000000e+00, %1282 %1297 = fmul float %1292, 4.000000e+00 %1298 = fadd float %1297, %1296 %1299 = fsub float -0.000000e+00, %1283 %1300 = fmul float %1293, 4.000000e+00 %1301 = fadd float %1300, %1299 %1302 = fcmp oge float %1298, 0.000000e+00 %1303 = sext i1 %1302 to i32 %1304 = bitcast i32 %1303 to float %1305 = bitcast float %1304 to i32 %1306 = icmp ne i32 %1305, 0 %.239 = select i1 %1306, float %1282, float %1294 %1307 = fcmp oge float %1301, 0.000000e+00 %1308 = sext i1 %1307 to i32 %1309 = bitcast i32 %1308 to float %1310 = bitcast float %1309 to i32 %1311 = icmp ne i32 %1310, 0 %temp32.29 = select i1 %1311, float %1283, float %1295 %1312 = fcmp uge float %1285, %26 %1313 = select i1 %1312, float %1285, float %26 %1314 = fcmp uge float %1287, %27 %1315 = select i1 %1314, float %1287, float %27 %1316 = fcmp uge float %1289, %26 %1317 = select i1 %1316, float %1289, float %26 %1318 = fcmp uge float %1291, %27 %1319 = select i1 %1318, float %1291, float %27 %1320 = fcmp uge float %28, %1313 %1321 = select i1 %1320, float %1313, float %28 %1322 = fcmp uge float %29, %1315 %1323 = select i1 %1322, float %1315, float %29 %1324 = fcmp uge float %28, %1317 %1325 = select i1 %1324, float %1317, float %28 %1326 = fcmp uge float %29, %1319 %1327 = select i1 %1326, float %1319, float %29 %1328 = bitcast float %1321 to i32 %1329 = bitcast float %1323 to i32 %1330 = insertelement <2 x i32> undef, i32 %1328, i32 0 %1331 = insertelement <2 x i32> %1330, i32 %1329, i32 1 %1332 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1331, <32 x i8> %36, <16 x i8> %38, i32 2) %1333 = extractelement <4 x float> %1332, i32 0 %1334 = extractelement <4 x float> %1332, i32 1 %1335 = extractelement <4 x float> %1332, i32 2 %1336 = extractelement <4 x float> %1332, i32 3 %1337 = fmul float %1333, %.239 %1338 = fadd float %1337, %1275 %1339 = fmul float %1334, %.239 %1340 = fadd float %1339, %1277 %1341 = fmul float %1335, %.239 %1342 = fadd float %1341, %1279 %1343 = fmul float %1336, %1282 %1344 = fadd float %1343, %1281 %1345 = bitcast float %1325 to i32 %1346 = bitcast float %1327 to i32 %1347 = insertelement <2 x i32> undef, i32 %1345, i32 0 %1348 = insertelement <2 x i32> %1347, i32 %1346, i32 1 %1349 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1348, <32 x i8> %36, <16 x i8> %38, i32 2) %1350 = extractelement <4 x float> %1349, i32 0 %1351 = extractelement <4 x float> %1349, i32 1 %1352 = extractelement <4 x float> %1349, i32 2 %1353 = extractelement <4 x float> %1349, i32 3 %1354 = fmul float %1350, %temp32.29 %1355 = fadd float %1354, %1338 %1356 = fmul float %1351, %temp32.29 %1357 = fadd float %1356, %1340 %1358 = fmul float %1352, %temp32.29 %1359 = fadd float %1358, %1342 %1360 = fmul float %1353, %1283 %1361 = fadd float %1360, %1344 %1362 = fadd float %1282, -6.250000e-02 %1363 = fadd float %1283, -6.250000e-02 %1364 = fmul float %86, 2.000000e+00 %1365 = fadd float %1364, %1285 %1366 = fmul float %87, 2.000000e+00 %1367 = fadd float %1366, %1287 %1368 = fmul float %88, 2.000000e+00 %1369 = fadd float %1368, %1289 %1370 = fmul float %89, 2.000000e+00 %1371 = fadd float %1370, %1291 %1372 = fmul float %1362, %1362 %1373 = fmul float %1363, %1363 %1374 = fmul float %1372, 4.000000e+00 %1375 = fmul float %1373, 4.000000e+00 %1376 = fsub float -0.000000e+00, %1362 %1377 = fmul float %1372, 4.000000e+00 %1378 = fadd float %1377, %1376 %1379 = fsub float -0.000000e+00, %1363 %1380 = fmul float %1373, 4.000000e+00 %1381 = fadd float %1380, %1379 %1382 = fcmp oge float %1378, 0.000000e+00 %1383 = sext i1 %1382 to i32 %1384 = bitcast i32 %1383 to float %1385 = bitcast float %1384 to i32 %1386 = icmp ne i32 %1385, 0 %.240 = select i1 %1386, float %1362, float %1374 %1387 = fcmp oge float %1381, 0.000000e+00 %1388 = sext i1 %1387 to i32 %1389 = bitcast i32 %1388 to float %1390 = bitcast float %1389 to i32 %1391 = icmp ne i32 %1390, 0 %temp32.31 = select i1 %1391, float %1363, float %1375 %1392 = fcmp uge float %1365, %26 %1393 = select i1 %1392, float %1365, float %26 %1394 = fcmp uge float %1367, %27 %1395 = select i1 %1394, float %1367, float %27 %1396 = fcmp uge float %1369, %26 %1397 = select i1 %1396, float %1369, float %26 %1398 = fcmp uge float %1371, %27 %1399 = select i1 %1398, float %1371, float %27 %1400 = fcmp uge float %28, %1393 %1401 = select i1 %1400, float %1393, float %28 %1402 = fcmp uge float %29, %1395 %1403 = select i1 %1402, float %1395, float %29 %1404 = fcmp uge float %28, %1397 %1405 = select i1 %1404, float %1397, float %28 %1406 = fcmp uge float %29, %1399 %1407 = select i1 %1406, float %1399, float %29 %1408 = bitcast float %1401 to i32 %1409 = bitcast float %1403 to i32 %1410 = insertelement <2 x i32> undef, i32 %1408, i32 0 %1411 = insertelement <2 x i32> %1410, i32 %1409, i32 1 %1412 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1411, <32 x i8> %36, <16 x i8> %38, i32 2) %1413 = extractelement <4 x float> %1412, i32 0 %1414 = extractelement <4 x float> %1412, i32 1 %1415 = extractelement <4 x float> %1412, i32 2 %1416 = extractelement <4 x float> %1412, i32 3 %1417 = fmul float %1413, %.240 %1418 = fadd float %1417, %1355 %1419 = fmul float %1414, %.240 %1420 = fadd float %1419, %1357 %1421 = fmul float %1415, %.240 %1422 = fadd float %1421, %1359 %1423 = fmul float %1416, %1362 %1424 = fadd float %1423, %1361 %1425 = bitcast float %1405 to i32 %1426 = bitcast float %1407 to i32 %1427 = insertelement <2 x i32> undef, i32 %1425, i32 0 %1428 = insertelement <2 x i32> %1427, i32 %1426, i32 1 %1429 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1428, <32 x i8> %36, <16 x i8> %38, i32 2) %1430 = extractelement <4 x float> %1429, i32 0 %1431 = extractelement <4 x float> %1429, i32 1 %1432 = extractelement <4 x float> %1429, i32 2 %1433 = extractelement <4 x float> %1429, i32 3 %1434 = fmul float %1430, %temp32.31 %1435 = fadd float %1434, %1418 %1436 = fmul float %1431, %temp32.31 %1437 = fadd float %1436, %1420 %1438 = fmul float %1432, %temp32.31 %1439 = fadd float %1438, %1422 %1440 = fmul float %1433, %1363 %1441 = fadd float %1440, %1424 %1442 = fadd float %1362, -6.250000e-02 %1443 = fadd float %1363, -6.250000e-02 %1444 = fmul float %86, 2.000000e+00 %1445 = fadd float %1444, %1365 %1446 = fmul float %87, 2.000000e+00 %1447 = fadd float %1446, %1367 %1448 = fmul float %88, 2.000000e+00 %1449 = fadd float %1448, %1369 %1450 = fmul float %89, 2.000000e+00 %1451 = fadd float %1450, %1371 %1452 = fmul float %1442, %1442 %1453 = fmul float %1443, %1443 %1454 = fmul float %1452, 4.000000e+00 %1455 = fmul float %1453, 4.000000e+00 %1456 = fsub float -0.000000e+00, %1442 %1457 = fmul float %1452, 4.000000e+00 %1458 = fadd float %1457, %1456 %1459 = fsub float -0.000000e+00, %1443 %1460 = fmul float %1453, 4.000000e+00 %1461 = fadd float %1460, %1459 %1462 = fcmp oge float %1458, 0.000000e+00 %1463 = sext i1 %1462 to i32 %1464 = bitcast i32 %1463 to float %1465 = bitcast float %1464 to i32 %1466 = icmp ne i32 %1465, 0 %.241 = select i1 %1466, float %1442, float %1454 %1467 = fcmp oge float %1461, 0.000000e+00 %1468 = sext i1 %1467 to i32 %1469 = bitcast i32 %1468 to float %1470 = bitcast float %1469 to i32 %1471 = icmp ne i32 %1470, 0 %temp32.33 = select i1 %1471, float %1443, float %1455 %1472 = fcmp uge float %1445, %26 %1473 = select i1 %1472, float %1445, float %26 %1474 = fcmp uge float %1447, %27 %1475 = select i1 %1474, float %1447, float %27 %1476 = fcmp uge float %1449, %26 %1477 = select i1 %1476, float %1449, float %26 %1478 = fcmp uge float %1451, %27 %1479 = select i1 %1478, float %1451, float %27 %1480 = fcmp uge float %28, %1473 %1481 = select i1 %1480, float %1473, float %28 %1482 = fcmp uge float %29, %1475 %1483 = select i1 %1482, float %1475, float %29 %1484 = fcmp uge float %28, %1477 %1485 = select i1 %1484, float %1477, float %28 %1486 = fcmp uge float %29, %1479 %1487 = select i1 %1486, float %1479, float %29 %1488 = bitcast float %1481 to i32 %1489 = bitcast float %1483 to i32 %1490 = insertelement <2 x i32> undef, i32 %1488, i32 0 %1491 = insertelement <2 x i32> %1490, i32 %1489, i32 1 %1492 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1491, <32 x i8> %36, <16 x i8> %38, i32 2) %1493 = extractelement <4 x float> %1492, i32 0 %1494 = extractelement <4 x float> %1492, i32 1 %1495 = extractelement <4 x float> %1492, i32 2 %1496 = extractelement <4 x float> %1492, i32 3 %1497 = fmul float %1493, %.241 %1498 = fadd float %1497, %1435 %1499 = fmul float %1494, %.241 %1500 = fadd float %1499, %1437 %1501 = fmul float %1495, %.241 %1502 = fadd float %1501, %1439 %1503 = fmul float %1496, %1442 %1504 = fadd float %1503, %1441 %1505 = bitcast float %1485 to i32 %1506 = bitcast float %1487 to i32 %1507 = insertelement <2 x i32> undef, i32 %1505, i32 0 %1508 = insertelement <2 x i32> %1507, i32 %1506, i32 1 %1509 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1508, <32 x i8> %36, <16 x i8> %38, i32 2) %1510 = extractelement <4 x float> %1509, i32 0 %1511 = extractelement <4 x float> %1509, i32 1 %1512 = extractelement <4 x float> %1509, i32 2 %1513 = extractelement <4 x float> %1509, i32 3 %1514 = fmul float %1510, %temp32.33 %1515 = fadd float %1514, %1498 %1516 = fmul float %1511, %temp32.33 %1517 = fadd float %1516, %1500 %1518 = fmul float %1512, %temp32.33 %1519 = fadd float %1518, %1502 %1520 = fmul float %1513, %1443 %1521 = fadd float %1520, %1504 %1522 = fadd float %1442, -6.250000e-02 %1523 = fadd float %1443, -6.250000e-02 %1524 = fmul float %86, 2.000000e+00 %1525 = fadd float %1524, %1445 %1526 = fmul float %87, 2.000000e+00 %1527 = fadd float %1526, %1447 %1528 = fmul float %88, 2.000000e+00 %1529 = fadd float %1528, %1449 %1530 = fmul float %89, 2.000000e+00 %1531 = fadd float %1530, %1451 %1532 = fmul float %1522, %1522 %1533 = fmul float %1523, %1523 %1534 = fmul float %1532, 4.000000e+00 %1535 = fmul float %1533, 4.000000e+00 %1536 = fsub float -0.000000e+00, %1522 %1537 = fmul float %1532, 4.000000e+00 %1538 = fadd float %1537, %1536 %1539 = fsub float -0.000000e+00, %1523 %1540 = fmul float %1533, 4.000000e+00 %1541 = fadd float %1540, %1539 %1542 = fcmp oge float %1538, 0.000000e+00 %1543 = sext i1 %1542 to i32 %1544 = bitcast i32 %1543 to float %1545 = bitcast float %1544 to i32 %1546 = icmp ne i32 %1545, 0 %.242 = select i1 %1546, float %1522, float %1534 %1547 = fcmp oge float %1541, 0.000000e+00 %1548 = sext i1 %1547 to i32 %1549 = bitcast i32 %1548 to float %1550 = bitcast float %1549 to i32 %1551 = icmp ne i32 %1550, 0 %temp32.35 = select i1 %1551, float %1523, float %1535 %1552 = fcmp uge float %1525, %26 %1553 = select i1 %1552, float %1525, float %26 %1554 = fcmp uge float %1527, %27 %1555 = select i1 %1554, float %1527, float %27 %1556 = fcmp uge float %1529, %26 %1557 = select i1 %1556, float %1529, float %26 %1558 = fcmp uge float %1531, %27 %1559 = select i1 %1558, float %1531, float %27 %1560 = fcmp uge float %28, %1553 %1561 = select i1 %1560, float %1553, float %28 %1562 = fcmp uge float %29, %1555 %1563 = select i1 %1562, float %1555, float %29 %1564 = fcmp uge float %28, %1557 %1565 = select i1 %1564, float %1557, float %28 %1566 = fcmp uge float %29, %1559 %1567 = select i1 %1566, float %1559, float %29 %1568 = bitcast float %1561 to i32 %1569 = bitcast float %1563 to i32 %1570 = insertelement <2 x i32> undef, i32 %1568, i32 0 %1571 = insertelement <2 x i32> %1570, i32 %1569, i32 1 %1572 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1571, <32 x i8> %36, <16 x i8> %38, i32 2) %1573 = extractelement <4 x float> %1572, i32 0 %1574 = extractelement <4 x float> %1572, i32 1 %1575 = extractelement <4 x float> %1572, i32 2 %1576 = extractelement <4 x float> %1572, i32 3 %1577 = fmul float %1573, %.242 %1578 = fadd float %1577, %1515 %1579 = fmul float %1574, %.242 %1580 = fadd float %1579, %1517 %1581 = fmul float %1575, %.242 %1582 = fadd float %1581, %1519 %1583 = fmul float %1576, %1522 %1584 = fadd float %1583, %1521 %1585 = bitcast float %1565 to i32 %1586 = bitcast float %1567 to i32 %1587 = insertelement <2 x i32> undef, i32 %1585, i32 0 %1588 = insertelement <2 x i32> %1587, i32 %1586, i32 1 %1589 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1588, <32 x i8> %36, <16 x i8> %38, i32 2) %1590 = extractelement <4 x float> %1589, i32 0 %1591 = extractelement <4 x float> %1589, i32 1 %1592 = extractelement <4 x float> %1589, i32 2 %1593 = extractelement <4 x float> %1589, i32 3 %1594 = fmul float %1590, %temp32.35 %1595 = fadd float %1594, %1578 %1596 = fmul float %1591, %temp32.35 %1597 = fadd float %1596, %1580 %1598 = fmul float %1592, %temp32.35 %1599 = fadd float %1598, %1582 %1600 = fmul float %1593, %1523 %1601 = fadd float %1600, %1584 %1602 = fadd float %1522, -6.250000e-02 %1603 = fadd float %1523, -6.250000e-02 %1604 = fmul float %86, 2.000000e+00 %1605 = fadd float %1604, %1525 %1606 = fmul float %87, 2.000000e+00 %1607 = fadd float %1606, %1527 %1608 = fmul float %88, 2.000000e+00 %1609 = fadd float %1608, %1529 %1610 = fmul float %89, 2.000000e+00 %1611 = fadd float %1610, %1531 %1612 = fmul float %1602, %1602 %1613 = fmul float %1603, %1603 %1614 = fmul float %1612, 4.000000e+00 %1615 = fmul float %1613, 4.000000e+00 %1616 = fsub float -0.000000e+00, %1602 %1617 = fmul float %1612, 4.000000e+00 %1618 = fadd float %1617, %1616 %1619 = fsub float -0.000000e+00, %1603 %1620 = fmul float %1613, 4.000000e+00 %1621 = fadd float %1620, %1619 %1622 = fcmp oge float %1618, 0.000000e+00 %1623 = sext i1 %1622 to i32 %1624 = bitcast i32 %1623 to float %1625 = bitcast float %1624 to i32 %1626 = icmp ne i32 %1625, 0 %.243 = select i1 %1626, float %1602, float %1614 %1627 = fcmp oge float %1621, 0.000000e+00 %1628 = sext i1 %1627 to i32 %1629 = bitcast i32 %1628 to float %1630 = bitcast float %1629 to i32 %1631 = icmp ne i32 %1630, 0 %temp32.37 = select i1 %1631, float %1603, float %1615 %1632 = fcmp uge float %1605, %26 %1633 = select i1 %1632, float %1605, float %26 %1634 = fcmp uge float %1607, %27 %1635 = select i1 %1634, float %1607, float %27 %1636 = fcmp uge float %1609, %26 %1637 = select i1 %1636, float %1609, float %26 %1638 = fcmp uge float %1611, %27 %1639 = select i1 %1638, float %1611, float %27 %1640 = fcmp uge float %28, %1633 %1641 = select i1 %1640, float %1633, float %28 %1642 = fcmp uge float %29, %1635 %1643 = select i1 %1642, float %1635, float %29 %1644 = fcmp uge float %28, %1637 %1645 = select i1 %1644, float %1637, float %28 %1646 = fcmp uge float %29, %1639 %1647 = select i1 %1646, float %1639, float %29 %1648 = bitcast float %1641 to i32 %1649 = bitcast float %1643 to i32 %1650 = insertelement <2 x i32> undef, i32 %1648, i32 0 %1651 = insertelement <2 x i32> %1650, i32 %1649, i32 1 %1652 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1651, <32 x i8> %36, <16 x i8> %38, i32 2) %1653 = extractelement <4 x float> %1652, i32 0 %1654 = extractelement <4 x float> %1652, i32 1 %1655 = extractelement <4 x float> %1652, i32 2 %1656 = extractelement <4 x float> %1652, i32 3 %1657 = fmul float %1653, %.243 %1658 = fadd float %1657, %1595 %1659 = fmul float %1654, %.243 %1660 = fadd float %1659, %1597 %1661 = fmul float %1655, %.243 %1662 = fadd float %1661, %1599 %1663 = fmul float %1656, %1602 %1664 = fadd float %1663, %1601 %1665 = bitcast float %1645 to i32 %1666 = bitcast float %1647 to i32 %1667 = insertelement <2 x i32> undef, i32 %1665, i32 0 %1668 = insertelement <2 x i32> %1667, i32 %1666, i32 1 %1669 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1668, <32 x i8> %36, <16 x i8> %38, i32 2) %1670 = extractelement <4 x float> %1669, i32 0 %1671 = extractelement <4 x float> %1669, i32 1 %1672 = extractelement <4 x float> %1669, i32 2 %1673 = extractelement <4 x float> %1669, i32 3 %1674 = fmul float %1670, %temp32.37 %1675 = fadd float %1674, %1658 %1676 = fmul float %1671, %temp32.37 %1677 = fadd float %1676, %1660 %1678 = fmul float %1672, %temp32.37 %1679 = fadd float %1678, %1662 %1680 = fmul float %1673, %1603 %1681 = fadd float %1680, %1664 %1682 = fadd float %1602, -6.250000e-02 %1683 = fadd float %1603, -6.250000e-02 %1684 = fmul float %86, 2.000000e+00 %1685 = fadd float %1684, %1605 %1686 = fmul float %87, 2.000000e+00 %1687 = fadd float %1686, %1607 %1688 = fmul float %88, 2.000000e+00 %1689 = fadd float %1688, %1609 %1690 = fmul float %89, 2.000000e+00 %1691 = fadd float %1690, %1611 %1692 = fmul float %1682, %1682 %1693 = fmul float %1683, %1683 %1694 = fmul float %1692, 4.000000e+00 %1695 = fmul float %1693, 4.000000e+00 %1696 = fsub float -0.000000e+00, %1682 %1697 = fmul float %1692, 4.000000e+00 %1698 = fadd float %1697, %1696 %1699 = fsub float -0.000000e+00, %1683 %1700 = fmul float %1693, 4.000000e+00 %1701 = fadd float %1700, %1699 %1702 = fcmp oge float %1698, 0.000000e+00 %1703 = sext i1 %1702 to i32 %1704 = bitcast i32 %1703 to float %1705 = bitcast float %1704 to i32 %1706 = icmp ne i32 %1705, 0 %.244 = select i1 %1706, float %1682, float %1694 %1707 = fcmp oge float %1701, 0.000000e+00 %1708 = sext i1 %1707 to i32 %1709 = bitcast i32 %1708 to float %1710 = bitcast float %1709 to i32 %1711 = icmp ne i32 %1710, 0 %temp32.39 = select i1 %1711, float %1683, float %1695 %1712 = fcmp uge float %1685, %26 %1713 = select i1 %1712, float %1685, float %26 %1714 = fcmp uge float %1687, %27 %1715 = select i1 %1714, float %1687, float %27 %1716 = fcmp uge float %1689, %26 %1717 = select i1 %1716, float %1689, float %26 %1718 = fcmp uge float %1691, %27 %1719 = select i1 %1718, float %1691, float %27 %1720 = fcmp uge float %28, %1713 %1721 = select i1 %1720, float %1713, float %28 %1722 = fcmp uge float %29, %1715 %1723 = select i1 %1722, float %1715, float %29 %1724 = fcmp uge float %28, %1717 %1725 = select i1 %1724, float %1717, float %28 %1726 = fcmp uge float %29, %1719 %1727 = select i1 %1726, float %1719, float %29 %1728 = bitcast float %1721 to i32 %1729 = bitcast float %1723 to i32 %1730 = insertelement <2 x i32> undef, i32 %1728, i32 0 %1731 = insertelement <2 x i32> %1730, i32 %1729, i32 1 %1732 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1731, <32 x i8> %36, <16 x i8> %38, i32 2) %1733 = extractelement <4 x float> %1732, i32 0 %1734 = extractelement <4 x float> %1732, i32 1 %1735 = extractelement <4 x float> %1732, i32 2 %1736 = extractelement <4 x float> %1732, i32 3 %1737 = fmul float %1733, %.244 %1738 = fadd float %1737, %1675 %1739 = fmul float %1734, %.244 %1740 = fadd float %1739, %1677 %1741 = fmul float %1735, %.244 %1742 = fadd float %1741, %1679 %1743 = fmul float %1736, %1682 %1744 = fadd float %1743, %1681 %1745 = bitcast float %1725 to i32 %1746 = bitcast float %1727 to i32 %1747 = insertelement <2 x i32> undef, i32 %1745, i32 0 %1748 = insertelement <2 x i32> %1747, i32 %1746, i32 1 %1749 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1748, <32 x i8> %36, <16 x i8> %38, i32 2) %1750 = extractelement <4 x float> %1749, i32 0 %1751 = extractelement <4 x float> %1749, i32 1 %1752 = extractelement <4 x float> %1749, i32 2 %1753 = extractelement <4 x float> %1749, i32 3 %1754 = fmul float %1750, %temp32.39 %1755 = fadd float %1754, %1738 %1756 = fmul float %1751, %temp32.39 %1757 = fadd float %1756, %1740 %1758 = fmul float %1752, %temp32.39 %1759 = fadd float %1758, %1742 %1760 = fmul float %1753, %1683 %1761 = fadd float %1760, %1744 %1762 = fadd float %1682, -6.250000e-02 %1763 = fadd float %1683, -6.250000e-02 %1764 = fmul float %86, 2.000000e+00 %1765 = fadd float %1764, %1685 %1766 = fmul float %87, 2.000000e+00 %1767 = fadd float %1766, %1687 %1768 = fmul float %88, 2.000000e+00 %1769 = fadd float %1768, %1689 %1770 = fmul float %89, 2.000000e+00 %1771 = fadd float %1770, %1691 %1772 = fmul float %1762, %1762 %1773 = fmul float %1763, %1763 %1774 = fmul float %1772, 4.000000e+00 %1775 = fmul float %1773, 4.000000e+00 %1776 = fsub float -0.000000e+00, %1762 %1777 = fmul float %1772, 4.000000e+00 %1778 = fadd float %1777, %1776 %1779 = fsub float -0.000000e+00, %1763 %1780 = fmul float %1773, 4.000000e+00 %1781 = fadd float %1780, %1779 %1782 = fcmp oge float %1778, 0.000000e+00 %1783 = sext i1 %1782 to i32 %1784 = bitcast i32 %1783 to float %1785 = bitcast float %1784 to i32 %1786 = icmp ne i32 %1785, 0 %.245 = select i1 %1786, float %1762, float %1774 %1787 = fcmp oge float %1781, 0.000000e+00 %1788 = sext i1 %1787 to i32 %1789 = bitcast i32 %1788 to float %1790 = bitcast float %1789 to i32 %1791 = icmp ne i32 %1790, 0 %temp32.41 = select i1 %1791, float %1763, float %1775 %1792 = fcmp uge float %1765, %26 %1793 = select i1 %1792, float %1765, float %26 %1794 = fcmp uge float %1767, %27 %1795 = select i1 %1794, float %1767, float %27 %1796 = fcmp uge float %1769, %26 %1797 = select i1 %1796, float %1769, float %26 %1798 = fcmp uge float %1771, %27 %1799 = select i1 %1798, float %1771, float %27 %1800 = fcmp uge float %28, %1793 %1801 = select i1 %1800, float %1793, float %28 %1802 = fcmp uge float %29, %1795 %1803 = select i1 %1802, float %1795, float %29 %1804 = fcmp uge float %28, %1797 %1805 = select i1 %1804, float %1797, float %28 %1806 = fcmp uge float %29, %1799 %1807 = select i1 %1806, float %1799, float %29 %1808 = bitcast float %1801 to i32 %1809 = bitcast float %1803 to i32 %1810 = insertelement <2 x i32> undef, i32 %1808, i32 0 %1811 = insertelement <2 x i32> %1810, i32 %1809, i32 1 %1812 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1811, <32 x i8> %36, <16 x i8> %38, i32 2) %1813 = extractelement <4 x float> %1812, i32 0 %1814 = extractelement <4 x float> %1812, i32 1 %1815 = extractelement <4 x float> %1812, i32 2 %1816 = extractelement <4 x float> %1812, i32 3 %1817 = fmul float %1813, %.245 %1818 = fadd float %1817, %1755 %1819 = fmul float %1814, %.245 %1820 = fadd float %1819, %1757 %1821 = fmul float %1815, %.245 %1822 = fadd float %1821, %1759 %1823 = fmul float %1816, %1762 %1824 = fadd float %1823, %1761 %1825 = bitcast float %1805 to i32 %1826 = bitcast float %1807 to i32 %1827 = insertelement <2 x i32> undef, i32 %1825, i32 0 %1828 = insertelement <2 x i32> %1827, i32 %1826, i32 1 %1829 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1828, <32 x i8> %36, <16 x i8> %38, i32 2) %1830 = extractelement <4 x float> %1829, i32 0 %1831 = extractelement <4 x float> %1829, i32 1 %1832 = extractelement <4 x float> %1829, i32 2 %1833 = extractelement <4 x float> %1829, i32 3 %1834 = fmul float %1830, %temp32.41 %1835 = fadd float %1834, %1818 %1836 = fmul float %1831, %temp32.41 %1837 = fadd float %1836, %1820 %1838 = fmul float %1832, %temp32.41 %1839 = fadd float %1838, %1822 %1840 = fmul float %1833, %1763 %1841 = fadd float %1840, %1824 %1842 = fadd float %1762, -6.250000e-02 %1843 = fadd float %1763, -6.250000e-02 %1844 = fmul float %86, 2.000000e+00 %1845 = fadd float %1844, %1765 %1846 = fmul float %87, 2.000000e+00 %1847 = fadd float %1846, %1767 %1848 = fmul float %88, 2.000000e+00 %1849 = fadd float %1848, %1769 %1850 = fmul float %89, 2.000000e+00 %1851 = fadd float %1850, %1771 %1852 = fmul float %1842, %1842 %1853 = fmul float %1843, %1843 %1854 = fmul float %1852, 4.000000e+00 %1855 = fmul float %1853, 4.000000e+00 %1856 = fsub float -0.000000e+00, %1842 %1857 = fmul float %1852, 4.000000e+00 %1858 = fadd float %1857, %1856 %1859 = fsub float -0.000000e+00, %1843 %1860 = fmul float %1853, 4.000000e+00 %1861 = fadd float %1860, %1859 %1862 = fcmp oge float %1858, 0.000000e+00 %1863 = sext i1 %1862 to i32 %1864 = bitcast i32 %1863 to float %1865 = bitcast float %1864 to i32 %1866 = icmp ne i32 %1865, 0 %.246 = select i1 %1866, float %1842, float %1854 %1867 = fcmp oge float %1861, 0.000000e+00 %1868 = sext i1 %1867 to i32 %1869 = bitcast i32 %1868 to float %1870 = bitcast float %1869 to i32 %1871 = icmp ne i32 %1870, 0 %temp32.43 = select i1 %1871, float %1843, float %1855 %1872 = fcmp uge float %1845, %26 %1873 = select i1 %1872, float %1845, float %26 %1874 = fcmp uge float %1847, %27 %1875 = select i1 %1874, float %1847, float %27 %1876 = fcmp uge float %1849, %26 %1877 = select i1 %1876, float %1849, float %26 %1878 = fcmp uge float %1851, %27 %1879 = select i1 %1878, float %1851, float %27 %1880 = fcmp uge float %28, %1873 %1881 = select i1 %1880, float %1873, float %28 %1882 = fcmp uge float %29, %1875 %1883 = select i1 %1882, float %1875, float %29 %1884 = fcmp uge float %28, %1877 %1885 = select i1 %1884, float %1877, float %28 %1886 = fcmp uge float %29, %1879 %1887 = select i1 %1886, float %1879, float %29 %1888 = bitcast float %1881 to i32 %1889 = bitcast float %1883 to i32 %1890 = insertelement <2 x i32> undef, i32 %1888, i32 0 %1891 = insertelement <2 x i32> %1890, i32 %1889, i32 1 %1892 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1891, <32 x i8> %36, <16 x i8> %38, i32 2) %1893 = extractelement <4 x float> %1892, i32 0 %1894 = extractelement <4 x float> %1892, i32 1 %1895 = extractelement <4 x float> %1892, i32 2 %1896 = extractelement <4 x float> %1892, i32 3 %1897 = fmul float %1893, %.246 %1898 = fadd float %1897, %1835 %1899 = fmul float %1894, %.246 %1900 = fadd float %1899, %1837 %1901 = fmul float %1895, %.246 %1902 = fadd float %1901, %1839 %1903 = fmul float %1896, %1842 %1904 = fadd float %1903, %1841 %1905 = bitcast float %1885 to i32 %1906 = bitcast float %1887 to i32 %1907 = insertelement <2 x i32> undef, i32 %1905, i32 0 %1908 = insertelement <2 x i32> %1907, i32 %1906, i32 1 %1909 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1908, <32 x i8> %36, <16 x i8> %38, i32 2) %1910 = extractelement <4 x float> %1909, i32 0 %1911 = extractelement <4 x float> %1909, i32 1 %1912 = extractelement <4 x float> %1909, i32 2 %1913 = extractelement <4 x float> %1909, i32 3 %1914 = fmul float %1910, %temp32.43 %1915 = fadd float %1914, %1898 %1916 = fmul float %1911, %temp32.43 %1917 = fadd float %1916, %1900 %1918 = fmul float %1912, %temp32.43 %1919 = fadd float %1918, %1902 %1920 = fmul float %1913, %1843 %1921 = fadd float %1920, %1904 %1922 = fadd float %1842, -6.250000e-02 %1923 = fadd float %1843, -6.250000e-02 %1924 = fmul float %86, 2.000000e+00 %1925 = fadd float %1924, %1845 %1926 = fmul float %87, 2.000000e+00 %1927 = fadd float %1926, %1847 %1928 = fmul float %88, 2.000000e+00 %1929 = fadd float %1928, %1849 %1930 = fmul float %89, 2.000000e+00 %1931 = fadd float %1930, %1851 %1932 = fmul float %1922, %1922 %1933 = fmul float %1923, %1923 %1934 = fmul float %1932, 4.000000e+00 %1935 = fmul float %1933, 4.000000e+00 %1936 = fsub float -0.000000e+00, %1922 %1937 = fmul float %1932, 4.000000e+00 %1938 = fadd float %1937, %1936 %1939 = fsub float -0.000000e+00, %1923 %1940 = fmul float %1933, 4.000000e+00 %1941 = fadd float %1940, %1939 %1942 = fcmp oge float %1938, 0.000000e+00 %1943 = sext i1 %1942 to i32 %1944 = bitcast i32 %1943 to float %1945 = bitcast float %1944 to i32 %1946 = icmp ne i32 %1945, 0 %.247 = select i1 %1946, float %1922, float %1934 %1947 = fcmp oge float %1941, 0.000000e+00 %1948 = sext i1 %1947 to i32 %1949 = bitcast i32 %1948 to float %1950 = bitcast float %1949 to i32 %1951 = icmp ne i32 %1950, 0 %temp32.45 = select i1 %1951, float %1923, float %1935 %1952 = fcmp uge float %1925, %26 %1953 = select i1 %1952, float %1925, float %26 %1954 = fcmp uge float %1927, %27 %1955 = select i1 %1954, float %1927, float %27 %1956 = fcmp uge float %1929, %26 %1957 = select i1 %1956, float %1929, float %26 %1958 = fcmp uge float %1931, %27 %1959 = select i1 %1958, float %1931, float %27 %1960 = fcmp uge float %28, %1953 %1961 = select i1 %1960, float %1953, float %28 %1962 = fcmp uge float %29, %1955 %1963 = select i1 %1962, float %1955, float %29 %1964 = fcmp uge float %28, %1957 %1965 = select i1 %1964, float %1957, float %28 %1966 = fcmp uge float %29, %1959 %1967 = select i1 %1966, float %1959, float %29 %1968 = bitcast float %1961 to i32 %1969 = bitcast float %1963 to i32 %1970 = insertelement <2 x i32> undef, i32 %1968, i32 0 %1971 = insertelement <2 x i32> %1970, i32 %1969, i32 1 %1972 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1971, <32 x i8> %36, <16 x i8> %38, i32 2) %1973 = extractelement <4 x float> %1972, i32 0 %1974 = extractelement <4 x float> %1972, i32 1 %1975 = extractelement <4 x float> %1972, i32 2 %1976 = extractelement <4 x float> %1972, i32 3 %1977 = fmul float %1973, %.247 %1978 = fadd float %1977, %1915 %1979 = fmul float %1974, %.247 %1980 = fadd float %1979, %1917 %1981 = fmul float %1975, %.247 %1982 = fadd float %1981, %1919 %1983 = fmul float %1976, %1922 %1984 = fadd float %1983, %1921 %1985 = bitcast float %1965 to i32 %1986 = bitcast float %1967 to i32 %1987 = insertelement <2 x i32> undef, i32 %1985, i32 0 %1988 = insertelement <2 x i32> %1987, i32 %1986, i32 1 %1989 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %1988, <32 x i8> %36, <16 x i8> %38, i32 2) %1990 = extractelement <4 x float> %1989, i32 0 %1991 = extractelement <4 x float> %1989, i32 1 %1992 = extractelement <4 x float> %1989, i32 2 %1993 = extractelement <4 x float> %1989, i32 3 %1994 = fmul float %1990, %temp32.45 %1995 = fadd float %1994, %1978 %1996 = fmul float %1991, %temp32.45 %1997 = fadd float %1996, %1980 %1998 = fmul float %1992, %temp32.45 %1999 = fadd float %1998, %1982 %2000 = fmul float %1993, %1923 %2001 = fadd float %2000, %1984 %2002 = fadd float %1922, -6.250000e-02 %2003 = fadd float %1923, -6.250000e-02 %2004 = fmul float %86, 2.000000e+00 %2005 = fadd float %2004, %1925 %2006 = fmul float %87, 2.000000e+00 %2007 = fadd float %2006, %1927 %2008 = fmul float %88, 2.000000e+00 %2009 = fadd float %2008, %1929 %2010 = fmul float %89, 2.000000e+00 %2011 = fadd float %2010, %1931 %2012 = fmul float %2002, %2002 %2013 = fmul float %2003, %2003 %2014 = fmul float %2012, 4.000000e+00 %2015 = fmul float %2013, 4.000000e+00 %2016 = fsub float -0.000000e+00, %2002 %2017 = fmul float %2012, 4.000000e+00 %2018 = fadd float %2017, %2016 %2019 = fsub float -0.000000e+00, %2003 %2020 = fmul float %2013, 4.000000e+00 %2021 = fadd float %2020, %2019 %2022 = fcmp oge float %2018, 0.000000e+00 %2023 = sext i1 %2022 to i32 %2024 = bitcast i32 %2023 to float %2025 = bitcast float %2024 to i32 %2026 = icmp ne i32 %2025, 0 %.248 = select i1 %2026, float %2002, float %2014 %2027 = fcmp oge float %2021, 0.000000e+00 %2028 = sext i1 %2027 to i32 %2029 = bitcast i32 %2028 to float %2030 = bitcast float %2029 to i32 %2031 = icmp ne i32 %2030, 0 %temp32.47 = select i1 %2031, float %2003, float %2015 %2032 = fcmp uge float %2005, %26 %2033 = select i1 %2032, float %2005, float %26 %2034 = fcmp uge float %2007, %27 %2035 = select i1 %2034, float %2007, float %27 %2036 = fcmp uge float %2009, %26 %2037 = select i1 %2036, float %2009, float %26 %2038 = fcmp uge float %2011, %27 %2039 = select i1 %2038, float %2011, float %27 %2040 = fcmp uge float %28, %2033 %2041 = select i1 %2040, float %2033, float %28 %2042 = fcmp uge float %29, %2035 %2043 = select i1 %2042, float %2035, float %29 %2044 = fcmp uge float %28, %2037 %2045 = select i1 %2044, float %2037, float %28 %2046 = fcmp uge float %29, %2039 %2047 = select i1 %2046, float %2039, float %29 %2048 = bitcast float %2041 to i32 %2049 = bitcast float %2043 to i32 %2050 = insertelement <2 x i32> undef, i32 %2048, i32 0 %2051 = insertelement <2 x i32> %2050, i32 %2049, i32 1 %2052 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2051, <32 x i8> %36, <16 x i8> %38, i32 2) %2053 = extractelement <4 x float> %2052, i32 0 %2054 = extractelement <4 x float> %2052, i32 1 %2055 = extractelement <4 x float> %2052, i32 2 %2056 = extractelement <4 x float> %2052, i32 3 %2057 = fmul float %2053, %.248 %2058 = fadd float %2057, %1995 %2059 = fmul float %2054, %.248 %2060 = fadd float %2059, %1997 %2061 = fmul float %2055, %.248 %2062 = fadd float %2061, %1999 %2063 = fmul float %2056, %2002 %2064 = fadd float %2063, %2001 %2065 = bitcast float %2045 to i32 %2066 = bitcast float %2047 to i32 %2067 = insertelement <2 x i32> undef, i32 %2065, i32 0 %2068 = insertelement <2 x i32> %2067, i32 %2066, i32 1 %2069 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2068, <32 x i8> %36, <16 x i8> %38, i32 2) %2070 = extractelement <4 x float> %2069, i32 0 %2071 = extractelement <4 x float> %2069, i32 1 %2072 = extractelement <4 x float> %2069, i32 2 %2073 = extractelement <4 x float> %2069, i32 3 %2074 = fmul float %2070, %temp32.47 %2075 = fadd float %2074, %2058 %2076 = fmul float %2071, %temp32.47 %2077 = fadd float %2076, %2060 %2078 = fmul float %2072, %temp32.47 %2079 = fadd float %2078, %2062 %2080 = fmul float %2073, %2003 %2081 = fadd float %2080, %2064 %2082 = fadd float %2002, -6.250000e-02 %2083 = fadd float %2003, -6.250000e-02 %2084 = fmul float %86, 2.000000e+00 %2085 = fadd float %2084, %2005 %2086 = fmul float %87, 2.000000e+00 %2087 = fadd float %2086, %2007 %2088 = fmul float %88, 2.000000e+00 %2089 = fadd float %2088, %2009 %2090 = fmul float %89, 2.000000e+00 %2091 = fadd float %2090, %2011 %2092 = fmul float %2082, %2082 %2093 = fmul float %2083, %2083 %2094 = fmul float %2092, 4.000000e+00 %2095 = fmul float %2093, 4.000000e+00 %2096 = fsub float -0.000000e+00, %2082 %2097 = fmul float %2092, 4.000000e+00 %2098 = fadd float %2097, %2096 %2099 = fsub float -0.000000e+00, %2083 %2100 = fmul float %2093, 4.000000e+00 %2101 = fadd float %2100, %2099 %2102 = fcmp oge float %2098, 0.000000e+00 %2103 = sext i1 %2102 to i32 %2104 = bitcast i32 %2103 to float %2105 = bitcast float %2104 to i32 %2106 = icmp ne i32 %2105, 0 %.249 = select i1 %2106, float %2082, float %2094 %2107 = fcmp oge float %2101, 0.000000e+00 %2108 = sext i1 %2107 to i32 %2109 = bitcast i32 %2108 to float %2110 = bitcast float %2109 to i32 %2111 = icmp ne i32 %2110, 0 %temp32.49 = select i1 %2111, float %2083, float %2095 %2112 = fcmp uge float %2085, %26 %2113 = select i1 %2112, float %2085, float %26 %2114 = fcmp uge float %2087, %27 %2115 = select i1 %2114, float %2087, float %27 %2116 = fcmp uge float %2089, %26 %2117 = select i1 %2116, float %2089, float %26 %2118 = fcmp uge float %2091, %27 %2119 = select i1 %2118, float %2091, float %27 %2120 = fcmp uge float %28, %2113 %2121 = select i1 %2120, float %2113, float %28 %2122 = fcmp uge float %29, %2115 %2123 = select i1 %2122, float %2115, float %29 %2124 = fcmp uge float %28, %2117 %2125 = select i1 %2124, float %2117, float %28 %2126 = fcmp uge float %29, %2119 %2127 = select i1 %2126, float %2119, float %29 %2128 = bitcast float %2121 to i32 %2129 = bitcast float %2123 to i32 %2130 = insertelement <2 x i32> undef, i32 %2128, i32 0 %2131 = insertelement <2 x i32> %2130, i32 %2129, i32 1 %2132 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2131, <32 x i8> %36, <16 x i8> %38, i32 2) %2133 = extractelement <4 x float> %2132, i32 0 %2134 = extractelement <4 x float> %2132, i32 1 %2135 = extractelement <4 x float> %2132, i32 2 %2136 = extractelement <4 x float> %2132, i32 3 %2137 = fmul float %2133, %.249 %2138 = fadd float %2137, %2075 %2139 = fmul float %2134, %.249 %2140 = fadd float %2139, %2077 %2141 = fmul float %2135, %.249 %2142 = fadd float %2141, %2079 %2143 = fmul float %2136, %2082 %2144 = fadd float %2143, %2081 %2145 = bitcast float %2125 to i32 %2146 = bitcast float %2127 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> %36, <16 x i8> %38, 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 %2150, %temp32.49 %2155 = fadd float %2154, %2138 %2156 = fmul float %2151, %temp32.49 %2157 = fadd float %2156, %2140 %2158 = fmul float %2152, %temp32.49 %2159 = fadd float %2158, %2142 %2160 = fmul float %2153, %2083 %2161 = fadd float %2160, %2144 %2162 = fadd float %2082, -6.250000e-02 %2163 = fadd float %2083, -6.250000e-02 %2164 = fmul float %86, 2.000000e+00 %2165 = fadd float %2164, %2085 %2166 = fmul float %87, 2.000000e+00 %2167 = fadd float %2166, %2087 %2168 = fmul float %88, 2.000000e+00 %2169 = fadd float %2168, %2089 %2170 = fmul float %89, 2.000000e+00 %2171 = fadd float %2170, %2091 %2172 = fmul float %2162, %2162 %2173 = fmul float %2163, %2163 %2174 = fmul float %2172, 4.000000e+00 %2175 = fmul float %2173, 4.000000e+00 %2176 = fsub float -0.000000e+00, %2162 %2177 = fmul float %2172, 4.000000e+00 %2178 = fadd float %2177, %2176 %2179 = fsub float -0.000000e+00, %2163 %2180 = fmul float %2173, 4.000000e+00 %2181 = fadd float %2180, %2179 %2182 = fcmp oge float %2178, 0.000000e+00 %2183 = sext i1 %2182 to i32 %2184 = bitcast i32 %2183 to float %2185 = bitcast float %2184 to i32 %2186 = icmp ne i32 %2185, 0 %.250 = select i1 %2186, float %2162, float %2174 %2187 = fcmp oge float %2181, 0.000000e+00 %2188 = sext i1 %2187 to i32 %2189 = bitcast i32 %2188 to float %2190 = bitcast float %2189 to i32 %2191 = icmp ne i32 %2190, 0 %temp32.51 = select i1 %2191, float %2163, float %2175 %2192 = fcmp uge float %2165, %26 %2193 = select i1 %2192, float %2165, float %26 %2194 = fcmp uge float %2167, %27 %2195 = select i1 %2194, float %2167, float %27 %2196 = fcmp uge float %2169, %26 %2197 = select i1 %2196, float %2169, float %26 %2198 = fcmp uge float %2171, %27 %2199 = select i1 %2198, float %2171, float %27 %2200 = fcmp uge float %28, %2193 %2201 = select i1 %2200, float %2193, float %28 %2202 = fcmp uge float %29, %2195 %2203 = select i1 %2202, float %2195, float %29 %2204 = fcmp uge float %28, %2197 %2205 = select i1 %2204, float %2197, float %28 %2206 = fcmp uge float %29, %2199 %2207 = select i1 %2206, float %2199, float %29 %2208 = bitcast float %2201 to i32 %2209 = bitcast float %2203 to i32 %2210 = insertelement <2 x i32> undef, i32 %2208, i32 0 %2211 = insertelement <2 x i32> %2210, i32 %2209, i32 1 %2212 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2211, <32 x i8> %36, <16 x i8> %38, i32 2) %2213 = extractelement <4 x float> %2212, i32 0 %2214 = extractelement <4 x float> %2212, i32 1 %2215 = extractelement <4 x float> %2212, i32 2 %2216 = extractelement <4 x float> %2212, i32 3 %2217 = fmul float %2213, %.250 %2218 = fadd float %2217, %2155 %2219 = fmul float %2214, %.250 %2220 = fadd float %2219, %2157 %2221 = fmul float %2215, %.250 %2222 = fadd float %2221, %2159 %2223 = fmul float %2216, %2162 %2224 = fadd float %2223, %2161 %2225 = bitcast float %2205 to i32 %2226 = bitcast float %2207 to i32 %2227 = insertelement <2 x i32> undef, i32 %2225, i32 0 %2228 = insertelement <2 x i32> %2227, i32 %2226, i32 1 %2229 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2228, <32 x i8> %36, <16 x i8> %38, i32 2) %2230 = extractelement <4 x float> %2229, i32 0 %2231 = extractelement <4 x float> %2229, i32 1 %2232 = extractelement <4 x float> %2229, i32 2 %2233 = extractelement <4 x float> %2229, i32 3 %2234 = fmul float %2230, %temp32.51 %2235 = fadd float %2234, %2218 %2236 = fmul float %2231, %temp32.51 %2237 = fadd float %2236, %2220 %2238 = fmul float %2232, %temp32.51 %2239 = fadd float %2238, %2222 %2240 = fmul float %2233, %2163 %2241 = fadd float %2240, %2224 %2242 = fadd float %2162, -6.250000e-02 %2243 = fadd float %2163, -6.250000e-02 %2244 = fmul float %86, 2.000000e+00 %2245 = fadd float %2244, %2165 %2246 = fmul float %87, 2.000000e+00 %2247 = fadd float %2246, %2167 %2248 = fmul float %88, 2.000000e+00 %2249 = fadd float %2248, %2169 %2250 = fmul float %89, 2.000000e+00 %2251 = fadd float %2250, %2171 %2252 = fmul float %2242, %2242 %2253 = fmul float %2243, %2243 %2254 = fmul float %2252, 4.000000e+00 %2255 = fmul float %2253, 4.000000e+00 %2256 = fsub float -0.000000e+00, %2242 %2257 = fmul float %2252, 4.000000e+00 %2258 = fadd float %2257, %2256 %2259 = fsub float -0.000000e+00, %2243 %2260 = fmul float %2253, 4.000000e+00 %2261 = fadd float %2260, %2259 %2262 = fcmp oge float %2258, 0.000000e+00 %2263 = sext i1 %2262 to i32 %2264 = bitcast i32 %2263 to float %2265 = bitcast float %2264 to i32 %2266 = icmp ne i32 %2265, 0 %.251 = select i1 %2266, float %2242, float %2254 %2267 = fcmp oge float %2261, 0.000000e+00 %2268 = sext i1 %2267 to i32 %2269 = bitcast i32 %2268 to float %2270 = bitcast float %2269 to i32 %2271 = icmp ne i32 %2270, 0 %temp32.53 = select i1 %2271, float %2243, float %2255 %2272 = fcmp uge float %2245, %26 %2273 = select i1 %2272, float %2245, float %26 %2274 = fcmp uge float %2247, %27 %2275 = select i1 %2274, float %2247, float %27 %2276 = fcmp uge float %2249, %26 %2277 = select i1 %2276, float %2249, float %26 %2278 = fcmp uge float %2251, %27 %2279 = select i1 %2278, float %2251, float %27 %2280 = fcmp uge float %28, %2273 %2281 = select i1 %2280, float %2273, float %28 %2282 = fcmp uge float %29, %2275 %2283 = select i1 %2282, float %2275, float %29 %2284 = fcmp uge float %28, %2277 %2285 = select i1 %2284, float %2277, float %28 %2286 = fcmp uge float %29, %2279 %2287 = select i1 %2286, float %2279, float %29 %2288 = bitcast float %2281 to i32 %2289 = bitcast float %2283 to i32 %2290 = insertelement <2 x i32> undef, i32 %2288, i32 0 %2291 = insertelement <2 x i32> %2290, i32 %2289, i32 1 %2292 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2291, <32 x i8> %36, <16 x i8> %38, i32 2) %2293 = extractelement <4 x float> %2292, i32 0 %2294 = extractelement <4 x float> %2292, i32 1 %2295 = extractelement <4 x float> %2292, i32 2 %2296 = extractelement <4 x float> %2292, i32 3 %2297 = fmul float %2293, %.251 %2298 = fadd float %2297, %2235 %2299 = fmul float %2294, %.251 %2300 = fadd float %2299, %2237 %2301 = fmul float %2295, %.251 %2302 = fadd float %2301, %2239 %2303 = fmul float %2296, %2242 %2304 = fadd float %2303, %2241 %2305 = bitcast float %2285 to i32 %2306 = bitcast float %2287 to i32 %2307 = insertelement <2 x i32> undef, i32 %2305, i32 0 %2308 = insertelement <2 x i32> %2307, i32 %2306, i32 1 %2309 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2308, <32 x i8> %36, <16 x i8> %38, i32 2) %2310 = extractelement <4 x float> %2309, i32 0 %2311 = extractelement <4 x float> %2309, i32 1 %2312 = extractelement <4 x float> %2309, i32 2 %2313 = extractelement <4 x float> %2309, i32 3 %2314 = fmul float %2310, %temp32.53 %2315 = fadd float %2314, %2298 %2316 = fmul float %2311, %temp32.53 %2317 = fadd float %2316, %2300 %2318 = fmul float %2312, %temp32.53 %2319 = fadd float %2318, %2302 %2320 = fmul float %2313, %2243 %2321 = fadd float %2320, %2304 %2322 = fadd float %2242, -6.250000e-02 %2323 = fadd float %2243, -6.250000e-02 %2324 = fmul float %86, 2.000000e+00 %2325 = fadd float %2324, %2245 %2326 = fmul float %87, 2.000000e+00 %2327 = fadd float %2326, %2247 %2328 = fmul float %88, 2.000000e+00 %2329 = fadd float %2328, %2249 %2330 = fmul float %89, 2.000000e+00 %2331 = fadd float %2330, %2251 %2332 = fmul float %2322, %2322 %2333 = fmul float %2323, %2323 %2334 = fmul float %2332, 4.000000e+00 %2335 = fmul float %2333, 4.000000e+00 %2336 = fsub float -0.000000e+00, %2322 %2337 = fmul float %2332, 4.000000e+00 %2338 = fadd float %2337, %2336 %2339 = fsub float -0.000000e+00, %2323 %2340 = fmul float %2333, 4.000000e+00 %2341 = fadd float %2340, %2339 %2342 = fcmp oge float %2338, 0.000000e+00 %2343 = sext i1 %2342 to i32 %2344 = bitcast i32 %2343 to float %2345 = bitcast float %2344 to i32 %2346 = icmp ne i32 %2345, 0 %.252 = select i1 %2346, float %2322, float %2334 %2347 = fcmp oge float %2341, 0.000000e+00 %2348 = sext i1 %2347 to i32 %2349 = bitcast i32 %2348 to float %2350 = bitcast float %2349 to i32 %2351 = icmp ne i32 %2350, 0 %temp32.55 = select i1 %2351, float %2323, float %2335 %2352 = fcmp uge float %2325, %26 %2353 = select i1 %2352, float %2325, float %26 %2354 = fcmp uge float %2327, %27 %2355 = select i1 %2354, float %2327, float %27 %2356 = fcmp uge float %2329, %26 %2357 = select i1 %2356, float %2329, float %26 %2358 = fcmp uge float %2331, %27 %2359 = select i1 %2358, float %2331, float %27 %2360 = fcmp uge float %28, %2353 %2361 = select i1 %2360, float %2353, float %28 %2362 = fcmp uge float %29, %2355 %2363 = select i1 %2362, float %2355, float %29 %2364 = fcmp uge float %28, %2357 %2365 = select i1 %2364, float %2357, float %28 %2366 = fcmp uge float %29, %2359 %2367 = select i1 %2366, float %2359, float %29 %2368 = bitcast float %2361 to i32 %2369 = bitcast float %2363 to i32 %2370 = insertelement <2 x i32> undef, i32 %2368, i32 0 %2371 = insertelement <2 x i32> %2370, i32 %2369, i32 1 %2372 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2371, <32 x i8> %36, <16 x i8> %38, i32 2) %2373 = extractelement <4 x float> %2372, i32 0 %2374 = extractelement <4 x float> %2372, i32 1 %2375 = extractelement <4 x float> %2372, i32 2 %2376 = extractelement <4 x float> %2372, i32 3 %2377 = fmul float %2373, %.252 %2378 = fadd float %2377, %2315 %2379 = fmul float %2374, %.252 %2380 = fadd float %2379, %2317 %2381 = fmul float %2375, %.252 %2382 = fadd float %2381, %2319 %2383 = fmul float %2376, %2322 %2384 = fadd float %2383, %2321 %2385 = bitcast float %2365 to i32 %2386 = bitcast float %2367 to i32 %2387 = insertelement <2 x i32> undef, i32 %2385, i32 0 %2388 = insertelement <2 x i32> %2387, i32 %2386, i32 1 %2389 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2388, <32 x i8> %36, <16 x i8> %38, i32 2) %2390 = extractelement <4 x float> %2389, i32 0 %2391 = extractelement <4 x float> %2389, i32 1 %2392 = extractelement <4 x float> %2389, i32 2 %2393 = extractelement <4 x float> %2389, i32 3 %2394 = fmul float %2390, %temp32.55 %2395 = fadd float %2394, %2378 %2396 = fmul float %2391, %temp32.55 %2397 = fadd float %2396, %2380 %2398 = fmul float %2392, %temp32.55 %2399 = fadd float %2398, %2382 %2400 = fmul float %2393, %2323 %2401 = fadd float %2400, %2384 %2402 = fadd float %2322, -6.250000e-02 %2403 = fadd float %2323, -6.250000e-02 %2404 = fmul float %86, 2.000000e+00 %2405 = fadd float %2404, %2325 %2406 = fmul float %87, 2.000000e+00 %2407 = fadd float %2406, %2327 %2408 = fmul float %88, 2.000000e+00 %2409 = fadd float %2408, %2329 %2410 = fmul float %89, 2.000000e+00 %2411 = fadd float %2410, %2331 %2412 = fmul float %2402, %2402 %2413 = fmul float %2403, %2403 %2414 = fmul float %2412, 4.000000e+00 %2415 = fmul float %2413, 4.000000e+00 %2416 = fsub float -0.000000e+00, %2402 %2417 = fmul float %2412, 4.000000e+00 %2418 = fadd float %2417, %2416 %2419 = fsub float -0.000000e+00, %2403 %2420 = fmul float %2413, 4.000000e+00 %2421 = fadd float %2420, %2419 %2422 = fcmp oge float %2418, 0.000000e+00 %2423 = sext i1 %2422 to i32 %2424 = bitcast i32 %2423 to float %2425 = bitcast float %2424 to i32 %2426 = icmp ne i32 %2425, 0 %.253 = select i1 %2426, float %2402, float %2414 %2427 = fcmp oge float %2421, 0.000000e+00 %2428 = sext i1 %2427 to i32 %2429 = bitcast i32 %2428 to float %2430 = bitcast float %2429 to i32 %2431 = icmp ne i32 %2430, 0 %temp32.57 = select i1 %2431, float %2403, float %2415 %2432 = fcmp uge float %2405, %26 %2433 = select i1 %2432, float %2405, float %26 %2434 = fcmp uge float %2407, %27 %2435 = select i1 %2434, float %2407, float %27 %2436 = fcmp uge float %2409, %26 %2437 = select i1 %2436, float %2409, float %26 %2438 = fcmp uge float %2411, %27 %2439 = select i1 %2438, float %2411, float %27 %2440 = fcmp uge float %28, %2433 %2441 = select i1 %2440, float %2433, float %28 %2442 = fcmp uge float %29, %2435 %2443 = select i1 %2442, float %2435, float %29 %2444 = fcmp uge float %28, %2437 %2445 = select i1 %2444, float %2437, float %28 %2446 = fcmp uge float %29, %2439 %2447 = select i1 %2446, float %2439, float %29 %2448 = bitcast float %2441 to i32 %2449 = bitcast float %2443 to i32 %2450 = insertelement <2 x i32> undef, i32 %2448, i32 0 %2451 = insertelement <2 x i32> %2450, i32 %2449, i32 1 %2452 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2451, <32 x i8> %36, <16 x i8> %38, i32 2) %2453 = extractelement <4 x float> %2452, i32 0 %2454 = extractelement <4 x float> %2452, i32 1 %2455 = extractelement <4 x float> %2452, i32 2 %2456 = extractelement <4 x float> %2452, i32 3 %2457 = fmul float %2453, %.253 %2458 = fadd float %2457, %2395 %2459 = fmul float %2454, %.253 %2460 = fadd float %2459, %2397 %2461 = fmul float %2455, %.253 %2462 = fadd float %2461, %2399 %2463 = fmul float %2456, %2402 %2464 = fadd float %2463, %2401 %2465 = bitcast float %2445 to i32 %2466 = bitcast float %2447 to i32 %2467 = insertelement <2 x i32> undef, i32 %2465, i32 0 %2468 = insertelement <2 x i32> %2467, i32 %2466, i32 1 %2469 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2468, <32 x i8> %36, <16 x i8> %38, i32 2) %2470 = extractelement <4 x float> %2469, i32 0 %2471 = extractelement <4 x float> %2469, i32 1 %2472 = extractelement <4 x float> %2469, i32 2 %2473 = extractelement <4 x float> %2469, i32 3 %2474 = fmul float %2470, %temp32.57 %2475 = fadd float %2474, %2458 %2476 = fmul float %2471, %temp32.57 %2477 = fadd float %2476, %2460 %2478 = fmul float %2472, %temp32.57 %2479 = fadd float %2478, %2462 %2480 = fmul float %2473, %2403 %2481 = fadd float %2480, %2464 %2482 = fadd float %2402, -6.250000e-02 %2483 = fadd float %2403, -6.250000e-02 %2484 = fmul float %86, 2.000000e+00 %2485 = fadd float %2484, %2405 %2486 = fmul float %87, 2.000000e+00 %2487 = fadd float %2486, %2407 %2488 = fmul float %88, 2.000000e+00 %2489 = fadd float %2488, %2409 %2490 = fmul float %89, 2.000000e+00 %2491 = fadd float %2490, %2411 %2492 = fmul float %2482, %2482 %2493 = fmul float %2483, %2483 %2494 = fmul float %2492, 4.000000e+00 %2495 = fmul float %2493, 4.000000e+00 %2496 = fsub float -0.000000e+00, %2482 %2497 = fmul float %2492, 4.000000e+00 %2498 = fadd float %2497, %2496 %2499 = fsub float -0.000000e+00, %2483 %2500 = fmul float %2493, 4.000000e+00 %2501 = fadd float %2500, %2499 %2502 = fcmp oge float %2498, 0.000000e+00 %2503 = sext i1 %2502 to i32 %2504 = bitcast i32 %2503 to float %2505 = bitcast float %2504 to i32 %2506 = icmp ne i32 %2505, 0 %.254 = select i1 %2506, float %2482, float %2494 %2507 = fcmp oge float %2501, 0.000000e+00 %2508 = sext i1 %2507 to i32 %2509 = bitcast i32 %2508 to float %2510 = bitcast float %2509 to i32 %2511 = icmp ne i32 %2510, 0 %temp32.59 = select i1 %2511, float %2483, float %2495 %2512 = fcmp uge float %2485, %26 %2513 = select i1 %2512, float %2485, float %26 %2514 = fcmp uge float %2487, %27 %2515 = select i1 %2514, float %2487, float %27 %2516 = fcmp uge float %2489, %26 %2517 = select i1 %2516, float %2489, float %26 %2518 = fcmp uge float %2491, %27 %2519 = select i1 %2518, float %2491, float %27 %2520 = fcmp uge float %28, %2513 %2521 = select i1 %2520, float %2513, float %28 %2522 = fcmp uge float %29, %2515 %2523 = select i1 %2522, float %2515, float %29 %2524 = fcmp uge float %28, %2517 %2525 = select i1 %2524, float %2517, float %28 %2526 = fcmp uge float %29, %2519 %2527 = select i1 %2526, float %2519, float %29 %2528 = bitcast float %2521 to i32 %2529 = bitcast float %2523 to i32 %2530 = insertelement <2 x i32> undef, i32 %2528, i32 0 %2531 = insertelement <2 x i32> %2530, i32 %2529, i32 1 %2532 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2531, <32 x i8> %36, <16 x i8> %38, i32 2) %2533 = extractelement <4 x float> %2532, i32 0 %2534 = extractelement <4 x float> %2532, i32 1 %2535 = extractelement <4 x float> %2532, i32 2 %2536 = extractelement <4 x float> %2532, i32 3 %2537 = fmul float %2533, %.254 %2538 = fadd float %2537, %2475 %2539 = fmul float %2534, %.254 %2540 = fadd float %2539, %2477 %2541 = fmul float %2535, %.254 %2542 = fadd float %2541, %2479 %2543 = fmul float %2536, %2482 %2544 = fadd float %2543, %2481 %2545 = bitcast float %2525 to i32 %2546 = bitcast float %2527 to i32 %2547 = insertelement <2 x i32> undef, i32 %2545, i32 0 %2548 = insertelement <2 x i32> %2547, i32 %2546, i32 1 %2549 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2548, <32 x i8> %36, <16 x i8> %38, i32 2) %2550 = extractelement <4 x float> %2549, i32 0 %2551 = extractelement <4 x float> %2549, i32 1 %2552 = extractelement <4 x float> %2549, i32 2 %2553 = extractelement <4 x float> %2549, i32 3 %2554 = fmul float %2550, %temp32.59 %2555 = fadd float %2554, %2538 %2556 = fmul float %2551, %temp32.59 %2557 = fadd float %2556, %2540 %2558 = fmul float %2552, %temp32.59 %2559 = fadd float %2558, %2542 %2560 = fmul float %2553, %2483 %2561 = fadd float %2560, %2544 %2562 = fadd float %2482, -6.250000e-02 %2563 = fadd float %2483, -6.250000e-02 %2564 = fmul float %86, 2.000000e+00 %2565 = fadd float %2564, %2485 %2566 = fmul float %87, 2.000000e+00 %2567 = fadd float %2566, %2487 %2568 = fmul float %88, 2.000000e+00 %2569 = fadd float %2568, %2489 %2570 = fmul float %89, 2.000000e+00 %2571 = fadd float %2570, %2491 %2572 = fmul float %2562, %2562 %2573 = fmul float %2563, %2563 %2574 = fmul float %2572, 4.000000e+00 %2575 = fmul float %2573, 4.000000e+00 %2576 = fsub float -0.000000e+00, %2562 %2577 = fmul float %2572, 4.000000e+00 %2578 = fadd float %2577, %2576 %2579 = fsub float -0.000000e+00, %2563 %2580 = fmul float %2573, 4.000000e+00 %2581 = fadd float %2580, %2579 %2582 = fcmp oge float %2578, 0.000000e+00 %2583 = sext i1 %2582 to i32 %2584 = bitcast i32 %2583 to float %2585 = bitcast float %2584 to i32 %2586 = icmp ne i32 %2585, 0 %.255 = select i1 %2586, float %2562, float %2574 %2587 = fcmp oge float %2581, 0.000000e+00 %2588 = sext i1 %2587 to i32 %2589 = bitcast i32 %2588 to float %2590 = bitcast float %2589 to i32 %2591 = icmp ne i32 %2590, 0 %temp20.0 = select i1 %2591, float %2563, float %2575 %2592 = fcmp uge float %2565, %26 %2593 = select i1 %2592, float %2565, float %26 %2594 = fcmp uge float %2567, %27 %2595 = select i1 %2594, float %2567, float %27 %2596 = fcmp uge float %2569, %26 %2597 = select i1 %2596, float %2569, float %26 %2598 = fcmp uge float %2571, %27 %2599 = select i1 %2598, float %2571, float %27 %2600 = fcmp uge float %28, %2593 %2601 = select i1 %2600, float %2593, float %28 %2602 = fcmp uge float %29, %2595 %2603 = select i1 %2602, float %2595, float %29 %2604 = fcmp uge float %28, %2597 %2605 = select i1 %2604, float %2597, float %28 %2606 = fcmp uge float %29, %2599 %2607 = select i1 %2606, float %2599, float %29 %2608 = bitcast float %2601 to i32 %2609 = bitcast float %2603 to i32 %2610 = insertelement <2 x i32> undef, i32 %2608, i32 0 %2611 = insertelement <2 x i32> %2610, i32 %2609, i32 1 %2612 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2611, <32 x i8> %36, <16 x i8> %38, i32 2) %2613 = extractelement <4 x float> %2612, i32 0 %2614 = extractelement <4 x float> %2612, i32 1 %2615 = extractelement <4 x float> %2612, i32 2 %2616 = extractelement <4 x float> %2612, i32 3 %2617 = fmul float %2613, %.255 %2618 = fadd float %2617, %2555 %2619 = fmul float %2614, %.255 %2620 = fadd float %2619, %2557 %2621 = fmul float %2615, %.255 %2622 = fadd float %2621, %2559 %2623 = fmul float %2616, %2562 %2624 = fadd float %2623, %2561 %2625 = bitcast float %2605 to i32 %2626 = bitcast float %2607 to i32 %2627 = insertelement <2 x i32> undef, i32 %2625, i32 0 %2628 = insertelement <2 x i32> %2627, i32 %2626, i32 1 %2629 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %2628, <32 x i8> %36, <16 x i8> %38, i32 2) %2630 = extractelement <4 x float> %2629, i32 0 %2631 = extractelement <4 x float> %2629, i32 1 %2632 = extractelement <4 x float> %2629, i32 2 %2633 = extractelement <4 x float> %2629, i32 3 %2634 = fmul float %2630, %temp20.0 %2635 = fadd float %2634, %2618 %2636 = fmul float %2631, %temp20.0 %2637 = fadd float %2636, %2620 %2638 = fmul float %2632, %temp20.0 %2639 = fadd float %2638, %2622 %2640 = fmul float %2633, %2563 %2641 = fadd float %2640, %2624 %2642 = fmul float %2635, 1.562500e-02 %2643 = fmul float %2637, 1.562500e-02 %2644 = fmul float %2639, 1.562500e-02 %2645 = fmul float %2641, 1.562500e-02 %2646 = call i32 @llvm.SI.packf16(float %2642, float %2643) %2647 = bitcast i32 %2646 to float %2648 = call i32 @llvm.SI.packf16(float %2644, float %2645) %2649 = bitcast i32 %2648 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %2647, float %2649, float %2647, float %2649) 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: 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} UDKGame-Linux: /home/chris/oldhome/build/lib32-llvm-svn/src/lib32-llvm/include/llvm/CodeGen/SlotIndexes.h:417: llvm::SlotIndex llvm::SlotIndexes::getInstructionIndex(const llvm::MachineInstr*) const: Assertion `itr != mi2iMap.end() && "Instruction not found in maps."' failed. ./Antichamber.sh: Zeile 3: 4555 Abgebrochen (Speicherabzug geschrieben) ./UDKGame-Linux $@