@@ -53,22 +53,30 @@ define void @prefetch_inst_read(ptr noundef %ptr) nounwind {
5353define void @prefetch_frameindex_test_neg () nounwind {
5454; RV32XMIPSPREFETCH-LABEL: prefetch_frameindex_test_neg:
5555; RV32XMIPSPREFETCH: # %bb.0:
56- ; RV32XMIPSPREFETCH-NEXT: addi sp, sp, -512
57- ; RV32XMIPSPREFETCH-NEXT: addi a0, sp, -32
56+ ; RV32XMIPSPREFETCH-NEXT: lui a0, 1
57+ ; RV32XMIPSPREFETCH-NEXT: addi a0, a0, 16
58+ ; RV32XMIPSPREFETCH-NEXT: sub sp, sp, a0
59+ ; RV32XMIPSPREFETCH-NEXT: addi a0, sp, 524
5860; RV32XMIPSPREFETCH-NEXT: mips.pref 8, 0(a0)
59- ; RV32XMIPSPREFETCH-NEXT: addi sp, sp, 512
61+ ; RV32XMIPSPREFETCH-NEXT: lui a0, 1
62+ ; RV32XMIPSPREFETCH-NEXT: addi a0, a0, 16
63+ ; RV32XMIPSPREFETCH-NEXT: add sp, sp, a0
6064; RV32XMIPSPREFETCH-NEXT: ret
6165;
6266; RV64XMIPSPREFETCH-LABEL: prefetch_frameindex_test_neg:
6367; RV64XMIPSPREFETCH: # %bb.0:
64- ; RV64XMIPSPREFETCH-NEXT: addi sp, sp, -512
65- ; RV64XMIPSPREFETCH-NEXT: addi a0, sp, -32
68+ ; RV64XMIPSPREFETCH-NEXT: lui a0, 1
69+ ; RV64XMIPSPREFETCH-NEXT: addi a0, a0, 16
70+ ; RV64XMIPSPREFETCH-NEXT: sub sp, sp, a0
71+ ; RV64XMIPSPREFETCH-NEXT: addi a0, sp, 524
6672; RV64XMIPSPREFETCH-NEXT: mips.pref 8, 0(a0)
67- ; RV64XMIPSPREFETCH-NEXT: addi sp, sp, 512
73+ ; RV64XMIPSPREFETCH-NEXT: lui a0, 1
74+ ; RV64XMIPSPREFETCH-NEXT: addi a0, a0, 16
75+ ; RV64XMIPSPREFETCH-NEXT: add sp, sp, a0
6876; RV64XMIPSPREFETCH-NEXT: ret
69- %data = alloca [128 x i32 ], align 4
77+ %data = alloca [1024 x i32 ], align 4
7078 %base = bitcast ptr %data to ptr
71- %ptr = getelementptr [128 x i32 ], ptr %base , i32 0 , i32 - 8
79+ %ptr = getelementptr [127 x i32 ], ptr %base , i32 0 , i32 127
7280 call void @llvm.prefetch (ptr %ptr , i32 0 , i32 0 , i32 1 )
7381 ret void
7482}
@@ -87,7 +95,7 @@ define void @prefetch_frameindex_test() nounwind {
8795; RV64XMIPSPREFETCH-NEXT: mips.pref 8, 32(sp)
8896; RV64XMIPSPREFETCH-NEXT: addi sp, sp, 512
8997; RV64XMIPSPREFETCH-NEXT: ret
90- %data = alloca [128 x i32 ], align 4
98+ %data = alloca [128 x i32 ], align 4
9199 %base = bitcast ptr %data to ptr
92100 %ptr = getelementptr [128 x i32 ], ptr %base , i32 0 , i32 8
93101 call void @llvm.prefetch (ptr %ptr , i32 0 , i32 0 , i32 1 )
0 commit comments