Skip to content

Commit 62441b9

Browse files
committed
[RISCV][GISel] Add instruction selection mir test for f32/f64 fp load/store. NFC
We had a regbank-select test but not an instruction selection test.
1 parent 47cc9db commit 62441b9

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=instruction-select %s -o - \
3+
# RUN: | FileCheck %s
4+
# RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=instruction-select %s -o - \
5+
# RUN: | FileCheck %s
6+
7+
---
8+
name: fp_store_f32
9+
legalized: true
10+
regBankSelected: true
11+
selected: false
12+
tracksRegLiveness: true
13+
body: |
14+
bb.0:
15+
liveins: $x10, $f10_f
16+
17+
; CHECK-LABEL: name: fp_store_f32
18+
; CHECK: liveins: $x10, $f10_f
19+
; CHECK-NEXT: {{ $}}
20+
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
21+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f10_f
22+
; CHECK-NEXT: FSW [[COPY1]], [[COPY]], 0 :: (store (s32))
23+
; CHECK-NEXT: PseudoRET
24+
%0:gprb(p0) = COPY $x10
25+
%1:fprb(s32) = COPY $f10_f
26+
G_STORE %1(s32), %0(p0) :: (store (s32))
27+
PseudoRET
28+
29+
...
30+
---
31+
name: fp_store_f64
32+
legalized: true
33+
regBankSelected: true
34+
tracksRegLiveness: true
35+
body: |
36+
bb.0:
37+
liveins: $x10, $f10_d
38+
39+
; CHECK-LABEL: name: fp_store_f64
40+
; CHECK: liveins: $x10, $f10_d
41+
; CHECK-NEXT: {{ $}}
42+
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
43+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f10_d
44+
; CHECK-NEXT: FSD [[COPY1]], [[COPY]], 0 :: (store (s64))
45+
; CHECK-NEXT: PseudoRET
46+
%0:gprb(p0) = COPY $x10
47+
%1:fprb(s64) = COPY $f10_d
48+
G_STORE %1(s64), %0(p0) :: (store (s64))
49+
PseudoRET
50+
51+
...
52+
---
53+
name: fp_load_f32
54+
legalized: true
55+
regBankSelected: true
56+
tracksRegLiveness: true
57+
body: |
58+
bb.0:
59+
liveins: $x10
60+
61+
; CHECK-LABEL: name: fp_load_f32
62+
; CHECK: liveins: $x10
63+
; CHECK-NEXT: {{ $}}
64+
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
65+
; CHECK-NEXT: [[FLW:%[0-9]+]]:fpr32 = FLW [[COPY]], 0 :: (load (s32))
66+
; CHECK-NEXT: $f10_f = COPY [[FLW]]
67+
; CHECK-NEXT: PseudoRET implicit $f10_f
68+
%0:gprb(p0) = COPY $x10
69+
%1:fprb(s32) = G_LOAD %0(p0) :: (load (s32))
70+
$f10_f = COPY %1(s32)
71+
PseudoRET implicit $f10_f
72+
73+
...
74+
---
75+
name: fp_load_f64
76+
legalized: true
77+
regBankSelected: true
78+
tracksRegLiveness: true
79+
body: |
80+
bb.0:
81+
liveins: $x10
82+
83+
; CHECK-LABEL: name: fp_load_f64
84+
; CHECK: liveins: $x10
85+
; CHECK-NEXT: {{ $}}
86+
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
87+
; CHECK-NEXT: [[FLD:%[0-9]+]]:fpr64 = FLD [[COPY]], 0 :: (load (s64))
88+
; CHECK-NEXT: $f10_d = COPY [[FLD]]
89+
; CHECK-NEXT: PseudoRET implicit $f10_d
90+
%0:gprb(p0) = COPY $x10
91+
%1:fprb(s64) = G_LOAD %0(p0) :: (load (s64))
92+
$f10_d = COPY %1(s64)
93+
PseudoRET implicit $f10_d
94+
95+
...

0 commit comments

Comments
 (0)