Skip to content

Commit 68dbb77

Browse files
author
QingShan Zhang
committed
[NFC][Test] Add a test to verify the instruction form we got from isel
1 parent 08280c4 commit 68dbb77

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-linux-gnu < %s \
3+
; RUN: -stop-after=finalize-isel -verify-machineinstrs | FileCheck %s
4+
define i64 @load(i64* %p) {
5+
; CHECK-LABEL: name: load
6+
; CHECK: bb.0.entry:
7+
; CHECK: liveins: $x3
8+
; CHECK: [[COPY:%[0-9]+]]:g8rc_and_g8rc_nox0 = COPY $x3
9+
; CHECK: [[ADDI8_:%[0-9]+]]:g8rc = nuw ADDI8 [[COPY]], 24
10+
; CHECK: [[LDX:%[0-9]+]]:g8rc = LDX $zero8, killed [[ADDI8_]] :: (load 8 from %ir.arrayidx, align 2)
11+
; CHECK: $x3 = COPY [[LDX]]
12+
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
13+
entry:
14+
%arrayidx = getelementptr inbounds i64, i64* %p, i64 3
15+
%0 = load i64, i64* %arrayidx, align 2
16+
ret i64 %0
17+
}
18+
19+
define void @store(i64* %p) {
20+
; CHECK-LABEL: name: store
21+
; CHECK: bb.0.entry:
22+
; CHECK: liveins: $x3
23+
; CHECK: [[COPY:%[0-9]+]]:g8rc_and_g8rc_nox0 = COPY $x3
24+
; CHECK: [[ADDI8_:%[0-9]+]]:g8rc = nuw ADDI8 [[COPY]], 16
25+
; CHECK: [[LI8_:%[0-9]+]]:g8rc = LI8 9
26+
; CHECK: STDX killed [[LI8_]], $zero8, killed [[ADDI8_]] :: (store 8 into %ir.arrayidx, align 1)
27+
; CHECK: BLR8 implicit $lr8, implicit $rm
28+
entry:
29+
%arrayidx = getelementptr inbounds i64, i64* %p, i64 2
30+
store i64 9, i64* %arrayidx, align 1
31+
ret void
32+
}
33+
34+
define void @store_aligned(i64* %p) {
35+
; CHECK-LABEL: name: store_aligned
36+
; CHECK: bb.0.entry:
37+
; CHECK: liveins: $x3
38+
; CHECK: [[COPY:%[0-9]+]]:g8rc_and_g8rc_nox0 = COPY $x3
39+
; CHECK: [[LI8_:%[0-9]+]]:g8rc = LI8 9
40+
; CHECK: STD killed [[LI8_]], 16, [[COPY]] :: (store 8 into %ir.arrayidx, align 4)
41+
; CHECK: BLR8 implicit $lr8, implicit $rm
42+
entry:
43+
%arrayidx = getelementptr inbounds i64, i64* %p, i64 2
44+
store i64 9, i64* %arrayidx, align 4
45+
ret void
46+
}

0 commit comments

Comments
 (0)