brintos

brintos / llvm-project-archived public Read only

0
0
Text · 99.7 KiB · 5596ece Raw
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