Skip to content

Commit 797fb90

Browse files
committed
Add additional tests
1 parent 109901d commit 797fb90

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

llvm/test/Transforms/ConstantHoisting/RISCV/immediates.ll

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,3 +221,54 @@ define void @test20(ptr %p1, ptr %p2) {
221221
store i32 15111112, ptr %p2, align 4
222222
ret void
223223
}
224+
225+
define void @test21(ptr %p1, ptr %p2) {
226+
; CHECK-LABEL: define void @test21(
227+
; CHECK-SAME: ptr [[P1:%.*]], ptr [[P2:%.*]]) {
228+
; CHECK-NEXT: store i32 15111111, ptr [[P1]], align 1
229+
; CHECK-NEXT: store i32 15111112, ptr [[P2]], align 1
230+
; CHECK-NEXT: ret void
231+
;
232+
store i32 15111111, ptr %p1, align 1
233+
store i32 15111112, ptr %p2, align 1
234+
ret void
235+
}
236+
237+
; 0 immediates shouldn't be hoisted.
238+
define void @test22(ptr %p1, ptr %p2) {
239+
; CHECK-LABEL: define void @test22(
240+
; CHECK-SAME: ptr [[P1:%.*]], ptr [[P2:%.*]]) {
241+
; CHECK-NEXT: store i128 0, ptr [[P1]], align 8
242+
; CHECK-NEXT: store i128 -1, ptr [[P2]], align 8
243+
; CHECK-NEXT: ret void
244+
;
245+
store i64 0, ptr %p1, align 8
246+
store i64 -1, ptr %p2, align 8
247+
ret void
248+
}
249+
250+
; 0 immediates shouldn't be hoisted.
251+
define void @test23(ptr %p1, ptr %p2) {
252+
; CHECK-LABEL: define void @test23(
253+
; CHECK-SAME: ptr [[P1:%.*]], ptr [[P2:%.*]]) {
254+
; CHECK-NEXT: store i127 0, ptr [[P1]], align 8
255+
; CHECK-NEXT: store i127 -1, ptr [[P2]], align 8
256+
; CHECK-NEXT: ret void
257+
;
258+
store i127 0, ptr %p1, align 8
259+
store i127 -1, ptr %p2, align 8
260+
ret void
261+
}
262+
263+
; Hoisting doesn't happen for types that aren't legal.
264+
define void @test24(ptr %p1, ptr %p2) {
265+
; CHECK-LABEL: define void @test24(
266+
; CHECK-SAME: ptr [[P1:%.*]], ptr [[P2:%.*]]) {
267+
; CHECK-NEXT: store i128 15111111, ptr [[P1]], align 4
268+
; CHECK-NEXT: store i128 15111112, ptr [[P2]], align 4
269+
; CHECK-NEXT: ret void
270+
;
271+
store i128 15111111, ptr %p1, align 4
272+
store i128 15111112, ptr %p2, align 4
273+
ret void
274+
}

0 commit comments

Comments
 (0)