FRAG 0: 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: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([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 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([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 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: 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: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: 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: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([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 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([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 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: 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: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[20], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL CONST[1..2] DCL TEMP[0..28], LOCAL DCL TEMP[29..52], ARRAY(1), LOCAL DCL TEMP[53..95], LOCAL DCL ADDR[0] IMM[0] FLT32 { 0.0000, 0.0000, -0.0000, 3.0000} IMM[1] INT32 {1, 22, 23, -1} IMM[2] UINT32 {1, 2, 4, 4294967295} IMM[3] FLT32 { 2.0000, 0.5000, 1.5000, 1.0000} IMM[4] UINT32 {8, 0, 2147483648, 4095} IMM[5] INT32 {-127, 104, 2, 3} IMM[6] FLT32 { 0.0000, 0.2500, 1.0000, 0.5000} IMM[7] FLT32 { 0.5000, 0.2500, 0.1250, 1.0000} IMM[8] INT32 {4, 5, 8, 9} IMM[9] INT32 {12, 13, 17, 18} IMM[10] FLT32 { 0.8500, 0.8250, 0.6250, 1.0000} IMM[11] FLT32 { 0.5000, 0.4850, 0.4800, 1.0000} IMM[12] INT32 {31, 32, 78, 81} IMM[13] FLT32 { 0.1000, 0.3500, 1.0000, 0.0000} IMM[14] FLT32 { 0.5000, 0.3000, 0.1000, 1.0000} IMM[15] FLT32 { 0.1250, 0.4000, 0.1000, 1.0000} IMM[16] INT32 {106, 127, 16, 0} IMM[17] FLT32 { 0.6000, 0.3000, 0.1250, 1.0000} IMM[18] FLT32 { 255.0000, 0.0039, -0.5000, 0.9000} IMM[19] UINT32 {255, 0, 0, 0} IMM[20] FLT32 { 0.8000, 0.0000, 0.0000, 0.0000} 0: DP3 TEMP[0].x, IN[0].xyzz, IN[0].xyzz 1: RSQ TEMP[0].x, TEMP[0].xxxx 2: MUL TEMP[0].xyz, IN[0].xyzz, TEMP[0].xxxx 3: MOV TEMP[1].xyz, IMM[0].xxxx 4: FSLT TEMP[2].x, TEMP[0].xxxx, IMM[0].yyyy 5: UIF TEMP[2].xxxx :0 6: MOV TEMP[1].x, IMM[0].zzzz 7: ENDIF 8: FSLT TEMP[2].x, TEMP[0].yyyy, IMM[0].yyyy 9: UIF TEMP[2].xxxx :0 10: MOV TEMP[1].y, IMM[0].zzzz 11: ENDIF 12: FSLT TEMP[2].x, TEMP[0].zzzz, IMM[0].yyyy 13: UIF TEMP[2].xxxx :0 14: MOV TEMP[1].z, IMM[0].zzzz 15: ENDIF 16: ABS TEMP[2].xyz, TEMP[0].xyzz 17: FSLT TEMP[2].xyz, TEMP[2].xyzz, IMM[0].xxxx 18: UCMP TEMP[0].xyz, TEMP[2].xyzz, TEMP[1].xyzz, TEMP[0].xyzz 19: ABS TEMP[1].xyz, TEMP[0].xyzz 20: RCP TEMP[2].x, -TEMP[1].xxxx 21: RCP TEMP[2].y, -TEMP[1].yyyy 22: RCP TEMP[2].z, -TEMP[1].zzzz 23: MOV TEMP[3].xyz, TEMP[2].xyzx 24: MOV TEMP[1].xyz, TEMP[2].xyzx 25: MUL TEMP[4].xyz, TEMP[2].xyzz, CONST[2].xyzz 26: FSLT TEMP[5].xyz, IMM[0].yyyy, TEMP[0].xyzz 27: MAD TEMP[6].xyz, IMM[0].wwww, TEMP[2].xyzz, -TEMP[4].xyzz 28: UCMP TEMP[6].xyz, TEMP[5].xyzz, TEMP[6].xyzz, TEMP[4].xyzz 29: MOV TEMP[4].xyz, TEMP[6].xyzx 30: AND TEMP[7].x, TEMP[5].xxxx, IMM[1].xxxx 31: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].xxxx 32: AND TEMP[8].x, TEMP[5].yyyy, IMM[1].xxxx 33: AND TEMP[8].x, TEMP[8].xxxx, IMM[2].yyyy 34: OR TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx 35: AND TEMP[5].x, TEMP[5].zzzz, IMM[1].xxxx 36: AND TEMP[5].x, TEMP[5].xxxx, IMM[2].zzzz 37: OR TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx 38: MAD TEMP[7].xyz, IMM[3].xxxx, TEMP[2].xyzz, -TEMP[6].xyzz 39: ADD TEMP[8].xyz, TEMP[2].xyzz, -TEMP[6].xyzz 40: MIN TEMP[9].x, TEMP[8].xxxx, TEMP[8].yyyy 41: MIN TEMP[8].x, TEMP[9].xxxx, TEMP[8].zzzz 42: MAX TEMP[9].x, TEMP[7].xxxx, TEMP[7].yyyy 43: MAX TEMP[7].x, TEMP[9].xxxx, TEMP[7].zzzz 44: MAX TEMP[7].x, TEMP[7].xxxx, IMM[0].yyyy 45: MOV TEMP[9].x, TEMP[7].xxxx 46: MOV TEMP[10].x, CONST[1].xxxx 47: MOV TEMP[11].x, IMM[1].yyyy 48: MOV TEMP[12].x, IMM[3].yyyy 49: MOV TEMP[13].x, IMM[2].wwww 50: MAD TEMP[2].xyz, IMM[3].zzzz, TEMP[2].xyzz, -TEMP[6].xyzz 51: FSLT TEMP[2].xyz, TEMP[7].xxxx, TEMP[2].xyzz 52: AND TEMP[6].x, TEMP[2].xxxx, IMM[1].xxxx 53: AND TEMP[6].x, TEMP[6].xxxx, IMM[2].xxxx 54: AND TEMP[7].x, TEMP[2].yyyy, IMM[1].xxxx 55: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].yyyy 56: OR TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 57: AND TEMP[7].x, TEMP[2].zzzz, IMM[1].xxxx 58: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].zzzz 59: OR TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx 60: UCMP TEMP[2].xyz, TEMP[2].xyzz, IMM[3].zzzz, IMM[3].wwww 61: BGNLOOP :0 62: ISGE TEMP[7].x, TEMP[11].xxxx, IMM[1].zzzz 63: UIF TEMP[7].xxxx :0 64: BRK 65: ENDIF 66: MAD TEMP[14].xyz, TEMP[2].xyzz, TEMP[1].xyzz, -TEMP[4].xyzz 67: MIN TEMP[15].x, TEMP[14].xxxx, TEMP[14].yyyy 68: MIN TEMP[16].x, TEMP[15].xxxx, TEMP[14].zzzz 69: XOR TEMP[3].x, TEMP[6].xxxx, TEMP[5].xxxx 70: UMAD TEMP[17].x, TEMP[10].xxxx, IMM[4].xxxx, TEMP[3].xxxx 71: MOV TEMP[18].x, TEMP[17].xxxx 72: MOV TEMP[18].w, IMM[4].yyyy 73: TXF TEMP[19], TEMP[18], SAMP[0], BUFFER 74: MOV TEMP[20], TEMP[19] 75: MOV TEMP[13].x, TEMP[19].xxxx 76: AND TEMP[21].x, TEMP[19].xxxx, IMM[4].zzzz 77: USNE TEMP[22].x, TEMP[21].xxxx, IMM[4].yyyy 78: NOT TEMP[23].x, TEMP[22].xxxx 79: UIF TEMP[23].xxxx :0 80: MOV TEMP[24].x, IMM[2].wwww 81: ELSE :0 82: AND TEMP[25].x, TEMP[19].xxxx, IMM[4].wwww 83: USNE TEMP[24].x, TEMP[25].xxxx, IMM[4].yyyy 84: ENDIF 85: UIF TEMP[24].xxxx :0 86: UIF TEMP[22].xxxx :0 87: BRK 88: ENDIF 89: MUL TEMP[26].x, TEMP[12].xxxx, IMM[3].yyyy 90: MAD TEMP[27].xyz, TEMP[26].xxxx, TEMP[1].xyzz, TEMP[14].xyzz 91: FSLT TEMP[28].x, TEMP[16].xxxx, TEMP[8].xxxx 92: UIF TEMP[28].xxxx :0 93: UARL ADDR[0].x, TEMP[11].xxxx 94: MOV TEMP[ADDR[0].x+29](1).x, TEMP[10].xxxx 95: ENDIF 96: MOV TEMP[8].x, TEMP[16].xxxx 97: MOV TEMP[10].x, TEMP[19].xxxx 98: UADD TEMP[11].x, TEMP[11].xxxx, IMM[1].wwww 99: MUL TEMP[12].x, TEMP[12].xxxx, IMM[3].yyyy 100: FSLT TEMP[53].xyz, TEMP[9].xxxx, TEMP[27].xyzz 101: AND TEMP[54].x, TEMP[53].xxxx, IMM[1].xxxx 102: AND TEMP[55].x, TEMP[54].xxxx, IMM[2].xxxx 103: AND TEMP[56].x, TEMP[53].yyyy, IMM[1].xxxx 104: AND TEMP[57].x, TEMP[56].xxxx, IMM[2].yyyy 105: OR TEMP[58].x, TEMP[55].xxxx, TEMP[57].xxxx 106: AND TEMP[59].x, TEMP[53].zzzz, IMM[1].xxxx 107: AND TEMP[60].x, TEMP[59].xxxx, IMM[2].zzzz 108: OR TEMP[6].x, TEMP[58].xxxx, TEMP[60].xxxx 109: ADD TEMP[61].xyz, TEMP[2].xyzz, TEMP[12].xxxx 110: UCMP TEMP[2].xyz, TEMP[53].xyzz, TEMP[61].xyzz, TEMP[2].xyzz 111: CONT 112: ENDIF 113: FSGE TEMP[62].xyz, TEMP[16].xxxx, TEMP[14].xyzz 114: AND TEMP[63].x, TEMP[62].xxxx, IMM[1].xxxx 115: AND TEMP[64].x, TEMP[63].xxxx, IMM[2].xxxx 116: AND TEMP[65].x, TEMP[62].yyyy, IMM[1].xxxx 117: AND TEMP[66].x, TEMP[65].xxxx, IMM[2].yyyy 118: OR TEMP[67].x, TEMP[64].xxxx, TEMP[66].xxxx 119: AND TEMP[68].x, TEMP[62].zzzz, IMM[1].xxxx 120: AND TEMP[69].x, TEMP[68].xxxx, IMM[2].zzzz 121: OR TEMP[70].x, TEMP[67].xxxx, TEMP[69].xxxx 122: ADD TEMP[71].xyz, TEMP[2].xyzz, -TEMP[12].xxxx 123: UCMP TEMP[72].xyz, TEMP[62].xyzz, TEMP[71].xyzz, TEMP[2].xyzz 124: MOV TEMP[2].xyz, TEMP[72].xyzx 125: MOV TEMP[9].x, TEMP[16].xxxx 126: XOR TEMP[6].x, TEMP[6].xxxx, TEMP[70].xxxx 127: AND TEMP[73].x, TEMP[6].xxxx, TEMP[70].xxxx 128: USNE TEMP[74].x, TEMP[73].xxxx, IMM[4].yyyy 129: UIF TEMP[74].xxxx :0 130: MOV TEMP[75].x, IMM[4].yyyy 131: ADD TEMP[76].xyz, TEMP[72].xyzz, TEMP[12].xxxx 132: XOR TEMP[77].xyz, TEMP[72].xyzz, TEMP[76].xyzz 133: AND TEMP[78].x, TEMP[70].xxxx, IMM[2].xxxx 134: USNE TEMP[79].x, TEMP[78].xxxx, IMM[4].yyyy 135: UIF TEMP[79].xxxx :0 136: OR TEMP[75].x, IMM[4].yyyy, TEMP[77].xxxx 137: ENDIF 138: AND TEMP[80].x, TEMP[70].xxxx, IMM[2].yyyy 139: USNE TEMP[81].x, TEMP[80].xxxx, IMM[4].yyyy 140: UIF TEMP[81].xxxx :0 141: OR TEMP[75].x, TEMP[75].xxxx, TEMP[77].yyyy 142: ENDIF 143: AND TEMP[82].x, TEMP[70].xxxx, IMM[2].zzzz 144: USNE TEMP[83].x, TEMP[82].xxxx, IMM[4].yyyy 145: UIF TEMP[83].xxxx :0 146: OR TEMP[75].x, TEMP[75].xxxx, TEMP[77].zzzz 147: ENDIF 148: U2F TEMP[84].x, TEMP[75].xxxx 149: ISHR TEMP[85].x, TEMP[84].xxxx, IMM[1].zzzz 150: UADD TEMP[11].x, TEMP[85].xxxx, IMM[5].xxxx 151: UADD TEMP[86].x, IMM[5].yyyy, TEMP[11].xxxx 152: SHL TEMP[87].x, TEMP[86].xxxx, IMM[1].zzzz 153: MOV TEMP[12].x, TEMP[87].xxxx 154: UARL ADDR[0].x, TEMP[11].xxxx 155: MOV TEMP[10].x, TEMP[ADDR[0].x+29](1).xxxx 156: USHR TEMP[88].xyz, TEMP[72].xyzz, TEMP[11].xxxx 157: SHL TEMP[89].xyz, TEMP[88].xyzz, TEMP[11].xxxx 158: MOV TEMP[2].xyz, TEMP[89].xyzx 159: AND TEMP[90].x, TEMP[88].xxxx, IMM[2].xxxx 160: AND TEMP[91].x, TEMP[88].yyyy, IMM[2].xxxx 161: SHL TEMP[92].x, TEMP[91].xxxx, IMM[1].xxxx 162: OR TEMP[93].x, TEMP[90].xxxx, TEMP[92].xxxx 163: AND TEMP[94].x, TEMP[88].zzzz, IMM[2].xxxx 164: SHL TEMP[95].x, TEMP[94].xxxx, IMM[5].zzzz 165: OR TEMP[6].x, TEMP[93].xxxx, TEMP[95].xxxx 166: MOV TEMP[8].x, IMM[0].yyyy 167: ENDIF 168: ENDLOOP :0 169: ISGE TEMP[1].x, TEMP[11].xxxx, IMM[1].zzzz 170: UIF TEMP[1].xxxx :0 171: MOV TEMP[9].x, IMM[3].xxxx 172: ENDIF 173: AND TEMP[1].xyz, TEMP[5].xxxx, IMM[2].xyzz 174: USNE TEMP[1].xyz, TEMP[1].xyzz, IMM[4].yyyy 175: ADD TEMP[4].x, IMM[0].wwww, -TEMP[12].xxxx 176: ADD TEMP[4].xyz, TEMP[4].xxxx, -TEMP[2].xyzz 177: UCMP TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xyzz, TEMP[2].xyzz 178: MAD TEMP[2].xyz, TEMP[9].xxxx, TEMP[0].xyzz, CONST[2].xyzz 179: ADD TEMP[4].xyz, TEMP[1].xyzz, IMM[0].xxxx 180: MAX TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].xyzz 181: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[12].xxxx 182: ADD TEMP[1].xyz, TEMP[1].xyzz, IMM[0].zzzz 183: MIN TEMP[1].xyz, TEMP[2].xyzz, TEMP[1].xyzz 184: RCP TEMP[2].x, TEMP[12].xxxx 185: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 186: FRC TEMP[1].xyz, TEMP[1].xyzz 187: MUL TEMP[1].xyz, TEMP[12].xxxx, TEMP[1].xyzz 188: RCP TEMP[2].x, TEMP[12].xxxx 189: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx 190: AND TEMP[2].x, TEMP[13].xxxx, IMM[4].wwww 191: FSLT TEMP[4].x, TEMP[9].xxxx, IMM[3].xxxx 192: UIF TEMP[4].xxxx :0 193: MOV TEMP[5].x, IMM[4].yyyy 194: USEQ TEMP[6].x, IMM[1].xxxx, TEMP[2].xxxx 195: I2F TEMP[6].x, TEMP[6].xxxx 196: CMP TEMP[4].x, TEMP[6].xxxx, IMM[2].wwww, IMM[4].yyyy 197: I2F TEMP[6].x, IMM[4].yyyy 198: CMP TEMP[4].x, TEMP[6].xxxx, IMM[4].yyyy, TEMP[4].xxxx 199: UIF TEMP[4].xxxx :0 200: MOV TEMP[6], IMM[3].yyyw 201: MOV TEMP[5].x, IMM[2].wwww 202: ENDIF 203: USEQ TEMP[7].x, IMM[5].zzzz, TEMP[2].xxxx 204: I2F TEMP[7].x, TEMP[7].xxxx 205: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 206: I2F TEMP[7].x, TEMP[5].xxxx 207: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 208: UIF TEMP[4].xxxx :0 209: MOV TEMP[6], IMM[6].xyxz 210: MOV TEMP[5].x, IMM[2].wwww 211: ENDIF 212: USEQ TEMP[7].x, IMM[5].wwww, TEMP[2].xxxx 213: I2F TEMP[7].x, TEMP[7].xxxx 214: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 215: I2F TEMP[7].x, TEMP[5].xxxx 216: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 217: UIF TEMP[4].xxxx :0 218: MOV TEMP[6], IMM[7] 219: MOV TEMP[5].x, IMM[2].wwww 220: ENDIF 221: USEQ TEMP[7].x, IMM[8].xxxx, TEMP[2].xxxx 222: I2F TEMP[7].x, TEMP[7].xxxx 223: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 224: I2F TEMP[7].x, TEMP[5].xxxx 225: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 226: UIF TEMP[4].xxxx :0 227: MOV TEMP[6], IMM[6].yyyz 228: MOV TEMP[5].x, IMM[2].wwww 229: ENDIF 230: USEQ TEMP[7].x, IMM[8].yyyy, TEMP[2].xxxx 231: I2F TEMP[7].x, TEMP[7].xxxx 232: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 233: I2F TEMP[7].x, TEMP[5].xxxx 234: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 235: UIF TEMP[4].xxxx :0 236: MOV TEMP[6], IMM[7].xxzw 237: MOV TEMP[5].x, IMM[2].wwww 238: ENDIF 239: USEQ TEMP[7].x, IMM[8].zzzz, TEMP[2].xxxx 240: I2F TEMP[7].x, TEMP[7].xxxx 241: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 242: I2F TEMP[7].x, TEMP[5].xxxx 243: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 244: UIF TEMP[4].xxxx :0 245: MOV TEMP[6], IMM[6].xxzz 246: MOV TEMP[5].x, IMM[2].wwww 247: ENDIF 248: USEQ TEMP[7].x, IMM[8].wwww, TEMP[2].xxxx 249: I2F TEMP[7].x, TEMP[7].xxxx 250: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 251: I2F TEMP[7].x, TEMP[5].xxxx 252: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 253: UIF TEMP[4].xxxx :0 254: MOV TEMP[6], IMM[6].xxwz 255: MOV TEMP[5].x, IMM[2].wwww 256: ENDIF 257: USEQ TEMP[7].x, IMM[9].xxxx, TEMP[2].xxxx 258: I2F TEMP[7].x, TEMP[7].xxxx 259: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 260: I2F TEMP[7].x, TEMP[5].xxxx 261: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 262: UIF TEMP[4].xxxx :0 263: MOV TEMP[6], IMM[10] 264: MOV TEMP[5].x, IMM[2].wwww 265: ENDIF 266: USEQ TEMP[7].x, IMM[9].yyyy, TEMP[2].xxxx 267: I2F TEMP[7].x, TEMP[7].xxxx 268: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 269: I2F TEMP[7].x, TEMP[5].xxxx 270: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 271: UIF TEMP[4].xxxx :0 272: MOV TEMP[6], IMM[11] 273: MOV TEMP[5].x, IMM[2].wwww 274: ENDIF 275: USEQ TEMP[7].x, IMM[9].zzzz, TEMP[2].xxxx 276: I2F TEMP[7].x, TEMP[7].xxxx 277: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 278: I2F TEMP[7].x, TEMP[5].xxxx 279: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 280: UIF TEMP[4].xxxx :0 281: MOV TEMP[6], IMM[7].yyzw 282: MOV TEMP[5].x, IMM[2].wwww 283: ENDIF 284: USEQ TEMP[7].x, IMM[9].wwww, TEMP[2].xxxx 285: I2F TEMP[7].x, TEMP[7].xxxx 286: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 287: I2F TEMP[7].x, TEMP[5].xxxx 288: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 289: UIF TEMP[4].xxxx :0 290: MOV TEMP[6], IMM[6].xwxz 291: MOV TEMP[5].x, IMM[2].wwww 292: ENDIF 293: USEQ TEMP[7].x, IMM[12].xxxx, TEMP[2].xxxx 294: I2F TEMP[7].x, TEMP[7].xxxx 295: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 296: I2F TEMP[7].x, TEMP[5].xxxx 297: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 298: UIF TEMP[4].xxxx :0 299: MOV TEMP[6], IMM[13].xyxz 300: MOV TEMP[5].x, IMM[2].wwww 301: ENDIF 302: USEQ TEMP[7].x, IMM[12].yyyy, TEMP[2].xxxx 303: I2F TEMP[7].x, TEMP[7].xxxx 304: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 305: I2F TEMP[7].x, TEMP[5].xxxx 306: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 307: UIF TEMP[4].xxxx :0 308: MOV TEMP[6], IMM[14] 309: MOV TEMP[5].x, IMM[2].wwww 310: ENDIF 311: USEQ TEMP[7].x, IMM[12].zzzz, TEMP[2].xxxx 312: I2F TEMP[7].x, TEMP[7].xxxx 313: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 314: I2F TEMP[7].x, TEMP[5].xxxx 315: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 316: UIF TEMP[4].xxxx :0 317: MOV TEMP[6], IMM[3].wwww 318: MOV TEMP[5].x, IMM[2].wwww 319: ENDIF 320: USEQ TEMP[7].x, IMM[12].wwww, TEMP[2].xxxx 321: I2F TEMP[7].x, TEMP[7].xxxx 322: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 323: I2F TEMP[7].x, TEMP[5].xxxx 324: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 325: UIF TEMP[4].xxxx :0 326: MOV TEMP[6], IMM[15] 327: MOV TEMP[5].x, IMM[2].wwww 328: ENDIF 329: USEQ TEMP[7].x, IMM[16].xxxx, TEMP[2].xxxx 330: I2F TEMP[7].x, TEMP[7].xxxx 331: CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx 332: I2F TEMP[7].x, TEMP[5].xxxx 333: CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx 334: UIF TEMP[4].xxxx :0 335: MOV TEMP[6], IMM[13].wywz 336: MOV TEMP[5].x, IMM[2].wwww 337: ENDIF 338: USEQ TEMP[2].x, IMM[16].yyyy, TEMP[2].xxxx 339: I2F TEMP[2].x, TEMP[2].xxxx 340: CMP TEMP[4].x, TEMP[2].xxxx, IMM[2].wwww, TEMP[4].xxxx 341: I2F TEMP[2].x, TEMP[5].xxxx 342: CMP TEMP[4].x, TEMP[2].xxxx, IMM[4].yyyy, TEMP[4].xxxx 343: UIF TEMP[4].xxxx :0 344: MOV TEMP[6], IMM[17] 345: MOV TEMP[5].x, IMM[2].wwww 346: ENDIF 347: I2F TEMP[2].x, TEMP[5].xxxx 348: CMP TEMP[4].x, TEMP[2].xxxx, IMM[4].yyyy, IMM[2].wwww 349: UIF TEMP[4].xxxx :0 350: MOV TEMP[2].w, IMM[18].xxxx 351: USHR TEMP[4].x, TEMP[13].xxxx, IMM[16].zzzz 352: AND TEMP[4].x, TEMP[4].xxxx, IMM[19].xxxx 353: U2F TEMP[2].x, TEMP[4].xxxx 354: USHR TEMP[4].x, TEMP[13].xxxx, IMM[8].zzzz 355: AND TEMP[4].x, TEMP[4].xxxx, IMM[19].xxxx 356: U2F TEMP[4].x, TEMP[4].xxxx 357: MOV TEMP[2].y, TEMP[4].xxxx 358: AND TEMP[4].x, TEMP[13].xxxx, IMM[19].xxxx 359: U2F TEMP[4].x, TEMP[4].xxxx 360: MOV TEMP[2].z, TEMP[4].xxxx 361: MUL TEMP[6], TEMP[2], IMM[18].yyyy 362: ENDIF 363: ADD TEMP[1].xyz, TEMP[1].xyzz, IMM[18].zzzz 364: ABS TEMP[1].xyz, TEMP[1].xyzz 365: FSLT TEMP[2].x, TEMP[1].yyyy, TEMP[1].xxxx 366: FSLT TEMP[4].x, TEMP[1].yyyy, TEMP[1].zzzz 367: OR TEMP[2].x, TEMP[2].xxxx, TEMP[4].xxxx 368: UIF TEMP[2].xxxx :0 369: FSLT TEMP[1].x, TEMP[1].zzzz, TEMP[1].xxxx 370: UIF TEMP[1].xxxx :0 371: MUL TEMP[6], TEMP[6], IMM[18].wwww 372: ELSE :0 373: MUL TEMP[6], TEMP[6], IMM[20].xxxx 374: ENDIF 375: ENDIF 376: ELSE :0 377: MOV TEMP[1].w, IMM[3].wwww 378: MOV TEMP[1].xyz, TEMP[0].xyzx 379: MOV TEMP[6], TEMP[1] 380: ENDIF 381: MOV OUT[0], TEMP[6] 382: 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 16) %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32) %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36) %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 40) %28 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0 %29 = load <32 x i8> addrspace(2)* %28, !tbaa !0 %30 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %31 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %32 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %7) %33 = fmul float %30, %30 %34 = fmul float %31, %31 %35 = fadd float %34, %33 %36 = fmul float %32, %32 %37 = fadd float %35, %36 %38 = call float @llvm.AMDGPU.rsq(float %37) %39 = fmul float %30, %38 %40 = fmul float %31, %38 %41 = fmul float %32, %38 %42 = fcmp olt float %39, 0.000000e+00 %43 = sext i1 %42 to i32 %44 = bitcast i32 %43 to float %45 = bitcast float %44 to i32 %46 = icmp ne i32 %45, 0 %. = select i1 %46, float 0xBE80000000000000, float 0x3E80000000000000 %47 = fcmp olt float %40, 0.000000e+00 %48 = sext i1 %47 to i32 %49 = bitcast i32 %48 to float %50 = bitcast float %49 to i32 %51 = icmp ne i32 %50, 0 %temp5.0 = select i1 %51, float 0xBE80000000000000, float 0x3E80000000000000 %52 = fcmp olt float %41, 0.000000e+00 %53 = sext i1 %52 to i32 %54 = bitcast i32 %53 to float %55 = bitcast float %54 to i32 %56 = icmp ne i32 %55, 0 %.483 = select i1 %56, float 0xBE80000000000000, float 0x3E80000000000000 %57 = call float @fabs(float %39) %58 = call float @fabs(float %40) %59 = call float @fabs(float %41) %60 = fcmp olt float %57, 0x3E80000000000000 %61 = sext i1 %60 to i32 %62 = fcmp olt float %58, 0x3E80000000000000 %63 = sext i1 %62 to i32 %64 = fcmp olt float %59, 0x3E80000000000000 %65 = sext i1 %64 to i32 %66 = bitcast i32 %61 to float %67 = bitcast i32 %63 to float %68 = bitcast i32 %65 to float %69 = bitcast float %66 to i32 %70 = icmp ne i32 %69, 0 %71 = select i1 %70, float %., float %39 %72 = bitcast float %67 to i32 %73 = icmp ne i32 %72, 0 %74 = select i1 %73, float %temp5.0, float %40 %75 = bitcast float %68 to i32 %76 = icmp ne i32 %75, 0 %77 = select i1 %76, float %.483, float %41 %78 = call float @fabs(float %71) %79 = call float @fabs(float %74) %80 = call float @fabs(float %77) %81 = fsub float -0.000000e+00, %78 %82 = fdiv float 1.000000e+00, %81 %83 = fsub float -0.000000e+00, %79 %84 = fdiv float 1.000000e+00, %83 %85 = fsub float -0.000000e+00, %80 %86 = fdiv float 1.000000e+00, %85 %87 = fmul float %82, %25 %88 = fmul float %84, %26 %89 = fmul float %86, %27 %90 = fcmp olt float 0.000000e+00, %71 %91 = sext i1 %90 to i32 %92 = fcmp olt float 0.000000e+00, %74 %93 = sext i1 %92 to i32 %94 = fcmp olt float 0.000000e+00, %77 %95 = sext i1 %94 to i32 %96 = bitcast i32 %91 to float %97 = bitcast i32 %93 to float %98 = bitcast i32 %95 to float %99 = fsub float -0.000000e+00, %87 %100 = fmul float 3.000000e+00, %82 %101 = fadd float %100, %99 %102 = fsub float -0.000000e+00, %88 %103 = fmul float 3.000000e+00, %84 %104 = fadd float %103, %102 %105 = fsub float -0.000000e+00, %89 %106 = fmul float 3.000000e+00, %86 %107 = fadd float %106, %105 %108 = bitcast float %96 to i32 %109 = icmp ne i32 %108, 0 %110 = select i1 %109, float %101, float %87 %111 = bitcast float %97 to i32 %112 = icmp ne i32 %111, 0 %113 = select i1 %112, float %104, float %88 %114 = bitcast float %98 to i32 %115 = icmp ne i32 %114, 0 %116 = select i1 %115, float %107, float %89 %117 = bitcast float %96 to i32 %118 = and i32 %117, 1 %119 = bitcast i32 %118 to float %120 = bitcast float %119 to i32 %121 = and i32 %120, 1 %122 = bitcast i32 %121 to float %123 = bitcast float %97 to i32 %124 = and i32 %123, 1 %125 = bitcast i32 %124 to float %126 = bitcast float %125 to i32 %127 = and i32 %126, 2 %128 = bitcast i32 %127 to float %129 = bitcast float %122 to i32 %130 = bitcast float %128 to i32 %131 = or i32 %129, %130 %132 = bitcast i32 %131 to float %133 = bitcast float %98 to i32 %134 = and i32 %133, 1 %135 = bitcast i32 %134 to float %136 = bitcast float %135 to i32 %137 = and i32 %136, 4 %138 = bitcast i32 %137 to float %139 = bitcast float %132 to i32 %140 = bitcast float %138 to i32 %141 = or i32 %139, %140 %142 = bitcast i32 %141 to float %143 = fsub float -0.000000e+00, %110 %144 = fmul float 2.000000e+00, %82 %145 = fadd float %144, %143 %146 = fsub float -0.000000e+00, %113 %147 = fmul float 2.000000e+00, %84 %148 = fadd float %147, %146 %149 = fsub float -0.000000e+00, %116 %150 = fmul float 2.000000e+00, %86 %151 = fadd float %150, %149 %152 = fsub float -0.000000e+00, %110 %153 = fadd float %82, %152 %154 = fsub float -0.000000e+00, %113 %155 = fadd float %84, %154 %156 = fsub float -0.000000e+00, %116 %157 = fadd float %86, %156 %158 = fcmp uge float %153, %155 %159 = select i1 %158, float %155, float %153 %160 = fcmp uge float %159, %157 %161 = select i1 %160, float %157, float %159 %162 = fcmp uge float %145, %148 %163 = select i1 %162, float %145, float %148 %164 = fcmp uge float %163, %151 %165 = select i1 %164, float %163, float %151 %166 = fcmp uge float %165, 0.000000e+00 %167 = select i1 %166, float %165, float 0.000000e+00 %168 = fsub float -0.000000e+00, %110 %169 = fmul float 1.500000e+00, %82 %170 = fadd float %169, %168 %171 = fsub float -0.000000e+00, %113 %172 = fmul float 1.500000e+00, %84 %173 = fadd float %172, %171 %174 = fsub float -0.000000e+00, %116 %175 = fmul float 1.500000e+00, %86 %176 = fadd float %175, %174 %177 = fcmp olt float %167, %170 %178 = sext i1 %177 to i32 %179 = fcmp olt float %167, %173 %180 = sext i1 %179 to i32 %181 = fcmp olt float %167, %176 %182 = sext i1 %181 to i32 %183 = bitcast i32 %178 to float %184 = bitcast i32 %180 to float %185 = bitcast i32 %182 to float %186 = bitcast float %183 to i32 %187 = and i32 %186, 1 %188 = bitcast i32 %187 to float %189 = bitcast float %188 to i32 %190 = and i32 %189, 1 %191 = bitcast i32 %190 to float %192 = bitcast float %184 to i32 %193 = and i32 %192, 1 %194 = bitcast i32 %193 to float %195 = bitcast float %194 to i32 %196 = and i32 %195, 2 %197 = bitcast i32 %196 to float %198 = bitcast float %191 to i32 %199 = bitcast float %197 to i32 %200 = or i32 %198, %199 %201 = bitcast i32 %200 to float %202 = bitcast float %185 to i32 %203 = and i32 %202, 1 %204 = bitcast i32 %203 to float %205 = bitcast float %204 to i32 %206 = and i32 %205, 4 %207 = bitcast i32 %206 to float %208 = bitcast float %201 to i32 %209 = bitcast float %207 to i32 %210 = or i32 %208, %209 %211 = bitcast i32 %210 to float %212 = bitcast float %183 to i32 %213 = icmp ne i32 %212, 0 %214 = select i1 %213, float 1.500000e+00, float 1.000000e+00 %215 = bitcast float %184 to i32 %216 = icmp ne i32 %215, 0 %217 = select i1 %216, float 1.500000e+00, float 1.000000e+00 %218 = bitcast float %185 to i32 %219 = icmp ne i32 %218, 0 %220 = select i1 %219, float 1.500000e+00, float 1.000000e+00 %221 = fsub float -0.000000e+00, %110 %222 = fsub float -0.000000e+00, %113 %223 = fsub float -0.000000e+00, %116 %224 = bitcast float %142 to i32 %225 = bitcast <32 x i8> %29 to <2 x i128> %226 = extractelement <2 x i128> %225, i32 0 %227 = bitcast i128 %226 to <16 x i8> br label %LOOP.outer LOOP.outer: ; preds = %ENDIF402, %main_body %temp208.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp208.1, %ENDIF402 ] %temp204.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp204.1, %ENDIF402 ] %temp200.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp200.1, %ENDIF402 ] %temp196.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp196.1, %ENDIF402 ] %temp192.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp192.1, %ENDIF402 ] %temp188.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp188.1, %ENDIF402 ] %temp184.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp184.1, %ENDIF402 ] %temp180.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp180.1, %ENDIF402 ] %temp176.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp176.1, %ENDIF402 ] %temp172.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp172.1, %ENDIF402 ] %temp168.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp168.1, %ENDIF402 ] %temp164.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp164.1, %ENDIF402 ] %temp160.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp160.1, %ENDIF402 ] %temp156.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp156.1, %ENDIF402 ] %temp152.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp152.1, %ENDIF402 ] %temp148.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp148.1, %ENDIF402 ] %temp144.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp144.1, %ENDIF402 ] %temp140.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp140.1, %ENDIF402 ] %temp136.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp136.1, %ENDIF402 ] %temp132.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp132.1, %ENDIF402 ] %temp128.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp128.1, %ENDIF402 ] %temp124.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp124.1, %ENDIF402 ] %temp120.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp120.1, %ENDIF402 ] %temp116.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp116.1, %ENDIF402 ] %temp52.0.ph = phi float [ 0xFFFFFFFFE0000000, %main_body ], [ %371, %ENDIF402 ] %temp48.0.ph = phi float [ 5.000000e-01, %main_body ], [ %525, %ENDIF402 ] %temp44.0.ph = phi float [ 0x36E6000000000000, %main_body ], [ %524, %ENDIF402 ] %temp40.0.ph = phi float [ %24, %main_body ], [ %371, %ENDIF402 ] %temp36.0.ph = phi float [ %167, %main_body ], [ %temp36.0, %ENDIF402 ] %temp32.0.ph = phi float [ %161, %main_body ], [ %360, %ENDIF402 ] %temp24.0.ph = phi float [ %211, %main_body ], [ %560, %ENDIF402 ] %temp10.0.ph = phi float [ %220, %main_body ], [ %572, %ENDIF402 ] %temp9.0.ph = phi float [ %217, %main_body ], [ %569, %ENDIF402 ] %temp8.0.ph = phi float [ %214, %main_body ], [ %566, %ENDIF402 ] %228 = insertelement <24 x float> undef, float %temp116.0.ph, i32 0 %229 = insertelement <24 x float> %228, float %temp120.0.ph, i32 1 %230 = insertelement <24 x float> %229, float %temp124.0.ph, i32 2 %231 = insertelement <24 x float> %230, float %temp128.0.ph, i32 3 %232 = insertelement <24 x float> %231, float %temp132.0.ph, i32 4 %233 = insertelement <24 x float> %232, float %temp136.0.ph, i32 5 %234 = insertelement <24 x float> %233, float %temp140.0.ph, i32 6 %235 = insertelement <24 x float> %234, float %temp144.0.ph, i32 7 %236 = insertelement <24 x float> %235, float %temp148.0.ph, i32 8 %237 = insertelement <24 x float> %236, float %temp152.0.ph, i32 9 %238 = insertelement <24 x float> %237, float %temp156.0.ph, i32 10 %239 = insertelement <24 x float> %238, float %temp160.0.ph, i32 11 %240 = insertelement <24 x float> %239, float %temp164.0.ph, i32 12 %241 = insertelement <24 x float> %240, float %temp168.0.ph, i32 13 %242 = insertelement <24 x float> %241, float %temp172.0.ph, i32 14 %243 = insertelement <24 x float> %242, float %temp176.0.ph, i32 15 %244 = insertelement <24 x float> %243, float %temp180.0.ph, i32 16 %245 = insertelement <24 x float> %244, float %temp184.0.ph, i32 17 %246 = insertelement <24 x float> %245, float %temp188.0.ph, i32 18 %247 = insertelement <24 x float> %246, float %temp192.0.ph, i32 19 %248 = insertelement <24 x float> %247, float %temp196.0.ph, i32 20 %249 = insertelement <24 x float> %248, float %temp200.0.ph, i32 21 %250 = insertelement <24 x float> %249, float %temp204.0.ph, i32 22 %251 = insertelement <24 x float> %250, float %temp208.0.ph, i32 23 br label %LOOP LOOP: ; preds = %ENDIF414, %ENDIF396, %LOOP.outer %temp52.0 = phi float [ %temp52.0.ph, %LOOP.outer ], [ %371, %ENDIF396 ], [ %371, %ENDIF414 ] %temp48.0 = phi float [ %temp48.0.ph, %LOOP.outer ], [ %639, %ENDIF414 ], [ %temp48.0, %ENDIF396 ] %temp44.0 = phi float [ %temp44.0.ph, %LOOP.outer ], [ %633, %ENDIF414 ], [ %temp44.0, %ENDIF396 ] %temp40.0 = phi float [ %temp40.0.ph, %LOOP.outer ], [ %642, %ENDIF414 ], [ %temp40.0, %ENDIF396 ] %temp36.0 = phi float [ %temp36.0.ph, %LOOP.outer ], [ %360, %ENDIF396 ], [ %360, %ENDIF414 ] %temp32.0 = phi float [ %temp32.0.ph, %LOOP.outer ], [ 0.000000e+00, %ENDIF414 ], [ %temp32.0, %ENDIF396 ] %temp24.0 = phi float [ %temp24.0.ph, %LOOP.outer ], [ %689, %ENDIF414 ], [ %448, %ENDIF396 ] %temp10.0 = phi float [ %temp10.0.ph, %LOOP.outer ], [ %666, %ENDIF414 ], [ %444, %ENDIF396 ] %temp9.0 = phi float [ %temp9.0.ph, %LOOP.outer ], [ %665, %ENDIF414 ], [ %441, %ENDIF396 ] %temp8.0 = phi float [ %temp8.0.ph, %LOOP.outer ], [ %664, %ENDIF414 ], [ %438, %ENDIF396 ] %252 = bitcast float %temp44.0 to i32 %253 = icmp sge i32 %252, 23 %254 = sext i1 %253 to i32 %255 = bitcast i32 %254 to float %256 = bitcast float %255 to i32 %257 = icmp ne i32 %256, 0 br i1 %257, label %ENDLOOP, label %ENDIF390 ENDLOOP: ; preds = %IF397, %LOOP %temp52.1 = phi float [ %temp52.0, %LOOP ], [ %371, %IF397 ] %258 = bitcast float %temp44.0 to i32 %259 = icmp sge i32 %258, 23 %260 = sext i1 %259 to i32 %261 = bitcast i32 %260 to float %262 = bitcast float %261 to i32 %263 = icmp ne i32 %262, 0 %.temp36.0 = select i1 %263, float 2.000000e+00, float %temp36.0 %264 = bitcast float %142 to i32 %265 = and i32 %264, 1 %266 = bitcast float %142 to i32 %267 = and i32 %266, 2 %268 = bitcast float %142 to i32 %269 = and i32 %268, 4 %270 = bitcast i32 %265 to float %271 = bitcast i32 %267 to float %272 = bitcast i32 %269 to float %273 = bitcast float %270 to i32 %274 = icmp ne i32 %273, 0 %275 = sext i1 %274 to i32 %276 = bitcast float %271 to i32 %277 = icmp ne i32 %276, 0 %278 = sext i1 %277 to i32 %279 = bitcast float %272 to i32 %280 = icmp ne i32 %279, 0 %281 = sext i1 %280 to i32 %282 = bitcast i32 %275 to float %283 = bitcast i32 %278 to float %284 = bitcast i32 %281 to float %285 = fsub float -0.000000e+00, %temp48.0 %286 = fadd float 3.000000e+00, %285 %287 = fsub float -0.000000e+00, %temp8.0 %288 = fadd float %286, %287 %289 = fsub float -0.000000e+00, %temp9.0 %290 = fadd float %286, %289 %291 = fsub float -0.000000e+00, %temp10.0 %292 = fadd float %286, %291 %293 = bitcast float %282 to i32 %294 = icmp ne i32 %293, 0 %295 = select i1 %294, float %288, float %temp8.0 %296 = bitcast float %283 to i32 %297 = icmp ne i32 %296, 0 %298 = select i1 %297, float %290, float %temp9.0 %299 = bitcast float %284 to i32 %300 = icmp ne i32 %299, 0 %301 = select i1 %300, float %292, float %temp10.0 %302 = fmul float %.temp36.0, %71 %303 = fadd float %302, %25 %304 = fmul float %.temp36.0, %74 %305 = fadd float %304, %26 %306 = fmul float %.temp36.0, %77 %307 = fadd float %306, %27 %308 = fadd float %295, 0x3E80000000000000 %309 = fadd float %298, 0x3E80000000000000 %310 = fadd float %301, 0x3E80000000000000 %311 = fcmp uge float %303, %308 %312 = select i1 %311, float %303, float %308 %313 = fcmp uge float %305, %309 %314 = select i1 %313, float %305, float %309 %315 = fcmp uge float %307, %310 %316 = select i1 %315, float %307, float %310 %317 = fadd float %295, %temp48.0 %318 = fadd float %298, %temp48.0 %319 = fadd float %301, %temp48.0 %320 = fadd float %317, 0xBE80000000000000 %321 = fadd float %318, 0xBE80000000000000 %322 = fadd float %319, 0xBE80000000000000 %323 = fcmp uge float %312, %320 %324 = select i1 %323, float %320, float %312 %325 = fcmp uge float %314, %321 %326 = select i1 %325, float %321, float %314 %327 = fcmp uge float %316, %322 %328 = select i1 %327, float %322, float %316 %329 = fdiv float 1.000000e+00, %temp48.0 %330 = fmul float %324, %329 %331 = fmul float %326, %329 %332 = fmul float %328, %329 %333 = call float @llvm.AMDIL.fraction.(float %330) %334 = call float @llvm.AMDIL.fraction.(float %331) %335 = call float @llvm.AMDIL.fraction.(float %332) %336 = fmul float %temp48.0, %333 %337 = fmul float %temp48.0, %334 %338 = fmul float %temp48.0, %335 %339 = fdiv float 1.000000e+00, %temp48.0 %340 = fmul float %336, %339 %341 = fmul float %337, %339 %342 = fmul float %338, %339 %343 = bitcast float %temp52.1 to i32 %344 = and i32 %343, 4095 %345 = bitcast i32 %344 to float %346 = fcmp olt float %.temp36.0, 2.000000e+00 %347 = sext i1 %346 to i32 %348 = bitcast i32 %347 to float %349 = bitcast float %348 to i32 %350 = icmp ne i32 %349, 0 br i1 %350, label %IF421, label %ENDIF420 ENDIF390: ; preds = %LOOP %351 = fmul float %temp8.0, %82 %352 = fadd float %351, %221 %353 = fmul float %temp9.0, %84 %354 = fadd float %353, %222 %355 = fmul float %temp10.0, %86 %356 = fadd float %355, %223 %357 = fcmp uge float %352, %354 %358 = select i1 %357, float %354, float %352 %359 = fcmp uge float %358, %356 %360 = select i1 %359, float %356, float %358 %361 = bitcast float %temp24.0 to i32 %362 = xor i32 %361, %224 %363 = bitcast i32 %362 to float %364 = bitcast float %temp40.0 to i32 %365 = bitcast float %363 to i32 %366 = mul i32 %364, 8 %367 = add i32 %366, %365 %368 = bitcast i32 %367 to float %369 = bitcast float %368 to i32 %370 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %227, i32 0, i32 %369) %371 = extractelement <4 x float> %370, i32 0 %372 = bitcast float %371 to i32 %373 = and i32 %372, -2147483648 %374 = bitcast i32 %373 to float %375 = bitcast float %374 to i32 %376 = icmp ne i32 %375, 0 %377 = sext i1 %376 to i32 %378 = bitcast i32 %377 to float %379 = bitcast float %378 to i32 %380 = xor i32 %379, -1 %381 = bitcast i32 %380 to float %382 = bitcast float %381 to i32 %383 = icmp ne i32 %382, 0 br i1 %383, label %ENDIF393, label %ELSE395 ELSE395: ; preds = %ENDIF390 %384 = bitcast float %371 to i32 %385 = and i32 %384, 4095 %386 = bitcast i32 %385 to float %387 = bitcast float %386 to i32 %388 = icmp ne i32 %387, 0 %389 = sext i1 %388 to i32 %390 = bitcast i32 %389 to float br label %ENDIF393 ENDIF393: ; preds = %ENDIF390, %ELSE395 %temp96.0 = phi float [ %390, %ELSE395 ], [ 0xFFFFFFFFE0000000, %ENDIF390 ] %391 = bitcast float %temp96.0 to i32 %392 = icmp ne i32 %391, 0 br i1 %392, label %IF397, label %ENDIF396 IF397: ; preds = %ENDIF393 %393 = bitcast float %378 to i32 %394 = icmp ne i32 %393, 0 br i1 %394, label %ENDLOOP, label %ENDIF399 ENDIF396: ; preds = %ENDIF393 %395 = fcmp oge float %360, %352 %396 = sext i1 %395 to i32 %397 = fcmp oge float %360, %354 %398 = sext i1 %397 to i32 %399 = fcmp oge float %360, %356 %400 = sext i1 %399 to i32 %401 = bitcast i32 %396 to float %402 = bitcast i32 %398 to float %403 = bitcast i32 %400 to float %404 = bitcast float %401 to i32 %405 = and i32 %404, 1 %406 = bitcast i32 %405 to float %407 = bitcast float %406 to i32 %408 = and i32 %407, 1 %409 = bitcast i32 %408 to float %410 = bitcast float %402 to i32 %411 = and i32 %410, 1 %412 = bitcast i32 %411 to float %413 = bitcast float %412 to i32 %414 = and i32 %413, 2 %415 = bitcast i32 %414 to float %416 = bitcast float %409 to i32 %417 = bitcast float %415 to i32 %418 = or i32 %416, %417 %419 = bitcast i32 %418 to float %420 = bitcast float %403 to i32 %421 = and i32 %420, 1 %422 = bitcast i32 %421 to float %423 = bitcast float %422 to i32 %424 = and i32 %423, 4 %425 = bitcast i32 %424 to float %426 = bitcast float %419 to i32 %427 = bitcast float %425 to i32 %428 = or i32 %426, %427 %429 = bitcast i32 %428 to float %430 = fsub float -0.000000e+00, %temp48.0 %431 = fadd float %temp8.0, %430 %432 = fsub float -0.000000e+00, %temp48.0 %433 = fadd float %temp9.0, %432 %434 = fsub float -0.000000e+00, %temp48.0 %435 = fadd float %temp10.0, %434 %436 = bitcast float %401 to i32 %437 = icmp ne i32 %436, 0 %438 = select i1 %437, float %431, float %temp8.0 %439 = bitcast float %402 to i32 %440 = icmp ne i32 %439, 0 %441 = select i1 %440, float %433, float %temp9.0 %442 = bitcast float %403 to i32 %443 = icmp ne i32 %442, 0 %444 = select i1 %443, float %435, float %temp10.0 %445 = bitcast float %temp24.0 to i32 %446 = bitcast float %429 to i32 %447 = xor i32 %445, %446 %448 = bitcast i32 %447 to float %449 = bitcast float %448 to i32 %450 = bitcast float %429 to i32 %451 = and i32 %449, %450 %452 = bitcast i32 %451 to float %453 = bitcast float %452 to i32 %454 = icmp ne i32 %453, 0 %455 = sext i1 %454 to i32 %456 = bitcast i32 %455 to float %457 = bitcast float %456 to i32 %458 = icmp ne i32 %457, 0 br i1 %458, label %IF406, label %LOOP ENDIF399: ; preds = %IF397 %459 = fmul float %temp48.0, 5.000000e-01 %460 = fmul float %459, %82 %461 = fadd float %460, %352 %462 = fmul float %459, %84 %463 = fadd float %462, %354 %464 = fmul float %459, %86 %465 = fadd float %464, %356 %466 = fcmp olt float %360, %temp32.0 %467 = sext i1 %466 to i32 %468 = bitcast i32 %467 to float %469 = bitcast float %468 to i32 %470 = icmp ne i32 %469, 0 br i1 %470, label %IF403, label %ENDIF402 IF403: ; preds = %ENDIF399 %471 = bitcast float %temp44.0 to i32 %472 = add i32 %471, 0 %473 = insertelement <24 x float> undef, float %temp116.0.ph, i32 0 %474 = insertelement <24 x float> %473, float %temp120.0.ph, i32 1 %475 = insertelement <24 x float> %474, float %temp124.0.ph, i32 2 %476 = insertelement <24 x float> %475, float %temp128.0.ph, i32 3 %477 = insertelement <24 x float> %476, float %temp132.0.ph, i32 4 %478 = insertelement <24 x float> %477, float %temp136.0.ph, i32 5 %479 = insertelement <24 x float> %478, float %temp140.0.ph, i32 6 %480 = insertelement <24 x float> %479, float %temp144.0.ph, i32 7 %481 = insertelement <24 x float> %480, float %temp148.0.ph, i32 8 %482 = insertelement <24 x float> %481, float %temp152.0.ph, i32 9 %483 = insertelement <24 x float> %482, float %temp156.0.ph, i32 10 %484 = insertelement <24 x float> %483, float %temp160.0.ph, i32 11 %485 = insertelement <24 x float> %484, float %temp164.0.ph, i32 12 %486 = insertelement <24 x float> %485, float %temp168.0.ph, i32 13 %487 = insertelement <24 x float> %486, float %temp172.0.ph, i32 14 %488 = insertelement <24 x float> %487, float %temp176.0.ph, i32 15 %489 = insertelement <24 x float> %488, float %temp180.0.ph, i32 16 %490 = insertelement <24 x float> %489, float %temp184.0.ph, i32 17 %491 = insertelement <24 x float> %490, float %temp188.0.ph, i32 18 %492 = insertelement <24 x float> %491, float %temp192.0.ph, i32 19 %493 = insertelement <24 x float> %492, float %temp196.0.ph, i32 20 %494 = insertelement <24 x float> %493, float %temp200.0.ph, i32 21 %495 = insertelement <24 x float> %494, float %temp204.0.ph, i32 22 %496 = insertelement <24 x float> %495, float %temp208.0.ph, i32 23 %497 = insertelement <24 x float> %496, float %temp40.0, i32 %472 %498 = extractelement <24 x float> %497, i32 0 %499 = extractelement <24 x float> %497, i32 1 %500 = extractelement <24 x float> %497, i32 2 %501 = extractelement <24 x float> %497, i32 3 %502 = extractelement <24 x float> %497, i32 4 %503 = extractelement <24 x float> %497, i32 5 %504 = extractelement <24 x float> %497, i32 6 %505 = extractelement <24 x float> %497, i32 7 %506 = extractelement <24 x float> %497, i32 8 %507 = extractelement <24 x float> %497, i32 9 %508 = extractelement <24 x float> %497, i32 10 %509 = extractelement <24 x float> %497, i32 11 %510 = extractelement <24 x float> %497, i32 12 %511 = extractelement <24 x float> %497, i32 13 %512 = extractelement <24 x float> %497, i32 14 %513 = extractelement <24 x float> %497, i32 15 %514 = extractelement <24 x float> %497, i32 16 %515 = extractelement <24 x float> %497, i32 17 %516 = extractelement <24 x float> %497, i32 18 %517 = extractelement <24 x float> %497, i32 19 %518 = extractelement <24 x float> %497, i32 20 %519 = extractelement <24 x float> %497, i32 21 %520 = extractelement <24 x float> %497, i32 22 %521 = extractelement <24 x float> %497, i32 23 br label %ENDIF402 ENDIF402: ; preds = %ENDIF399, %IF403 %temp208.1 = phi float [ %521, %IF403 ], [ %temp208.0.ph, %ENDIF399 ] %temp204.1 = phi float [ %520, %IF403 ], [ %temp204.0.ph, %ENDIF399 ] %temp200.1 = phi float [ %519, %IF403 ], [ %temp200.0.ph, %ENDIF399 ] %temp196.1 = phi float [ %518, %IF403 ], [ %temp196.0.ph, %ENDIF399 ] %temp192.1 = phi float [ %517, %IF403 ], [ %temp192.0.ph, %ENDIF399 ] %temp188.1 = phi float [ %516, %IF403 ], [ %temp188.0.ph, %ENDIF399 ] %temp184.1 = phi float [ %515, %IF403 ], [ %temp184.0.ph, %ENDIF399 ] %temp180.1 = phi float [ %514, %IF403 ], [ %temp180.0.ph, %ENDIF399 ] %temp176.1 = phi float [ %513, %IF403 ], [ %temp176.0.ph, %ENDIF399 ] %temp172.1 = phi float [ %512, %IF403 ], [ %temp172.0.ph, %ENDIF399 ] %temp168.1 = phi float [ %511, %IF403 ], [ %temp168.0.ph, %ENDIF399 ] %temp164.1 = phi float [ %510, %IF403 ], [ %temp164.0.ph, %ENDIF399 ] %temp160.1 = phi float [ %509, %IF403 ], [ %temp160.0.ph, %ENDIF399 ] %temp156.1 = phi float [ %508, %IF403 ], [ %temp156.0.ph, %ENDIF399 ] %temp152.1 = phi float [ %507, %IF403 ], [ %temp152.0.ph, %ENDIF399 ] %temp148.1 = phi float [ %506, %IF403 ], [ %temp148.0.ph, %ENDIF399 ] %temp144.1 = phi float [ %505, %IF403 ], [ %temp144.0.ph, %ENDIF399 ] %temp140.1 = phi float [ %504, %IF403 ], [ %temp140.0.ph, %ENDIF399 ] %temp136.1 = phi float [ %503, %IF403 ], [ %temp136.0.ph, %ENDIF399 ] %temp132.1 = phi float [ %502, %IF403 ], [ %temp132.0.ph, %ENDIF399 ] %temp128.1 = phi float [ %501, %IF403 ], [ %temp128.0.ph, %ENDIF399 ] %temp124.1 = phi float [ %500, %IF403 ], [ %temp124.0.ph, %ENDIF399 ] %temp120.1 = phi float [ %499, %IF403 ], [ %temp120.0.ph, %ENDIF399 ] %temp116.1 = phi float [ %498, %IF403 ], [ %temp116.0.ph, %ENDIF399 ] %522 = bitcast float %temp44.0 to i32 %523 = add i32 %522, -1 %524 = bitcast i32 %523 to float %525 = fmul float %temp48.0, 5.000000e-01 %526 = fcmp olt float %temp36.0, %461 %527 = sext i1 %526 to i32 %528 = fcmp olt float %temp36.0, %463 %529 = sext i1 %528 to i32 %530 = fcmp olt float %temp36.0, %465 %531 = sext i1 %530 to i32 %532 = bitcast i32 %527 to float %533 = bitcast i32 %529 to float %534 = bitcast i32 %531 to float %535 = bitcast float %532 to i32 %536 = and i32 %535, 1 %537 = bitcast i32 %536 to float %538 = bitcast float %537 to i32 %539 = and i32 %538, 1 %540 = bitcast i32 %539 to float %541 = bitcast float %533 to i32 %542 = and i32 %541, 1 %543 = bitcast i32 %542 to float %544 = bitcast float %543 to i32 %545 = and i32 %544, 2 %546 = bitcast i32 %545 to float %547 = bitcast float %540 to i32 %548 = bitcast float %546 to i32 %549 = or i32 %547, %548 %550 = bitcast i32 %549 to float %551 = bitcast float %534 to i32 %552 = and i32 %551, 1 %553 = bitcast i32 %552 to float %554 = bitcast float %553 to i32 %555 = and i32 %554, 4 %556 = bitcast i32 %555 to float %557 = bitcast float %550 to i32 %558 = bitcast float %556 to i32 %559 = or i32 %557, %558 %560 = bitcast i32 %559 to float %561 = fadd float %temp8.0, %525 %562 = fadd float %temp9.0, %525 %563 = fadd float %temp10.0, %525 %564 = bitcast float %532 to i32 %565 = icmp ne i32 %564, 0 %566 = select i1 %565, float %561, float %temp8.0 %567 = bitcast float %533 to i32 %568 = icmp ne i32 %567, 0 %569 = select i1 %568, float %562, float %temp9.0 %570 = bitcast float %534 to i32 %571 = icmp ne i32 %570, 0 %572 = select i1 %571, float %563, float %temp10.0 br label %LOOP.outer IF406: ; preds = %ENDIF396 %573 = fadd float %438, %temp48.0 %574 = fadd float %441, %temp48.0 %575 = fadd float %444, %temp48.0 %576 = bitcast float %438 to i32 %577 = bitcast float %573 to i32 %578 = xor i32 %576, %577 %579 = bitcast float %441 to i32 %580 = bitcast float %574 to i32 %581 = xor i32 %579, %580 %582 = bitcast float %444 to i32 %583 = bitcast float %575 to i32 %584 = xor i32 %582, %583 %585 = bitcast i32 %578 to float %586 = bitcast i32 %581 to float %587 = bitcast i32 %584 to float %588 = bitcast float %429 to i32 %589 = and i32 %588, 1 %590 = bitcast i32 %589 to float %591 = bitcast float %590 to i32 %592 = icmp ne i32 %591, 0 %593 = sext i1 %592 to i32 %594 = bitcast i32 %593 to float %595 = bitcast float %594 to i32 %596 = icmp ne i32 %595, 0 br i1 %596, label %IF409, label %ENDIF408 IF409: ; preds = %IF406 %597 = bitcast float %585 to i32 %598 = or i32 0, %597 %599 = bitcast i32 %598 to float br label %ENDIF408 ENDIF408: ; preds = %IF406, %IF409 %temp300.0 = phi float [ %599, %IF409 ], [ 0.000000e+00, %IF406 ] %600 = bitcast float %429 to i32 %601 = and i32 %600, 2 %602 = bitcast i32 %601 to float %603 = bitcast float %602 to i32 %604 = icmp ne i32 %603, 0 %605 = sext i1 %604 to i32 %606 = bitcast i32 %605 to float %607 = bitcast float %606 to i32 %608 = icmp ne i32 %607, 0 br i1 %608, label %IF412, label %ENDIF411 IF412: ; preds = %ENDIF408 %609 = bitcast float %temp300.0 to i32 %610 = bitcast float %586 to i32 %611 = or i32 %609, %610 %612 = bitcast i32 %611 to float br label %ENDIF411 ENDIF411: ; preds = %ENDIF408, %IF412 %temp300.1 = phi float [ %612, %IF412 ], [ %temp300.0, %ENDIF408 ] %613 = bitcast float %429 to i32 %614 = and i32 %613, 4 %615 = bitcast i32 %614 to float %616 = bitcast float %615 to i32 %617 = icmp ne i32 %616, 0 %618 = sext i1 %617 to i32 %619 = bitcast i32 %618 to float %620 = bitcast float %619 to i32 %621 = icmp ne i32 %620, 0 br i1 %621, label %IF415, label %ENDIF414 IF415: ; preds = %ENDIF411 %622 = bitcast float %temp300.1 to i32 %623 = bitcast float %587 to i32 %624 = or i32 %622, %623 %625 = bitcast i32 %624 to float br label %ENDIF414 ENDIF414: ; preds = %ENDIF411, %IF415 %temp300.2 = phi float [ %625, %IF415 ], [ %temp300.1, %ENDIF411 ] %626 = bitcast float %temp300.2 to i32 %627 = uitofp i32 %626 to float %628 = bitcast float %627 to i32 %629 = ashr i32 %628, 23 %630 = bitcast i32 %629 to float %631 = bitcast float %630 to i32 %632 = add i32 %631, -127 %633 = bitcast i32 %632 to float %634 = bitcast float %633 to i32 %635 = add i32 104, %634 %636 = bitcast i32 %635 to float %637 = bitcast float %636 to i32 %638 = shl i32 %637, 23 %639 = bitcast i32 %638 to float %640 = bitcast float %633 to i32 %641 = add i32 %640, 0 %642 = extractelement <24 x float> %251, i32 %641 %643 = bitcast float %438 to i32 %644 = bitcast float %633 to i32 %645 = lshr i32 %643, %644 %646 = bitcast float %441 to i32 %647 = bitcast float %633 to i32 %648 = lshr i32 %646, %647 %649 = bitcast float %444 to i32 %650 = bitcast float %633 to i32 %651 = lshr i32 %649, %650 %652 = bitcast i32 %645 to float %653 = bitcast i32 %648 to float %654 = bitcast i32 %651 to float %655 = bitcast float %652 to i32 %656 = bitcast float %633 to i32 %657 = shl i32 %655, %656 %658 = bitcast float %653 to i32 %659 = bitcast float %633 to i32 %660 = shl i32 %658, %659 %661 = bitcast float %654 to i32 %662 = bitcast float %633 to i32 %663 = shl i32 %661, %662 %664 = bitcast i32 %657 to float %665 = bitcast i32 %660 to float %666 = bitcast i32 %663 to float %667 = bitcast float %652 to i32 %668 = and i32 %667, 1 %669 = bitcast i32 %668 to float %670 = bitcast float %653 to i32 %671 = and i32 %670, 1 %672 = bitcast i32 %671 to float %673 = bitcast float %672 to i32 %674 = shl i32 %673, 1 %675 = bitcast i32 %674 to float %676 = bitcast float %669 to i32 %677 = bitcast float %675 to i32 %678 = or i32 %676, %677 %679 = bitcast i32 %678 to float %680 = bitcast float %654 to i32 %681 = and i32 %680, 1 %682 = bitcast i32 %681 to float %683 = bitcast float %682 to i32 %684 = shl i32 %683, 2 %685 = bitcast i32 %684 to float %686 = bitcast float %679 to i32 %687 = bitcast float %685 to i32 %688 = or i32 %686, %687 %689 = bitcast i32 %688 to float br label %LOOP IF421: ; preds = %ENDLOOP %690 = bitcast float %345 to i32 %691 = icmp eq i32 1, %690 %692 = sext i1 %691 to i32 %693 = bitcast i32 %692 to float %694 = bitcast float %693 to i32 %695 = sitofp i32 %694 to float %696 = call float @llvm.AMDGPU.cndlt(float %695, float 0xFFFFFFFFE0000000, float 0.000000e+00) %697 = call float @llvm.AMDGPU.cndlt(float 0.000000e+00, float 0.000000e+00, float %696) %698 = bitcast float %697 to i32 %699 = icmp ne i32 %698, 0 %.484 = select i1 %699, float 1.000000e+00, float 0.000000e+00 %.485 = select i1 %699, float 5.000000e-01, float %116 %.486 = select i1 %699, float 5.000000e-01, float %113 %.487 = select i1 %699, float 5.000000e-01, float 0.000000e+00 %.488 = select i1 %699, float 0xFFFFFFFFE0000000, float 0.000000e+00 %700 = bitcast float %345 to i32 %701 = icmp eq i32 2, %700 %702 = sext i1 %701 to i32 %703 = bitcast i32 %702 to float %704 = bitcast float %703 to i32 %705 = sitofp i32 %704 to float %706 = call float @llvm.AMDGPU.cndlt(float %705, float 0xFFFFFFFFE0000000, float %697) %707 = bitcast float %.488 to i32 %708 = sitofp i32 %707 to float %709 = call float @llvm.AMDGPU.cndlt(float %708, float 0.000000e+00, float %706) %710 = bitcast float %709 to i32 %711 = icmp ne i32 %710, 0 %..484 = select i1 %711, float 1.000000e+00, float %.484 %..485 = select i1 %711, float 0.000000e+00, float %.485 %..486 = select i1 %711, float 2.500000e-01, float %.486 %..487 = select i1 %711, float 0.000000e+00, float %.487 %..488 = select i1 %711, float 0xFFFFFFFFE0000000, float %.488 %712 = bitcast float %345 to i32 %713 = icmp eq i32 3, %712 %714 = sext i1 %713 to i32 %715 = bitcast i32 %714 to float %716 = bitcast float %715 to i32 %717 = sitofp i32 %716 to float %718 = call float @llvm.AMDGPU.cndlt(float %717, float 0xFFFFFFFFE0000000, float %709) %719 = bitcast float %..488 to i32 %720 = sitofp i32 %719 to float %721 = call float @llvm.AMDGPU.cndlt(float %720, float 0.000000e+00, float %718) %722 = bitcast float %721 to i32 %723 = icmp ne i32 %722, 0 %.temp27.2 = select i1 %723, float 1.000000e+00, float %..484 %.temp26.2 = select i1 %723, float 1.250000e-01, float %..485 %.temp25.2 = select i1 %723, float 2.500000e-01, float %..486 %.temp24.4 = select i1 %723, float 5.000000e-01, float %..487 %.temp20.1 = select i1 %723, float 0xFFFFFFFFE0000000, float %..488 %724 = bitcast float %345 to i32 %725 = icmp eq i32 4, %724 %726 = sext i1 %725 to i32 %727 = bitcast i32 %726 to float %728 = bitcast float %727 to i32 %729 = sitofp i32 %728 to float %730 = call float @llvm.AMDGPU.cndlt(float %729, float 0xFFFFFFFFE0000000, float %721) %731 = bitcast float %.temp20.1 to i32 %732 = sitofp i32 %731 to float %733 = call float @llvm.AMDGPU.cndlt(float %732, float 0.000000e+00, float %730) %734 = bitcast float %733 to i32 %735 = icmp ne i32 %734, 0 %..temp27.2 = select i1 %735, float 1.000000e+00, float %.temp27.2 %..temp26.2 = select i1 %735, float 2.500000e-01, float %.temp26.2 %..temp25.2 = select i1 %735, float 2.500000e-01, float %.temp25.2 %..temp24.4 = select i1 %735, float 2.500000e-01, float %.temp24.4 %..temp20.1 = select i1 %735, float 0xFFFFFFFFE0000000, float %.temp20.1 %736 = bitcast float %345 to i32 %737 = icmp eq i32 5, %736 %738 = sext i1 %737 to i32 %739 = bitcast i32 %738 to float %740 = bitcast float %739 to i32 %741 = sitofp i32 %740 to float %742 = call float @llvm.AMDGPU.cndlt(float %741, float 0xFFFFFFFFE0000000, float %733) %743 = bitcast float %..temp20.1 to i32 %744 = sitofp i32 %743 to float %745 = call float @llvm.AMDGPU.cndlt(float %744, float 0.000000e+00, float %742) %746 = bitcast float %745 to i32 %747 = icmp ne i32 %746, 0 %.temp27.4 = select i1 %747, float 1.000000e+00, float %..temp27.2 %.temp26.4 = select i1 %747, float 1.250000e-01, float %..temp26.2 %.temp25.4 = select i1 %747, float 5.000000e-01, float %..temp25.2 %.temp24.6 = select i1 %747, float 5.000000e-01, float %..temp24.4 %.temp20.3 = select i1 %747, float 0xFFFFFFFFE0000000, float %..temp20.1 %748 = bitcast float %345 to i32 %749 = icmp eq i32 8, %748 %750 = sext i1 %749 to i32 %751 = bitcast i32 %750 to float %752 = bitcast float %751 to i32 %753 = sitofp i32 %752 to float %754 = call float @llvm.AMDGPU.cndlt(float %753, float 0xFFFFFFFFE0000000, float %745) %755 = bitcast float %.temp20.3 to i32 %756 = sitofp i32 %755 to float %757 = call float @llvm.AMDGPU.cndlt(float %756, float 0.000000e+00, float %754) %758 = bitcast float %757 to i32 %759 = icmp ne i32 %758, 0 %..temp27.4 = select i1 %759, float 1.000000e+00, float %.temp27.4 %..temp26.4 = select i1 %759, float 1.000000e+00, float %.temp26.4 %..temp25.4 = select i1 %759, float 0.000000e+00, float %.temp25.4 %..temp24.6 = select i1 %759, float 0.000000e+00, float %.temp24.6 %..temp20.3 = select i1 %759, float 0xFFFFFFFFE0000000, float %.temp20.3 %760 = bitcast float %345 to i32 %761 = icmp eq i32 9, %760 %762 = sext i1 %761 to i32 %763 = bitcast i32 %762 to float %764 = bitcast float %763 to i32 %765 = sitofp i32 %764 to float %766 = call float @llvm.AMDGPU.cndlt(float %765, float 0xFFFFFFFFE0000000, float %757) %767 = bitcast float %..temp20.3 to i32 %768 = sitofp i32 %767 to float %769 = call float @llvm.AMDGPU.cndlt(float %768, float 0.000000e+00, float %766) %770 = bitcast float %769 to i32 %771 = icmp ne i32 %770, 0 %.temp27.6 = select i1 %771, float 1.000000e+00, float %..temp27.4 %.temp26.6 = select i1 %771, float 5.000000e-01, float %..temp26.4 %.temp25.6 = select i1 %771, float 0.000000e+00, float %..temp25.4 %.temp24.8 = select i1 %771, float 0.000000e+00, float %..temp24.6 %.temp20.5 = select i1 %771, float 0xFFFFFFFFE0000000, float %..temp20.3 %772 = bitcast float %345 to i32 %773 = icmp eq i32 12, %772 %774 = sext i1 %773 to i32 %775 = bitcast i32 %774 to float %776 = bitcast float %775 to i32 %777 = sitofp i32 %776 to float %778 = call float @llvm.AMDGPU.cndlt(float %777, float 0xFFFFFFFFE0000000, float %769) %779 = bitcast float %.temp20.5 to i32 %780 = sitofp i32 %779 to float %781 = call float @llvm.AMDGPU.cndlt(float %780, float 0.000000e+00, float %778) %782 = bitcast float %781 to i32 %783 = icmp ne i32 %782, 0 %..temp27.6 = select i1 %783, float 1.000000e+00, float %.temp27.6 %..temp26.6 = select i1 %783, float 6.250000e-01, float %.temp26.6 %..temp25.6 = select i1 %783, float 0x3FEA666660000000, float %.temp25.6 %..temp24.8 = select i1 %783, float 0x3FEB333340000000, float %.temp24.8 %..temp20.5 = select i1 %783, float 0xFFFFFFFFE0000000, float %.temp20.5 %784 = bitcast float %345 to i32 %785 = icmp eq i32 13, %784 %786 = sext i1 %785 to i32 %787 = bitcast i32 %786 to float %788 = bitcast float %787 to i32 %789 = sitofp i32 %788 to float %790 = call float @llvm.AMDGPU.cndlt(float %789, float 0xFFFFFFFFE0000000, float %781) %791 = bitcast float %..temp20.5 to i32 %792 = sitofp i32 %791 to float %793 = call float @llvm.AMDGPU.cndlt(float %792, float 0.000000e+00, float %790) %794 = bitcast float %793 to i32 %795 = icmp ne i32 %794, 0 %.temp27.8 = select i1 %795, float 1.000000e+00, float %..temp27.6 %.temp26.8 = select i1 %795, float 0x3FDEB851E0000000, float %..temp26.6 %.temp25.8 = select i1 %795, float 0x3FDF0A3D80000000, float %..temp25.6 %.temp24.10 = select i1 %795, float 5.000000e-01, float %..temp24.8 %.temp20.7 = select i1 %795, float 0xFFFFFFFFE0000000, float %..temp20.5 %796 = bitcast float %345 to i32 %797 = icmp eq i32 17, %796 %798 = sext i1 %797 to i32 %799 = bitcast i32 %798 to float %800 = bitcast float %799 to i32 %801 = sitofp i32 %800 to float %802 = call float @llvm.AMDGPU.cndlt(float %801, float 0xFFFFFFFFE0000000, float %793) %803 = bitcast float %.temp20.7 to i32 %804 = sitofp i32 %803 to float %805 = call float @llvm.AMDGPU.cndlt(float %804, float 0.000000e+00, float %802) %806 = bitcast float %805 to i32 %807 = icmp ne i32 %806, 0 %..temp27.8 = select i1 %807, float 1.000000e+00, float %.temp27.8 %..temp26.8 = select i1 %807, float 1.250000e-01, float %.temp26.8 %..temp25.8 = select i1 %807, float 2.500000e-01, float %.temp25.8 %..temp24.10 = select i1 %807, float 2.500000e-01, float %.temp24.10 %..temp20.7 = select i1 %807, float 0xFFFFFFFFE0000000, float %.temp20.7 %808 = bitcast float %345 to i32 %809 = icmp eq i32 18, %808 %810 = sext i1 %809 to i32 %811 = bitcast i32 %810 to float %812 = bitcast float %811 to i32 %813 = sitofp i32 %812 to float %814 = call float @llvm.AMDGPU.cndlt(float %813, float 0xFFFFFFFFE0000000, float %805) %815 = bitcast float %..temp20.7 to i32 %816 = sitofp i32 %815 to float %817 = call float @llvm.AMDGPU.cndlt(float %816, float 0.000000e+00, float %814) %818 = bitcast float %817 to i32 %819 = icmp ne i32 %818, 0 %.temp27.10 = select i1 %819, float 1.000000e+00, float %..temp27.8 %.temp26.10 = select i1 %819, float 0.000000e+00, float %..temp26.8 %.temp25.10 = select i1 %819, float 5.000000e-01, float %..temp25.8 %.temp24.12 = select i1 %819, float 0.000000e+00, float %..temp24.10 %.temp20.9 = select i1 %819, float 0xFFFFFFFFE0000000, float %..temp20.7 %820 = bitcast float %345 to i32 %821 = icmp eq i32 31, %820 %822 = sext i1 %821 to i32 %823 = bitcast i32 %822 to float %824 = bitcast float %823 to i32 %825 = sitofp i32 %824 to float %826 = call float @llvm.AMDGPU.cndlt(float %825, float 0xFFFFFFFFE0000000, float %817) %827 = bitcast float %.temp20.9 to i32 %828 = sitofp i32 %827 to float %829 = call float @llvm.AMDGPU.cndlt(float %828, float 0.000000e+00, float %826) %830 = bitcast float %829 to i32 %831 = icmp ne i32 %830, 0 %..temp27.10 = select i1 %831, float 1.000000e+00, float %.temp27.10 %..temp26.10 = select i1 %831, float 0x3FB99999A0000000, float %.temp26.10 %..temp25.10 = select i1 %831, float 0x3FD6666660000000, float %.temp25.10 %..temp24.12 = select i1 %831, float 0x3FB99999A0000000, float %.temp24.12 %..temp20.9 = select i1 %831, float 0xFFFFFFFFE0000000, float %.temp20.9 %832 = bitcast float %345 to i32 %833 = icmp eq i32 32, %832 %834 = sext i1 %833 to i32 %835 = bitcast i32 %834 to float %836 = bitcast float %835 to i32 %837 = sitofp i32 %836 to float %838 = call float @llvm.AMDGPU.cndlt(float %837, float 0xFFFFFFFFE0000000, float %829) %839 = bitcast float %..temp20.9 to i32 %840 = sitofp i32 %839 to float %841 = call float @llvm.AMDGPU.cndlt(float %840, float 0.000000e+00, float %838) %842 = bitcast float %841 to i32 %843 = icmp ne i32 %842, 0 %.temp27.12 = select i1 %843, float 1.000000e+00, float %..temp27.10 %.temp26.12 = select i1 %843, float 0x3FB99999A0000000, float %..temp26.10 %.temp25.12 = select i1 %843, float 0x3FD3333340000000, float %..temp25.10 %.temp24.14 = select i1 %843, float 5.000000e-01, float %..temp24.12 %.temp20.11 = select i1 %843, float 0xFFFFFFFFE0000000, float %..temp20.9 %844 = bitcast float %345 to i32 %845 = icmp eq i32 78, %844 %846 = sext i1 %845 to i32 %847 = bitcast i32 %846 to float %848 = bitcast float %847 to i32 %849 = sitofp i32 %848 to float %850 = call float @llvm.AMDGPU.cndlt(float %849, float 0xFFFFFFFFE0000000, float %841) %851 = bitcast float %.temp20.11 to i32 %852 = sitofp i32 %851 to float %853 = call float @llvm.AMDGPU.cndlt(float %852, float 0.000000e+00, float %850) %854 = bitcast float %853 to i32 %855 = icmp ne i32 %854, 0 %..temp27.12 = select i1 %855, float 1.000000e+00, float %.temp27.12 %..temp26.12 = select i1 %855, float 1.000000e+00, float %.temp26.12 %..temp25.12 = select i1 %855, float 1.000000e+00, float %.temp25.12 %..temp24.14 = select i1 %855, float 1.000000e+00, float %.temp24.14 %..temp20.11 = select i1 %855, float 0xFFFFFFFFE0000000, float %.temp20.11 %856 = bitcast float %345 to i32 %857 = icmp eq i32 81, %856 %858 = sext i1 %857 to i32 %859 = bitcast i32 %858 to float %860 = bitcast float %859 to i32 %861 = sitofp i32 %860 to float %862 = call float @llvm.AMDGPU.cndlt(float %861, float 0xFFFFFFFFE0000000, float %853) %863 = bitcast float %..temp20.11 to i32 %864 = sitofp i32 %863 to float %865 = call float @llvm.AMDGPU.cndlt(float %864, float 0.000000e+00, float %862) %866 = bitcast float %865 to i32 %867 = icmp ne i32 %866, 0 %.temp27.14 = select i1 %867, float 1.000000e+00, float %..temp27.12 %.temp26.14 = select i1 %867, float 0x3FB99999A0000000, float %..temp26.12 %.temp25.14 = select i1 %867, float 0x3FD99999A0000000, float %..temp25.12 %.temp24.16 = select i1 %867, float 1.250000e-01, float %..temp24.14 %.temp20.13 = select i1 %867, float 0xFFFFFFFFE0000000, float %..temp20.11 %868 = bitcast float %345 to i32 %869 = icmp eq i32 106, %868 %870 = sext i1 %869 to i32 %871 = bitcast i32 %870 to float %872 = bitcast float %871 to i32 %873 = sitofp i32 %872 to float %874 = call float @llvm.AMDGPU.cndlt(float %873, float 0xFFFFFFFFE0000000, float %865) %875 = bitcast float %.temp20.13 to i32 %876 = sitofp i32 %875 to float %877 = call float @llvm.AMDGPU.cndlt(float %876, float 0.000000e+00, float %874) %878 = bitcast float %877 to i32 %879 = icmp ne i32 %878, 0 %..temp27.14 = select i1 %879, float 1.000000e+00, float %.temp27.14 %..temp26.14 = select i1 %879, float 0.000000e+00, float %.temp26.14 %..temp25.14 = select i1 %879, float 0x3FD6666660000000, float %.temp25.14 %..temp24.16 = select i1 %879, float 0.000000e+00, float %.temp24.16 %..temp20.13 = select i1 %879, float 0xFFFFFFFFE0000000, float %.temp20.13 %880 = bitcast float %345 to i32 %881 = icmp eq i32 127, %880 %882 = sext i1 %881 to i32 %883 = bitcast i32 %882 to float %884 = bitcast float %883 to i32 %885 = sitofp i32 %884 to float %886 = call float @llvm.AMDGPU.cndlt(float %885, float 0xFFFFFFFFE0000000, float %877) %887 = bitcast float %..temp20.13 to i32 %888 = sitofp i32 %887 to float %889 = call float @llvm.AMDGPU.cndlt(float %888, float 0.000000e+00, float %886) %890 = bitcast float %889 to i32 %891 = icmp ne i32 %890, 0 %.temp27.16 = select i1 %891, float 1.000000e+00, float %..temp27.14 %.temp26.16 = select i1 %891, float 1.250000e-01, float %..temp26.14 %.temp25.16 = select i1 %891, float 0x3FD3333340000000, float %..temp25.14 %.temp24.18 = select i1 %891, float 0x3FE3333340000000, float %..temp24.16 %.temp20.15 = select i1 %891, float 0xFFFFFFFFE0000000, float %..temp20.13 %892 = bitcast float %.temp20.15 to i32 %893 = sitofp i32 %892 to float %894 = call float @llvm.AMDGPU.cndlt(float %893, float 0.000000e+00, float 0xFFFFFFFFE0000000) %895 = bitcast float %894 to i32 %896 = icmp ne i32 %895, 0 br i1 %896, label %IF475, label %ENDIF474 ENDIF420: ; preds = %IF481, %ELSE482, %ENDIF474, %ENDLOOP %temp27.0 = phi float [ 1.000000e+00, %ENDLOOP ], [ %temp27.18, %ENDIF474 ], [ %948, %IF481 ], [ %952, %ELSE482 ] %temp26.0 = phi float [ %77, %ENDLOOP ], [ %temp26.18, %ENDIF474 ], [ %947, %IF481 ], [ %951, %ELSE482 ] %temp25.0 = phi float [ %74, %ENDLOOP ], [ %temp25.18, %ENDIF474 ], [ %946, %IF481 ], [ %950, %ELSE482 ] %temp24.2 = phi float [ %71, %ENDLOOP ], [ %temp24.20, %ENDIF474 ], [ %945, %IF481 ], [ %949, %ELSE482 ] call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %temp24.2, float %temp25.0, float %temp26.0, float %temp27.0) ret void IF475: ; preds = %IF421 %897 = bitcast float %temp52.1 to i32 %898 = lshr i32 %897, 16 %899 = bitcast i32 %898 to float %900 = bitcast float %899 to i32 %901 = and i32 %900, 255 %902 = bitcast i32 %901 to float %903 = bitcast float %902 to i32 %904 = uitofp i32 %903 to float %905 = bitcast float %temp52.1 to i32 %906 = lshr i32 %905, 8 %907 = bitcast i32 %906 to float %908 = bitcast float %907 to i32 %909 = and i32 %908, 255 %910 = bitcast i32 %909 to float %911 = bitcast float %910 to i32 %912 = uitofp i32 %911 to float %913 = bitcast float %temp52.1 to i32 %914 = and i32 %913, 255 %915 = bitcast i32 %914 to float %916 = bitcast float %915 to i32 %917 = uitofp i32 %916 to float %918 = fmul float %904, 0x3F70101020000000 %919 = fmul float %912, 0x3F70101020000000 %920 = fmul float %917, 0x3F70101020000000 %921 = fmul float 2.550000e+02, 0x3F70101020000000 br label %ENDIF474 ENDIF474: ; preds = %IF421, %IF475 %temp27.18 = phi float [ %921, %IF475 ], [ %.temp27.16, %IF421 ] %temp26.18 = phi float [ %920, %IF475 ], [ %.temp26.16, %IF421 ] %temp25.18 = phi float [ %919, %IF475 ], [ %.temp25.16, %IF421 ] %temp24.20 = phi float [ %918, %IF475 ], [ %.temp24.18, %IF421 ] %922 = fadd float %340, -5.000000e-01 %923 = fadd float %341, -5.000000e-01 %924 = fadd float %342, -5.000000e-01 %925 = call float @fabs(float %922) %926 = call float @fabs(float %923) %927 = call float @fabs(float %924) %928 = fcmp olt float %926, %925 %929 = sext i1 %928 to i32 %930 = bitcast i32 %929 to float %931 = fcmp olt float %926, %927 %932 = sext i1 %931 to i32 %933 = bitcast i32 %932 to float %934 = bitcast float %930 to i32 %935 = bitcast float %933 to i32 %936 = or i32 %934, %935 %937 = bitcast i32 %936 to float %938 = bitcast float %937 to i32 %939 = icmp ne i32 %938, 0 br i1 %939, label %IF478, label %ENDIF420 IF478: ; preds = %ENDIF474 %940 = fcmp olt float %927, %925 %941 = sext i1 %940 to i32 %942 = bitcast i32 %941 to float %943 = bitcast float %942 to i32 %944 = icmp ne i32 %943, 0 br i1 %944, label %IF481, label %ELSE482 IF481: ; preds = %IF478 %945 = fmul float %temp24.20, 0x3FECCCCCC0000000 %946 = fmul float %temp25.18, 0x3FECCCCCC0000000 %947 = fmul float %temp26.18, 0x3FECCCCCC0000000 %948 = fmul float %temp27.18, 0x3FECCCCCC0000000 br label %ENDIF420 ELSE482: ; preds = %IF478 %949 = fmul float %temp24.20, 0x3FE99999A0000000 %950 = fmul float %temp25.18, 0x3FE99999A0000000 %951 = fmul float %temp26.18, 0x3FE99999A0000000 %952 = fmul float %temp27.18, 0x3FE99999A0000000 br label %ENDIF420 } ; 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: readonly declare float @fabs(float) #3 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.fraction.(float) #2 ; Function Attrs: readnone declare float @llvm.AMDGPU.cndlt(float, float, float) #2 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" } attributes #1 = { nounwind readnone } attributes #2 = { readnone } attributes #3 = { readonly } !0 = metadata !{metadata !"const", null, i32 1} LLVM ERROR: Cannot select: 0x267d260: v16f32 = bitcast 0x26b84a0 [ORD=347] [ID=224] 0x26b84a0: v16i32 = BUILD_VECTOR 0x26868d0, 0x26869d0, 0x2686ad0, 0x2686bd0, 0x26badc0, 0x26babc0, 0x25cb6d0, 0x25cb4d0, 0x25cb2d0, 0x25cb0d0, 0x25caed0, 0x25cacd0, 0x25caad0, 0x25ca8d0, 0x26b87a0, 0x267e770 [ORD=347] [ID=222] 0x26868d0: i32 = REGISTER_LOAD 0x2680590, 0x2676800, 0x2679930, 0x2679c30 [ORD=347] [ID=205] 0x2676800: i32 = Constant<0> [ID=2] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x26869d0: i32 = REGISTER_LOAD 0x2680590, 0x2683eb0, 0x2679930, 0x2679c30 [ORD=347] [ID=206] 0x2683eb0: i32 = Constant<1> [ID=5] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x2686ad0: i32 = REGISTER_LOAD 0x2680590, 0x2672fc0, 0x2679930, 0x2679c30 [ORD=347] [ID=207] 0x2672fc0: i32 = Constant<2> [ID=7] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x2686bd0: i32 = REGISTER_LOAD 0x2680590, 0x2678110, 0x2679930, 0x2679c30 [ORD=347] [ID=208] 0x2678110: i32 = Constant<3> [ID=9] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x26badc0: i32 = REGISTER_LOAD 0x2680590, 0x26760f0, 0x2679930, 0x2679c30 [ORD=347] [ID=209] 0x26760f0: i32 = Constant<4> [ID=11] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x26babc0: i32 = REGISTER_LOAD 0x2680590, 0x2676e00, 0x2679930, 0x2679c30 [ORD=347] [ID=210] 0x2676e00: i32 = Constant<5> [ID=13] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25cb6d0: i32 = REGISTER_LOAD 0x2680590, 0x267fb80, 0x2679930, 0x2679c30 [ORD=347] [ID=211] 0x267fb80: i32 = Constant<6> [ID=15] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25cb4d0: i32 = REGISTER_LOAD 0x2680590, 0x267c550, 0x2679930, 0x2679c30 [ORD=347] [ID=212] 0x267c550: i32 = Constant<7> [ID=17] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25cb2d0: i32 = REGISTER_LOAD 0x2680590, 0x2670590, 0x2679930, 0x2679c30 [ORD=347] [ID=213] 0x2670590: i32 = Constant<8> [ID=19] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25cb0d0: i32 = REGISTER_LOAD 0x2680590, 0x26735c0, 0x2679930, 0x2679c30 [ORD=347] [ID=214] 0x26735c0: i32 = Constant<9> [ID=21] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25caed0: i32 = REGISTER_LOAD 0x2680590, 0x2670090, 0x2679930, 0x2679c30 [ORD=347] [ID=215] 0x2670090: i32 = Constant<10> [ID=23] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25cacd0: i32 = REGISTER_LOAD 0x2680590, 0x267f880, 0x2679930, 0x2679c30 [ORD=347] [ID=216] 0x267f880: i32 = Constant<11> [ID=25] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25caad0: i32 = REGISTER_LOAD 0x2680590, 0x26719b0, 0x2679930, 0x2679c30 [ORD=347] [ID=217] 0x26719b0: i32 = Constant<12> [ID=27] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x25ca8d0: i32 = REGISTER_LOAD 0x2680590, 0x2671bb0, 0x2679930, 0x2679c30 [ORD=347] [ID=218] 0x2671bb0: i32 = Constant<13> [ID=29] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x26b87a0: i32 = REGISTER_LOAD 0x2680590, 0x267de70, 0x2679930, 0x2679c30 [ORD=347] [ID=219] 0x267de70: i32 = Constant<14> [ID=31] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] 0x267e770: i32 = REGISTER_LOAD 0x2680590, 0x2676700, 0x2679930, 0x2679c30 [ORD=347] [ID=220] 0x2676700: i32 = Constant<15> [ID=33] 0x2679930: i32 = TargetConstant<0> [ID=70] 0x2679c30: i64 = undef [ID=69] In function: main