@@ -483,3 +483,82 @@ body: |
483483 %x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
484484 %y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0
485485 ...
486+ ---
487+ name : vseN_v
488+ body : |
489+ bb.0:
490+ ; CHECK-LABEL: name: vseN_v
491+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
492+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
493+ ; CHECK-NEXT: PseudoVSE8_V_M1 %x, %y, 1, 3 /* e8 */
494+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
495+ %y:gpr = ADDI $x0, 1
496+ PseudoVSE8_V_M1 %x, %y, 1, 3 /* e8 */
497+ ...
498+ ---
499+ name : vseN_v_incompatible_eew
500+ body : |
501+ bb.0:
502+ ; CHECK-LABEL: name: vseN_v_incompatible_eew
503+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
504+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
505+ ; CHECK-NEXT: PseudoVSE8_V_M1 %x, %y, 1, 3 /* e8 */
506+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
507+ %y:gpr = ADDI $x0, 1
508+ PseudoVSE8_V_M1 %x, %y, 1, 3 /* e8 */
509+ ...
510+ ---
511+ name : vseN_v_incompatible_emul
512+ body : |
513+ bb.0:
514+ ; CHECK-LABEL: name: vseN_v_incompatible_emul
515+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
516+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
517+ ; CHECK-NEXT: PseudoVSE8_V_MF2 %x, %y, 1, 3 /* e8 */
518+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
519+ %y:gpr = ADDI $x0, 1
520+ PseudoVSE8_V_MF2 %x, %y, 1, 3 /* e8 */
521+ ...
522+ ---
523+ name : vsseN_v
524+ body : |
525+ bb.0:
526+ ; CHECK-LABEL: name: vsseN_v
527+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
528+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
529+ ; CHECK-NEXT: %z:gpr = ADDI $x0, 2
530+ ; CHECK-NEXT: PseudoVSSE8_V_M1 %x, %y, %z, 1, 3 /* e8 */
531+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
532+ %y:gpr = ADDI $x0, 1
533+ %z:gpr = ADDI $x0, 2
534+ PseudoVSSE8_V_M1 %x, %y, %z, 1, 3 /* e8 */
535+ ...
536+ ---
537+ name : vsseN_v_incompatible_eew
538+ body : |
539+ bb.0:
540+ ; CHECK-LABEL: name: vsseN_v_incompatible_eew
541+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
542+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
543+ ; CHECK-NEXT: %z:gpr = ADDI $x0, 2
544+ ; CHECK-NEXT: PseudoVSSE8_V_M1 %x, %y, %z, 1, 3 /* e8 */
545+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
546+ %y:gpr = ADDI $x0, 1
547+ %z:gpr = ADDI $x0, 2
548+ PseudoVSSE8_V_M1 %x, %y, %z, 1, 3 /* e8 */
549+ ...
550+ ---
551+ name : vsseN_v_incompatible_emul
552+ body : |
553+ bb.0:
554+ ; CHECK-LABEL: name: vsseN_v_incompatible_emul
555+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
556+ ; CHECK-NEXT: %y:gpr = ADDI $x0, 1
557+ ; CHECK-NEXT: %z:gpr = ADDI $x0, 2
558+ ; CHECK-NEXT: PseudoVSSE8_V_MF2 %x, %y, %z, 1, 3 /* e8 */
559+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
560+ %y:gpr = ADDI $x0, 1
561+ %z:gpr = ADDI $x0, 2
562+ PseudoVSSE8_V_MF2 %x, %y, %z, 1, 3 /* e8 */
563+ ...
564+
0 commit comments