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