Skip to content

Commit 17b7d38

Browse files
fixup! test vmerge instructions
1 parent bca3b7d commit 17b7d38

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,3 +513,100 @@ body: |
513513
%x:vr = PseudoVADD_VV_MF4 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
514514
%y:vr = PseudoVNSRL_WV_MF2 $noreg, $noreg, %x, 1, 3 /* e8 */, 0
515515
...
516+
---
517+
name: vmerge_vim
518+
body: |
519+
bb.0:
520+
; CHECK-LABEL: name: vmerge_vim
521+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
522+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
523+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
524+
%y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
525+
...
526+
---
527+
name: vmerge_vim_incompatible_eew
528+
body: |
529+
bb.0:
530+
; CHECK-LABEL: name: vmerge_vim_incompatible_eew
531+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
532+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
533+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
534+
%y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
535+
...
536+
---
537+
name: vmerge_vim_incompatible_emul
538+
body: |
539+
bb.0:
540+
; CHECK-LABEL: name: vmerge_vim_incompatible_emul
541+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
542+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */
543+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
544+
%y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */
545+
...
546+
---
547+
name: vmerge_vxm
548+
body: |
549+
bb.0:
550+
; CHECK-LABEL: name: vmerge_vxm
551+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
552+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
553+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
554+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
555+
%y:gpr = ADDI $x0, 1
556+
%z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
557+
...
558+
---
559+
name: vmerge_vxm_incompatible_eew
560+
body: |
561+
bb.0:
562+
; CHECK-LABEL: name: vmerge_vxm_incompatible_eew
563+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
564+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
565+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
566+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
567+
%y:gpr = ADDI $x0, 1
568+
%z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
569+
...
570+
---
571+
name: vmerge_vxm_incompatible_emul
572+
body: |
573+
bb.0:
574+
; CHECK-LABEL: name: vmerge_vxm_incompatible_emul
575+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
576+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
577+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, %y, $v0, 1, 3 /* e8 */
578+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
579+
%y:gpr = ADDI $x0, 1
580+
%z:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, %y, $v0, 1, 3 /* e8 */
581+
...
582+
---
583+
name: vmerge_vvm
584+
body: |
585+
bb.0:
586+
; CHECK-LABEL: name: vmerge_vvm
587+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
588+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
589+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
590+
%y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
591+
...
592+
---
593+
name: vmerge_vvm_incompatible_eew
594+
body: |
595+
bb.0:
596+
; CHECK-LABEL: name: vmerge_vvm_incompatible_eew
597+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
598+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
599+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
600+
%y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
601+
...
602+
---
603+
name: vmerge_vvm_incompatible_emul
604+
body: |
605+
bb.0:
606+
; CHECK-LABEL: name: vmerge_vvm_incompatible_emul
607+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
608+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
609+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
610+
%y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
611+
...
612+

0 commit comments

Comments
 (0)