2192 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -run-pass=si-fold-operands -o - %s | FileCheck -check-prefix=GFX8 %s3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -run-pass=si-fold-operands -o - %s | FileCheck -check-prefix=GFX9 %s4# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 -run-pass=si-fold-operands -o - %s | FileCheck -check-prefix=GFX10 %s5 6# Test we recognize all forms of and with mask as clearing the high bits.7---8name: v_cvt_f16_f32_altmask9tracksRegLiveness: true10body: |11 bb.0:12 liveins: $vgpr013 ; GFX8-LABEL: name: v_cvt_f16_f32_altmask14 ; GFX8: liveins: $vgpr015 ; GFX8-NEXT: {{ $}}16 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr017 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec18 ; GFX8-NEXT: %smask:sreg_32 = S_MOV_B32 6553519 ; GFX8-NEXT: %vmask:vgpr_32 = V_MOV_B32_e32 65535, implicit $exec20 ; GFX8-NEXT: $vgpr0 = COPY %op21 ; GFX8-NEXT: $vgpr1 = COPY %op22 ; GFX8-NEXT: $vgpr2 = COPY %op23 ;24 ; GFX9-LABEL: name: v_cvt_f16_f32_altmask25 ; GFX9: liveins: $vgpr026 ; GFX9-NEXT: {{ $}}27 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr028 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec29 ; GFX9-NEXT: %smask:sreg_32 = S_MOV_B32 6553530 ; GFX9-NEXT: %vmask:vgpr_32 = V_MOV_B32_e32 65535, implicit $exec31 ; GFX9-NEXT: $vgpr0 = COPY %op32 ; GFX9-NEXT: $vgpr1 = COPY %op33 ; GFX9-NEXT: $vgpr2 = COPY %op34 ;35 ; GFX10-LABEL: name: v_cvt_f16_f32_altmask36 ; GFX10: liveins: $vgpr037 ; GFX10-NEXT: {{ $}}38 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr039 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec40 ; GFX10-NEXT: %and0:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec41 ; GFX10-NEXT: %and1:vgpr_32 = V_AND_B32_e64 65535, %op, implicit $exec42 ; GFX10-NEXT: %and2:vgpr_32 = V_AND_B32_e64 65535, %op, implicit $exec43 ; GFX10-NEXT: $vgpr0 = COPY %and044 ; GFX10-NEXT: $vgpr1 = COPY %and145 ; GFX10-NEXT: $vgpr2 = COPY %and246 %0:vgpr_32 = COPY $vgpr047 %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed %0, 0, 0, implicit $mode, implicit $exec48 %and0:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec49 %smask:sreg_32 = S_MOV_B32 6553550 %and1:vgpr_32 = V_AND_B32_e64 %smask, %op, implicit $exec51 %vmask:vgpr_32 = V_MOV_B32_e32 65535, implicit $exec52 %and2:vgpr_32 = V_AND_B32_e64 %vmask, %op, implicit $exec53 $vgpr0 = COPY %and054 $vgpr1 = COPY %and155 $vgpr2 = COPY %and256 57...58 59# Test we do not assume the high bits are zero60---61name: wrong_mask_value62tracksRegLiveness: true63body: |64 bb.0:65 liveins: $vgpr066 ; GFX8-LABEL: name: wrong_mask_value67 ; GFX8: liveins: $vgpr068 ; GFX8-NEXT: {{ $}}69 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr070 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec71 ; GFX8-NEXT: %mask:sreg_32 = S_MOV_B32 6553472 ; GFX8-NEXT: %and:vgpr_32 = V_AND_B32_e64 %mask, %op, implicit $exec73 ; GFX8-NEXT: $vgpr0 = COPY %and74 ;75 ; GFX9-LABEL: name: wrong_mask_value76 ; GFX9: liveins: $vgpr077 ; GFX9-NEXT: {{ $}}78 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr079 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec80 ; GFX9-NEXT: %mask:sreg_32 = S_MOV_B32 6553481 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e64 %mask, %op, implicit $exec82 ; GFX9-NEXT: $vgpr0 = COPY %and83 ;84 ; GFX10-LABEL: name: wrong_mask_value85 ; GFX10: liveins: $vgpr086 ; GFX10-NEXT: {{ $}}87 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr088 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed [[COPY]], 0, 0, implicit $mode, implicit $exec89 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e64 65534, %op, implicit $exec90 ; GFX10-NEXT: $vgpr0 = COPY %and91 %0:vgpr_32 = COPY $vgpr092 %op:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, killed %0, 0, 0, implicit $mode, implicit $exec93 %mask:sreg_32 = S_MOV_B32 6553494 %and:vgpr_32 = V_AND_B32_e64 %mask, %op, implicit $exec95 $vgpr0 = COPY %and96 97...98 99---100name: v_cvt_f16_f32101tracksRegLiveness: true102body: |103 bb.0:104 liveins: $vgpr0105 ; GFX8-LABEL: name: v_cvt_f16_f32106 ; GFX8: liveins: $vgpr0107 ; GFX8-NEXT: {{ $}}108 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0109 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec110 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_F32_e32 [[COPY]], implicit $mode, implicit $exec111 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3112 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1113 ;114 ; GFX9-LABEL: name: v_cvt_f16_f32115 ; GFX9: liveins: $vgpr0116 ; GFX9-NEXT: {{ $}}117 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0118 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec119 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_F32_e32 [[COPY]], implicit $mode, implicit $exec120 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3121 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1122 ;123 ; GFX10-LABEL: name: v_cvt_f16_f32124 ; GFX10: liveins: $vgpr0125 ; GFX10-NEXT: {{ $}}126 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0127 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec128 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_F32_e32 [[COPY]], implicit $mode, implicit $exec129 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec130 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec131 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3132 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1133 %0:vgpr_32 = COPY $vgpr0134 %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_F32_e64 0, %0, 0, 0, implicit $mode, implicit $exec135 %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_F32_e32 %0, implicit $mode, implicit $exec136 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec137 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec138 $vgpr0 = COPY %and_vop3139 $vgpr1 = COPY %and_vop1140 141...142 143---144name: v_cvt_f16_u16145tracksRegLiveness: true146body: |147 bb.0:148 liveins: $vgpr0149 ; GFX8-LABEL: name: v_cvt_f16_u16150 ; GFX8: liveins: $vgpr0151 ; GFX8-NEXT: {{ $}}152 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0153 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_U16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec154 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_U16_e32 [[COPY]], implicit $mode, implicit $exec155 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3156 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1157 ;158 ; GFX9-LABEL: name: v_cvt_f16_u16159 ; GFX9: liveins: $vgpr0160 ; GFX9-NEXT: {{ $}}161 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0162 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_U16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec163 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_U16_e32 [[COPY]], implicit $mode, implicit $exec164 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3165 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1166 ;167 ; GFX10-LABEL: name: v_cvt_f16_u16168 ; GFX10: liveins: $vgpr0169 ; GFX10-NEXT: {{ $}}170 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0171 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_U16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec172 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_U16_e32 [[COPY]], implicit $mode, implicit $exec173 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec174 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec175 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3176 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1177 %0:vgpr_32 = COPY $vgpr0178 %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_U16_e64 %0, 0, 0, implicit $mode, implicit $exec179 %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_U16_e32 %0, implicit $mode, implicit $exec180 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec181 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec182 $vgpr0 = COPY %and_vop3183 $vgpr1 = COPY %and_vop1184 185...186 187---188name: v_cvt_f16_i16189tracksRegLiveness: true190body: |191 bb.0:192 liveins: $vgpr0193 ; GFX8-LABEL: name: v_cvt_f16_i16194 ; GFX8: liveins: $vgpr0195 ; GFX8-NEXT: {{ $}}196 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0197 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_I16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec198 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_I16_e32 [[COPY]], implicit $mode, implicit $exec199 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3200 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1201 ;202 ; GFX9-LABEL: name: v_cvt_f16_i16203 ; GFX9: liveins: $vgpr0204 ; GFX9-NEXT: {{ $}}205 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0206 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_I16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec207 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_I16_e32 [[COPY]], implicit $mode, implicit $exec208 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3209 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1210 ;211 ; GFX10-LABEL: name: v_cvt_f16_i16212 ; GFX10: liveins: $vgpr0213 ; GFX10-NEXT: {{ $}}214 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0215 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_I16_e64 [[COPY]], 0, 0, implicit $mode, implicit $exec216 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_I16_e32 [[COPY]], implicit $mode, implicit $exec217 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec218 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec219 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3220 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1221 %0:vgpr_32 = COPY $vgpr0222 %op_vop3:vgpr_32 = nofpexcept V_CVT_F16_I16_e64 %0, 0, 0, implicit $mode, implicit $exec223 %op_vop1:vgpr_32 = nofpexcept V_CVT_F16_I16_e32 %0, implicit $mode, implicit $exec224 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec225 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec226 $vgpr0 = COPY %and_vop3227 $vgpr1 = COPY %and_vop1228 229...230 231---232name: v_rcp_f16233tracksRegLiveness: true234body: |235 bb.0:236 liveins: $vgpr0237 ; GFX8-LABEL: name: v_rcp_f16238 ; GFX8: liveins: $vgpr0239 ; GFX8-NEXT: {{ $}}240 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0241 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RCP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec242 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RCP_F16_e32 [[COPY]], implicit $mode, implicit $exec243 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3244 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1245 ;246 ; GFX9-LABEL: name: v_rcp_f16247 ; GFX9: liveins: $vgpr0248 ; GFX9-NEXT: {{ $}}249 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0250 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RCP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec251 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RCP_F16_e32 [[COPY]], implicit $mode, implicit $exec252 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3253 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1254 ;255 ; GFX10-LABEL: name: v_rcp_f16256 ; GFX10: liveins: $vgpr0257 ; GFX10-NEXT: {{ $}}258 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0259 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RCP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec260 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RCP_F16_e32 [[COPY]], implicit $mode, implicit $exec261 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec262 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec263 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3264 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1265 %0:vgpr_32 = COPY $vgpr0266 %op_vop3:vgpr_32 = nofpexcept V_RCP_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec267 %op_vop1:vgpr_32 = nofpexcept V_RCP_F16_e32 %0, implicit $mode, implicit $exec268 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec269 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec270 $vgpr0 = COPY %and_vop3271 $vgpr1 = COPY %and_vop1272 273...274---275name: v_rsq_f16276tracksRegLiveness: true277body: |278 bb.0:279 liveins: $vgpr0280 ; GFX8-LABEL: name: v_rsq_f16281 ; GFX8: liveins: $vgpr0282 ; GFX8-NEXT: {{ $}}283 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0284 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RSQ_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec285 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RSQ_F16_e32 [[COPY]], implicit $mode, implicit $exec286 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3287 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1288 ;289 ; GFX9-LABEL: name: v_rsq_f16290 ; GFX9: liveins: $vgpr0291 ; GFX9-NEXT: {{ $}}292 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0293 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RSQ_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec294 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RSQ_F16_e32 [[COPY]], implicit $mode, implicit $exec295 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3296 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1297 ;298 ; GFX10-LABEL: name: v_rsq_f16299 ; GFX10: liveins: $vgpr0300 ; GFX10-NEXT: {{ $}}301 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0302 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RSQ_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec303 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RSQ_F16_e32 [[COPY]], implicit $mode, implicit $exec304 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec305 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec306 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3307 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1308 %0:vgpr_32 = COPY $vgpr0309 %op_vop3:vgpr_32 = nofpexcept V_RSQ_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec310 %op_vop1:vgpr_32 = nofpexcept V_RSQ_F16_e32 %0, implicit $mode, implicit $exec311 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec312 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec313 $vgpr0 = COPY %and_vop3314 $vgpr1 = COPY %and_vop1315 316...317---318name: v_sqrt_f16319tracksRegLiveness: true320body: |321 bb.0:322 liveins: $vgpr0323 ; GFX8-LABEL: name: v_sqrt_f16324 ; GFX8: liveins: $vgpr0325 ; GFX8-NEXT: {{ $}}326 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0327 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SQRT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec328 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SQRT_F16_e32 [[COPY]], implicit $mode, implicit $exec329 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3330 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1331 ;332 ; GFX9-LABEL: name: v_sqrt_f16333 ; GFX9: liveins: $vgpr0334 ; GFX9-NEXT: {{ $}}335 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0336 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SQRT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec337 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SQRT_F16_e32 [[COPY]], implicit $mode, implicit $exec338 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3339 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1340 ;341 ; GFX10-LABEL: name: v_sqrt_f16342 ; GFX10: liveins: $vgpr0343 ; GFX10-NEXT: {{ $}}344 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0345 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SQRT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec346 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SQRT_F16_e32 [[COPY]], implicit $mode, implicit $exec347 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec348 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec349 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3350 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1351 %0:vgpr_32 = COPY $vgpr0352 %op_vop3:vgpr_32 = nofpexcept V_SQRT_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec353 %op_vop1:vgpr_32 = nofpexcept V_SQRT_F16_e32 %0, implicit $mode, implicit $exec354 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec355 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec356 $vgpr0 = COPY %and_vop3357 $vgpr1 = COPY %and_vop1358 359...360 361---362name: v_log_f16363tracksRegLiveness: true364body: |365 bb.0:366 liveins: $vgpr0367 ; GFX8-LABEL: name: v_log_f16368 ; GFX8: liveins: $vgpr0369 ; GFX8-NEXT: {{ $}}370 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0371 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LOG_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec372 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LOG_F16_e32 [[COPY]], implicit $mode, implicit $exec373 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3374 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1375 ;376 ; GFX9-LABEL: name: v_log_f16377 ; GFX9: liveins: $vgpr0378 ; GFX9-NEXT: {{ $}}379 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0380 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LOG_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec381 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LOG_F16_e32 [[COPY]], implicit $mode, implicit $exec382 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3383 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1384 ;385 ; GFX10-LABEL: name: v_log_f16386 ; GFX10: liveins: $vgpr0387 ; GFX10-NEXT: {{ $}}388 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0389 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LOG_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec390 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LOG_F16_e32 [[COPY]], implicit $mode, implicit $exec391 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec392 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec393 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3394 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1395 %0:vgpr_32 = COPY $vgpr0396 %op_vop3:vgpr_32 = nofpexcept V_LOG_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec397 %op_vop1:vgpr_32 = nofpexcept V_LOG_F16_e32 %0, implicit $mode, implicit $exec398 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec399 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec400 $vgpr0 = COPY %and_vop3401 $vgpr1 = COPY %and_vop1402 403...404 405---406name: v_exp_f16407tracksRegLiveness: true408body: |409 bb.0:410 liveins: $vgpr0411 ; GFX8-LABEL: name: v_exp_f16412 ; GFX8: liveins: $vgpr0413 ; GFX8-NEXT: {{ $}}414 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0415 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_EXP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec416 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_EXP_F16_e32 [[COPY]], implicit $mode, implicit $exec417 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3418 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1419 ;420 ; GFX9-LABEL: name: v_exp_f16421 ; GFX9: liveins: $vgpr0422 ; GFX9-NEXT: {{ $}}423 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0424 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_EXP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec425 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_EXP_F16_e32 [[COPY]], implicit $mode, implicit $exec426 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3427 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1428 ;429 ; GFX10-LABEL: name: v_exp_f16430 ; GFX10: liveins: $vgpr0431 ; GFX10-NEXT: {{ $}}432 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0433 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_EXP_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec434 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_EXP_F16_e32 [[COPY]], implicit $mode, implicit $exec435 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec436 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec437 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3438 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1439 %0:vgpr_32 = COPY $vgpr0440 %op_vop3:vgpr_32 = nofpexcept V_EXP_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec441 %op_vop1:vgpr_32 = nofpexcept V_EXP_F16_e32 %0, implicit $mode, implicit $exec442 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec443 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec444 $vgpr0 = COPY %and_vop3445 $vgpr1 = COPY %and_vop1446 447...448 449---450name: v_sin_f16451tracksRegLiveness: true452body: |453 bb.0:454 liveins: $vgpr0455 ; GFX8-LABEL: name: v_sin_f16456 ; GFX8: liveins: $vgpr0457 ; GFX8-NEXT: {{ $}}458 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0459 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SIN_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec460 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SIN_F16_e32 [[COPY]], implicit $mode, implicit $exec461 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3462 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1463 ;464 ; GFX9-LABEL: name: v_sin_f16465 ; GFX9: liveins: $vgpr0466 ; GFX9-NEXT: {{ $}}467 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0468 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SIN_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec469 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SIN_F16_e32 [[COPY]], implicit $mode, implicit $exec470 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3471 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1472 ;473 ; GFX10-LABEL: name: v_sin_f16474 ; GFX10: liveins: $vgpr0475 ; GFX10-NEXT: {{ $}}476 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0477 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SIN_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec478 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_SIN_F16_e32 [[COPY]], implicit $mode, implicit $exec479 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec480 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec481 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3482 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1483 %0:vgpr_32 = COPY $vgpr0484 %op_vop3:vgpr_32 = nofpexcept V_SIN_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec485 %op_vop1:vgpr_32 = nofpexcept V_SIN_F16_e32 %0, implicit $mode, implicit $exec486 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec487 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec488 $vgpr0 = COPY %and_vop3489 $vgpr1 = COPY %and_vop1490 491...492 493---494name: v_cos_f16495tracksRegLiveness: true496body: |497 bb.0:498 liveins: $vgpr0499 ; GFX8-LABEL: name: v_cos_f16500 ; GFX8: liveins: $vgpr0501 ; GFX8-NEXT: {{ $}}502 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0503 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_COS_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec504 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_COS_F16_e32 [[COPY]], implicit $mode, implicit $exec505 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3506 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1507 ;508 ; GFX9-LABEL: name: v_cos_f16509 ; GFX9: liveins: $vgpr0510 ; GFX9-NEXT: {{ $}}511 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0512 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_COS_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec513 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_COS_F16_e32 [[COPY]], implicit $mode, implicit $exec514 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3515 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1516 ;517 ; GFX10-LABEL: name: v_cos_f16518 ; GFX10: liveins: $vgpr0519 ; GFX10-NEXT: {{ $}}520 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0521 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_COS_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec522 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_COS_F16_e32 [[COPY]], implicit $mode, implicit $exec523 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec524 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec525 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3526 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1527 %0:vgpr_32 = COPY $vgpr0528 %op_vop3:vgpr_32 = nofpexcept V_COS_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec529 %op_vop1:vgpr_32 = nofpexcept V_COS_F16_e32 %0, implicit $mode, implicit $exec530 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec531 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec532 $vgpr0 = COPY %and_vop3533 $vgpr1 = COPY %and_vop1534 535...536 537---538name: v_floor_f16539tracksRegLiveness: true540body: |541 bb.0:542 liveins: $vgpr0543 ; GFX8-LABEL: name: v_floor_f16544 ; GFX8: liveins: $vgpr0545 ; GFX8-NEXT: {{ $}}546 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0547 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FLOOR_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec548 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FLOOR_F16_e32 [[COPY]], implicit $mode, implicit $exec549 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3550 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1551 ;552 ; GFX9-LABEL: name: v_floor_f16553 ; GFX9: liveins: $vgpr0554 ; GFX9-NEXT: {{ $}}555 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0556 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FLOOR_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec557 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FLOOR_F16_e32 [[COPY]], implicit $mode, implicit $exec558 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3559 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1560 ;561 ; GFX10-LABEL: name: v_floor_f16562 ; GFX10: liveins: $vgpr0563 ; GFX10-NEXT: {{ $}}564 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0565 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FLOOR_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec566 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FLOOR_F16_e32 [[COPY]], implicit $mode, implicit $exec567 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec568 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec569 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3570 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1571 %0:vgpr_32 = COPY $vgpr0572 %op_vop3:vgpr_32 = nofpexcept V_FLOOR_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec573 %op_vop1:vgpr_32 = nofpexcept V_FLOOR_F16_e32 %0, implicit $mode, implicit $exec574 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec575 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec576 $vgpr0 = COPY %and_vop3577 $vgpr1 = COPY %and_vop1578 579...580 581---582name: v_ceil_f16583tracksRegLiveness: true584body: |585 bb.0:586 liveins: $vgpr0587 ; GFX8-LABEL: name: v_ceil_f16588 ; GFX8: liveins: $vgpr0589 ; GFX8-NEXT: {{ $}}590 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0591 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CEIL_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec592 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CEIL_F16_e32 [[COPY]], implicit $mode, implicit $exec593 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3594 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1595 ;596 ; GFX9-LABEL: name: v_ceil_f16597 ; GFX9: liveins: $vgpr0598 ; GFX9-NEXT: {{ $}}599 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0600 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CEIL_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec601 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CEIL_F16_e32 [[COPY]], implicit $mode, implicit $exec602 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3603 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1604 ;605 ; GFX10-LABEL: name: v_ceil_f16606 ; GFX10: liveins: $vgpr0607 ; GFX10-NEXT: {{ $}}608 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0609 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_CEIL_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec610 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_CEIL_F16_e32 [[COPY]], implicit $mode, implicit $exec611 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec612 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec613 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3614 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1615 %0:vgpr_32 = COPY $vgpr0616 %op_vop3:vgpr_32 = nofpexcept V_CEIL_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec617 %op_vop1:vgpr_32 = nofpexcept V_CEIL_F16_e32 %0, implicit $mode, implicit $exec618 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec619 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec620 $vgpr0 = COPY %and_vop3621 $vgpr1 = COPY %and_vop1622 623...624 625---626name: v_trunc_f16627tracksRegLiveness: true628body: |629 bb.0:630 liveins: $vgpr0631 ; GFX8-LABEL: name: v_trunc_f16632 ; GFX8: liveins: $vgpr0633 ; GFX8-NEXT: {{ $}}634 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0635 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_TRUNC_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec636 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_TRUNC_F16_e32 [[COPY]], implicit $mode, implicit $exec637 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3638 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1639 ;640 ; GFX9-LABEL: name: v_trunc_f16641 ; GFX9: liveins: $vgpr0642 ; GFX9-NEXT: {{ $}}643 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0644 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_TRUNC_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec645 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_TRUNC_F16_e32 [[COPY]], implicit $mode, implicit $exec646 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3647 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1648 ;649 ; GFX10-LABEL: name: v_trunc_f16650 ; GFX10: liveins: $vgpr0651 ; GFX10-NEXT: {{ $}}652 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0653 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_TRUNC_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec654 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_TRUNC_F16_e32 [[COPY]], implicit $mode, implicit $exec655 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec656 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec657 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3658 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1659 %0:vgpr_32 = COPY $vgpr0660 %op_vop3:vgpr_32 = nofpexcept V_TRUNC_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec661 %op_vop1:vgpr_32 = nofpexcept V_TRUNC_F16_e32 %0, implicit $mode, implicit $exec662 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec663 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec664 $vgpr0 = COPY %and_vop3665 $vgpr1 = COPY %and_vop1666 667...668 669---670name: v_rndne_f16671tracksRegLiveness: true672body: |673 bb.0:674 liveins: $vgpr0675 ; GFX8-LABEL: name: v_rndne_f16676 ; GFX8: liveins: $vgpr0677 ; GFX8-NEXT: {{ $}}678 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0679 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RNDNE_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec680 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RNDNE_F16_e32 [[COPY]], implicit $mode, implicit $exec681 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3682 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1683 ;684 ; GFX9-LABEL: name: v_rndne_f16685 ; GFX9: liveins: $vgpr0686 ; GFX9-NEXT: {{ $}}687 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0688 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RNDNE_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec689 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RNDNE_F16_e32 [[COPY]], implicit $mode, implicit $exec690 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3691 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1692 ;693 ; GFX10-LABEL: name: v_rndne_f16694 ; GFX10: liveins: $vgpr0695 ; GFX10-NEXT: {{ $}}696 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0697 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_RNDNE_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec698 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_RNDNE_F16_e32 [[COPY]], implicit $mode, implicit $exec699 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec700 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec701 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3702 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1703 %0:vgpr_32 = COPY $vgpr0704 %op_vop3:vgpr_32 = nofpexcept V_RNDNE_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec705 %op_vop1:vgpr_32 = nofpexcept V_RNDNE_F16_e32 %0, implicit $mode, implicit $exec706 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec707 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec708 $vgpr0 = COPY %and_vop3709 $vgpr1 = COPY %and_vop1710 711...712 713---714name: v_fract_f16715tracksRegLiveness: true716body: |717 bb.0:718 liveins: $vgpr0719 ; GFX8-LABEL: name: v_fract_f16720 ; GFX8: liveins: $vgpr0721 ; GFX8-NEXT: {{ $}}722 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0723 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec724 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FRACT_F16_e32 [[COPY]], implicit $mode, implicit $exec725 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3726 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1727 ;728 ; GFX9-LABEL: name: v_fract_f16729 ; GFX9: liveins: $vgpr0730 ; GFX9-NEXT: {{ $}}731 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0732 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec733 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FRACT_F16_e32 [[COPY]], implicit $mode, implicit $exec734 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3735 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1736 ;737 ; GFX10-LABEL: name: v_fract_f16738 ; GFX10: liveins: $vgpr0739 ; GFX10-NEXT: {{ $}}740 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0741 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec742 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FRACT_F16_e32 [[COPY]], implicit $mode, implicit $exec743 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec744 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec745 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3746 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1747 %0:vgpr_32 = COPY $vgpr0748 %op_vop3:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec749 %op_vop1:vgpr_32 = nofpexcept V_FRACT_F16_e32 %0, implicit $mode, implicit $exec750 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec751 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec752 $vgpr0 = COPY %and_vop3753 $vgpr1 = COPY %and_vop1754 755...756 757---758name: v_frexp_mant_f16759tracksRegLiveness: true760body: |761 bb.0:762 liveins: $vgpr0763 ; GFX8-LABEL: name: v_frexp_mant_f16764 ; GFX8: liveins: $vgpr0765 ; GFX8-NEXT: {{ $}}766 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0767 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec768 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e32 [[COPY]], implicit $mode, implicit $exec769 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3770 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1771 ;772 ; GFX9-LABEL: name: v_frexp_mant_f16773 ; GFX9: liveins: $vgpr0774 ; GFX9-NEXT: {{ $}}775 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0776 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec777 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e32 [[COPY]], implicit $mode, implicit $exec778 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3779 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1780 ;781 ; GFX10-LABEL: name: v_frexp_mant_f16782 ; GFX10: liveins: $vgpr0783 ; GFX10-NEXT: {{ $}}784 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0785 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec786 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e32 [[COPY]], implicit $mode, implicit $exec787 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec788 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec789 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3790 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1791 %0:vgpr_32 = COPY $vgpr0792 %op_vop3:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec793 %op_vop1:vgpr_32 = nofpexcept V_FREXP_MANT_F16_e32 %0, implicit $mode, implicit $exec794 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec795 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec796 $vgpr0 = COPY %and_vop3797 $vgpr1 = COPY %and_vop1798 799...800 801---802name: v_frexp_exp_f16803tracksRegLiveness: true804body: |805 bb.0:806 liveins: $vgpr0807 ; GFX8-LABEL: name: v_frexp_exp_f16808 ; GFX8: liveins: $vgpr0809 ; GFX8-NEXT: {{ $}}810 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0811 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec812 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e32 [[COPY]], implicit $mode, implicit $exec813 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3814 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1815 ;816 ; GFX9-LABEL: name: v_frexp_exp_f16817 ; GFX9: liveins: $vgpr0818 ; GFX9-NEXT: {{ $}}819 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0820 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec821 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e32 [[COPY]], implicit $mode, implicit $exec822 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3823 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1824 ;825 ; GFX10-LABEL: name: v_frexp_exp_f16826 ; GFX10: liveins: $vgpr0827 ; GFX10-NEXT: {{ $}}828 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0829 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec830 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e32 [[COPY]], implicit $mode, implicit $exec831 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec832 ; GFX10-NEXT: %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec833 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3834 ; GFX10-NEXT: $vgpr1 = COPY %and_vop1835 %0:vgpr_32 = COPY $vgpr0836 %op_vop3:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e64 0, %0, 0, 0, implicit $mode, implicit $exec837 %op_vop1:vgpr_32 = nofpexcept V_FREXP_EXP_I16_F16_e32 %0, implicit $mode, implicit $exec838 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec839 %and_vop1:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec840 $vgpr0 = COPY %and_vop3841 $vgpr1 = COPY %and_vop1842 843...844 845---846name: v_ldexp_f16847tracksRegLiveness: true848body: |849 bb.0:850 liveins: $vgpr0, $vgpr1851 ; GFX8-LABEL: name: v_ldexp_f16852 ; GFX8: liveins: $vgpr0, $vgpr1853 ; GFX8-NEXT: {{ $}}854 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0855 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1856 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LDEXP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec857 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LDEXP_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec858 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3859 ; GFX8-NEXT: $vgpr1 = COPY %op_vop1860 ;861 ; GFX9-LABEL: name: v_ldexp_f16862 ; GFX9: liveins: $vgpr0, $vgpr1863 ; GFX9-NEXT: {{ $}}864 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0865 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1866 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LDEXP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec867 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LDEXP_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec868 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3869 ; GFX9-NEXT: $vgpr1 = COPY %op_vop1870 ;871 ; GFX10-LABEL: name: v_ldexp_f16872 ; GFX10: liveins: $vgpr0, $vgpr1873 ; GFX10-NEXT: {{ $}}874 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0875 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1876 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LDEXP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec877 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_LDEXP_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec878 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec879 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec880 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3881 ; GFX10-NEXT: $vgpr1 = COPY %and_vop2882 %0:vgpr_32 = COPY $vgpr0883 %1:vgpr_32 = COPY $vgpr1884 %op_vop3:vgpr_32 = nofpexcept V_LDEXP_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec885 %op_vop1:vgpr_32 = nofpexcept V_LDEXP_F16_e32 %0, %1, implicit $mode, implicit $exec886 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec887 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec888 $vgpr0 = COPY %and_vop3889 $vgpr1 = COPY %and_vop2890 891...892 893---894name: v_lshlrev_b16895tracksRegLiveness: true896body: |897 bb.0:898 liveins: $vgpr0, $vgpr1899 ; GFX8-LABEL: name: v_lshlrev_b16900 ; GFX8: liveins: $vgpr0, $vgpr1901 ; GFX8-NEXT: {{ $}}902 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0903 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1904 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHLREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec905 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHLREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec906 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3907 ; GFX8-NEXT: $vgpr1 = COPY %op_vop2908 ;909 ; GFX9-LABEL: name: v_lshlrev_b16910 ; GFX9: liveins: $vgpr0, $vgpr1911 ; GFX9-NEXT: {{ $}}912 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0913 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1914 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHLREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec915 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHLREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec916 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3917 ; GFX9-NEXT: $vgpr1 = COPY %op_vop2918 ;919 ; GFX10-LABEL: name: v_lshlrev_b16920 ; GFX10: liveins: $vgpr0, $vgpr1921 ; GFX10-NEXT: {{ $}}922 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0923 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1924 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHLREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec925 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHLREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec926 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec927 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec928 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3929 ; GFX10-NEXT: $vgpr1 = COPY %and_vop2930 %0:vgpr_32 = COPY $vgpr0931 %1:vgpr_32 = COPY $vgpr1932 %op_vop3:vgpr_32 = nofpexcept V_LSHLREV_B16_e64 %0, %1, implicit $mode, implicit $exec933 %op_vop2:vgpr_32 = nofpexcept V_LSHLREV_B16_e32 %0, %1, implicit $mode, implicit $exec934 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec935 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec936 $vgpr0 = COPY %and_vop3937 $vgpr1 = COPY %and_vop2938 939...940 941---942name: v_lshrrev_b16943tracksRegLiveness: true944body: |945 bb.0:946 liveins: $vgpr0, $vgpr1947 ; GFX8-LABEL: name: v_lshrrev_b16948 ; GFX8: liveins: $vgpr0, $vgpr1949 ; GFX8-NEXT: {{ $}}950 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0951 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1952 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHRREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec953 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHRREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec954 ; GFX8-NEXT: $vgpr0 = COPY %op_vop3955 ; GFX8-NEXT: $vgpr1 = COPY %op_vop2956 ;957 ; GFX9-LABEL: name: v_lshrrev_b16958 ; GFX9: liveins: $vgpr0, $vgpr1959 ; GFX9-NEXT: {{ $}}960 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0961 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1962 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHRREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec963 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHRREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec964 ; GFX9-NEXT: $vgpr0 = COPY %op_vop3965 ; GFX9-NEXT: $vgpr1 = COPY %op_vop2966 ;967 ; GFX10-LABEL: name: v_lshrrev_b16968 ; GFX10: liveins: $vgpr0, $vgpr1969 ; GFX10-NEXT: {{ $}}970 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0971 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1972 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_LSHRREV_B16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec973 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_LSHRREV_B16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec974 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec975 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec976 ; GFX10-NEXT: $vgpr0 = COPY %and_vop3977 ; GFX10-NEXT: $vgpr1 = COPY %and_vop2978 %0:vgpr_32 = COPY $vgpr0979 %1:vgpr_32 = COPY $vgpr1980 %op_vop3:vgpr_32 = nofpexcept V_LSHRREV_B16_e64 %0, %1, implicit $mode, implicit $exec981 %op_vop2:vgpr_32 = nofpexcept V_LSHRREV_B16_e32 %0, %1, implicit $mode, implicit $exec982 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec983 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec984 $vgpr0 = COPY %and_vop3985 $vgpr1 = COPY %and_vop2986 987...988 989---990name: v_ashrrev_i16991tracksRegLiveness: true992body: |993 bb.0:994 liveins: $vgpr0, $vgpr1995 ; GFX8-LABEL: name: v_ashrrev_i16996 ; GFX8: liveins: $vgpr0, $vgpr1997 ; GFX8-NEXT: {{ $}}998 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0999 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11000 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ASHRREV_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1001 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ASHRREV_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1002 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31003 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21004 ;1005 ; GFX9-LABEL: name: v_ashrrev_i161006 ; GFX9: liveins: $vgpr0, $vgpr11007 ; GFX9-NEXT: {{ $}}1008 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01009 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11010 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ASHRREV_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1011 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ASHRREV_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1012 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31013 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21014 ;1015 ; GFX10-LABEL: name: v_ashrrev_i161016 ; GFX10: liveins: $vgpr0, $vgpr11017 ; GFX10-NEXT: {{ $}}1018 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01019 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11020 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ASHRREV_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1021 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ASHRREV_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1022 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1023 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1024 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31025 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21026 %0:vgpr_32 = COPY $vgpr01027 %1:vgpr_32 = COPY $vgpr11028 %op_vop3:vgpr_32 = nofpexcept V_ASHRREV_I16_e64 %0, %1, implicit $mode, implicit $exec1029 %op_vop2:vgpr_32 = nofpexcept V_ASHRREV_I16_e32 %0, %1, implicit $mode, implicit $exec1030 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1031 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1032 $vgpr0 = COPY %and_vop31033 $vgpr1 = COPY %and_vop21034 1035...1036 1037---1038name: v_add_u161039tracksRegLiveness: true1040body: |1041 bb.0:1042 liveins: $vgpr0, $vgpr11043 ; GFX8-LABEL: name: v_add_u161044 ; GFX8: liveins: $vgpr0, $vgpr11045 ; GFX8-NEXT: {{ $}}1046 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01047 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11048 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1049 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ADD_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1050 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31051 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21052 ;1053 ; GFX9-LABEL: name: v_add_u161054 ; GFX9: liveins: $vgpr0, $vgpr11055 ; GFX9-NEXT: {{ $}}1056 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01057 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11058 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1059 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ADD_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1060 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31061 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21062 ;1063 ; GFX10-LABEL: name: v_add_u161064 ; GFX10: liveins: $vgpr0, $vgpr11065 ; GFX10-NEXT: {{ $}}1066 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01067 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11068 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1069 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_ADD_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1070 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1071 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1072 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31073 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21074 %0:vgpr_32 = COPY $vgpr01075 %1:vgpr_32 = COPY $vgpr11076 %op_vop3:vgpr_32 = nofpexcept V_ADD_U16_e64 %0, %1, 0, implicit $mode, implicit $exec1077 %op_vop2:vgpr_32 = nofpexcept V_ADD_U16_e32 %0, %1, implicit $mode, implicit $exec1078 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1079 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1080 $vgpr0 = COPY %and_vop31081 $vgpr1 = COPY %and_vop21082 1083...1084 1085---1086name: v_sub_u161087tracksRegLiveness: true1088body: |1089 bb.0:1090 liveins: $vgpr0, $vgpr11091 ; GFX8-LABEL: name: v_sub_u161092 ; GFX8: liveins: $vgpr0, $vgpr11093 ; GFX8-NEXT: {{ $}}1094 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01095 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11096 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUB_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1097 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUB_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1098 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31099 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21100 ;1101 ; GFX9-LABEL: name: v_sub_u161102 ; GFX9: liveins: $vgpr0, $vgpr11103 ; GFX9-NEXT: {{ $}}1104 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01105 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11106 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUB_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1107 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUB_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1108 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31109 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21110 ;1111 ; GFX10-LABEL: name: v_sub_u161112 ; GFX10: liveins: $vgpr0, $vgpr11113 ; GFX10-NEXT: {{ $}}1114 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01115 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11116 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUB_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1117 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUB_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1118 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1119 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1120 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31121 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21122 %0:vgpr_32 = COPY $vgpr01123 %1:vgpr_32 = COPY $vgpr11124 %op_vop3:vgpr_32 = nofpexcept V_SUB_U16_e64 %0, %1, 0, implicit $mode, implicit $exec1125 %op_vop2:vgpr_32 = nofpexcept V_SUB_U16_e32 %0, %1, implicit $mode, implicit $exec1126 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1127 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1128 $vgpr0 = COPY %and_vop31129 $vgpr1 = COPY %and_vop21130 1131...1132 1133---1134name: v_subrev_u161135tracksRegLiveness: true1136body: |1137 bb.0:1138 liveins: $vgpr0, $vgpr11139 ; GFX8-LABEL: name: v_subrev_u161140 ; GFX8: liveins: $vgpr0, $vgpr11141 ; GFX8-NEXT: {{ $}}1142 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01143 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11144 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUBREV_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1145 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUBREV_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1146 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31147 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21148 ;1149 ; GFX9-LABEL: name: v_subrev_u161150 ; GFX9: liveins: $vgpr0, $vgpr11151 ; GFX9-NEXT: {{ $}}1152 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01153 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11154 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUBREV_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1155 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUBREV_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1156 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31157 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21158 ;1159 ; GFX10-LABEL: name: v_subrev_u161160 ; GFX10: liveins: $vgpr0, $vgpr11161 ; GFX10-NEXT: {{ $}}1162 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01163 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11164 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_SUBREV_U16_e64 [[COPY]], [[COPY1]], 0, implicit $mode, implicit $exec1165 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_SUBREV_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1166 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1167 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1168 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31169 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21170 %0:vgpr_32 = COPY $vgpr01171 %1:vgpr_32 = COPY $vgpr11172 %op_vop3:vgpr_32 = nofpexcept V_SUBREV_U16_e64 %0, %1, 0, implicit $mode, implicit $exec1173 %op_vop2:vgpr_32 = nofpexcept V_SUBREV_U16_e32 %0, %1, implicit $mode, implicit $exec1174 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1175 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1176 $vgpr0 = COPY %and_vop31177 $vgpr1 = COPY %and_vop21178 1179...1180 1181---1182name: v_mul_lo_u161183tracksRegLiveness: true1184body: |1185 bb.0:1186 liveins: $vgpr0, $vgpr11187 ; GFX8-LABEL: name: v_mul_lo_u161188 ; GFX8: liveins: $vgpr0, $vgpr11189 ; GFX8-NEXT: {{ $}}1190 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01191 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11192 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MUL_LO_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1193 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MUL_LO_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1194 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31195 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21196 ;1197 ; GFX9-LABEL: name: v_mul_lo_u161198 ; GFX9: liveins: $vgpr0, $vgpr11199 ; GFX9-NEXT: {{ $}}1200 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01201 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11202 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MUL_LO_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1203 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MUL_LO_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1204 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31205 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21206 ;1207 ; GFX10-LABEL: name: v_mul_lo_u161208 ; GFX10: liveins: $vgpr0, $vgpr11209 ; GFX10-NEXT: {{ $}}1210 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01211 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11212 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MUL_LO_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1213 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MUL_LO_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1214 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1215 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1216 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31217 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21218 %0:vgpr_32 = COPY $vgpr01219 %1:vgpr_32 = COPY $vgpr11220 %op_vop3:vgpr_32 = nofpexcept V_MUL_LO_U16_e64 %0, %1, implicit $mode, implicit $exec1221 %op_vop2:vgpr_32 = nofpexcept V_MUL_LO_U16_e32 %0, %1, implicit $mode, implicit $exec1222 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1223 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1224 $vgpr0 = COPY %and_vop31225 $vgpr1 = COPY %and_vop21226 1227...1228 1229---1230name: v_add_f161231tracksRegLiveness: true1232body: |1233 bb.0:1234 liveins: $vgpr0, $vgpr11235 ; GFX8-LABEL: name: v_add_f161236 ; GFX8: liveins: $vgpr0, $vgpr11237 ; GFX8-NEXT: {{ $}}1238 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01239 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11240 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1241 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1242 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31243 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11244 ;1245 ; GFX9-LABEL: name: v_add_f161246 ; GFX9: liveins: $vgpr0, $vgpr11247 ; GFX9-NEXT: {{ $}}1248 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01249 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11250 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1251 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1252 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31253 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11254 ;1255 ; GFX10-LABEL: name: v_add_f161256 ; GFX10: liveins: $vgpr0, $vgpr11257 ; GFX10-NEXT: {{ $}}1258 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01259 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11260 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1261 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1262 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1263 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1264 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31265 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21266 %0:vgpr_32 = COPY $vgpr01267 %1:vgpr_32 = COPY $vgpr11268 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1269 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1270 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1271 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1272 $vgpr0 = COPY %and_vop31273 $vgpr1 = COPY %and_vop21274 1275...1276 1277---1278name: v_sub_f161279tracksRegLiveness: true1280body: |1281 bb.0:1282 liveins: $vgpr0, $vgpr11283 ; GFX8-LABEL: name: v_sub_f161284 ; GFX8: liveins: $vgpr0, $vgpr11285 ; GFX8-NEXT: {{ $}}1286 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01287 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11288 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1289 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1290 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31291 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11292 ;1293 ; GFX9-LABEL: name: v_sub_f161294 ; GFX9: liveins: $vgpr0, $vgpr11295 ; GFX9-NEXT: {{ $}}1296 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01297 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11298 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1299 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1300 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31301 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11302 ;1303 ; GFX10-LABEL: name: v_sub_f161304 ; GFX10: liveins: $vgpr0, $vgpr11305 ; GFX10-NEXT: {{ $}}1306 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01307 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11308 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1309 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1310 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1311 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1312 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31313 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21314 %0:vgpr_32 = COPY $vgpr01315 %1:vgpr_32 = COPY $vgpr11316 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1317 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1318 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1319 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1320 $vgpr0 = COPY %and_vop31321 $vgpr1 = COPY %and_vop21322 1323...1324 1325---1326name: v_subrev_f161327tracksRegLiveness: true1328body: |1329 bb.0:1330 liveins: $vgpr0, $vgpr11331 ; GFX8-LABEL: name: v_subrev_f161332 ; GFX8: liveins: $vgpr0, $vgpr11333 ; GFX8-NEXT: {{ $}}1334 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01335 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11336 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1337 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1338 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31339 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11340 ;1341 ; GFX9-LABEL: name: v_subrev_f161342 ; GFX9: liveins: $vgpr0, $vgpr11343 ; GFX9-NEXT: {{ $}}1344 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01345 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11346 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1347 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1348 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31349 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11350 ;1351 ; GFX10-LABEL: name: v_subrev_f161352 ; GFX10: liveins: $vgpr0, $vgpr11353 ; GFX10-NEXT: {{ $}}1354 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01355 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11356 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1357 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1358 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1359 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1360 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31361 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21362 %0:vgpr_32 = COPY $vgpr01363 %1:vgpr_32 = COPY $vgpr11364 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1365 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1366 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1367 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1368 $vgpr0 = COPY %and_vop31369 $vgpr1 = COPY %and_vop21370 1371...1372 1373---1374name: v_mul_f161375tracksRegLiveness: true1376body: |1377 bb.0:1378 liveins: $vgpr0, $vgpr11379 ; GFX8-LABEL: name: v_mul_f161380 ; GFX8: liveins: $vgpr0, $vgpr11381 ; GFX8-NEXT: {{ $}}1382 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01383 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11384 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1385 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1386 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31387 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11388 ;1389 ; GFX9-LABEL: name: v_mul_f161390 ; GFX9: liveins: $vgpr0, $vgpr11391 ; GFX9-NEXT: {{ $}}1392 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01393 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11394 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1395 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1396 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31397 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11398 ;1399 ; GFX10-LABEL: name: v_mul_f161400 ; GFX10: liveins: $vgpr0, $vgpr11401 ; GFX10-NEXT: {{ $}}1402 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01403 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11404 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1405 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1406 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1407 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1408 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31409 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21410 %0:vgpr_32 = COPY $vgpr01411 %1:vgpr_32 = COPY $vgpr11412 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1413 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1414 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1415 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1416 $vgpr0 = COPY %and_vop31417 $vgpr1 = COPY %and_vop21418 1419...1420 1421---1422name: v_max_f161423tracksRegLiveness: true1424body: |1425 bb.0:1426 liveins: $vgpr0, $vgpr11427 ; GFX8-LABEL: name: v_max_f161428 ; GFX8: liveins: $vgpr0, $vgpr11429 ; GFX8-NEXT: {{ $}}1430 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01431 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11432 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1433 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1434 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31435 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11436 ;1437 ; GFX9-LABEL: name: v_max_f161438 ; GFX9: liveins: $vgpr0, $vgpr11439 ; GFX9-NEXT: {{ $}}1440 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01441 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11442 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1443 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1444 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31445 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11446 ;1447 ; GFX10-LABEL: name: v_max_f161448 ; GFX10: liveins: $vgpr0, $vgpr11449 ; GFX10-NEXT: {{ $}}1450 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01451 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11452 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1453 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1454 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1455 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1456 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31457 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21458 %0:vgpr_32 = COPY $vgpr01459 %1:vgpr_32 = COPY $vgpr11460 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1461 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1462 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1463 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1464 $vgpr0 = COPY %and_vop31465 $vgpr1 = COPY %and_vop21466 1467...1468 1469---1470name: v_min_f161471tracksRegLiveness: true1472body: |1473 bb.0:1474 liveins: $vgpr0, $vgpr11475 ; GFX8-LABEL: name: v_min_f161476 ; GFX8: liveins: $vgpr0, $vgpr11477 ; GFX8-NEXT: {{ $}}1478 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01479 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11480 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1481 ; GFX8-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1482 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31483 ; GFX8-NEXT: $vgpr1 = COPY %op_vop11484 ;1485 ; GFX9-LABEL: name: v_min_f161486 ; GFX9: liveins: $vgpr0, $vgpr11487 ; GFX9-NEXT: {{ $}}1488 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01489 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11490 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1491 ; GFX9-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1492 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31493 ; GFX9-NEXT: $vgpr1 = COPY %op_vop11494 ;1495 ; GFX10-LABEL: name: v_min_f161496 ; GFX10: liveins: $vgpr0, $vgpr11497 ; GFX10-NEXT: {{ $}}1498 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01499 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11500 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec1501 ; GFX10-NEXT: %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1502 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1503 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1504 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31505 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21506 %0:vgpr_32 = COPY $vgpr01507 %1:vgpr_32 = COPY $vgpr11508 %op_vop3:vgpr_32 = nofpexcept V_ADD_F16_e64 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec1509 %op_vop1:vgpr_32 = nofpexcept V_ADD_F16_e32 %0, %1, implicit $mode, implicit $exec1510 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1511 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop1, implicit $exec1512 $vgpr0 = COPY %and_vop31513 $vgpr1 = COPY %and_vop21514 1515...1516 1517---1518name: v_max_u161519tracksRegLiveness: true1520body: |1521 bb.0:1522 liveins: $vgpr0, $vgpr11523 ; GFX8-LABEL: name: v_max_u161524 ; GFX8: liveins: $vgpr0, $vgpr11525 ; GFX8-NEXT: {{ $}}1526 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01527 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11528 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1529 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1530 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31531 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21532 ;1533 ; GFX9-LABEL: name: v_max_u161534 ; GFX9: liveins: $vgpr0, $vgpr11535 ; GFX9-NEXT: {{ $}}1536 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01537 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11538 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1539 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1540 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31541 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21542 ;1543 ; GFX10-LABEL: name: v_max_u161544 ; GFX10: liveins: $vgpr0, $vgpr11545 ; GFX10-NEXT: {{ $}}1546 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01547 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11548 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1549 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1550 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1551 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1552 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31553 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21554 %0:vgpr_32 = COPY $vgpr01555 %1:vgpr_32 = COPY $vgpr11556 %op_vop3:vgpr_32 = nofpexcept V_MAX_U16_e64 %0, %1, implicit $mode, implicit $exec1557 %op_vop2:vgpr_32 = nofpexcept V_MAX_U16_e32 %0, %1, implicit $mode, implicit $exec1558 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1559 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1560 $vgpr0 = COPY %and_vop31561 $vgpr1 = COPY %and_vop21562 1563...1564---1565name: v_min_u161566tracksRegLiveness: true1567body: |1568 bb.0:1569 liveins: $vgpr0, $vgpr11570 ; GFX8-LABEL: name: v_min_u161571 ; GFX8: liveins: $vgpr0, $vgpr11572 ; GFX8-NEXT: {{ $}}1573 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01574 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11575 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1576 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1577 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31578 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21579 ;1580 ; GFX9-LABEL: name: v_min_u161581 ; GFX9: liveins: $vgpr0, $vgpr11582 ; GFX9-NEXT: {{ $}}1583 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01584 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11585 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1586 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1587 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31588 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21589 ;1590 ; GFX10-LABEL: name: v_min_u161591 ; GFX10: liveins: $vgpr0, $vgpr11592 ; GFX10-NEXT: {{ $}}1593 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01594 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11595 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_U16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1596 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_U16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1597 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1598 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1599 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31600 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21601 %0:vgpr_32 = COPY $vgpr01602 %1:vgpr_32 = COPY $vgpr11603 %op_vop3:vgpr_32 = nofpexcept V_MIN_U16_e64 %0, %1, implicit $mode, implicit $exec1604 %op_vop2:vgpr_32 = nofpexcept V_MIN_U16_e32 %0, %1, implicit $mode, implicit $exec1605 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1606 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1607 $vgpr0 = COPY %and_vop31608 $vgpr1 = COPY %and_vop21609 1610...1611 1612---1613name: v_max_i161614tracksRegLiveness: true1615body: |1616 bb.0:1617 liveins: $vgpr0, $vgpr11618 ; GFX8-LABEL: name: v_max_i161619 ; GFX8: liveins: $vgpr0, $vgpr11620 ; GFX8-NEXT: {{ $}}1621 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01622 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11623 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1624 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1625 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31626 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21627 ;1628 ; GFX9-LABEL: name: v_max_i161629 ; GFX9: liveins: $vgpr0, $vgpr11630 ; GFX9-NEXT: {{ $}}1631 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01632 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11633 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1634 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1635 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31636 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21637 ;1638 ; GFX10-LABEL: name: v_max_i161639 ; GFX10: liveins: $vgpr0, $vgpr11640 ; GFX10-NEXT: {{ $}}1641 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01642 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11643 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAX_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1644 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAX_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1645 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1646 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1647 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31648 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21649 %0:vgpr_32 = COPY $vgpr01650 %1:vgpr_32 = COPY $vgpr11651 %op_vop3:vgpr_32 = nofpexcept V_MAX_I16_e64 %0, %1, implicit $mode, implicit $exec1652 %op_vop2:vgpr_32 = nofpexcept V_MAX_I16_e32 %0, %1, implicit $mode, implicit $exec1653 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1654 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1655 $vgpr0 = COPY %and_vop31656 $vgpr1 = COPY %and_vop21657 1658...1659---1660name: v_min_i161661tracksRegLiveness: true1662body: |1663 bb.0:1664 liveins: $vgpr0, $vgpr11665 ; GFX8-LABEL: name: v_min_i161666 ; GFX8: liveins: $vgpr0, $vgpr11667 ; GFX8-NEXT: {{ $}}1668 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01669 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11670 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1671 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1672 ; GFX8-NEXT: $vgpr0 = COPY %op_vop31673 ; GFX8-NEXT: $vgpr1 = COPY %op_vop21674 ;1675 ; GFX9-LABEL: name: v_min_i161676 ; GFX9: liveins: $vgpr0, $vgpr11677 ; GFX9-NEXT: {{ $}}1678 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01679 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11680 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1681 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1682 ; GFX9-NEXT: $vgpr0 = COPY %op_vop31683 ; GFX9-NEXT: $vgpr1 = COPY %op_vop21684 ;1685 ; GFX10-LABEL: name: v_min_i161686 ; GFX10: liveins: $vgpr0, $vgpr11687 ; GFX10-NEXT: {{ $}}1688 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01689 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11690 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MIN_I16_e64 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1691 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MIN_I16_e32 [[COPY]], [[COPY1]], implicit $mode, implicit $exec1692 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1693 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1694 ; GFX10-NEXT: $vgpr0 = COPY %and_vop31695 ; GFX10-NEXT: $vgpr1 = COPY %and_vop21696 %0:vgpr_32 = COPY $vgpr01697 %1:vgpr_32 = COPY $vgpr11698 %op_vop3:vgpr_32 = nofpexcept V_MIN_I16_e64 %0, %1, implicit $mode, implicit $exec1699 %op_vop2:vgpr_32 = nofpexcept V_MIN_I16_e32 %0, %1, implicit $mode, implicit $exec1700 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec1701 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec1702 $vgpr0 = COPY %and_vop31703 $vgpr1 = COPY %and_vop21704 1705...1706 1707---1708name: v_mad_f161709tracksRegLiveness: true1710body: |1711 bb.0:1712 liveins: $vgpr0, $vgpr1, $vgpr21713 ; GFX8-LABEL: name: v_mad_f161714 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr21715 ; GFX8-NEXT: {{ $}}1716 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01717 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11718 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21719 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_MAD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1720 ; GFX8-NEXT: $vgpr0 = COPY %op1721 ;1722 ; GFX9-LABEL: name: v_mad_f161723 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr21724 ; GFX9-NEXT: {{ $}}1725 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01726 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11727 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21728 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_MAD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1729 ; GFX9-NEXT: $vgpr0 = COPY %op1730 ;1731 ; GFX10-LABEL: name: v_mad_f161732 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr21733 ; GFX10-NEXT: {{ $}}1734 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01735 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11736 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21737 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_MAD_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1738 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1739 ; GFX10-NEXT: $vgpr0 = COPY %and1740 %0:vgpr_32 = COPY $vgpr01741 %1:vgpr_32 = COPY $vgpr11742 %2:vgpr_32 = COPY $vgpr21743 %op:vgpr_32 = nofpexcept V_MAD_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec1744 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1745 $vgpr0 = COPY %and1746 1747...1748 1749---1750name: v_fma_f161751tracksRegLiveness: true1752body: |1753 bb.0:1754 liveins: $vgpr0, $vgpr1, $vgpr21755 ; GFX8-LABEL: name: v_fma_f161756 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr21757 ; GFX8-NEXT: {{ $}}1758 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01759 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11760 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21761 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_FMA_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1762 ; GFX8-NEXT: $vgpr0 = COPY %op1763 ;1764 ; GFX9-LABEL: name: v_fma_f161765 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr21766 ; GFX9-NEXT: {{ $}}1767 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01768 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11769 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21770 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_FMA_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1771 ; GFX9-NEXT: $vgpr0 = COPY %op1772 ;1773 ; GFX10-LABEL: name: v_fma_f161774 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr21775 ; GFX10-NEXT: {{ $}}1776 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01777 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11778 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21779 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_FMA_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1780 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1781 ; GFX10-NEXT: $vgpr0 = COPY %and1782 %0:vgpr_32 = COPY $vgpr01783 %1:vgpr_32 = COPY $vgpr11784 %2:vgpr_32 = COPY $vgpr21785 %op:vgpr_32 = nofpexcept V_FMA_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec1786 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1787 $vgpr0 = COPY %and1788 1789...1790 1791---1792name: v_div_fixup_f161793tracksRegLiveness: true1794body: |1795 bb.0:1796 liveins: $vgpr0, $vgpr1, $vgpr21797 ; GFX8-LABEL: name: v_div_fixup_f161798 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr21799 ; GFX8-NEXT: {{ $}}1800 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01801 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11802 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21803 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_DIV_FIXUP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1804 ; GFX8-NEXT: $vgpr0 = COPY %op1805 ;1806 ; GFX9-LABEL: name: v_div_fixup_f161807 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr21808 ; GFX9-NEXT: {{ $}}1809 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01810 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11811 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21812 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_DIV_FIXUP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1813 ; GFX9-NEXT: $vgpr0 = COPY %op1814 ;1815 ; GFX10-LABEL: name: v_div_fixup_f161816 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr21817 ; GFX10-NEXT: {{ $}}1818 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01819 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11820 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr21821 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_DIV_FIXUP_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec1822 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1823 ; GFX10-NEXT: $vgpr0 = COPY %and1824 %0:vgpr_32 = COPY $vgpr01825 %1:vgpr_32 = COPY $vgpr11826 %2:vgpr_32 = COPY $vgpr21827 %op:vgpr_32 = nofpexcept V_DIV_FIXUP_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec1828 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1829 $vgpr0 = COPY %and1830 1831...1832 1833---1834name: v_madak_f161835tracksRegLiveness: true1836body: |1837 bb.0:1838 liveins: $vgpr0, $vgpr11839 ; GFX8-LABEL: name: v_madak_f161840 ; GFX8: liveins: $vgpr0, $vgpr11841 ; GFX8-NEXT: {{ $}}1842 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01843 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11844 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_MADAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1845 ; GFX8-NEXT: $vgpr0 = COPY %op1846 ;1847 ; GFX9-LABEL: name: v_madak_f161848 ; GFX9: liveins: $vgpr0, $vgpr11849 ; GFX9-NEXT: {{ $}}1850 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01851 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11852 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_MADAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1853 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1854 ; GFX9-NEXT: $vgpr0 = COPY %and1855 ;1856 ; GFX10-LABEL: name: v_madak_f161857 ; GFX10: liveins: $vgpr0, $vgpr11858 ; GFX10-NEXT: {{ $}}1859 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01860 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11861 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_MADAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1862 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1863 ; GFX10-NEXT: $vgpr0 = COPY %and1864 %0:vgpr_32 = COPY $vgpr01865 %1:vgpr_32 = COPY $vgpr11866 %op:vgpr_32 = nofpexcept V_MADAK_F16 %0, %1, 1234, implicit $mode, implicit $exec1867 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1868 $vgpr0 = COPY %and1869 1870...1871 1872---1873name: v_madmk_f161874tracksRegLiveness: true1875body: |1876 bb.0:1877 liveins: $vgpr0, $vgpr11878 ; GFX8-LABEL: name: v_madmk_f161879 ; GFX8: liveins: $vgpr0, $vgpr11880 ; GFX8-NEXT: {{ $}}1881 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01882 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11883 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_MADMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1884 ; GFX8-NEXT: $vgpr0 = COPY %op1885 ;1886 ; GFX9-LABEL: name: v_madmk_f161887 ; GFX9: liveins: $vgpr0, $vgpr11888 ; GFX9-NEXT: {{ $}}1889 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01890 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11891 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_MADMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1892 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1893 ; GFX9-NEXT: $vgpr0 = COPY %and1894 ;1895 ; GFX10-LABEL: name: v_madmk_f161896 ; GFX10: liveins: $vgpr0, $vgpr11897 ; GFX10-NEXT: {{ $}}1898 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01899 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11900 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_MADMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1901 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1902 ; GFX10-NEXT: $vgpr0 = COPY %and1903 %0:vgpr_32 = COPY $vgpr01904 %1:vgpr_32 = COPY $vgpr11905 %op:vgpr_32 = nofpexcept V_MADMK_F16 %0, 1234, %1, implicit $mode, implicit $exec1906 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1907 $vgpr0 = COPY %and1908 1909...1910 1911---1912name: v_fmaak_f161913tracksRegLiveness: true1914body: |1915 bb.0:1916 liveins: $vgpr0, $vgpr11917 ; GFX8-LABEL: name: v_fmaak_f161918 ; GFX8: liveins: $vgpr0, $vgpr11919 ; GFX8-NEXT: {{ $}}1920 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01921 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11922 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_FMAAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1923 ; GFX8-NEXT: $vgpr0 = COPY %op1924 ;1925 ; GFX9-LABEL: name: v_fmaak_f161926 ; GFX9: liveins: $vgpr0, $vgpr11927 ; GFX9-NEXT: {{ $}}1928 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01929 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11930 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_FMAAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1931 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1932 ; GFX9-NEXT: $vgpr0 = COPY %and1933 ;1934 ; GFX10-LABEL: name: v_fmaak_f161935 ; GFX10: liveins: $vgpr0, $vgpr11936 ; GFX10-NEXT: {{ $}}1937 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01938 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11939 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_FMAAK_F16 [[COPY]], [[COPY1]], 1234, implicit $mode, implicit $exec1940 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1941 ; GFX10-NEXT: $vgpr0 = COPY %and1942 %0:vgpr_32 = COPY $vgpr01943 %1:vgpr_32 = COPY $vgpr11944 %op:vgpr_32 = nofpexcept V_FMAAK_F16 %0, %1, 1234, implicit $mode, implicit $exec1945 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1946 $vgpr0 = COPY %and1947 1948...1949 1950---1951name: v_fmamk_f161952tracksRegLiveness: true1953body: |1954 bb.0:1955 liveins: $vgpr0, $vgpr11956 ; GFX8-LABEL: name: v_fmamk_f161957 ; GFX8: liveins: $vgpr0, $vgpr11958 ; GFX8-NEXT: {{ $}}1959 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01960 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11961 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_FMAMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1962 ; GFX8-NEXT: $vgpr0 = COPY %op1963 ;1964 ; GFX9-LABEL: name: v_fmamk_f161965 ; GFX9: liveins: $vgpr0, $vgpr11966 ; GFX9-NEXT: {{ $}}1967 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01968 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11969 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_FMAMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1970 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1971 ; GFX9-NEXT: $vgpr0 = COPY %and1972 ;1973 ; GFX10-LABEL: name: v_fmamk_f161974 ; GFX10: liveins: $vgpr0, $vgpr11975 ; GFX10-NEXT: {{ $}}1976 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01977 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr11978 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_FMAMK_F16 [[COPY]], 1234, [[COPY1]], implicit $mode, implicit $exec1979 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1980 ; GFX10-NEXT: $vgpr0 = COPY %and1981 %0:vgpr_32 = COPY $vgpr01982 %1:vgpr_32 = COPY $vgpr11983 %op:vgpr_32 = nofpexcept V_FMAMK_F16 %0, 1234, %1, implicit $mode, implicit $exec1984 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec1985 $vgpr0 = COPY %and1986 1987...1988 1989---1990name: v_mac_f161991tracksRegLiveness: true1992body: |1993 bb.0:1994 liveins: $vgpr0, $vgpr1, $vgpr21995 ; GFX8-LABEL: name: v_mac_f161996 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr21997 ; GFX8-NEXT: {{ $}}1998 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01999 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12000 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22001 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2002 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2003 ; GFX8-NEXT: $vgpr0 = COPY %op_vop22004 ; GFX8-NEXT: $vgpr0 = COPY %op_vop32005 ;2006 ; GFX9-LABEL: name: v_mac_f162007 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr22008 ; GFX9-NEXT: {{ $}}2009 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02010 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12011 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22012 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2013 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2014 ; GFX9-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2015 ; GFX9-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2016 ; GFX9-NEXT: $vgpr0 = COPY %and_vop22017 ; GFX9-NEXT: $vgpr0 = COPY %and_vop32018 ;2019 ; GFX10-LABEL: name: v_mac_f162020 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr22021 ; GFX10-NEXT: {{ $}}2022 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02023 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12024 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22025 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_MAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2026 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_MAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2027 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2028 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2029 ; GFX10-NEXT: $vgpr0 = COPY %and_vop22030 ; GFX10-NEXT: $vgpr0 = COPY %and_vop32031 %0:vgpr_32 = COPY $vgpr02032 %1:vgpr_32 = COPY $vgpr12033 %2:vgpr_32 = COPY $vgpr22034 %op_vop2:vgpr_32 = nofpexcept V_MAC_F16_e32 %0, %1, %2, implicit $mode, implicit $exec2035 %op_vop3:vgpr_32 = nofpexcept V_MAC_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec2036 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2037 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2038 $vgpr0 = COPY %and_vop22039 $vgpr0 = COPY %and_vop32040 2041...2042 2043---2044name: v_fmac_f162045tracksRegLiveness: true2046body: |2047 bb.0:2048 liveins: $vgpr0, $vgpr1, $vgpr22049 ; GFX8-LABEL: name: v_fmac_f162050 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr22051 ; GFX8-NEXT: {{ $}}2052 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02053 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12054 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22055 ; GFX8-NEXT: %op_vop2:vgpr_32 = nofpexcept V_FMAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2056 ; GFX8-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FMAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2057 ; GFX8-NEXT: $vgpr0 = COPY %op_vop22058 ; GFX8-NEXT: $vgpr0 = COPY %op_vop32059 ;2060 ; GFX9-LABEL: name: v_fmac_f162061 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr22062 ; GFX9-NEXT: {{ $}}2063 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02064 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12065 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22066 ; GFX9-NEXT: %op_vop2:vgpr_32 = nofpexcept V_FMAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2067 ; GFX9-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FMAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2068 ; GFX9-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2069 ; GFX9-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2070 ; GFX9-NEXT: $vgpr0 = COPY %and_vop22071 ; GFX9-NEXT: $vgpr0 = COPY %and_vop32072 ;2073 ; GFX10-LABEL: name: v_fmac_f162074 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr22075 ; GFX10-NEXT: {{ $}}2076 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02077 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12078 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22079 ; GFX10-NEXT: %op_vop2:vgpr_32 = nofpexcept V_FMAC_F16_e32 [[COPY]], [[COPY1]], [[COPY2]], implicit $mode, implicit $exec2080 ; GFX10-NEXT: %op_vop3:vgpr_32 = nofpexcept V_FMAC_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec2081 ; GFX10-NEXT: %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2082 ; GFX10-NEXT: %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2083 ; GFX10-NEXT: $vgpr0 = COPY %and_vop22084 ; GFX10-NEXT: $vgpr0 = COPY %and_vop32085 %0:vgpr_32 = COPY $vgpr02086 %1:vgpr_32 = COPY $vgpr12087 %2:vgpr_32 = COPY $vgpr22088 %op_vop2:vgpr_32 = nofpexcept V_FMAC_F16_e32 %0, %1, %2, implicit $mode, implicit $exec2089 %op_vop3:vgpr_32 = nofpexcept V_FMAC_F16_e64 0, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec2090 %and_vop2:vgpr_32 = V_AND_B32_e32 65535, %op_vop2, implicit $exec2091 %and_vop3:vgpr_32 = V_AND_B32_e32 65535, %op_vop3, implicit $exec2092 $vgpr0 = COPY %and_vop22093 $vgpr0 = COPY %and_vop32094 2095...2096 2097---2098name: no_fold_v_mad_mixlo_f162099tracksRegLiveness: true2100body: |2101 bb.0:2102 liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32103 ; GFX8-LABEL: name: no_fold_v_mad_mixlo_f162104 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32105 ; GFX8-NEXT: {{ $}}2106 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02107 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12108 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22109 ; GFX8-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32110 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXLO_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2111 ; GFX8-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2112 ; GFX8-NEXT: $vgpr0 = COPY %and2113 ;2114 ; GFX9-LABEL: name: no_fold_v_mad_mixlo_f162115 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32116 ; GFX9-NEXT: {{ $}}2117 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02118 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12119 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22120 ; GFX9-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32121 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXLO_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2122 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2123 ; GFX9-NEXT: $vgpr0 = COPY %and2124 ;2125 ; GFX10-LABEL: name: no_fold_v_mad_mixlo_f162126 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32127 ; GFX10-NEXT: {{ $}}2128 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02129 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12130 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22131 ; GFX10-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32132 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXLO_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2133 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2134 ; GFX10-NEXT: $vgpr0 = COPY %and2135 %0:vgpr_32 = COPY $vgpr02136 %1:vgpr_32 = COPY $vgpr12137 %2:vgpr_32 = COPY $vgpr22138 %3:vgpr_32 = COPY $vgpr32139 %op:vgpr_32 = nofpexcept V_MAD_MIXLO_F16 0, %0, 0, %1, 0, %2, 0, %3, 0, 0, implicit $mode, implicit $exec2140 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2141 $vgpr0 = COPY %and2142 2143...2144 2145---2146name: no_fold_v_mad_mixhi_f162147tracksRegLiveness: true2148body: |2149 bb.0:2150 liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32151 ; GFX8-LABEL: name: no_fold_v_mad_mixhi_f162152 ; GFX8: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32153 ; GFX8-NEXT: {{ $}}2154 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02155 ; GFX8-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12156 ; GFX8-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22157 ; GFX8-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32158 ; GFX8-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXHI_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2159 ; GFX8-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2160 ; GFX8-NEXT: $vgpr0 = COPY %and2161 ;2162 ; GFX9-LABEL: name: no_fold_v_mad_mixhi_f162163 ; GFX9: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32164 ; GFX9-NEXT: {{ $}}2165 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02166 ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12167 ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22168 ; GFX9-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32169 ; GFX9-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXHI_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2170 ; GFX9-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2171 ; GFX9-NEXT: $vgpr0 = COPY %and2172 ;2173 ; GFX10-LABEL: name: no_fold_v_mad_mixhi_f162174 ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr32175 ; GFX10-NEXT: {{ $}}2176 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr02177 ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr12178 ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr22179 ; GFX10-NEXT: [[COPY3:%[0-9]+]]:vgpr_32 = COPY $vgpr32180 ; GFX10-NEXT: %op:vgpr_32 = nofpexcept V_MAD_MIXHI_F16 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, [[COPY3]], 0, 0, implicit $mode, implicit $exec2181 ; GFX10-NEXT: %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2182 ; GFX10-NEXT: $vgpr0 = COPY %and2183 %0:vgpr_32 = COPY $vgpr02184 %1:vgpr_32 = COPY $vgpr12185 %2:vgpr_32 = COPY $vgpr22186 %3:vgpr_32 = COPY $vgpr32187 %op:vgpr_32 = nofpexcept V_MAD_MIXHI_F16 0, %0, 0, %1, 0, %2, 0, %3, 0, 0, implicit $mode, implicit $exec2188 %and:vgpr_32 = V_AND_B32_e32 65535, %op, implicit $exec2189 $vgpr0 = COPY %and2190 2191...2192