Skip to content

Commit ffb96b8

Browse files
fixup! test vmerge instructions
1 parent d788a48 commit ffb96b8

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

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

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -712,3 +712,99 @@ body: |
712712
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
713713
%y:vr = PseudoVMSEQ_VV_MF2 $noreg, %x, 1, 3 /* e8 */
714714
...
715+
---
716+
name: vmerge_vim
717+
body: |
718+
bb.0:
719+
; CHECK-LABEL: name: vmerge_vim
720+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
721+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
722+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
723+
%y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
724+
...
725+
---
726+
name: vmerge_vim_incompatible_eew
727+
body: |
728+
bb.0:
729+
; CHECK-LABEL: name: vmerge_vim_incompatible_eew
730+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
731+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
732+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
733+
%y:vrnov0 = PseudoVMERGE_VIM_M1 $noreg, %x, 9, $v0, 1, 3 /* e8 */
734+
...
735+
---
736+
name: vmerge_vim_incompatible_emul
737+
body: |
738+
bb.0:
739+
; CHECK-LABEL: name: vmerge_vim_incompatible_emul
740+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
741+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */
742+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
743+
%y:vrnov0 = PseudoVMERGE_VIM_MF2 $noreg, %x, 9, $v0, 1, 3 /* e8 */
744+
...
745+
---
746+
name: vmerge_vxm
747+
body: |
748+
bb.0:
749+
; CHECK-LABEL: name: vmerge_vxm
750+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
751+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
752+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
753+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
754+
%y:gpr = ADDI $x0, 1
755+
%z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
756+
...
757+
---
758+
name: vmerge_vxm_incompatible_eew
759+
body: |
760+
bb.0:
761+
; CHECK-LABEL: name: vmerge_vxm_incompatible_eew
762+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
763+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
764+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
765+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
766+
%y:gpr = ADDI $x0, 1
767+
%z:vrnov0 = PseudoVMERGE_VXM_M1 $noreg, %x, %y, $v0, 1, 3 /* e8 */
768+
...
769+
---
770+
name: vmerge_vxm_incompatible_emul
771+
body: |
772+
bb.0:
773+
; CHECK-LABEL: name: vmerge_vxm_incompatible_emul
774+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
775+
; CHECK-NEXT: %y:gpr = ADDI $x0, 1
776+
; CHECK-NEXT: %z:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, %y, $v0, 1, 3 /* e8 */
777+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
778+
%y:gpr = ADDI $x0, 1
779+
%z:vrnov0 = PseudoVMERGE_VXM_MF2 $noreg, %x, %y, $v0, 1, 3 /* e8 */
780+
...
781+
---
782+
name: vmerge_vvm
783+
body: |
784+
bb.0:
785+
; CHECK-LABEL: name: vmerge_vvm
786+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
787+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
788+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
789+
%y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
790+
...
791+
---
792+
name: vmerge_vvm_incompatible_eew
793+
body: |
794+
bb.0:
795+
; CHECK-LABEL: name: vmerge_vvm_incompatible_eew
796+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
797+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
798+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
799+
%y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
800+
...
801+
---
802+
name: vmerge_vvm_incompatible_emul
803+
body: |
804+
bb.0:
805+
; CHECK-LABEL: name: vmerge_vvm_incompatible_emul
806+
; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
807+
; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
808+
%x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
809+
%y:vrnov0 = PseudoVMERGE_VVM_MF2 $noreg, $noreg, %x, $v0, 1, 3 /* e8 */
810+
...

0 commit comments

Comments
 (0)