Skip to content

Commit b45b366

Browse files
committed
Precommit tests
1 parent d0278cf commit b45b366

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,73 @@ body: |
6868
$v0 = COPY %mask
6969
%x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, %avl, 5
7070
...
71+
---
72+
name: same_mask
73+
body: |
74+
bb.0:
75+
liveins: $v8, $v9, $v0
76+
; CHECK-LABEL: name: same_mask
77+
; CHECK: liveins: $v8, $v9, $v0
78+
; CHECK-NEXT: {{ $}}
79+
; CHECK-NEXT: %pt:vrnov0 = COPY $v8
80+
; CHECK-NEXT: %false:vrnov0 = COPY $v9
81+
; CHECK-NEXT: %mask:vr = COPY $v0
82+
; CHECK-NEXT: $v0 = COPY %mask
83+
; CHECK-NEXT: %true:vrnov0 = PseudoVADD_VV_M1_MASK %false, $noreg, $noreg, $v0, 4, 5 /* e32 */, 0 /* tu, mu */
84+
; CHECK-NEXT: $v0 = COPY %mask
85+
; CHECK-NEXT: %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */
86+
%pt:vrnov0 = COPY $v8
87+
%false:vrnov0 = COPY $v9
88+
%mask:vr = COPY $v0
89+
$v0 = COPY %mask
90+
%true:vrnov0 = PseudoVADD_VV_M1_MASK %false, $noreg, $noreg, $v0, 4, 5 /* e32 */, 0 /* tu, mu */
91+
$v0 = COPY %mask
92+
%x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */
93+
...
94+
---
95+
# Shouldn't be converted because false operands are different
96+
name: same_mask_different_false
97+
body: |
98+
bb.0:
99+
liveins: $v8, $v9, $v0
100+
; CHECK-LABEL: name: same_mask_different_false
101+
; CHECK: liveins: $v8, $v9, $v0
102+
; CHECK-NEXT: {{ $}}
103+
; CHECK-NEXT: %pt:vrnov0 = COPY $v8
104+
; CHECK-NEXT: %false:vrnov0 = COPY $v9
105+
; CHECK-NEXT: %mask:vr = COPY $v0
106+
; CHECK-NEXT: $v0 = COPY %mask
107+
; CHECK-NEXT: %true:vrnov0 = PseudoVADD_VV_M1_MASK %pt, $noreg, $noreg, $v0, 4, 5 /* e32 */, 0 /* tu, mu */
108+
; CHECK-NEXT: $v0 = COPY %mask
109+
; CHECK-NEXT: %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */
110+
%pt:vrnov0 = COPY $v8
111+
%false:vrnov0 = COPY $v9
112+
%mask:vr = COPY $v0
113+
$v0 = COPY %mask
114+
%true:vrnov0 = PseudoVADD_VV_M1_MASK %pt, $noreg, $noreg, $v0, 4, 5 /* e32 */, 0 /* tu, mu */
115+
$v0 = COPY %mask
116+
%x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */
117+
...
118+
---
119+
# Shouldn't be converted because EEWs are different
120+
name: same_mask_different_eew
121+
body: |
122+
bb.0:
123+
liveins: $v8, $v9, $v0
124+
; CHECK-LABEL: name: same_mask_different_eew
125+
; CHECK: liveins: $v8, $v9, $v0
126+
; CHECK-NEXT: {{ $}}
127+
; CHECK-NEXT: %pt:vrnov0 = COPY $v8
128+
; CHECK-NEXT: %false:vrnov0 = COPY $v9
129+
; CHECK-NEXT: %mask:vr = COPY $v0
130+
; CHECK-NEXT: $v0 = COPY %mask
131+
; CHECK-NEXT: %true:vrnov0 = PseudoVADD_VV_M1_MASK %false, $noreg, $noreg, $v0, 4, 4 /* e16 */, 0 /* tu, mu */
132+
; CHECK-NEXT: $v0 = COPY %mask
133+
; CHECK-NEXT: %x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */
134+
%pt:vrnov0 = COPY $v8
135+
%false:vrnov0 = COPY $v9
136+
%mask:vr = COPY $v0
137+
$v0 = COPY %mask
138+
%true:vrnov0 = PseudoVADD_VV_M1_MASK %false, $noreg, $noreg, $v0, 4, 4 /* e16 */, 0 /* tu, mu */
139+
$v0 = COPY %mask
140+
%x:vrnov0 = PseudoVMERGE_VVM_M1 %pt, %false, %true, $v0, 8, 5 /* e32 */

0 commit comments

Comments
 (0)