brintos

brintos / llvm-project-archived public Read only

0
0
Text · 24.6 KiB · 931f00e Raw
443 lines · plain
1; RUN: llc -mtriple=amdgcn < %s | FileCheck -check-prefix=SI %s2; RUN: llc -mtriple=amdgcn -mcpu=tonga < %s | FileCheck -check-prefix=SI %s3 4; If this occurs it is likely due to reordering and the restore was5; originally supposed to happen before SI_END_CF.6 7; SI: s_or_b64 exec, exec, [[SAVED:s\[[0-9]+:[0-9]+\]|[a-z]+]]8; SI-NOT: v_readlane_b32 [[SAVED]]9 10define amdgpu_ps void @main(<4 x i32> inreg %rsrc) #0 {11main_body:12  %tmp = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 16, i32 0)13  %tmp1 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 32, i32 0)14  %tmp2 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 80, i32 0)15  %tmp3 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 84, i32 0)16  %tmp4 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 88, i32 0)17  %tmp5 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 96, i32 0)18  %tmp6 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 100, i32 0)19  %tmp7 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 104, i32 0)20  %tmp8 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 112, i32 0)21  %tmp9 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 116, i32 0)22  %tmp10 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 120, i32 0)23  %tmp11 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 128, i32 0)24  %tmp12 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 132, i32 0)25  %tmp13 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 136, i32 0)26  %tmp14 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 144, i32 0)27  %tmp15 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 148, i32 0)28  %tmp16 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 152, i32 0)29  %tmp17 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 160, i32 0)30  %tmp18 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 164, i32 0)31  %tmp19 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 168, i32 0)32  %tmp20 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 176, i32 0)33  %tmp21 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 180, i32 0)34  %tmp22 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 184, i32 0)35  %tmp23 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 192, i32 0)36  %tmp24 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 196, i32 0)37  %tmp25 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 200, i32 0)38  %tmp26 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 208, i32 0)39  %tmp27 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 212, i32 0)40  %tmp28 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 216, i32 0)41  %tmp29 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 224, i32 0)42  %tmp30 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 228, i32 0)43  %tmp31 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 232, i32 0)44  %tmp32 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 240, i32 0)45  %tmp33 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 244, i32 0)46  %tmp34 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 248, i32 0)47  %tmp35 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 256, i32 0)48  %tmp36 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 260, i32 0)49  %tmp37 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 264, i32 0)50  %tmp38 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 272, i32 0)51  %tmp39 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 276, i32 0)52  %tmp40 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 280, i32 0)53  %tmp41 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 288, i32 0)54  %tmp42 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 292, i32 0)55  %tmp43 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 296, i32 0)56  %tmp44 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 304, i32 0)57  %tmp45 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 308, i32 0)58  %tmp46 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 312, i32 0)59  %tmp47 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 320, i32 0)60  %tmp48 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 324, i32 0)61  %tmp49 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 328, i32 0)62  %tmp50 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 336, i32 0)63  %tmp51 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 340, i32 0)64  %tmp52 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 344, i32 0)65  %tmp53 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 352, i32 0)66  %tmp54 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 356, i32 0)67  %tmp55 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 360, i32 0)68  %tmp56 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 368, i32 0)69  %tmp57 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 372, i32 0)70  %tmp58 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 376, i32 0)71  %tmp59 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 384, i32 0)72  %tmp60 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 388, i32 0)73  %tmp61 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 392, i32 0)74  %tmp62 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 400, i32 0)75  %tmp63 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 404, i32 0)76  %tmp64 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 408, i32 0)77  %tmp65 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 416, i32 0)78  %tmp66 = call float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %rsrc, i32 420, i32 0)79  br label %LOOP80 81LOOP:                                             ; preds = %ENDIF2795, %main_body82  %temp894.0 = phi float [ 0.000000e+00, %main_body ], [ %temp894.1, %ENDIF2795 ]83  %temp18.0 = phi float [ poison, %main_body ], [ %temp18.1, %ENDIF2795 ]84  %tid = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)85  %tmp67 = icmp sgt i32 %tid, 486  br i1 %tmp67, label %ENDLOOP, label %ENDIF87 88ENDLOOP:                                          ; preds = %ELSE2566, %LOOP89  %one.sub.a.i = fsub float 1.000000e+00, %tmp90  %one.sub.ac.i = fmul float %one.sub.a.i, 0x7FF800000000000091  %fmul = fmul float 0x7FF8000000000000, 0x7FF800000000000092  %result.i = fadd float %fmul, %one.sub.ac.i93  call void @llvm.amdgcn.exp.f32(i32 0, i32 15, float poison, float %result.i, float poison, float 1.000000e+00, i1 true, i1 true) #094  ret void95 96ENDIF:                                            ; preds = %LOOP97  %tmp68 = fsub float %tmp2, 0x7FF800000000000098  %tmp69 = fsub float %tmp3, 0x7FF800000000000099  %tmp70 = fsub float %tmp4, 0x7FF8000000000000100  %tmp71 = fmul float %tmp68, 0.000000e+00101  %tmp72 = fmul float %tmp69, 0x7FF8000000000000102  %tmp73 = fmul float %tmp70, 0x7FF8000000000000103  %tmp74 = fsub float %tmp6, 0x7FF8000000000000104  %tmp75 = fsub float %tmp7, 0x7FF8000000000000105  %tmp76 = fmul float %tmp74, 0x7FF8000000000000106  %tmp77 = fmul float %tmp75, 0.000000e+00107  %tmp78 = call float @llvm.minnum.f32(float %tmp73, float %tmp77)108  %tmp79 = call float @llvm.maxnum.f32(float %tmp71, float 0.000000e+00)109  %tmp80 = call float @llvm.maxnum.f32(float %tmp72, float %tmp76)110  %tmp81 = call float @llvm.maxnum.f32(float 0x7FF8000000000000, float %tmp78)111  %tmp82 = call float @llvm.minnum.f32(float %tmp79, float %tmp80)112  %tmp83 = call float @llvm.minnum.f32(float %tmp82, float 0x7FF8000000000000)113  %tmp84 = fsub float %tmp14, 0x7FF8000000000000114  %tmp85 = fsub float %tmp15, 0x7FF8000000000000115  %tmp86 = fsub float %tmp16, 0x7FF8000000000000116  %tmp87 = fmul float %tmp84, 0x7FF8000000000000117  %tmp88 = fmul float %tmp85, 0x7FF8000000000000118  %tmp89 = fmul float %tmp86, 0x7FF8000000000000119  %tmp90 = fsub float %tmp17, 0x7FF8000000000000120  %tmp91 = fsub float %tmp18, 0x7FF8000000000000121  %tmp92 = fsub float %tmp19, 0x7FF8000000000000122  %tmp93 = fmul float %tmp90, 0.000000e+00123  %tmp94 = fmul float %tmp91, 0x7FF8000000000000124  %tmp95 = fmul float %tmp92, 0x7FF8000000000000125  %tmp96 = call float @llvm.minnum.f32(float %tmp88, float %tmp94)126  %tmp97 = call float @llvm.maxnum.f32(float %tmp87, float %tmp93)127  %tmp98 = call float @llvm.maxnum.f32(float %tmp89, float %tmp95)128  %tmp99 = call float @llvm.maxnum.f32(float 0x7FF8000000000000, float %tmp96)129  %tmp100 = call float @llvm.maxnum.f32(float %tmp99, float 0x7FF8000000000000)130  %tmp101 = call float @llvm.minnum.f32(float %tmp97, float 0x7FF8000000000000)131  %tmp102 = call float @llvm.minnum.f32(float %tmp101, float %tmp98)132  %tmp103 = fsub float %tmp30, 0x7FF8000000000000133  %tmp104 = fsub float %tmp31, 0x7FF8000000000000134  %tmp105 = fmul float %tmp103, 0.000000e+00135  %tmp106 = fmul float %tmp104, 0.000000e+00136  %tmp107 = call float @llvm.minnum.f32(float 0x7FF8000000000000, float %tmp105)137  %tmp108 = call float @llvm.maxnum.f32(float 0x7FF8000000000000, float %tmp106)138  %tmp109 = call float @llvm.maxnum.f32(float 0x7FF8000000000000, float %tmp107)139  %tmp110 = call float @llvm.maxnum.f32(float %tmp109, float 0x7FF8000000000000)140  %tmp111 = call float @llvm.minnum.f32(float 0x7FF8000000000000, float %tmp108)141  %tmp112 = fsub float %tmp32, 0x7FF8000000000000142  %tmp113 = fsub float %tmp33, 0x7FF8000000000000143  %tmp114 = fsub float %tmp34, 0x7FF8000000000000144  %tmp115 = fmul float %tmp112, 0.000000e+00145  %tmp116 = fmul float %tmp113, 0x7FF8000000000000146  %tmp117 = fmul float %tmp114, 0x7FF8000000000000147  %tmp118 = fsub float %tmp35, 0x7FF8000000000000148  %tmp119 = fsub float %tmp36, 0x7FF8000000000000149  %tmp120 = fsub float %tmp37, 0x7FF8000000000000150  %tmp121 = fmul float %tmp118, 0x7FF8000000000000151  %tmp122 = fmul float %tmp119, 0x7FF8000000000000152  %tmp123 = fmul float %tmp120, 0x7FF8000000000000153  %tmp124 = call float @llvm.minnum.f32(float %tmp115, float %tmp121)154  %tmp125 = call float @llvm.minnum.f32(float %tmp116, float %tmp122)155  %tmp126 = call float @llvm.minnum.f32(float %tmp117, float %tmp123)156  %tmp127 = call float @llvm.maxnum.f32(float %tmp124, float %tmp125)157  %tmp128 = call float @llvm.maxnum.f32(float %tmp127, float %tmp126)158  %tmp129 = fsub float %tmp38, 0x7FF8000000000000159  %tmp130 = fsub float %tmp39, 0x7FF8000000000000160  %tmp131 = fsub float %tmp40, 0x7FF8000000000000161  %tmp132 = fmul float %tmp129, 0.000000e+00162  %tmp133 = fmul float %tmp130, 0x7FF8000000000000163  %tmp134 = fmul float %tmp131, 0x7FF8000000000000164  %tmp135 = fsub float %tmp41, 0x7FF8000000000000165  %tmp136 = fsub float %tmp42, 0x7FF8000000000000166  %tmp137 = fsub float %tmp43, 0x7FF8000000000000167  %tmp138 = fmul float %tmp135, 0x7FF8000000000000168  %tmp139 = fmul float %tmp136, 0x7FF8000000000000169  %tmp140 = fmul float %tmp137, 0x7FF8000000000000170  %tmp141 = call float @llvm.minnum.f32(float %tmp132, float %tmp138)171  %tmp142 = call float @llvm.minnum.f32(float %tmp133, float %tmp139)172  %tmp143 = call float @llvm.minnum.f32(float %tmp134, float %tmp140)173  %tmp144 = call float @llvm.maxnum.f32(float %tmp141, float %tmp142)174  %tmp145 = call float @llvm.maxnum.f32(float %tmp144, float %tmp143)175  %tmp146 = fsub float %tmp44, 0x7FF8000000000000176  %tmp147 = fsub float %tmp45, 0x7FF8000000000000177  %tmp148 = fsub float %tmp46, 0x7FF8000000000000178  %tmp149 = fmul float %tmp146, 0.000000e+00179  %tmp150 = fmul float %tmp147, 0.000000e+00180  %tmp151 = fmul float %tmp148, 0x7FF8000000000000181  %tmp152 = fsub float %tmp47, 0x7FF8000000000000182  %tmp153 = fsub float %tmp48, 0x7FF8000000000000183  %tmp154 = fsub float %tmp49, 0x7FF8000000000000184  %tmp155 = fmul float %tmp152, 0x7FF8000000000000185  %tmp156 = fmul float %tmp153, 0.000000e+00186  %tmp157 = fmul float %tmp154, 0x7FF8000000000000187  %tmp158 = call float @llvm.minnum.f32(float %tmp149, float %tmp155)188  %tmp159 = call float @llvm.minnum.f32(float %tmp150, float %tmp156)189  %tmp160 = call float @llvm.minnum.f32(float %tmp151, float %tmp157)190  %tmp161 = call float @llvm.maxnum.f32(float %tmp158, float %tmp159)191  %tmp162 = call float @llvm.maxnum.f32(float %tmp161, float %tmp160)192  %tmp163 = fsub float %tmp50, 0x7FF8000000000000193  %tmp164 = fsub float %tmp51, 0x7FF8000000000000194  %tmp165 = fsub float %tmp52, 0x7FF8000000000000195  %tmp166 = fmul float %tmp163, 0x7FF8000000000000196  %tmp167 = fmul float %tmp164, 0.000000e+00197  %tmp168 = fmul float %tmp165, 0.000000e+00198  %tmp169 = fsub float %tmp53, 0x7FF8000000000000199  %tmp170 = fsub float %tmp54, 0x7FF8000000000000200  %tmp171 = fsub float %tmp55, 0x7FF8000000000000201  %tmp172 = fdiv float 1.000000e+00, %temp18.0202  %tmp173 = fmul float %tmp169, 0x7FF8000000000000203  %tmp174 = fmul float %tmp170, 0x7FF8000000000000204  %tmp175 = fmul float %tmp171, %tmp172205  %tmp176 = call float @llvm.minnum.f32(float %tmp166, float %tmp173)206  %tmp177 = call float @llvm.minnum.f32(float %tmp167, float %tmp174)207  %tmp178 = call float @llvm.minnum.f32(float %tmp168, float %tmp175)208  %tmp179 = call float @llvm.maxnum.f32(float %tmp176, float %tmp177)209  %tmp180 = call float @llvm.maxnum.f32(float %tmp179, float %tmp178)210  %tmp181 = fsub float %tmp62, 0x7FF8000000000000211  %tmp182 = fsub float %tmp63, 0x7FF8000000000000212  %tmp183 = fsub float %tmp64, 0x7FF8000000000000213  %tmp184 = fmul float %tmp181, 0.000000e+00214  %tmp185 = fmul float %tmp182, 0x7FF8000000000000215  %tmp186 = fmul float %tmp183, 0x7FF8000000000000216  %tmp187 = fsub float %tmp65, 0x7FF8000000000000217  %tmp188 = fsub float %tmp66, 0x7FF8000000000000218  %tmp189 = fmul float %tmp187, 0x7FF8000000000000219  %tmp190 = fmul float %tmp188, 0x7FF8000000000000220  %tmp191 = call float @llvm.maxnum.f32(float %tmp184, float %tmp189)221  %tmp192 = call float @llvm.maxnum.f32(float %tmp185, float %tmp190)222  %tmp193 = call float @llvm.maxnum.f32(float %tmp186, float 0x7FF8000000000000)223  %tmp194 = call float @llvm.minnum.f32(float %tmp191, float %tmp192)224  %tmp195 = call float @llvm.minnum.f32(float %tmp194, float %tmp193)225  %undef0 = freeze i1 poison226  %.temp292.7 = select i1 %undef0, float %tmp162, float 0x7FF8000000000000227  %temp292.9 = select i1 false, float %tmp180, float %.temp292.7228  %undef1 = freeze i1 poison229  %.temp292.9 = select i1 %undef1, float 0x7FF8000000000000, float %temp292.9230  %tmp196 = fcmp ogt float 0x7FF8000000000000, 0.000000e+00231  %tmp197 = fcmp olt float 0x7FF8000000000000, %tmp195232  %tmp198 = and i1 %tmp196, %tmp197233  %tmp199 = fcmp olt float 0x7FF8000000000000, %.temp292.9234  %tmp200 = and i1 %tmp198, %tmp199235  %temp292.11 = select i1 %tmp200, float 0x7FF8000000000000, float %.temp292.9236  %tid0 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)237  %cmp0 = icmp eq i32 %tid0, 0238  br i1 %cmp0, label %IF2565, label %ELSE2566239 240IF2565:                                           ; preds = %ENDIF241  %tid1 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)242  %cmp1 = icmp eq i32 %tid1, 0243  %tmp212 = fadd float %tmp1, 0x7FF8000000000000244  %tmp213 = fadd float 0.000000e+00, %tmp212245  %floor = call float @llvm.floor.f32(float %tmp213)246  %tmp214 = fsub float %tmp213, %floor247  %tid4 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)248  %cmp4 = icmp eq i32 %tid4, 0249  %tmp215 = fsub float 1.000000e+00, %tmp214250  %tmp216 = call float @llvm.sqrt.f32(float %tmp215)251  %tmp217 = fmul float %tmp216, 0x7FF8000000000000252  %tmp218 = fadd float %tmp217, 0x7FF8000000000000253  br label %ENDIF2564254 255ELSE2566:                                         ; preds = %ENDIF256  %tid2 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)257  %tidf = bitcast i32 %tid2 to float258  %tmp201 = fcmp oeq float %temp292.11, %tidf259  br i1 %tmp201, label %ENDLOOP, label %ELSE2593260 261ENDIF2564:                                        ; preds = %ENDIF2594, %IF2565262  %temp894.1 = phi float [ poison, %IF2565 ], [ %temp894.2, %ENDIF2594 ]263  %temp18.1 = phi float [ %tmp218, %IF2565 ], [ poison, %ENDIF2594 ]264  %tmp202 = fsub float %tmp5, 0x7FF8000000000000265  %tmp203 = fmul float %tmp202, 0x7FF8000000000000266  %tmp204 = call float @llvm.maxnum.f32(float 0x7FF8000000000000, float %tmp203)267  %tmp205 = call float @llvm.minnum.f32(float %tmp204, float 0x7FF8000000000000)268  %tmp206 = call float @llvm.minnum.f32(float %tmp205, float 0x7FF8000000000000)269  %tmp207 = fcmp ogt float 0x7FF8000000000000, 0.000000e+00270  %tmp208 = fcmp olt float 0x7FF8000000000000, 1.000000e+00271  %tmp209 = and i1 %tmp207, %tmp208272  %tid3 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)273  %tidf3 = bitcast i32 %tid3 to float274  %tmp210 = fcmp olt float %tidf3, %tmp206275  %tmp211 = and i1 %tmp209, %tmp210276  br i1 %tmp211, label %ENDIF2795, label %ELSE2797277 278ELSE2593:                                         ; preds = %ELSE2566279  %tmp219 = fcmp oeq float %temp292.11, %tmp81280  %tmp220 = fcmp olt float %tmp81, %tmp83281  %tmp221 = and i1 %tmp219, %tmp220282  br i1 %tmp221, label %ENDIF2594, label %ELSE2596283 284ELSE2596:                                         ; preds = %ELSE2593285  %tmp222 = fcmp oeq float %temp292.11, %tmp100286  %tmp223 = fcmp olt float %tmp100, %tmp102287  %tmp224 = and i1 %tmp222, %tmp223288  %undef_ELSE2596 = freeze i1 poison289  %brmerge = or i1 %tmp224, %undef_ELSE2596290  br i1 %brmerge, label %ENDIF2594, label %ELSE2650291 292ENDIF2594:                                        ; preds = %ELSE2704, %ELSE2650, %ELSE2596, %ELSE2686, %ELSE2668, %ELSE2593293  %temp894.2 = phi float [ 0.000000e+00, %ELSE2593 ], [ 0.000000e+00, %ELSE2686 ], [ 0.000000e+00, %ELSE2668 ], [ 0.000000e+00, %ELSE2596 ], [ 0.000000e+00, %ELSE2650 ], [ %spec.select6, %ELSE2704 ]294  %tmp225 = fmul float %temp894.2, 0x7FF8000000000000295  br label %ENDIF2564296 297ELSE2650:                                         ; preds = %ELSE2596298  %tmp226 = fcmp oeq float %temp292.11, %tmp110299  %tmp227 = fcmp olt float %tmp110, %tmp111300  %tmp228 = and i1 %tmp226, %tmp227301  br i1 %tmp228, label %ENDIF2594, label %ELSE2668302 303ELSE2668:                                         ; preds = %ELSE2650304  %tmp229 = fcmp oeq float %temp292.11, %tmp128305  %tmp230 = fcmp olt float %tmp128, 0x7FF8000000000000306  %tmp231 = and i1 %tmp229, %tmp230307  br i1 %tmp231, label %ENDIF2594, label %ELSE2686308 309ELSE2686:                                         ; preds = %ELSE2668310  %tmp232 = fcmp oeq float %temp292.11, %tmp145311  %tmp233 = fcmp olt float %tmp145, 0x7FF8000000000000312  %tmp234 = and i1 %tmp232, %tmp233313  br i1 %tmp234, label %ENDIF2594, label %ELSE2704314 315ELSE2704:                                         ; preds = %ELSE2686316  %tmp235 = fcmp oeq float %temp292.11, %tmp180317  %tmp236 = fcmp olt float %tmp180, 0x7FF8000000000000318  %tmp237 = and i1 %tmp235, %tmp236319  %undef.ELSE2704 = freeze i1 poison320  %spec.select = select i1 %undef.ELSE2704, float 0.000000e+00, float %temp894.0321  %spec.select6 = select i1 %tmp237, float 0.000000e+00, float %spec.select322  br label %ENDIF2594323 324ELSE2797:                                         ; preds = %ENDIF2564325  %tmp241 = fsub float %tmp8, 0x7FF8000000000000326  %tmp242 = fsub float %tmp9, 0x7FF8000000000000327  %tmp243 = fsub float %tmp10, 0x7FF8000000000000328  %tmp244 = fmul float %tmp241, 0x7FF8000000000000329  %tmp245 = fmul float %tmp242, 0x7FF8000000000000330  %tmp246 = fmul float %tmp243, 0x7FF8000000000000331  %tmp247 = fsub float %tmp11, 0x7FF8000000000000332  %tmp248 = fsub float %tmp12, 0x7FF8000000000000333  %tmp249 = fsub float %tmp13, 0x7FF8000000000000334  %tmp250 = fmul float %tmp247, 0x7FF8000000000000335  %tmp251 = fmul float %tmp248, 0x7FF8000000000000336  %tmp252 = fmul float %tmp249, 0x7FF8000000000000337  %tmp253 = call float @llvm.minnum.f32(float %tmp244, float %tmp250)338  %tmp254 = call float @llvm.minnum.f32(float %tmp245, float %tmp251)339  %tmp255 = call float @llvm.maxnum.f32(float %tmp246, float %tmp252)340  %tmp256 = call float @llvm.maxnum.f32(float %tmp253, float %tmp254)341  %tmp257 = call float @llvm.maxnum.f32(float %tmp256, float 0x7FF8000000000000)342  %tmp258 = call float @llvm.minnum.f32(float 0x7FF8000000000000, float %tmp255)343  %tmp259 = fcmp ogt float %tmp257, 0.000000e+00344  %tmp260 = fcmp olt float %tmp257, 1.000000e+00345  %tmp261 = and i1 %tmp259, %tmp260346  %tmp262 = fcmp olt float %tmp257, %tmp258347  %tmp263 = and i1 %tmp261, %tmp262348  br i1 %tmp263, label %ENDIF2795, label %ELSE2803349 350ENDIF2795:                                        ; preds = %ELSE2806, %ELSE2797, %ELSE2824, %ELSE2821, %ELSE2803, %ENDIF2564351  br label %LOOP352 353ELSE2803:                                         ; preds = %ELSE2797354  %tmp264 = fsub float %tmp20, 0x7FF8000000000000355  %tmp265 = fsub float %tmp21, 0x7FF8000000000000356  %tmp266 = fsub float %tmp22, 0x7FF8000000000000357  %tmp267 = fmul float %tmp264, 0x7FF8000000000000358  %tmp268 = fmul float %tmp265, 0x7FF8000000000000359  %tmp269 = fmul float %tmp266, 0.000000e+00360  %tmp270 = fsub float %tmp23, 0x7FF8000000000000361  %tmp271 = fsub float %tmp24, 0x7FF8000000000000362  %tmp272 = fsub float %tmp25, 0x7FF8000000000000363  %tmp273 = fmul float %tmp270, 0x7FF8000000000000364  %tmp274 = fmul float %tmp271, 0x7FF8000000000000365  %tmp275 = fmul float %tmp272, 0x7FF8000000000000366  %tmp276 = call float @llvm.minnum.f32(float %tmp267, float %tmp273)367  %tmp277 = call float @llvm.maxnum.f32(float %tmp268, float %tmp274)368  %tmp278 = call float @llvm.maxnum.f32(float %tmp269, float %tmp275)369  %tmp279 = call float @llvm.maxnum.f32(float %tmp276, float 0x7FF8000000000000)370  %tmp280 = call float @llvm.maxnum.f32(float %tmp279, float 0x7FF8000000000000)371  %tmp281 = call float @llvm.minnum.f32(float 0x7FF8000000000000, float %tmp277)372  %tmp282 = call float @llvm.minnum.f32(float %tmp281, float %tmp278)373  %tmp283 = fcmp ogt float %tmp280, 0.000000e+00374  %tmp284 = fcmp olt float %tmp280, 1.000000e+00375  %tmp285 = and i1 %tmp283, %tmp284376  %tmp286 = fcmp olt float %tmp280, %tmp282377  %tmp287 = and i1 %tmp285, %tmp286378  br i1 %tmp287, label %ENDIF2795, label %ELSE2806379 380ELSE2806:                                         ; preds = %ELSE2803381  %tmp288 = fsub float %tmp26, 0x7FF8000000000000382  %tmp289 = fsub float %tmp27, 0x7FF8000000000000383  %tmp290 = fsub float %tmp28, 0x7FF8000000000000384  %tmp291 = fmul float %tmp288, 0x7FF8000000000000385  %tmp292 = fmul float %tmp289, 0.000000e+00386  %tmp293 = fmul float %tmp290, 0x7FF8000000000000387  %tmp294 = fsub float %tmp29, 0x7FF8000000000000388  %tmp295 = fmul float %tmp294, 0x7FF8000000000000389  %tmp296 = call float @llvm.minnum.f32(float %tmp291, float %tmp295)390  %tmp297 = call float @llvm.minnum.f32(float %tmp292, float 0x7FF8000000000000)391  %tmp298 = call float @llvm.maxnum.f32(float %tmp293, float 0x7FF8000000000000)392  %tmp299 = call float @llvm.maxnum.f32(float %tmp296, float %tmp297)393  %tmp300 = call float @llvm.maxnum.f32(float %tmp299, float 0x7FF8000000000000)394  %tmp301 = call float @llvm.minnum.f32(float 0x7FF8000000000000, float %tmp298)395  %tmp302 = fcmp ogt float %tmp300, 0.000000e+00396  %tmp303 = fcmp olt float %tmp300, 1.000000e+00397  %tmp304 = and i1 %tmp302, %tmp303398  %tmp305 = fcmp olt float %tmp300, %tmp301399  %tmp306 = and i1 %tmp304, %tmp305400  br i1 %tmp306, label %ENDIF2795, label %ELSE2821401 402ELSE2821:                                         ; preds = %ELSE2806403  %tmp307 = fsub float %tmp56, 0x7FF8000000000000404  %tmp308 = fsub float %tmp57, 0x7FF8000000000000405  %tmp309 = fsub float %tmp58, 0x7FF8000000000000406  %tmp310 = fmul float %tmp307, 0x7FF8000000000000407  %tmp311 = fmul float %tmp308, 0.000000e+00408  %tmp312 = fmul float %tmp309, 0x7FF8000000000000409  %tmp313 = fsub float %tmp59, 0x7FF8000000000000410  %tmp314 = fsub float %tmp60, 0x7FF8000000000000411  %tmp315 = fsub float %tmp61, 0x7FF8000000000000412  %tmp316 = fmul float %tmp313, 0x7FF8000000000000413  %tmp317 = fmul float %tmp314, 0x7FF8000000000000414  %tmp318 = fmul float %tmp315, 0x7FF8000000000000415  %tmp319 = call float @llvm.maxnum.f32(float %tmp310, float %tmp316)416  %tmp320 = call float @llvm.maxnum.f32(float %tmp311, float %tmp317)417  %tmp321 = call float @llvm.maxnum.f32(float %tmp312, float %tmp318)418  %tmp322 = call float @llvm.minnum.f32(float %tmp319, float %tmp320)419  %tmp323 = call float @llvm.minnum.f32(float %tmp322, float %tmp321)420  %tmp324 = fcmp ogt float 0x7FF8000000000000, 0.000000e+00421  %tmp325 = fcmp olt float 0x7FF8000000000000, 1.000000e+00422  %tmp326 = and i1 %tmp324, %tmp325423  %tmp327 = fcmp olt float 0x7FF8000000000000, %tmp323424  %tmp328 = and i1 %tmp326, %tmp327425  br i1 %tmp328, label %ENDIF2795, label %ELSE2824426 427ELSE2824:                                         ; preds = %ELSE2821428  %undef = freeze i1 poison429  %.2849 = select i1 %undef, float 0.000000e+00, float 1.000000e+00430  br label %ENDIF2795431}432 433declare float @llvm.floor.f32(float) #1434declare float @llvm.sqrt.f32(float) #1435declare float @llvm.minnum.f32(float, float) #1436declare float @llvm.maxnum.f32(float, float) #1437declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #1438declare void @llvm.amdgcn.exp.f32(i32, i32, float, float, float, float, i1, i1) #0439declare float @llvm.amdgcn.s.buffer.load.f32(<4 x i32>, i32, i32) #1440 441attributes #0 = { nounwind }442attributes #1 = { nounwind readnone }443