Skip to content

Commit a2cb208

Browse files
committed
[RISCV] Fix a typo in a deinterleave test
This was supposed to test a deinterleave Factor=4, Offset=1, but had an off by one in the shuffle mask.
1 parent 897dbde commit a2cb208

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,24 +96,25 @@ define void @deinterleave4_8_i8(ptr %in, ptr %out) {
9696
; CHECK: # %bb.0: # %entry
9797
; CHECK-NEXT: vsetivli zero, 16, e8, m1, ta, ma
9898
; CHECK-NEXT: vle8.v v8, (a0)
99-
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
100-
; CHECK-NEXT: vmv.v.i v9, -9
101-
; CHECK-NEXT: vid.v v10
102-
; CHECK-NEXT: li a0, 5
103-
; CHECK-NEXT: vmadd.vx v10, a0, v9
99+
; CHECK-NEXT: li a0, -1
100+
; CHECK-NEXT: vsetivli zero, 8, e8, m1, ta, ma
101+
; CHECK-NEXT: vslidedown.vi v9, v8, 8
102+
; CHECK-NEXT: vsetivli zero, 4, e8, mf2, ta, ma
103+
; CHECK-NEXT: vslidedown.vi v10, v9, 4
104+
; CHECK-NEXT: vsetivli zero, 4, e8, mf4, ta, ma
105+
; CHECK-NEXT: vwaddu.vv v11, v9, v10
106+
; CHECK-NEXT: vwmaccu.vx v11, a0, v10
104107
; CHECK-NEXT: li a0, 34
105108
; CHECK-NEXT: vmv.v.i v0, 12
106109
; CHECK-NEXT: vmv.s.x v9, a0
107-
; CHECK-NEXT: vcompress.vm v11, v8, v9
108-
; CHECK-NEXT: vsetivli zero, 8, e8, m1, ta, ma
109-
; CHECK-NEXT: vslidedown.vi v8, v8, 8
110-
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, mu
111-
; CHECK-NEXT: vrgather.vv v11, v8, v10, v0.t
112-
; CHECK-NEXT: vse8.v v11, (a1)
110+
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
111+
; CHECK-NEXT: vcompress.vm v10, v8, v9
112+
; CHECK-NEXT: vmerge.vvm v8, v10, v11, v0
113+
; CHECK-NEXT: vse8.v v8, (a1)
113114
; CHECK-NEXT: ret
114115
entry:
115116
%0 = load <16 x i8>, ptr %in, align 1
116-
%shuffle.i5 = shufflevector <16 x i8> %0, <16 x i8> poison, <8 x i32> <i32 1, i32 5, i32 9, i32 14, i32 undef, i32 undef, i32 undef, i32 undef>
117+
%shuffle.i5 = shufflevector <16 x i8> %0, <16 x i8> poison, <8 x i32> <i32 1, i32 5, i32 9, i32 13, i32 undef, i32 undef, i32 undef, i32 undef>
117118
store <8 x i8> %shuffle.i5, ptr %out, align 1
118119
ret void
119120
}

0 commit comments

Comments
 (0)