Skip to content

Commit bd72f7b

Browse files
committed
[RISCV] Add test case for exact vscale miscompile in llvm#90559. NFC
1 parent fbe4d99 commit bd72f7b

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2+
; RUN: llc < %s -mtriple=riscv64 -mattr=+v | FileCheck %s
3+
4+
; FIXME: The i32 load and store pair isn't dead and shouldn't be omitted.
5+
define void @f(ptr %p) vscale_range(2,2) {
6+
; CHECK-LABEL: f:
7+
; CHECK: # %bb.0:
8+
; CHECK-NEXT: vsetvli a1, zero, e8, m4, ta, ma
9+
; CHECK-NEXT: vmv.v.i v8, 0
10+
; CHECK-NEXT: vs4r.v v8, (a0)
11+
; CHECK-NEXT: addi a1, a0, 80
12+
; CHECK-NEXT: vsetivli zero, 16, e8, m1, ta, ma
13+
; CHECK-NEXT: vmv.v.i v8, 0
14+
; CHECK-NEXT: vs1r.v v8, (a1)
15+
; CHECK-NEXT: addi a0, a0, 64
16+
; CHECK-NEXT: vs1r.v v8, (a0)
17+
; CHECK-NEXT: ret
18+
%q = getelementptr inbounds i8, ptr %p, i64 84
19+
%x = load i32, ptr %q
20+
call void @llvm.memset.p0.i64(ptr %p, i8 0, i64 96, i1 false)
21+
store i32 %x, ptr %q
22+
ret void
23+
}

0 commit comments

Comments
 (0)