brintos

brintos / llvm-project-archived public Read only

0
0
Text · 98.4 KiB · cd85853 Raw
2426 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc %s -o - -mtriple=riscv64 -mattr=+v -run-pass=riscv-vl-optimizer -verify-machineinstrs | FileCheck %s3 4---5name: vop_vi6body: |7  bb.0:8    ; CHECK-LABEL: name: vop_vi9    ; CHECK: %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, 1, 3 /* e8 */, 0 /* tu, mu */10    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */11    ; CHECK-NEXT: $v8 = COPY %y12    %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, -1, 3 /* e8 */, 013    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 014    $v8 = COPY %y15...16---17name: vop_vi_incompatible_eew18body: |19  bb.0:20    ; CHECK-LABEL: name: vop_vi_incompatible_eew21    ; CHECK: %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, -1, 3 /* e8 */, 0 /* tu, mu */22    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */23    ; CHECK-NEXT: $v8 = COPY %y24    %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, -1, 3 /* e8 */, 025    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 026    $v8 = COPY %y27...28---29name: vop_vi_incompatible_emul30body: |31  bb.0:32    ; CHECK-LABEL: name: vop_vi_incompatible_emul33    ; CHECK: %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, -1, 3 /* e8 */, 0 /* tu, mu */34    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */35    ; CHECK-NEXT: $v8 = COPY %y36    %x:vr = PseudoVADD_VI_M1 $noreg, $noreg, 9, -1, 3 /* e8 */, 037    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 038    $v8 = COPY %y39...40---41name: vop_vv42body: |43  bb.0:44    ; CHECK-LABEL: name: vop_vv45    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */46    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */47    ; CHECK-NEXT: $v8 = COPY %y48    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 049    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 050    $v8 = COPY %y51...52---53name: vop_vv_incompatible_eew54body: |55  bb.0:56    ; CHECK-LABEL: name: vop_vv_incompatible_eew57    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */58    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */59    ; CHECK-NEXT: $v8 = COPY %y60    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 061    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 062    $v8 = COPY %y63...64---65name: vop_vv_incompatible_emul66body: |67  bb.0:68    ; CHECK-LABEL: name: vop_vv_incompatible_emul69    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */70    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */71    ; CHECK-NEXT: $v8 = COPY %y72    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 073    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 074    $v8 = COPY %y75...76---77name: vwop_vv_vd78body: |79  bb.0:80    ; CHECK-LABEL: name: vwop_vv_vd81    ; CHECK: early-clobber %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */82    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */83    ; CHECK-NEXT: $v8 = COPY %y84    %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 085    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 086    $v8 = COPY %y87...88---89name: vwop_vv_vd_incompatible_eew90body: |91  bb.0:92    ; CHECK-LABEL: name: vwop_vv_vd_incompatible_eew93    ; CHECK: early-clobber %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */94    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */95    ; CHECK-NEXT: $v8 = COPY %y96    %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 097    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 098    $v8 = COPY %y99...100---101name: vwop_vv_vd_incompatible_emul102body: |103  bb.0:104    ; CHECK-LABEL: name: vwop_vv_vd_incompatible_emul105    ; CHECK: early-clobber %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */106    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */107    ; CHECK-NEXT: $v8 = COPY %y108    %x:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0109    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 4 /* e8 */, 0110    $v8 = COPY %y111...112---113name: vwop_vv_vd_passthru_use114body: |115  bb.0:116    ; CHECK-LABEL: name: vwop_vv_vd_passthru_use117    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */118    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_VV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */119    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */120    ; CHECK-NEXT: $v8 = COPY %z121    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0122    %y:vr = PseudoVWADD_VV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0123    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0124    $v8 = COPY %z125...126---127name: vwop_vv_vd_passthru_use_incompatible_eew128body: |129  bb.0:130    ; CHECK-LABEL: name: vwop_vv_vd_passthru_use_incompatible_eew131    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */132    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_VV_MF2 %x, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */133    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */134    ; CHECK-NEXT: $v8 = COPY %z135    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0136    %y:vr = PseudoVWADD_VV_MF2 %x, $noreg, $noreg, 1, 4 /* e16 */, 0137    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0138    $v8 = COPY %z139...140---141name: vwop_vv_vd_passthru_use_incompatible_emul142body: |143  bb.0:144    ; CHECK-LABEL: name: vwop_vv_vd_passthru_use_incompatible_emul145    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */146    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_VV_MF4 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */147    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */148    ; CHECK-NEXT: $v8 = COPY %z149    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0150    %y:vr = PseudoVWADD_VV_MF4 %x, $noreg, $noreg, 1, 3 /* e8 */, 0151    %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 0152    $v8 = COPY %z153...154---155name: vwop_vv_vs2156body: |157  bb.0:158    ; CHECK-LABEL: name: vwop_vv_vs2159    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */160    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */161    ; CHECK-NEXT: $v8m2 = COPY %y162    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0163    %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0164    $v8m2 = COPY %y165...166---167name: vwop_vv_vs2_incompatible_eew168body: |169  bb.0:170    ; CHECK-LABEL: name: vwop_vv_vs2_incompatible_eew171    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */172    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */173    ; CHECK-NEXT: $v8m2 = COPY %y174    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0175    %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0176    $v8m2 = COPY %y177...178---179name: vwop_vv_vs2_incompatible_emul180body: |181  bb.0:182    ; CHECK-LABEL: name: vwop_vv_vs2_incompatible_emul183    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */184    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */185    ; CHECK-NEXT: $v8 = COPY %y186    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0187    %y:vr = PseudoVWADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0188    $v8 = COPY %y189...190---191name: vwop_vv_vs1192body: |193  bb.0:194    ; CHECK-LABEL: name: vwop_vv_vs1195    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */196    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */197    ; CHECK-NEXT: $v8m2 = COPY %y198    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0199    %y:vrm2 = PseudoVWADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0200    $v8m2 = COPY %y201...202---203name: vwop_vv_vs1_incompatible_eew204body: |205  bb.0:206    ; CHECK-LABEL: name: vwop_vv_vs1_incompatible_eew207    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */208    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_VV_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */209    ; CHECK-NEXT: $v8m2 = COPY %y210    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0211    %y:vrm2 = PseudoVWADD_VV_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 0212    $v8m2 = COPY %y213...214---215name: vwop_vv_vs1_incompatible_emul216body: |217  bb.0:218    ; CHECK-LABEL: name: vwop_vv_vs1_incompatible_emul219    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */220    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */221    ; CHECK-NEXT: $v8 = COPY %y222    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0223    %y:vr = PseudoVWADD_VV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0224    $v8 = COPY %y225...226---227name: vwop_wv_vd228body: |229  bb.0:230    ; CHECK-LABEL: name: vwop_wv_vd231    ; CHECK: early-clobber %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */232    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */233    ; CHECK-NEXT: $v8 = COPY %y234    %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0235    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0236    $v8 = COPY %y237...238---239name: vwop_wv_vd_incompatible_eew240body: |241  bb.0:242    ; CHECK-LABEL: name: vwop_wv_vd_incompatible_eew243    ; CHECK: early-clobber %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */244    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */245    ; CHECK-NEXT: $v8 = COPY %y246    %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0247    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0248    $v8 = COPY %y249...250---251name: vwop_wv_vd_incompatible_emul252body: |253  bb.0:254    ; CHECK-LABEL: name: vwop_wv_vd_incompatible_emul255    ; CHECK: early-clobber %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */256    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */257    ; CHECK-NEXT: $v8 = COPY %y258    %x:vr = PseudoVWADD_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0259    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 4 /* e8 */, 0260    $v8 = COPY %y261...262---263name: vwop_wv_vd_passthru_use264body: |265  bb.0:266    ; CHECK-LABEL: name: vwop_wv_vd_passthru_use267    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */268    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_WV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */269    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */270    ; CHECK-NEXT: $v8 = COPY %z271    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0272    %y:vr = PseudoVWADD_WV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0273    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0274    $v8 = COPY %z275...276---277name: vwop_wv_vd_passthru_use_incompatible_eew278body: |279  bb.0:280    ; CHECK-LABEL: name: vwop_wv_vd_passthru_use_incompatible_eew281    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */282    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_WV_MF2 %x, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */283    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */284    ; CHECK-NEXT: $v8 = COPY %z285    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0286    %y:vr = PseudoVWADD_WV_MF2 %x, $noreg, $noreg, 1, 4 /* e16 */, 0287    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0288    $v8 = COPY %z289...290---291name: vwop_wv_vd_passthru_use_incompatible_emul292body: |293  bb.0:294    ; CHECK-LABEL: name: vwop_wv_vd_passthru_use_incompatible_emul295    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */296    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_WV_MF4 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */297    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */298    ; CHECK-NEXT: $v8 = COPY %z299    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0300    %y:vr = PseudoVWADD_WV_MF4 %x, $noreg, $noreg, 1, 3 /* e8 */, 0301    %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 0302    $v8 = COPY %z303...304---305name: vwop_wv_vs2306body: |307  bb.0:308    ; CHECK-LABEL: name: vwop_wv_vs2309    ; CHECK: %x:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */310    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */311    ; CHECK-NEXT: $v8m2 = COPY %y312    %x:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0313    %y:vrm2 = PseudoVWADD_WV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0314    $v8m2 = COPY %y315...316---317name: vwop_wv_vs2_incompatible_eew318body: |319  bb.0:320    ; CHECK-LABEL: name: vwop_wv_vs2_incompatible_eew321    ; CHECK: %x:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */322    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */323    ; CHECK-NEXT: $v8m2 = COPY %y324    %x:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0325    %y:vrm2 = PseudoVWADD_WV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0326    $v8m2 = COPY %y327...328---329name: vwop_wv_vs2_incompatible_emul330body: |331  bb.0:332    ; CHECK-LABEL: name: vwop_wv_vs2_incompatible_emul333    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */334    ; CHECK-NEXT: early-clobber %y:vr = PseudoVWADD_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */335    ; CHECK-NEXT: $v8 = COPY %y336    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0337    %y:vr = PseudoVWADD_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0338    $v8 = COPY %y339...340---341name: vwop_wv_vs1342body: |343  bb.0:344    ; CHECK-LABEL: name: vwop_wv_vs1345    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */346    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */347    ; CHECK-NEXT: $v8m2 = COPY %y348    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0349    %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0350    $v8m2 = COPY %y351...352---353name: vwop_wv_vs1_incompatible_eew354body: |355  bb.0:356    ; CHECK-LABEL: name: vwop_wv_vs1_incompatible_eew357    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */358    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */359    ; CHECK-NEXT: $v8m2 = COPY %y360    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0361    %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0362    $v8m2 = COPY %y363...364---365name: vwop_wv_vs1_incompatible_emul366body: |367  bb.0:368    ; CHECK-LABEL: name: vwop_wv_vs1_incompatible_emul369    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */370    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */371    ; CHECK-NEXT: $v8m2 = COPY %y372    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0373    %y:vrm2 = PseudoVWADD_WV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0374    $v8m2 = COPY %y375...376---377name: tied_vwop_wv_vs1378body: |379  bb.0:380    ; CHECK-LABEL: name: tied_vwop_wv_vs1381    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */382    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */383    ; CHECK-NEXT: $v8m2 = COPY %y384    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0385    %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0386    $v8m2 = COPY %y387...388---389name: tied_vwop_wv_vs1_incompatible_eew390body: |391  bb.0:392    ; CHECK-LABEL: name: tied_vwop_wv_vs1_incompatible_eew393    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */394    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */395    ; CHECK-NEXT: $v8m2 = COPY %y396    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0397    %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0398    $v8m2 = COPY %y399...400---401name: tied_vwop_wv_vs1_incompatible_emul402body: |403  bb.0:404    ; CHECK-LABEL: name: tied_vwop_wv_vs1_incompatible_emul405    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */406    ; CHECK-NEXT: early-clobber %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */407    ; CHECK-NEXT: $v8m2 = COPY %y408    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0409    %y:vrm2 = PseudoVWADD_WV_M1_TIED $noreg, %x, 1, 3 /* e8 */, 0410    $v8m2 = COPY %y411...412---413name: vop_vf2_vd414body: |415  bb.0:416    ; CHECK-LABEL: name: vop_vf2_vd417    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF2_M1 $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */418    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */419    ; CHECK-NEXT: $v8 = COPY %y420    %x:vr = PseudoVZEXT_VF2_M1 $noreg, $noreg, -1, 4 /* e16 */, 0421    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0422    $v8 = COPY %y423...424---425name: vop_vf2_vd_incompatible_eew426body: |427  bb.0:428    ; CHECK-LABEL: name: vop_vf2_vd_incompatible_eew429    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF2_M1 $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */430    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */431    ; CHECK-NEXT: $v8 = COPY %y432    %x:vr = PseudoVZEXT_VF2_M1 $noreg, $noreg, -1, 5 /* e32 */, 0433    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0434    $v8 = COPY %y435...436---437name: vop_vf2_vd_incompatible_emul438body: |439  bb.0:440    ; CHECK-LABEL: name: vop_vf2_vd_incompatible_emul441    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF2_MF2 $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */442    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */443    ; CHECK-NEXT: $v8 = COPY %y444    %x:vr = PseudoVZEXT_VF2_MF2 $noreg, $noreg, -1, 4 /* e16 */, 0445    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0446    $v8 = COPY %y447...448---449name: vop_vf2_vs2450body: |451  bb.0:452    ; CHECK-LABEL: name: vop_vf2_vs2453    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */454    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */455    ; CHECK-NEXT: $v8 = COPY %y456    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0457    %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0458    $v8 = COPY %y459...460---461name: vop_vf2_vs2_incompatible_eew462body: |463  bb.0:464    ; CHECK-LABEL: name: vop_vf2_vs2_incompatible_eew465    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */466    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */467    ; CHECK-NEXT: $v8 = COPY %y468    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0469    %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0470    $v8 = COPY %y471...472---473name: vop_vf2_vs2_incompatible_emul474body: |475  bb.0:476    ; CHECK-LABEL: name: vop_vf2_vs2_incompatible_emul477    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */478    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */479    ; CHECK-NEXT: $v8 = COPY %y480    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0481    %y:vr = PseudoVZEXT_VF2_M1 $noreg, %x, 1, 4 /* e16 */, 0482    $v8 = COPY %y483...484---485name: vop_vf4_vd486body: |487  bb.0:488    ; CHECK-LABEL: name: vop_vf4_vd489    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF4_M1 $noreg, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */490    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */491    ; CHECK-NEXT: $v8 = COPY %y492    %x:vr = PseudoVZEXT_VF4_M1 $noreg, $noreg, -1, 5 /* e32 */, 0493    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0494    $v8 = COPY %y495...496---497name: vop_vf4_vd_incompatible_eew498body: |499  bb.0:500    ; CHECK-LABEL: name: vop_vf4_vd_incompatible_eew501    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF4_M1 $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */502    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */503    ; CHECK-NEXT: $v8 = COPY %y504    %x:vr = PseudoVZEXT_VF4_M1 $noreg, $noreg, -1, 5 /* e32 */, 0505    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0506    $v8 = COPY %y507...508---509name: vop_vf4_vd_incompatible_emul510body: |511  bb.0:512    ; CHECK-LABEL: name: vop_vf4_vd_incompatible_emul513    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF4_MF2 $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */514    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */515    ; CHECK-NEXT: $v8 = COPY %y516    %x:vr = PseudoVZEXT_VF4_MF2 $noreg, $noreg, -1, 5 /* e32 */, 0517    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0518    $v8 = COPY %y519...520---521name: vop_vf4_vs2522body: |523  bb.0:524    ; CHECK-LABEL: name: vop_vf4_vs2525    ; CHECK: %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */526    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */527    ; CHECK-NEXT: $v8 = COPY %y528    %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0529    %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0530    $v8 = COPY %y531...532---533name: vop_vf4_vs2_incompatible_eew534body: |535  bb.0:536    ; CHECK-LABEL: name: vop_vf4_vs2_incompatible_eew537    ; CHECK: %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */538    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */539    ; CHECK-NEXT: $v8 = COPY %y540    %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0541    %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0542    $v8 = COPY %y543...544---545name: vop_vf4_vs2_incompatible_emul546body: |547  bb.0:548    ; CHECK-LABEL: name: vop_vf4_vs2_incompatible_emul549    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */550    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */551    ; CHECK-NEXT: $v8 = COPY %y552    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0553    %y:vr = PseudoVZEXT_VF4_M1 $noreg, %x, 1, 5 /* e32 */, 0554    $v8 = COPY %y555...556---557name: vop_vf8_vd558body: |559  bb.0:560    ; CHECK-LABEL: name: vop_vf8_vd561    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, 1, 6 /* e64 */, 0 /* tu, mu */562    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 6 /* e64 */, 0 /* tu, mu */563    ; CHECK-NEXT: $v8 = COPY %y564    %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, -1, 6 /* e64 */, 0565    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 6 /* e64 */, 0566    $v8 = COPY %y567...568---569name: vop_vf8_vd_incompatible_eew570body: |571  bb.0:572    ; CHECK-LABEL: name: vop_vf8_vd_incompatible_eew573    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, -1, 6 /* e64 */, 0 /* tu, mu */574    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */575    ; CHECK-NEXT: $v8 = COPY %y576    %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, -1, 6 /* e64 */, 0577    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0578    $v8 = COPY %y579...580---581name: vop_vf8_vd_incompatible_emul582body: |583  bb.0:584    ; CHECK-LABEL: name: vop_vf8_vd_incompatible_emul585    ; CHECK: early-clobber %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, -1, 6 /* e64 */, 0 /* tu, mu */586    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 6 /* e64 */, 0 /* tu, mu */587    ; CHECK-NEXT: $v8 = COPY %y588    %x:vr = PseudoVZEXT_VF8_M1 $noreg, $noreg, -1, 6 /* e64 */, 0589    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 6 /* e64 */, 0590    $v8 = COPY %y591...592---593name: vop_vf8_vs2594body: |595  bb.0:596    ; CHECK-LABEL: name: vop_vf8_vs2597    ; CHECK: %x:vr = PseudoVADD_VV_MF8 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */598    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0 /* tu, mu */599    ; CHECK-NEXT: $v8 = COPY %y600    %x:vr = PseudoVADD_VV_MF8 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0601    %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0602    $v8 = COPY %y603...604---605name: vop_vf8_vs2_incompatible_eew606body: |607  bb.0:608    ; CHECK-LABEL: name: vop_vf8_vs2_incompatible_eew609    ; CHECK: %x:vr = PseudoVADD_VV_MF8 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */610    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0 /* tu, mu */611    ; CHECK-NEXT: $v8 = COPY %y612    %x:vr = PseudoVADD_VV_MF8 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0613    %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0614    $v8 = COPY %y615...616---617name: vop_vf8_vs2_incompatible_emul618body: |619  bb.0:620    ; CHECK-LABEL: name: vop_vf8_vs2_incompatible_emul621    ; CHECK: %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */622    ; CHECK-NEXT: early-clobber %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0 /* tu, mu */623    ; CHECK-NEXT: $v8 = COPY %y624    %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0625    %y:vr = PseudoVZEXT_VF8_M1 $noreg, %x, 1, 6 /* e64 */, 0626    $v8 = COPY %y627...628---629name: vnop_wv_vd630body: |631  bb.0:632    ; CHECK-LABEL: name: vnop_wv_vd633    ; CHECK: early-clobber %x:vr = PseudoVNSRL_WV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */634    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */635    ; CHECK-NEXT: $v8 = COPY %y636    %x:vr = PseudoVNSRL_WV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0637    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0638    $v8 = COPY %y639...640---641name: vnop_wv_vd_unsupported_eew642body: |643  bb.0:644    ; CHECK-LABEL: name: vnop_wv_vd_unsupported_eew645    ; CHECK: early-clobber %x:vr = PseudoVNSRL_WV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */646    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */647    ; CHECK-NEXT: $v8 = COPY %y648    %x:vr = PseudoVNSRL_WV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0649    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0650    $v8 = COPY %y651...652---653name: vnop_wv_vd_unsupported_emul654body: |655  bb.0:656    ; CHECK-LABEL: name: vnop_wv_vd_unsupported_emul657    ; CHECK: %x:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */658    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */659    ; CHECK-NEXT: $v8 = COPY %y660    %x:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0661    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0662    $v8 = COPY %y663...664---665name: vnop_wv_vd_passthru_use666body: |667  bb.0:668    ; CHECK-LABEL: name: vnop_wv_vd_passthru_use669    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */670    ; CHECK-NEXT: early-clobber %y:vr = PseudoVNSRL_WV_M1 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */671    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */672    ; CHECK-NEXT: $v8 = COPY %z673    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0674    %y:vr = PseudoVNSRL_WV_M1 %x, $noreg, $noreg, 1, 3 /* e8 */, 0675    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0676    $v8 = COPY %z677...678---679name: vnop_wv_vd_passthru_use_incompatible_eew680body: |681  bb.0:682    ; CHECK-LABEL: name: vnop_wv_vd_passthru_use_incompatible_eew683    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */684    ; CHECK-NEXT: early-clobber %y:vr = PseudoVNSRL_WV_M1 %x, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */685    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */686    ; CHECK-NEXT: $v8 = COPY %z687    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0688    %y:vr = PseudoVNSRL_WV_M1 %x, $noreg, $noreg, 1, 4 /* e16 */, 0689    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0690    $v8 = COPY %z691...692---693name: vnop_wv_vd_passthru_use_unsupported_emul694body: |695  bb.0:696    ; CHECK-LABEL: name: vnop_wv_vd_passthru_use_unsupported_emul697    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */698    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */699    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */700    ; CHECK-NEXT: $v8 = COPY %z701    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0702    %y:vr = PseudoVNSRL_WV_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */, 0703    %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 3 /* e8 */, 0704    $v8 = COPY %z705...706---707name: vnop_wv_vs2708body: |709  bb.0:710    ; CHECK-LABEL: name: vnop_wv_vs2711    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */712    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */713    ; CHECK-NEXT: $v8 = COPY %y714    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0715    %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0716    $v8 = COPY %y717...718---719name: vnop_wv_vs2_incompatible_eew720body: |721  bb.0:722    ; CHECK-LABEL: name: vnop_wv_vs2_incompatible_eew723    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */724    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */725    ; CHECK-NEXT: $v8 = COPY %y726    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0727    %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0728    $v8 = COPY %y729...730---731name: vnop_wv_vs2_incompatible_emul732body: |733  bb.0:734    ; CHECK-LABEL: name: vnop_wv_vs2_incompatible_emul735    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */736    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */737    ; CHECK-NEXT: $v8 = COPY %y738    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0739    %y:vr = PseudoVNSRL_WV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0740    $v8 = COPY %y741...742---743name: vnop_wv_vs1744body: |745  bb.0:746    ; CHECK-LABEL: name: vnop_wv_vs1747    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */748    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */749    ; CHECK-NEXT: $v8 = COPY %y750    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0751    %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0752    $v8 = COPY %y753...754---755name: vnop_wv_vs1_incompatible_eew756body: |757  bb.0:758    ; CHECK-LABEL: name: vnop_wv_vs1_incompatible_eew759    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */760    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */761    ; CHECK-NEXT: $v8 = COPY %y762    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0763    %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0764    $v8 = COPY %y765...766---767name: vnop_wv_vs1_incompatible_emul768body: |769  bb.0:770    ; CHECK-LABEL: name: vnop_wv_vs1_incompatible_emul771    ; CHECK: %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */772    ; CHECK-NEXT: %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */773    ; CHECK-NEXT: $v8 = COPY %y774    %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0775    %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0776    $v8 = COPY %y777...778---779name: vfnop_vs2780body: |781  bb.0:782    ; CHECK-LABEL: name: vfnop_vs2783    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */784    ; CHECK-NEXT: early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 3 /* e8 */, 0 /* tu, mu */785    ; CHECK-NEXT: $v8 = COPY %y786    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0787    early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 3 /* e8 */, 0788    $v8 = COPY %y789...790---791name: vfnop_vs2_incompatible_eew792body: |793  bb.0:794    ; CHECK-LABEL: name: vfnop_vs2_incompatible_eew795    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */796    ; CHECK-NEXT: early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 4 /* e16 */, 0 /* tu, mu */797    ; CHECK-NEXT: $v8 = COPY %y798    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0799    early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 4 /* e16 */, 0800    $v8 = COPY %y801...802---803name: vfnop_vs2_incompatible_emul804body: |805  bb.0:806    ; CHECK-LABEL: name: vfnop_vs2_incompatible_emul807    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */808    ; CHECK-NEXT: early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 3 /* e8 */, 0 /* tu, mu */809    ; CHECK-NEXT: $v8 = COPY %y810    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0811    early-clobber %y:vr = PseudoVFNCVT_X_F_W_MF2 $noreg, %x, 0, 1, 3 /* e8 */, 0812    $v8 = COPY %y813...814---815name: vseN_v816body: |817  bb.0:818    ; CHECK-LABEL: name: vseN_v819    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */820    ; CHECK-NEXT: PseudoVSE8_V_M1 %x, $noreg, 1, 3 /* e8 */821    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0822    PseudoVSE8_V_M1 %x, $noreg, 1, 3 /* e8 */823...824---825name: vseN_v_incompatible_eew826body: |827  bb.0:828    ; CHECK-LABEL: name: vseN_v_incompatible_eew829    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */830    ; CHECK-NEXT: PseudoVSE8_V_M1 %x, $noreg, 1, 3 /* e8 */831    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0832    PseudoVSE8_V_M1 %x, $noreg, 1, 3 /* e8 */833...834---835name: vseN_v_incompatible_emul836body: |837  bb.0:838    ; CHECK-LABEL: name: vseN_v_incompatible_emul839    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */840    ; CHECK-NEXT: PseudoVSE8_V_MF2 %x, $noreg, 1, 3 /* e8 */841    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0842    PseudoVSE8_V_MF2 %x, $noreg, 1, 3 /* e8 */843...844---845name: vsm_v846body: |847  bb.0:848    ; CHECK-LABEL: name: vsm_v849    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */850    ; CHECK-NEXT: PseudoVSM_V_B8 %x, $noreg, 1, 0 /* e8 */851    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0852    PseudoVSM_V_B8 %x, $noreg, 1, 0853...854---855name: vsm_v_incompatible_emul856body: |857  bb.0:858    ; CHECK-LABEL: name: vsm_v_incompatible_emul859    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */860    ; CHECK-NEXT: PseudoVSM_V_B16 %x, $noreg, 1, 0 /* e8 */861    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0862    PseudoVSM_V_B16 %x, $noreg, 1, 0863...864---865name: vleN_v866body: |867  bb.0:868    ; CHECK-LABEL: name: vleN_v869    ; CHECK: %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */870    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */871    ; CHECK-NEXT: $v8 = COPY %y872    %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, -1, 3 /* e8 */, 0873    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0874    $v8 = COPY %y875...876---877name: vleN_v_incompatible_eew878body: |879  bb.0:880    ; CHECK-LABEL: name: vleN_v_incompatible_eew881    ; CHECK: %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */882    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */883    ; CHECK-NEXT: $v8 = COPY %y884    %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, -1, 3 /* e8 */, 0885    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0886    $v8 = COPY %y887...888---889name: vleN_v_incompatible_emul890body: |891  bb.0:892    ; CHECK-LABEL: name: vleN_v_incompatible_emul893    ; CHECK: %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */894    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */895    ; CHECK-NEXT: $v8 = COPY %y896    %x:vr = PseudoVLE8_V_M1 $noreg, $noreg, -1, 3 /* e8 */, 0897    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0898    $v8 = COPY %y899...900---901name: vlm_v902body: |903  bb.0:904    ; CHECK-LABEL: name: vlm_v905    ; CHECK: %x:vr = PseudoVLM_V_B8 $noreg, $noreg, 1, 0 /* e8 */, 0 /* tu, mu */906    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0 /* e8 */907    ; CHECK-NEXT: $v8 = COPY %y908    %x:vr = PseudoVLM_V_B8 $noreg, $noreg, -1, 0, 0909    %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0910    $v8 = COPY %y911...912---913name: vlm_v_incompatible_eew914body: |915  bb.0:916    ; CHECK-LABEL: name: vlm_v_incompatible_eew917    ; CHECK: %x:vr = PseudoVLM_V_B8 $noreg, $noreg, -1, 0 /* e8 */, 0 /* tu, mu */918    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */919    ; CHECK-NEXT: $v8 = COPY %y920    %x:vr = PseudoVLM_V_B8 $noreg, $noreg, -1, 0, 0921    %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 0922    $v8 = COPY %y923...924---925name: vlm_v_incompatible_emul926body: |927  bb.0:928    ; CHECK-LABEL: name: vlm_v_incompatible_emul929    ; CHECK: %x:vr = PseudoVLM_V_B8 $noreg, $noreg, -1, 0 /* e8 */, 0 /* tu, mu */930    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */931    ; CHECK-NEXT: $v8 = COPY %y932    %x:vr = PseudoVLM_V_B8 $noreg, $noreg, -1, 0, 0933    %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0934    $v8 = COPY %y935...936---937name: vsseN_v938body: |939  bb.0:940    ; CHECK-LABEL: name: vsseN_v941    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */942    ; CHECK-NEXT: PseudoVSSE8_V_M1 %x, $noreg, $noreg, 1, 3 /* e8 */943    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0944    PseudoVSSE8_V_M1 %x, $noreg, $noreg, 1, 3 /* e8 */945...946---947name: vsseN_v_incompatible_eew948body: |949  bb.0:950    ; CHECK-LABEL: name: vsseN_v_incompatible_eew951    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */952    ; CHECK-NEXT: PseudoVSSE8_V_M1 %x, $noreg, $noreg, 1, 3 /* e8 */953    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0954    PseudoVSSE8_V_M1 %x, $noreg, $noreg, 1, 3 /* e8 */955...956---957name: vsseN_v_incompatible_emul958body: |959  bb.0:960    ; CHECK-LABEL: name: vsseN_v_incompatible_emul961    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */962    ; CHECK-NEXT: PseudoVSSE8_V_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */963    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0964    PseudoVSSE8_V_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */965...966---967name: vsuxeiN_v_data968body: |969  bb.0:970    ; CHECK-LABEL: name: vsuxeiN_v_data971    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */972    ; CHECK-NEXT: PseudoVSUXEI8_V_M1_M1 %x, $noreg, $noreg, 1, 3 /* e8 */973    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0974    PseudoVSUXEI8_V_M1_M1 %x, $noreg, $noreg, 1, 3 /* e8 */975...976---977name: vsuxeiN_v_data_incompatible_eew978body: |979  bb.0:980    ; CHECK-LABEL: name: vsuxeiN_v_data_incompatible_eew981    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */982    ; CHECK-NEXT: PseudoVSUXEI8_V_M1_M1 %x, $noreg, $noreg, 1, 3 /* e8 */983    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0984    PseudoVSUXEI8_V_M1_M1 %x, $noreg, $noreg, 1, 3 /* e8 */985...986---987name: vsuxeiN_v_data_incompatible_emul988body: |989  bb.0:990    ; CHECK-LABEL: name: vsuxeiN_v_data_incompatible_emul991    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */992    ; CHECK-NEXT: PseudoVSUXEI8_V_MF2_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */993    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0994    PseudoVSUXEI8_V_MF2_MF2 %x, $noreg, $noreg, 1, 3 /* e8 */995...996---997name: vsuxeiN_v_idx998body: |999  bb.0:1000    ; CHECK-LABEL: name: vsuxeiN_v_idx1001    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1002    ; CHECK-NEXT: PseudoVSUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */1003    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01004    PseudoVSUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */1005...1006---1007name: vsuxeiN_v_idx_incompatible_eew1008body: |1009  bb.0:1010    ; CHECK-LABEL: name: vsuxeiN_v_idx_incompatible_eew1011    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1012    ; CHECK-NEXT: PseudoVSUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */1013    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01014    PseudoVSUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */1015...1016---1017name: vsuxeiN_v_idx_incompatible_emul1018body: |1019  bb.0:1020    ; CHECK-LABEL: name: vsuxeiN_v_idx_incompatible_emul1021    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1022    ; CHECK-NEXT: PseudoVSUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */1023    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01024    PseudoVSUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */1025...1026---1027name: vluxeiN_v_data1028body: |1029  bb.0:1030    ; CHECK-LABEL: name: vluxeiN_v_data1031    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1032    ; CHECK-NEXT: %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1033    ; CHECK-NEXT: $v8 = COPY %y1034    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01035    %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 01036    $v8 = COPY %y1037...1038---1039name: vluxeiN_v_incompatible_eew1040body: |1041  bb.0:1042    ; CHECK-LABEL: name: vluxeiN_v_incompatible_eew1043    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1044    ; CHECK-NEXT: %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1045    ; CHECK-NEXT: $v8 = COPY %y1046    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01047    %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 01048    $v8 = COPY %y1049...1050---1051name: vluxeiN_v_data_incompatible_emul1052body: |1053  bb.0:1054    ; CHECK-LABEL: name: vluxeiN_v_data_incompatible_emul1055    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1056    ; CHECK-NEXT: %y:vr = PseudoVLUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1057    ; CHECK-NEXT: $v8 = COPY %y1058    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01059    %y:vr = PseudoVLUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 01060    $v8 = COPY %y1061...1062---1063name: vluxeiN_v_idx1064body: |1065  bb.0:1066    ; CHECK-LABEL: name: vluxeiN_v_idx1067    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1068    ; CHECK-NEXT: early-clobber %y:vr = PseudoVLUXEI8_V_MF2_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */1069    ; CHECK-NEXT: $v8 = COPY %y1070    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01071    %y:vr = PseudoVLUXEI8_V_MF2_M1 $noreg, $noreg, %x, 1, 4 /* e16 */, 01072    $v8 = COPY %y1073...1074---1075name: vluxeiN_v_idx_incompatible_eew1076body: |1077  bb.0:1078    ; CHECK-LABEL: name: vluxeiN_v_idx_incompatible_eew1079    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1080    ; CHECK-NEXT: %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1081    ; CHECK-NEXT: $v8 = COPY %y1082    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01083    %y:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 01084    $v8 = COPY %y1085...1086---1087name: vluxeiN_v_idx_incompatible_emul1088body: |1089  bb.0:1090    ; CHECK-LABEL: name: vluxeiN_v_idx_incompatible_emul1091    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1092    ; CHECK-NEXT: %y:vr = PseudoVLUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1093    ; CHECK-NEXT: $v8 = COPY %y1094    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01095    %y:vr = PseudoVLUXEI8_V_MF2_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 01096    $v8 = COPY %y1097...1098---1099name: vluxeiN_v_vd1100body: |1101  bb.0:1102    ; CHECK-LABEL: name: vluxeiN_v_vd1103    ; CHECK: %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1104    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1105    ; CHECK-NEXT: $v8 = COPY %y1106    %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01107    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 01108    $v8 = COPY %y1109...1110---1111name: vluxeiN_v_vd_incompatible_eew1112body: |1113  bb.0:1114    ; CHECK-LABEL: name: vluxeiN_v_vd_incompatible_eew1115    ; CHECK: %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1116    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1117    ; CHECK-NEXT: $v8 = COPY %y1118    %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01119    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 01120    $v8 = COPY %y1121...1122---1123name: vluxeiN_vd_incompatible_emul1124body: |1125  bb.0:1126    ; CHECK-LABEL: name: vluxeiN_vd_incompatible_emul1127    ; CHECK: %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1128    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1129    ; CHECK-NEXT: $v8 = COPY %y1130    %x:vr = PseudoVLUXEI8_V_M1_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01131    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 01132    $v8 = COPY %y1133...1134---1135name: vmop_mm1136body: |1137  bb.0:1138    ; CHECK-LABEL: name: vmop_mm1139    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */1140    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0 /* e8 */1141    ; CHECK-NEXT: $v8 = COPY %y1142    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01143    %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 01144    $v8 = COPY %y1145...1146---1147name: vmop_mm_incompatible_eew1148body: |1149  bb.0:1150    ; CHECK-LABEL: name: vmop_mm_incompatible_eew1151    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */1152    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1153    ; CHECK-NEXT: $v8 = COPY %y1154    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01155    %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 01156    $v8 = COPY %y1157...1158---1159name: vmop_mm_incompatible_emul1160body: |1161  bb.0:1162    ; CHECK-LABEL: name: vmop_mm_incompatible_emul1163    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */1164    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */1165    ; CHECK-NEXT: $v8 = COPY %y1166    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01167    %y:vr = PseudoVMAND_MM_B16  $noreg, %x, 1, 01168    $v8 = COPY %y1169...1170---1171name: vmop_mm_mask1172body: |1173  bb.0:1174    ; CHECK-LABEL: name: vmop_mm_mask1175    ; CHECK: %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */1176    ; CHECK-NEXT: %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1177    ; CHECK-NEXT: $v8 = COPY %y1178    %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01179    %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 01180    $v8 = COPY %y1181...1182---1183name: vmop_mm_mask_larger_emul_user1184body: |1185  bb.0:1186    ; CHECK-LABEL: name: vmop_mm_mask_larger_emul_user1187    ; CHECK: %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */1188    ; CHECK-NEXT: %y:vrm2nov0 = PseudoVADD_VV_M2_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */1189    ; CHECK-NEXT: $v8m2 = COPY %y1190    %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01191    %y:vrm2nov0 = PseudoVADD_VV_M2_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 01192    $v8m2 = COPY %y1193...1194---1195name: vmop_mm_mask_incompatible_emul1196body: |1197  bb.0:1198    ; CHECK-LABEL: name: vmop_mm_mask_incompatible_emul1199    ; CHECK: %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */1200    ; CHECK-NEXT: %y:vrnov0 = PseudoVADD_VV_MF2_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1201    ; CHECK-NEXT: $v8 = COPY %y1202    %x:vmv0 = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 01203    %y:vrnov0 = PseudoVADD_VV_MF2_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 01204    $v8 = COPY %y1205...1206---1207name: vmop_vv1208body: |1209  bb.0:1210    ; CHECK-LABEL: name: vmop_vv1211    ; CHECK: %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, 1, 3 /* e8 */1212    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0 /* e8 */1213    ; CHECK-NEXT: $v8 = COPY %y1214    %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1215    %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 01216    $v8 = COPY %y1217...1218---1219name: vmop_vv_maskuser1220body: |1221  bb.0:1222    ; CHECK-LABEL: name: vmop_vv_maskuser1223    ; CHECK: %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, 1, 3 /* e8 */1224    ; CHECK-NEXT: %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1225    ; CHECK-NEXT: $v8 = COPY %y1226    %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1227    %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 01228    $v8 = COPY %y1229...1230---1231name: vmop_vv_maskuser_incompatible_eew1232body: |1233  bb.0:1234    ; CHECK-LABEL: name: vmop_vv_maskuser_incompatible_eew1235    ; CHECK: %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1236    ; CHECK-NEXT: %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */1237    ; CHECK-NEXT: $v8 = COPY %y1238    %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1239    %y:vrnov0 = PseudoVADD_VV_M1_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 01240    $v8 = COPY %y1241...1242---1243name: vmop_vv_incompatible_emul1244body: |1245  bb.0:1246    ; CHECK-LABEL: name: vmop_vv_incompatible_emul1247    ; CHECK: %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1248    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */1249    ; CHECK-NEXT: $v8 = COPY %y1250    %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1251    %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 01252    $v8 = COPY %y1253...1254---1255name: vmop_vv_maskuser_incompaible_emul1256body: |1257  bb.0:1258    ; CHECK-LABEL: name: vmop_vv_maskuser_incompaible_emul1259    ; CHECK: %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1260    ; CHECK-NEXT: %y:vrnov0 = PseudoVADD_VV_MF2_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1261    ; CHECK-NEXT: $v8 = COPY %y1262    %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1263    %y:vrnov0 = PseudoVADD_VV_MF2_MASK $noreg, $noreg, $noreg, %x, 1, 3 /* e8 */, 01264    $v8 = COPY %y1265...1266---1267name: vmop_vv_maskuser_larger_emul1268body: |1269  bb.0:1270    ; CHECK-LABEL: name: vmop_vv_maskuser_larger_emul1271    ; CHECK: %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, 1, 3 /* e8 */1272    ; CHECK-NEXT: %y:vrm2nov0 = PseudoVADD_VV_M2_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */1273    ; CHECK-NEXT: $v8m2 = COPY %y1274    %x:vmv0 = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1275    %y:vrm2nov0 = PseudoVADD_VV_M2_MASK $noreg, $noreg, $noreg, %x, 1, 4 /* e16 */, 01276    $v8m2 = COPY %y1277...1278---1279name: vmop_vv_consumer_incompatible_eew1280body: |1281  bb.0:1282    ; CHECK-LABEL: name: vmop_vv_consumer_incompatible_eew1283    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1284    ; CHECK-NEXT: %y:vr = PseudoVMSEQ_VV_M1 $noreg, %x, 1, 4 /* e16 */1285    ; CHECK-NEXT: $v8 = COPY %y1286    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01287    %y:vr = PseudoVMSEQ_VV_M1 $noreg, %x, 1, 4 /* e16 */1288    $v8 = COPY %y1289...1290---1291name: vmop_vv_consumer_incompatible_emul1292body: |1293  bb.0:1294    ; CHECK-LABEL: name: vmop_vv_consumer_incompatible_emul1295    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1296    ; CHECK-NEXT: %y:vr = PseudoVMSEQ_VV_MF2 $noreg, %x, 1, 3 /* e8 */1297    ; CHECK-NEXT: $v8 = COPY %y1298    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01299    %y:vr = PseudoVMSEQ_VV_MF2 $noreg, %x, 1, 3 /* e8 */1300    $v8 = COPY %y1301...1302---1303name: vmop_vv_passthru_use1304body: |1305  bb.0:1306    ; CHECK-LABEL: name: vmop_vv_passthru_use1307    ; CHECK: %x:vrnov0 = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */1308    ; CHECK-NEXT: %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 1 /* ta, mu */1309    ; CHECK-NEXT: %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e8 */1310    ; CHECK-NEXT: $v8 = COPY %z1311    %x:vrnov0 = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e1 */1312    %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 11313    %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e1 */1314    $v8 = COPY %z1315...1316---1317name: vmop_vv_passthru_use_incompatible_eew1318body: |1319  bb.0:1320    ; CHECK-LABEL: name: vmop_vv_passthru_use_incompatible_eew1321    ; CHECK: %x:vrnov0 = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1322    ; CHECK-NEXT: %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 1 /* ta, mu */1323    ; CHECK-NEXT: %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e8 */1324    ; CHECK-NEXT: $v8 = COPY %z1325    %x:vrnov0 = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01326    %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 11327    %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e1 */1328    $v8 = COPY %z1329...1330---1331name: vmop_vv_passthru_use_incompatible_emul1332body: |1333  bb.0:1334    ; CHECK-LABEL: name: vmop_vv_passthru_use_incompatible_emul1335    ; CHECK: %x:vrnov0 = PseudoVMAND_MM_B16 $noreg, $noreg, -1, 0 /* e8 */1336    ; CHECK-NEXT: %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 1 /* ta, mu */1337    ; CHECK-NEXT: %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e8 */1338    ; CHECK-NEXT: $v8 = COPY %z1339    %x:vrnov0 = PseudoVMAND_MM_B16 $noreg, $noreg, -1, 0 /* e1 */1340    %y:vrnov0 = PseudoVMSEQ_VV_M1_MASK %x, $noreg, $noreg, $noreg, 1, 3 /* e8 */, 11341    %z:vr = PseudoVMAND_MM_B8 %y, $noreg, 1, 0 /* e1 */1342    $v8 = COPY %z1343...1344---1345name: vmerge_vim1346body: |1347  bb.0:1348    ; CHECK-LABEL: name: vmerge_vim1349    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1350    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */1351    ; CHECK-NEXT: $v8 = COPY %y1352    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01353    %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */1354    $v8 = COPY %y1355...1356---1357name: vmerge_vim_incompatible_eew1358body: |1359  bb.0:1360    ; CHECK-LABEL: name: vmerge_vim_incompatible_eew1361    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1362    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */1363    ; CHECK-NEXT: $v8 = COPY %y1364    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01365    %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */1366    $v8 = COPY %y1367...1368---1369name: vmerge_vim_incompatible_emul1370body: |1371  bb.0:1372    ; CHECK-LABEL: name: vmerge_vim_incompatible_emul1373    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1374    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */1375    ; CHECK-NEXT: $v8 = COPY %y1376    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01377    %y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */1378    $v8 = COPY %y1379...1380---1381name: vmerge_vxm1382body: |1383  bb.0:1384    ; CHECK-LABEL: name: vmerge_vxm1385    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1386    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1387    ; CHECK-NEXT: $v8 = COPY %y1388    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01389    %y:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1390    $v8 = COPY %y1391...1392---1393name: vmerge_vxm_incompatible_eew1394body: |1395  bb.0:1396    ; CHECK-LABEL: name: vmerge_vxm_incompatible_eew1397    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1398    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1399    ; CHECK-NEXT: $v8 = COPY %y1400    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01401    %y:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1402    $v8 = COPY %y1403...1404---1405name: vmerge_vxm_incompatible_emul1406body: |1407  bb.0:1408    ; CHECK-LABEL: name: vmerge_vxm_incompatible_emul1409    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1410    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1411    ; CHECK-NEXT: $v8 = COPY %y1412    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01413    %y:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, $noreg, $v0, 1, 3 /* e8 */1414    $v8 = COPY %y1415...1416---1417name: vmerge_vvm1418body: |1419  bb.0:1420    ; CHECK-LABEL: name: vmerge_vvm1421    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1422    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1423    ; CHECK-NEXT: $v8 = COPY %y1424    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01425    %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1426    $v8 = COPY %y1427...1428---1429name: vmerge_vvm_incompatible_eew1430body: |1431  bb.0:1432    ; CHECK-LABEL: name: vmerge_vvm_incompatible_eew1433    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1434    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1435    ; CHECK-NEXT: $v8 = COPY %y1436    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01437    %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1438    $v8 = COPY %y1439...1440---1441name: vmerge_vvm_incompatible_emul1442body: |1443  bb.0:1444    ; CHECK-LABEL: name: vmerge_vvm_incompatible_emul1445    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1446    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1447    ; CHECK-NEXT: $v8 = COPY %y1448    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01449    %y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */1450    $v8 = COPY %y1451...1452---1453name: vmv_v_i1454body: |1455  bb.0:1456    ; CHECK-LABEL: name: vmv_v_i1457    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1458    ; CHECK-NEXT: %y:vr = PseudoVMV_V_I_M1 %x, 9, 1, 3 /* e8 */, 0 /* tu, mu */1459    ; CHECK-NEXT: $v8 = COPY %y1460    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01461    %y:vr = PseudoVMV_V_I_M1 %x, 9, 1, 3 /* e8 */, 01462    $v8 = COPY %y1463...1464---1465name: vmv_v_i_incompatible_eew1466body: |1467  bb.0:1468    ; CHECK-LABEL: name: vmv_v_i_incompatible_eew1469    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1470    ; CHECK-NEXT: %y:vr = PseudoVMV_V_I_M1 %x, 9, 1, 3 /* e8 */, 0 /* tu, mu */1471    ; CHECK-NEXT: $v8 = COPY %y1472    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01473    %y:vr = PseudoVMV_V_I_M1 %x, 9, 1, 3 /* e8 */, 01474    $v8 = COPY %y1475...1476---1477name: vmv_v_i_incompatible_emul1478body: |1479  bb.0:1480    ; CHECK-LABEL: name: vmv_v_i_incompatible_emul1481    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1482    ; CHECK-NEXT: %y:vr = PseudoVMV_V_I_MF2 %x, 9, 1, 3 /* e8 */, 0 /* tu, mu */1483    ; CHECK-NEXT: $v8 = COPY %y1484    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01485    %y:vr = PseudoVMV_V_I_MF2 %x, 9, 1, 3 /* e8 */, 01486    $v8 = COPY %y1487...1488---1489name: vmv_v_x1490body: |1491  bb.0:1492    ; CHECK-LABEL: name: vmv_v_x1493    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1494    ; CHECK-NEXT: %y:vr = PseudoVMV_V_X_M1 %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1495    ; CHECK-NEXT: $v8 = COPY %y1496    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01497    %y:vr = PseudoVMV_V_X_M1 %x, $noreg, 1, 3 /* e8 */, 01498    $v8 = COPY %y1499...1500---1501name: vmv_v_x_incompatible_eew1502body: |1503  bb.0:1504    ; CHECK-LABEL: name: vmv_v_x_incompatible_eew1505    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1506    ; CHECK-NEXT: %y:vr = PseudoVMV_V_X_M1 %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1507    ; CHECK-NEXT: $v8 = COPY %y1508    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01509    %y:vr = PseudoVMV_V_X_M1 %x, $noreg, 1, 3 /* e8 */, 01510    $v8 = COPY %y1511...1512---1513name: vmv_v_x_incompatible_emul1514body: |1515  bb.0:1516    ; CHECK-LABEL: name: vmv_v_x_incompatible_emul1517    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1518    ; CHECK-NEXT: %y:vr = PseudoVMV_V_X_MF2 %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1519    ; CHECK-NEXT: $v8 = COPY %y1520    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01521    %y:vr = PseudoVMV_V_X_MF2 %x, $noreg, 1, 3 /* e8 */, 01522    $v8 = COPY %y1523...1524---1525name: vmv_v_v1526body: |1527  bb.0:1528    ; CHECK-LABEL: name: vmv_v_v1529    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1530    ; CHECK-NEXT: %y:vr = PseudoVMV_V_V_M1 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1531    ; CHECK-NEXT: $v8 = COPY %y1532    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01533    %y:vr = PseudoVMV_V_V_M1 $noreg, %x, 1, 3 /* e8 */, 01534    $v8 = COPY %y1535...1536---1537name: vmv_v_v_incompatible_eew1538body: |1539  bb.0:1540    ; CHECK-LABEL: name: vmv_v_v_incompatible_eew1541    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1542    ; CHECK-NEXT: %y:vr = PseudoVMV_V_V_M1 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1543    ; CHECK-NEXT: $v8 = COPY %y1544    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01545    %y:vr = PseudoVMV_V_V_M1 $noreg, %x, 1, 3 /* e8 */, 01546    $v8 = COPY %y1547...1548---1549name: vmv_v_v_incompatible_emul1550body: |1551  bb.0:1552    ; CHECK-LABEL: name: vmv_v_v_incompatible_emul1553    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1554    ; CHECK-NEXT: %y:vr = PseudoVMV_V_V_MF2 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1555    ; CHECK-NEXT: $v8 = COPY %y1556    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01557    %y:vr = PseudoVMV_V_V_MF2 $noreg, %x, 1, 3 /* e8 */, 01558    $v8 = COPY %y1559...1560---1561name: viota_m_dest1562body: |1563  bb.0:1564    ; CHECK-LABEL: name: viota_m_dest1565    ; CHECK: early-clobber %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1566    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1567    ; CHECK-NEXT: $v8 = COPY %y1568    %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, -1, 3 /* e8 */, 01569    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 3 /* e8 */, 01570    $v8 = COPY %y1571...1572---1573name: viota_m_dest_incompatible_eew1574body: |1575  bb.0:1576    ; CHECK-LABEL: name: viota_m_dest_incompatible_eew1577    ; CHECK: early-clobber %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1578    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1579    ; CHECK-NEXT: $v8 = COPY %y1580    %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, -1, 3 /* e8 */, 01581    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 4 /* e16 */, 01582    $v8 = COPY %y1583...1584---1585name: viota_m_dest_incompatible_emul1586body: |1587  bb.0:1588    ; CHECK-LABEL: name: viota_m_dest_incompatible_emul1589    ; CHECK: early-clobber %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1590    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1591    ; CHECK-NEXT: $v8 = COPY %y1592    %x:vr = PseudoVIOTA_M_M1 $noreg, $noreg, -1, 3 /* e8 */, 01593    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 3 /* e8 */, 01594    $v8 = COPY %y1595...1596---1597name: viota_m_dest_passthru_use1598body: |1599  bb.0:1600    ; CHECK-LABEL: name: viota_m_dest_passthru_use1601    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1602    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_M1 %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1603    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1604    ; CHECK-NEXT: $v8 = COPY %z1605    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01606    %y:vr = PseudoVIOTA_M_M1 %x, $noreg, 1, 3 /* e8 */, 01607    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 01608    $v8 = COPY %z1609...1610---1611name: viota_m_dest_passthru_use_incompatible_eew1612body: |1613  bb.0:1614    ; CHECK-LABEL: name: viota_m_dest_passthru_use_incompatible_eew1615    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1616    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_M1 %x, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1617    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1618    ; CHECK-NEXT: $v8 = COPY %z1619    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01620    %y:vr = PseudoVIOTA_M_M1 %x, $noreg, 1, 4 /* e16 */, 01621    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 01622    $v8 = COPY %z1623...1624---1625name: viota_m_dest_passthru_use_incompatible_emul1626body: |1627  bb.0:1628    ; CHECK-LABEL: name: viota_m_dest_passthru_use_incompatible_emul1629    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1630    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_MF2 %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1631    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1632    ; CHECK-NEXT: $v8 = COPY %z1633    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01634    %y:vr = PseudoVIOTA_M_MF2 %x, $noreg, 1, 3 /* e8 */, 01635    %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 3 /* e8 */, 01636    $v8 = COPY %z1637...1638---1639name: viota_m_mask1640body: |1641  bb.0:1642    ; CHECK-LABEL: name: viota_m_mask1643    ; CHECK: %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, 1, 3 /* e8 */1644    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1645    ; CHECK-NEXT: $v8 = COPY %y1646    %x:vr = PseudoVMSEQ_VV_M1 $noreg, $noreg, -1, 3 /* e8 */1647    %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 3 /* e8 */, 01648    $v8 = COPY %y1649...1650---1651name: viota_m_mask_scale_mask1652body: |1653  bb.0:1654    ; CHECK-LABEL: name: viota_m_mask_scale_mask1655    ; CHECK: early-clobber %x:vr = PseudoVMSEQ_VV_M2 $noreg, $noreg, 1, 4 /* e16 */1656    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1657    ; CHECK-NEXT: $v8 = COPY %y1658    %x:vr = PseudoVMSEQ_VV_M2 $noreg, $noreg, -1, 4 /* e16 */1659    %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 3 /* e8 */, 01660    $v8 = COPY %y1661...1662---1663name: viota_m_mask_incompatible_emul_from_sew1664body: |1665  bb.0:1666    ; CHECK-LABEL: name: viota_m_mask_incompatible_emul_from_sew1667    ; CHECK: %x:vr = PseudoVMAND_MM_B1 $noreg, $noreg, -1, 0 /* e8 */1668    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 4 /* e16 */, 0 /* tu, mu */1669    ; CHECK-NEXT: $v8 = COPY %y1670    %x:vr = PseudoVMAND_MM_B1 $noreg, $noreg, -1, 01671    %y:vr = PseudoVIOTA_M_M1 $noreg, %x, 1, 4 /* e16 */, 01672    $v8 = COPY %y1673...1674---1675name: viota_m_mask_incompatible_emul_from_lmul1676body: |1677  bb.0:1678    ; CHECK-LABEL: name: viota_m_mask_incompatible_emul_from_lmul1679    ; CHECK: %x:vr = PseudoVMAND_MM_B1 $noreg, $noreg, -1, 0 /* e8 */1680    ; CHECK-NEXT: early-clobber %y:vr = PseudoVIOTA_M_MF2 $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1681    ; CHECK-NEXT: $v8 = COPY %y1682    %x:vr = PseudoVMAND_MM_B1 $noreg, $noreg, -1, 01683    %y:vr = PseudoVIOTA_M_MF2 $noreg, %x, 1, 3 /* e8 */, 01684    $v8 = COPY %y1685...1686---1687name: vred_vs21688body: |1689  bb.0:1690    ; CHECK-LABEL: name: vred_vs21691    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1692    ; CHECK-NEXT: %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1693    ; CHECK-NEXT: $v8 = COPY %y1694    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01695    %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 01696    $v8 = COPY %y1697...1698---1699name: vred_vs11700body: |1701  bb.0:1702    ; CHECK-LABEL: name: vred_vs11703    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1704    ; CHECK-NEXT: %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1705    ; CHECK-NEXT: $v8 = COPY %y1706    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01707    %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 01708    $v8 = COPY %y1709...1710---1711name: vred_vs1_vs21712body: |1713  bb.0:1714    ; CHECK-LABEL: name: vred_vs1_vs21715    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1716    ; CHECK-NEXT: %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, %x, 1, 3 /* e8 */, 0 /* tu, mu */1717    ; CHECK-NEXT: $v8 = COPY %y1718    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01719    %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, %x, 1, 3 /* e8 */, 01720    $v8 = COPY %y1721...1722---1723name: vred_vs1_vs2_incompatible_eew1724body: |1725  bb.0:1726    ; CHECK-LABEL: name: vred_vs1_vs2_incompatible_eew1727    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1728    ; CHECK-NEXT: %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, %x, 1, 4 /* e16 */, 0 /* tu, mu */1729    ; CHECK-NEXT: $v8 = COPY %y1730    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01731    %y:vr = PseudoVREDAND_VS_M1_E8 $noreg, %x, %x, 1, 4 /* e16 */, 01732    $v8 = COPY %y1733...1734---1735name: vred_vs1_vs2_incompatible_emul1736body: |1737  bb.0:1738    ; CHECK-LABEL: name: vred_vs1_vs2_incompatible_emul1739    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1740    ; CHECK-NEXT: %y:vr = PseudoVREDAND_VS_MF2_E8 $noreg, %x, %x, 1, 3 /* e8 */, 0 /* tu, mu */1741    ; CHECK-NEXT: $v8 = COPY %y1742    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01743    %y:vr = PseudoVREDAND_VS_MF2_E8 $noreg, %x, %x, 1, 3 /* e8 */, 01744    $v8 = COPY %y1745...1746---1747name: vred_other_user_is_vl01748body: |1749  bb.0:1750    ; CHECK-LABEL: name: vred_other_user_is_vl01751    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1752    ; CHECK-NEXT: %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1753    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 0 /* tu, mu */1754    ; CHECK-NEXT: $v8 = COPY %y1755    ; CHECK-NEXT: $v9 = COPY %z1756    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01757    %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 01758    %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 01759    $v8 = COPY %y1760    $v9 = COPY %z1761...1762---1763name: vred_both_vl01764body: |1765  bb.0:1766    ; CHECK-LABEL: name: vred_both_vl01767    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1768    ; CHECK-NEXT: %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 0, 3 /* e8 */, 0 /* tu, mu */1769    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 0 /* tu, mu */1770    ; CHECK-NEXT: $v8 = COPY %y1771    ; CHECK-NEXT: $v9 = COPY %z1772    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01773    %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 0, 3 /* e8 */, 01774    %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 01775    $v8 = COPY %y1776    $v9 = COPY %z1777...1778---1779name: vred_vl0_and_vlreg1780body: |1781  bb.0:1782    ; CHECK-LABEL: name: vred_vl0_and_vlreg1783    ; CHECK: %vl:gprnox0 = COPY $x11784    ; CHECK-NEXT: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1785    ; CHECK-NEXT: %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, %vl, 3 /* e8 */, 0 /* tu, mu */1786    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 0 /* tu, mu */1787    ; CHECK-NEXT: $v8 = COPY %y1788    ; CHECK-NEXT: $v9 = COPY %z1789    %vl:gprnox0 = COPY $x11790    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01791    %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, %vl, 3 /* e8 */, 01792    %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 0, 3 /* e8 */, 01793    $v8 = COPY %y1794    $v9 = COPY %z1795...1796---1797name: vred_vlreg_and_vl01798body: |1799  bb.0:1800    ; CHECK-LABEL: name: vred_vlreg_and_vl01801    ; CHECK: %vl:gprnox0 = COPY $x11802    ; CHECK-NEXT: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1803    ; CHECK-NEXT: %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 0, 3 /* e8 */, 0 /* tu, mu */1804    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, %vl, 3 /* e8 */, 0 /* tu, mu */1805    ; CHECK-NEXT: $v8 = COPY %y1806    ; CHECK-NEXT: $v9 = COPY %z1807    %vl:gprnox0 = COPY $x11808    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01809    %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 0, 3 /* e8 */, 01810    %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, %vl, 3 /* e8 */, 01811    $v8 = COPY %y1812    $v9 = COPY %z1813...1814---1815name: vred_other_user_is_vl21816body: |1817  bb.0:1818    ; CHECK-LABEL: name: vred_other_user_is_vl21819    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 2, 3 /* e8 */, 0 /* tu, mu */1820    ; CHECK-NEXT: %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1821    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 2, 3 /* e8 */, 0 /* tu, mu */1822    ; CHECK-NEXT: $v8 = COPY %y1823    ; CHECK-NEXT: $v9 = COPY %z1824    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01825    %y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 01826    %z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 2, 3 /* e8 */, 01827    $v8 = COPY %y1828    $v9 = COPY %z1829...1830---1831name: vwred_vs21832body: |1833  bb.0:1834    ; CHECK-LABEL: name: vwred_vs21835    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1836    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1837    ; CHECK-NEXT: $v8 = COPY %y1838    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01839    %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 01840    $v8 = COPY %y1841...1842---1843name: vwred_vs11844body: |1845  bb.0:1846    ; CHECK-LABEL: name: vwred_vs11847    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1848    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1849    ; CHECK-NEXT: $v8 = COPY %y1850    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01851    %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 01852    $v8 = COPY %y1853...1854---1855name: vwred_vs1_incompatible_eew1856body: |1857  bb.0:1858    ; CHECK-LABEL: name: vwred_vs1_incompatible_eew1859    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1860    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1861    ; CHECK-NEXT: $v8 = COPY %y1862    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01863    %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 01864    $v8 = COPY %y1865...1866---1867name: vwred_vs2_incompatible_eew1868body: |1869  bb.0:1870    ; CHECK-LABEL: name: vwred_vs2_incompatible_eew1871    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1872    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */1873    ; CHECK-NEXT: $v8 = COPY %y1874    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01875    %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 01876    $v8 = COPY %y1877...1878---1879name: vwred_incompatible_emul1880body: |1881  bb.0:1882    ; CHECK-LABEL: name: vwred_incompatible_emul1883    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1884    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_MF2_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1885    ; CHECK-NEXT: $v8 = COPY %y1886    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01887    %y:vr = PseudoVWREDSUM_VS_MF2_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 01888    $v8 = COPY %y1889...1890---1891name: vfred_vs21892body: |1893  bb.0:1894    ; CHECK-LABEL: name: vfred_vs21895    ; CHECK: %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, 1, 5 /* e32 */, 0 /* tu, mu */1896    ; CHECK-NEXT: %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */1897    ; CHECK-NEXT: $v8 = COPY %y1898    %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 5 /* e32 */, 01899    %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, $noreg, 1, 5 /* e32 */, 01900    $v8 = COPY %y1901...1902---1903name: vfred_vs11904body: |1905  bb.0:1906    ; CHECK-LABEL: name: vfred_vs11907    ; CHECK: %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, 1, 5 /* e32 */, 0 /* tu, mu */1908    ; CHECK-NEXT: %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */1909    ; CHECK-NEXT: $v8 = COPY %y1910    %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 5 /* e32 */, 01911    %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, $noreg, %x, 1, 5 /* e32 */, 01912    $v8 = COPY %y1913...1914---1915name: vfred_vs1_vs21916body: |1917  bb.0:1918    ; CHECK-LABEL: name: vfred_vs1_vs21919    ; CHECK: %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, 1, 5 /* e32 */, 0 /* tu, mu */1920    ; CHECK-NEXT: %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, %x, 1, 5 /* e32 */, 0 /* tu, mu */1921    ; CHECK-NEXT: $v8 = COPY %y1922    %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 5 /* e32 */, 01923    %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, %x, 1, 5 /* e32 */, 01924    $v8 = COPY %y1925...1926---1927name: vfred_vs1_vs2_incompatible_eew1928body: |1929  bb.0:1930    ; CHECK-LABEL: name: vfred_vs1_vs2_incompatible_eew1931    ; CHECK: %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 6 /* e64 */, 0 /* tu, mu */1932    ; CHECK-NEXT: %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, %x, 1, 5 /* e32 */, 0 /* tu, mu */1933    ; CHECK-NEXT: $v8 = COPY %y1934    %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 6 /* e64 */, 01935    %y:vr = PseudoVFREDMAX_VS_M1_E32 $noreg, %x, %x, 1, 5 /* e32 */, 01936    $v8 = COPY %y1937...1938---1939name: vfred_vs1_vs2_incompatible_emul1940body: |1941  bb.0:1942    ; CHECK-LABEL: name: vfred_vs1_vs2_incompatible_emul1943    ; CHECK: %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 5 /* e32 */, 0 /* tu, mu */1944    ; CHECK-NEXT: %y:vr = PseudoVFREDMAX_VS_MF2_E32 $noreg, %x, %x, 1, 5 /* e32 */, 0 /* tu, mu */1945    ; CHECK-NEXT: $v8 = COPY %y1946    %x:vr = nofpexcept PseudoVFCVT_X_F_V_M1 $noreg, $noreg, 0, -1, 5 /* e32 */, 01947    %y:vr = PseudoVFREDMAX_VS_MF2_E32 $noreg, %x, %x, 1, 5 /* e32 */, 01948    $v8 = COPY %y1949...1950---1951name: vwred_passthru_use1952body: |1953  bb.0:1954    ; CHECK-LABEL: name: vwred_passthru_use1955    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1956    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_MF2_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1957    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1958    ; CHECK-NEXT: $v8 = COPY %z1959    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01960    %y:vr = PseudoVWREDSUM_VS_MF2_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 01961    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 01962    $v8 = COPY %z1963...1964---1965name: vwred_passthru_use_incompatible_eew1966body: |1967  bb.0:1968    ; CHECK-LABEL: name: vwred_passthru_use_incompatible_eew1969    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */1970    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_MF2_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1971    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1972    ; CHECK-NEXT: $v8 = COPY %z1973    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 01974    %y:vr = PseudoVWREDSUM_VS_MF2_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 01975    %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 01976    $v8 = COPY %z1977...1978---1979name: vwred_passthru_use_incompatible_emul1980body: |1981  bb.0:1982    ; CHECK-LABEL: name: vwred_passthru_use_incompatible_emul1983    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */1984    ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_MF4_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */1985    ; CHECK-NEXT: %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */1986    ; CHECK-NEXT: $v8 = COPY %z1987    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 01988    %y:vr = PseudoVWREDSUM_VS_MF4_E8 %x, $noreg, $noreg, 1, 3 /* e8 */, 01989    %z:vr = PseudoVADD_VV_MF2 $noreg, %y, $noreg, 1, 4 /* e16 */, 01990    $v8 = COPY %z1991...1992---1993name: vfirst_v1994body: |1995  bb.0:1996    ; CHECK-LABEL: name: vfirst_v1997    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */1998    ; CHECK-NEXT: %y:gpr = PseudoVFIRST_M_B8 %x, 1, 0 /* e8 */1999    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 02000    %y:gpr = PseudoVFIRST_M_B8 %x, 1, 02001...2002---2003name: vfirst_v_incompatible_eew2004body: |2005  bb.0:2006    ; CHECK-LABEL: name: vfirst_v_incompatible_eew2007    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */2008    ; CHECK-NEXT: %y:gpr = PseudoVFIRST_M_B8 %x, 1, 0 /* e8 */2009    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 02010    %y:gpr = PseudoVFIRST_M_B8 %x, 1, 02011...2012---2013name: vfirst_v_incompatible_emul2014body: |2015  bb.0:2016    ; CHECK-LABEL: name: vfirst_v_incompatible_emul2017    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */2018    ; CHECK-NEXT: %y:gpr = PseudoVFIRST_M_B16 %x, 1, 0 /* e8 */2019    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 02020    %y:gpr = PseudoVFIRST_M_B16 %x, 1, 02021...2022---2023name: vcpop_v2024body: |2025  bb.0:2026    ; CHECK-LABEL: name: vcpop_v2027    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, 1, 0 /* e8 */2028    ; CHECK-NEXT: %y:gpr = PseudoVCPOP_M_B8 %x, 1, 0 /* e8 */2029    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 02030    %y:gpr = PseudoVCPOP_M_B8 %x, 1, 02031...2032---2033name: vcopop_v_incompatible_eew2034body: |2035  bb.0:2036    ; CHECK-LABEL: name: vcopop_v_incompatible_eew2037    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */2038    ; CHECK-NEXT: %y:gpr = PseudoVCPOP_M_B8 %x, 1, 0 /* e8 */2039    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 02040    %y:gpr = PseudoVCPOP_M_B8 %x, 1, 02041...2042---2043name: vcpop_v_incompaitble_emul2044body: |2045  bb.0:2046    ; CHECK-LABEL: name: vcpop_v_incompaitble_emul2047    ; CHECK: %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 0 /* e8 */2048    ; CHECK-NEXT: %y:gpr = PseudoVCPOP_M_B16 %x, 1, 0 /* e8 */2049    %x:vr = PseudoVMAND_MM_B8 $noreg, $noreg, -1, 02050    %y:gpr = PseudoVCPOP_M_B16 %x, 1, 02051...2052---2053name: vmclr_m2054body: |2055  bb.0:2056    ; CHECK-LABEL: name: vmclr_m2057    ; CHECK: %x:vr = PseudoVMCLR_M_B8 1, 0 /* e8 */2058    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0 /* e8 */2059    ; CHECK-NEXT: $v8 = COPY %y2060    %x:vr = PseudoVMCLR_M_B8 -1, 02061    %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 02062    $v8 = COPY %y2063...2064---2065name: vmclr_m_incompatible_eew2066body: |2067  bb.0:2068    ; CHECK-LABEL: name: vmclr_m_incompatible_eew2069    ; CHECK: %x:vr = PseudoVMCLR_M_B8 -1, 0 /* e8 */2070    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */2071    ; CHECK-NEXT: $v8 = COPY %y2072    %x:vr = PseudoVMCLR_M_B8 -1, 02073    %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 02074    $v8 = COPY %y2075...2076---2077name: vmclr_m_incompatible_emul2078body: |2079  bb.0:2080    ; CHECK-LABEL: name: vmclr_m_incompatible_emul2081    ; CHECK: %x:vr = PseudoVMCLR_M_B8 -1, 0 /* e8 */2082    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */2083    ; CHECK-NEXT: $v8 = COPY %y2084    %x:vr = PseudoVMCLR_M_B8 -1, 02085    %y:vr = PseudoVMAND_MM_B16  $noreg, %x, 1, 02086    $v8 = COPY %y2087...2088---2089name: vmset_m2090body: |2091  bb.0:2092    ; CHECK-LABEL: name: vmset_m2093    ; CHECK: %x:vr = PseudoVMSET_M_B8 1, 0 /* e8 */2094    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 0 /* e8 */2095    ; CHECK-NEXT: $v8 = COPY %y2096    %x:vr = PseudoVMSET_M_B8 -1, 02097    %y:vr = PseudoVMAND_MM_B8 $noreg, %x, 1, 02098    $v8 = COPY %y2099...2100---2101name: vmset_m_incompatible_eew2102body: |2103  bb.0:2104    ; CHECK-LABEL: name: vmset_m_incompatible_eew2105    ; CHECK: %x:vr = PseudoVMSET_M_B8 -1, 0 /* e8 */2106    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */2107    ; CHECK-NEXT: $v8 = COPY %y2108    %x:vr = PseudoVMSET_M_B8 -1, 02109    %y:vr = PseudoVADD_VV_M1 $noreg, $noreg, %x, 1, 3 /* e8 */, 02110    $v8 = COPY %y2111...2112---2113name: vmset_m_incompatible_emul2114body: |2115  bb.0:2116    ; CHECK-LABEL: name: vmset_m_incompatible_emul2117    ; CHECK: %x:vr = PseudoVMSET_M_B8 -1, 0 /* e8 */2118    ; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */2119    ; CHECK-NEXT: $v8 = COPY %y2120    %x:vr = PseudoVMSET_M_B8 -1, 02121    %y:vr = PseudoVMAND_MM_B16  $noreg, %x, 1, 02122    $v8 = COPY %y2123...2124---2125name: vrgatherei16_vv2126body: |2127  bb.0:2128    ; CHECK-LABEL: name: vrgatherei16_vv2129    ; CHECK: early-clobber %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */2130    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */2131    ; CHECK-NEXT: $v8 = COPY %y2132    %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 02133    %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 02134    $v8 = COPY %y2135...2136---2137name: vrgatherei16_vv_incompatible_data_eew2138body: |2139  bb.0:2140    ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_data_eew2141    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */2142    ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */2143    ; CHECK-NEXT: $v8 = COPY %y2144    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 02145    %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 02146    $v8 = COPY %y2147...2148---2149name: vrgatherei16_vv_incompatible_index_eew2150body: |2151  bb.0:2152    ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_index_eew2153    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */2154    ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */2155    ; CHECK-NEXT: $v8 = COPY %y2156    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 02157    %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 02158    $v8 = COPY %y2159...2160---2161name: vrgatherei16_vv_incompatible_dest_emul2162body: |2163  bb.0:2164    ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_dest_emul2165    ; CHECK: early-clobber %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */2166    ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */2167    ; CHECK-NEXT: $v8 = COPY %y2168    %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 02169    %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 02170    $v8 = COPY %y2171...2172---2173name: vrgatherei16_vv_incompatible_source_emul2174body: |2175  bb.0:2176    ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_source_emul2177    ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */2178    ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */2179    ; CHECK-NEXT: $v8 = COPY %y2180    %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 02181    %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 02182    $v8 = COPY %y2183...2184---2185name: vrgatherei16_vv_incompatible_index_emul2186body: |2187  bb.0:2188    ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_index_emul2189    ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */2190    ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */2191    ; CHECK-NEXT: $v8 = COPY %y2192    %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 02193    %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 02194    $v8 = COPY %y2195...2196---2197name: vsseg3e32_v2198body: |2199  bb.0:2200    liveins: $v82201 2202    ; CHECK-LABEL: name: vsseg3e32_v2203    ; CHECK: liveins: $v82204    ; CHECK-NEXT: {{  $}}2205    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82206    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2207    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2208    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2209    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02210    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12211    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22212    ; CHECK-NEXT: PseudoVSSEG3E32_V_M1 killed [[INSERT_SUBREG2]], $noreg, 1, 5 /* e32 */2213    %0:vr = COPY $v82214    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2215    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2216    %6:vrn3m1 = IMPLICIT_DEF2217    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02218    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12219    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22220    PseudoVSSEG3E32_V_M1 killed %8, $noreg, 1, 5 /* e32 */2221...2222---2223name: vsseg3e64_v_incompatible_eew2224body: |2225  bb.0:2226    liveins: $v82227 2228    ; CHECK-LABEL: name: vsseg3e64_v_incompatible_eew2229    ; CHECK: liveins: $v82230    ; CHECK-NEXT: {{  $}}2231    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82232    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2233    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2234    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2235    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02236    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12237    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22238    ; CHECK-NEXT: PseudoVSSEG3E64_V_M1 killed [[INSERT_SUBREG2]], $noreg, 1, 6 /* e64 */2239    %0:vr = COPY $v82240    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2241    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2242    %6:vrn3m1 = IMPLICIT_DEF2243    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02244    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12245    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22246    PseudoVSSEG3E64_V_M1 killed %8, $noreg, 1, 6 /* e64 */2247...2248---2249name: vsseg3e32_v_incompatible_emul2250body: |2251  bb.0:2252    liveins: $v82253 2254    ; CHECK-LABEL: name: vsseg3e32_v_incompatible_emul2255    ; CHECK: liveins: $v82256    ; CHECK-NEXT: {{  $}}2257    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82258    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2259    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2260    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2261    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02262    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12263    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22264    ; CHECK-NEXT: PseudoVSSEG3E32_V_M1 killed [[INSERT_SUBREG2]], $noreg, 1, 6 /* e64 */2265    %0:vr = COPY $v82266    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2267    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2268    %6:vrn3m1 = IMPLICIT_DEF2269    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02270    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12271    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22272    PseudoVSSEG3E32_V_M1 killed %8, $noreg, 1, 6 /* e64 */2273...2274---2275name: vsseg3e32_v_incompatible_insert_subreg2276body: |2277  bb.0:2278 2279    ; CHECK-LABEL: name: vsseg3e32_v_incompatible_insert_subreg2280    ; CHECK: [[PseudoVADD_VV_M2_:%[0-9]+]]:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2281    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2282    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[PseudoVADD_VV_M2_]], %subreg.sub_vrm2_02283    ; CHECK-NEXT: PseudoVSSEG3E32_V_M1 killed [[INSERT_SUBREG]], $noreg, 1, 5 /* e32 */2284    %2:vrm2 = PseudoVADD_VV_M2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2285    %6:vrn3m1 = IMPLICIT_DEF2286    %5:vrn3m1 = INSERT_SUBREG %6, %2, %subreg.sub_vrm2_02287    PseudoVSSEG3E32_V_M1 killed %5, $noreg, 1, 5 /* e32 */2288...2289---2290name: vssseg3e32_v2291body: |2292  bb.0:2293    liveins: $v82294 2295    ; CHECK-LABEL: name: vssseg3e32_v2296    ; CHECK: liveins: $v82297    ; CHECK-NEXT: {{  $}}2298    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82299    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2300    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2301    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2302    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02303    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12304    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22305    ; CHECK-NEXT: PseudoVSSSEG3E32_V_M1 killed [[INSERT_SUBREG2]], $noreg, $noreg, 1, 5 /* e32 */2306    %0:vr = COPY $v82307    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2308    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2309    %6:vrn3m1 = IMPLICIT_DEF2310    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02311    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12312    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22313    PseudoVSSSEG3E32_V_M1 killed %8, $noreg, $noreg, 1, 5 /* e32 */2314...2315---2316name: vsuxseg3ei64_v2317body: |2318  bb.0:2319    liveins: $v82320 2321    ; CHECK-LABEL: name: vsuxseg3ei64_v2322    ; CHECK: liveins: $v82323    ; CHECK-NEXT: {{  $}}2324    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82325    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2326    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2327    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2328    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02329    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12330    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22331    ; CHECK-NEXT: PseudoVSUXSEG3EI64_V_M2_M1 killed [[INSERT_SUBREG2]], $noreg, $noreg, 1, 5 /* e32 */2332    %0:vr = COPY $v82333    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2334    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2335    %6:vrn3m1 = IMPLICIT_DEF2336    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02337    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12338    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22339    PseudoVSUXSEG3EI64_V_M2_M1 killed %8, $noreg, $noreg, 1, 5 /* e32 */2340...2341---2342name: vsuxseg3ei64_v_incompatible_data_eew2343body: |2344  bb.0:2345    liveins: $v82346 2347    ; CHECK-LABEL: name: vsuxseg3ei64_v_incompatible_data_eew2348    ; CHECK: liveins: $v82349    ; CHECK-NEXT: {{  $}}2350    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82351    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 6 /* e64 */, 3 /* ta, ma */2352    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 6 /* e64 */, 3 /* ta, ma */2353    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2354    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02355    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12356    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22357    ; CHECK-NEXT: PseudoVSUXSEG3EI64_V_M2_M1 killed [[INSERT_SUBREG2]], $noreg, $noreg, 1, 5 /* e32 */2358    %0:vr = COPY $v82359    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 6 /* e64 */, 3 /* ta, ma */2360    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 6 /* e64 */, 3 /* ta, ma */2361    %6:vrn3m1 = IMPLICIT_DEF2362    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02363    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12364    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22365    PseudoVSUXSEG3EI64_V_M2_M1 killed %8, $noreg, $noreg, 1, 5 /* e32 */2366...2367---2368name: vsuxseg3ei32_v_index2369body: |2370  bb.0:2371 2372    ; CHECK-LABEL: name: vsuxseg3ei32_v_index2373    ; CHECK: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2374    ; CHECK-NEXT: PseudoVSUXSEG3EI32_V_M1_M2 $noreg, $noreg, [[PseudoVADD_VV_M1_]], 1, 6 /* e64 */2375    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2376    PseudoVSUXSEG3EI32_V_M1_M2 $noreg, $noreg, %2, 1, 6 /* e64 */2377...2378---2379name: vsuxseg3ei32_v_incompatible_index_eew2380body: |2381  bb.0:2382 2383    ; CHECK-LABEL: name: vsuxseg3ei32_v_incompatible_index_eew2384    ; CHECK: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 6 /* e64 */, 3 /* ta, ma */2385    ; CHECK-NEXT: PseudoVSUXSEG3EI32_V_M1_M2 $noreg, $noreg, [[PseudoVADD_VV_M1_]], 1, 6 /* e64 */2386    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 6 /* e64 */, 3 /* ta, ma */2387    PseudoVSUXSEG3EI32_V_M1_M2 $noreg, $noreg, %2, 1, 6 /* e64 */2388...2389---2390name: vsoxseg3ei64_v2391body: |2392  bb.0:2393    liveins: $v82394 2395    ; CHECK-LABEL: name: vsoxseg3ei64_v2396    ; CHECK: liveins: $v82397    ; CHECK-NEXT: {{  $}}2398    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v82399    ; CHECK-NEXT: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2400    ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2401    ; CHECK-NEXT: [[DEF:%[0-9]+]]:vrn3m1 = IMPLICIT_DEF2402    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[DEF]], [[COPY]], %subreg.sub_vrm1_02403    ; CHECK-NEXT: [[INSERT_SUBREG1:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG]], [[PseudoVADD_VV_M1_]], %subreg.sub_vrm1_12404    ; CHECK-NEXT: [[INSERT_SUBREG2:%[0-9]+]]:vrn3m1 = INSERT_SUBREG [[INSERT_SUBREG1]], [[PseudoVADD_VV_M1_1]], %subreg.sub_vrm1_22405    ; CHECK-NEXT: PseudoVSOXSEG3EI64_V_M2_M1 killed [[INSERT_SUBREG2]], $noreg, $noreg, 1, 5 /* e32 */2406    %0:vr = COPY $v82407    %1:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */2408    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2409    %6:vrn3m1 = IMPLICIT_DEF2410    %5:vrn3m1 = INSERT_SUBREG %6, %0, %subreg.sub_vrm1_02411    %7:vrn3m1 = INSERT_SUBREG %5, %1, %subreg.sub_vrm1_12412    %8:vrn3m1 = INSERT_SUBREG %7, %2, %subreg.sub_vrm1_22413    PseudoVSOXSEG3EI64_V_M2_M1 killed %8, $noreg, $noreg, 1, 5 /* e32 */2414...2415---2416name: vsoxseg3ei32_v_index2417body: |2418  bb.0:2419 2420    ; CHECK-LABEL: name: vsoxseg3ei32_v_index2421    ; CHECK: [[PseudoVADD_VV_M1_:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 3 /* ta, ma */2422    ; CHECK-NEXT: PseudoVSOXSEG3EI32_V_M1_M2 $noreg, $noreg, [[PseudoVADD_VV_M1_]], 1, 6 /* e64 */2423    %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */2424    PseudoVSOXSEG3EI32_V_M1_M2 $noreg, $noreg, %2, 1, 6 /* e64 */2425...2426