Skip to content

Commit 2862d17

Browse files
committed
[RISCV][GISel] Add test case for FP load/store legalization. NFC
1 parent 6930c3a commit 2862d17

File tree

1 file changed

+82
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)