xref: /llvm-project/llvm/test/CodeGen/RISCV/make-compressible.mir (revision 7e97ae35ae2d1c38d149e670139a538bdba86e93)
129a5a7c6SLewis Revill# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
229a5a7c6SLewis Revill# RUN: llc -o - %s -mtriple=riscv32 -mattr=+c,+f,+d -simplify-mir \
3*7e97ae35SYeting Kuo# RUN:   -run-pass=riscv-make-compressible | FileCheck --check-prefixes=RV32,RV32C %s
429a5a7c6SLewis Revill# RUN: llc -o - %s -mtriple=riscv64 -mattr=+c,+f,+d -simplify-mir \
5*7e97ae35SYeting Kuo# RUN:   -run-pass=riscv-make-compressible | FileCheck --check-prefixes=RV64,RV64C %s
6*7e97ae35SYeting Kuo# RUN: llc -o - %s -mtriple=riscv32 -mattr=+d,+zcf -simplify-mir \
7*7e97ae35SYeting Kuo# RUN:   -run-pass=riscv-make-compressible | FileCheck --check-prefixes=RV32,RV32ZCF %s
8*7e97ae35SYeting Kuo# RUN: llc -o - %s -mtriple=riscv32 -mattr=+d,+zca -simplify-mir \
9*7e97ae35SYeting Kuo# RUN:   -run-pass=riscv-make-compressible | FileCheck --check-prefixes=RV32,RV32ZCA %s
10*7e97ae35SYeting Kuo# RUN: llc -o - %s -mtriple=riscv64 -mattr=+d,+zca -simplify-mir \
11*7e97ae35SYeting Kuo# RUN:   -run-pass=riscv-make-compressible | FileCheck --check-prefixes=RV64,RV64ZCA %s
1229a5a7c6SLewis Revill--- |
1329a5a7c6SLewis Revill
14ff9af4c4SNikita Popov  define void @store_common_value(ptr %a, ptr %b, ptr %c) #0 {
1529a5a7c6SLewis Revill  entry:
16ff9af4c4SNikita Popov    store i32 0, ptr %a, align 4
17ff9af4c4SNikita Popov    store i32 0, ptr %b, align 4
18ff9af4c4SNikita Popov    store i32 0, ptr %c, align 4
1929a5a7c6SLewis Revill    ret void
2029a5a7c6SLewis Revill  }
2129a5a7c6SLewis Revill
22ff9af4c4SNikita Popov  define void @store_common_value_float(ptr %a, ptr %b, ptr %c, float %d, float %e, float %f, float %g, float %h, float %i, float %j) #0 {
2329a5a7c6SLewis Revill  entry:
24ff9af4c4SNikita Popov    store float %j, ptr %a, align 4
25ff9af4c4SNikita Popov    store float %j, ptr %b, align 4
26ff9af4c4SNikita Popov    store float %j, ptr %c, align 4
2729a5a7c6SLewis Revill    ret void
2829a5a7c6SLewis Revill  }
2929a5a7c6SLewis Revill
30ff9af4c4SNikita Popov  define void @store_common_value_double(ptr %a, ptr %b, ptr %c, double %d, double %e, double %f, double %g, double %h, double %i, double %j) #0 {
3129a5a7c6SLewis Revill  entry:
32ff9af4c4SNikita Popov    store double %j, ptr %a, align 8
33ff9af4c4SNikita Popov    store double %j, ptr %b, align 8
34ff9af4c4SNikita Popov    store double %j, ptr %c, align 8
3529a5a7c6SLewis Revill    ret void
3629a5a7c6SLewis Revill  }
3729a5a7c6SLewis Revill
38ff9af4c4SNikita Popov  define void @store_common_ptr(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %p) #0 {
3929a5a7c6SLewis Revill  entry:
40ff9af4c4SNikita Popov    store volatile i32 1, ptr %p, align 4
41ff9af4c4SNikita Popov    store volatile i32 3, ptr %p, align 4
42ff9af4c4SNikita Popov    store volatile i32 5, ptr %p, align 4
4329a5a7c6SLewis Revill    ret void
4429a5a7c6SLewis Revill  }
4529a5a7c6SLewis Revill
46ff9af4c4SNikita Popov  define void @store_common_ptr_self(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %p) #0 {
4729a5a7c6SLewis Revill  entry:
48ff9af4c4SNikita Popov    %q = bitcast ptr %p to ptr
49ff9af4c4SNikita Popov    store volatile i32 1, ptr %p, align 4
50ff9af4c4SNikita Popov    store volatile i32 3, ptr %p, align 4
51ff9af4c4SNikita Popov    store volatile ptr %p, ptr %q, align 4
5229a5a7c6SLewis Revill    ret void
5329a5a7c6SLewis Revill  }
5429a5a7c6SLewis Revill
55ff9af4c4SNikita Popov  define void @store_common_ptr_float(float %a, float %b, float %c, i32 %d, i32 %e, i32 %f, i32 %g, i32 %h, i32 %i, ptr %p) #0 {
5629a5a7c6SLewis Revill  entry:
57ff9af4c4SNikita Popov    store volatile float %a, ptr %p, align 4
58ff9af4c4SNikita Popov    store volatile float %b, ptr %p, align 4
59ff9af4c4SNikita Popov    store volatile float %c, ptr %p, align 4
6029a5a7c6SLewis Revill    ret void
6129a5a7c6SLewis Revill  }
6229a5a7c6SLewis Revill
63ff9af4c4SNikita Popov  define void @store_common_ptr_double(double %a, double %b, double %c, i32 %d, i32 %e, i32 %f, i32 %g, i32 %h, i32 %i, ptr %p) #0 {
6429a5a7c6SLewis Revill  entry:
65ff9af4c4SNikita Popov    store volatile double %a, ptr %p, align 8
66ff9af4c4SNikita Popov    store volatile double %b, ptr %p, align 8
67ff9af4c4SNikita Popov    store volatile double %c, ptr %p, align 8
6829a5a7c6SLewis Revill    ret void
6929a5a7c6SLewis Revill  }
7029a5a7c6SLewis Revill
71ff9af4c4SNikita Popov  define void @load_common_ptr(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %p) #0 {
7229a5a7c6SLewis Revill  entry:
73ff9af4c4SNikita Popov    %g = load volatile i32, ptr %p, align 4
74ff9af4c4SNikita Popov    %h = load volatile i32, ptr %p, align 4
75ff9af4c4SNikita Popov    %i = load volatile i32, ptr %p, align 4
7629a5a7c6SLewis Revill    ret void
7729a5a7c6SLewis Revill  }
7829a5a7c6SLewis Revill
79ff9af4c4SNikita Popov  define void @load_common_ptr_float(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %g) #0 {
8029a5a7c6SLewis Revill  entry:
81ff9af4c4SNikita Popov    %0 = load float, ptr %g, align 4
82ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds float, ptr %g, i32 1
83ff9af4c4SNikita Popov    %1 = load float, ptr %arrayidx1, align 4
84ff9af4c4SNikita Popov    %arrayidx2 = getelementptr inbounds float, ptr %g, i32 2
85ff9af4c4SNikita Popov    %2 = load float, ptr %arrayidx2, align 4
8629a5a7c6SLewis Revill    tail call void @load_common_ptr_float_1(float %0, float %1, float %2)
8729a5a7c6SLewis Revill    ret void
8829a5a7c6SLewis Revill  }
8929a5a7c6SLewis Revill
9029a5a7c6SLewis Revill  declare void @load_common_ptr_float_1(float, float, float) #0
9129a5a7c6SLewis Revill
92ff9af4c4SNikita Popov  define void @load_common_ptr_double(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %g) #0 {
9329a5a7c6SLewis Revill  entry:
94ff9af4c4SNikita Popov    %0 = load double, ptr %g, align 8
95ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds double, ptr %g, i32 1
96ff9af4c4SNikita Popov    %1 = load double, ptr %arrayidx1, align 8
97ff9af4c4SNikita Popov    %arrayidx2 = getelementptr inbounds double, ptr %g, i32 2
98ff9af4c4SNikita Popov    %2 = load double, ptr %arrayidx2, align 8
9929a5a7c6SLewis Revill    tail call void @load_common_ptr_double_1(double %0, double %1, double %2)
10029a5a7c6SLewis Revill    ret void
10129a5a7c6SLewis Revill  }
10229a5a7c6SLewis Revill
10329a5a7c6SLewis Revill  declare void @load_common_ptr_double_1(double, double, double) #0
10429a5a7c6SLewis Revill
105ff9af4c4SNikita Popov  define void @store_large_offset(ptr %p) #0 {
10629a5a7c6SLewis Revill  entry:
107ff9af4c4SNikita Popov    %0 = getelementptr inbounds i32, ptr %p, i32 100
108ff9af4c4SNikita Popov    store volatile i32 1, ptr %0, align 4
109ff9af4c4SNikita Popov    %1 = getelementptr inbounds i32, ptr %p, i32 101
110ff9af4c4SNikita Popov    store volatile i32 3, ptr %1, align 4
111ff9af4c4SNikita Popov    %2 = getelementptr inbounds i32, ptr %p, i32 102
112ff9af4c4SNikita Popov    store volatile i32 5, ptr %2, align 4
113ff9af4c4SNikita Popov    %3 = getelementptr inbounds i32, ptr %p, i32 103
114ff9af4c4SNikita Popov    store volatile i32 7, ptr %3, align 4
11529a5a7c6SLewis Revill    ret void
11629a5a7c6SLewis Revill  }
11729a5a7c6SLewis Revill
118ff9af4c4SNikita Popov  define void @store_large_offset_float(ptr %p, float %a, float %b, float %c, float %d) #0 {
11929a5a7c6SLewis Revill  entry:
120ff9af4c4SNikita Popov    %0 = getelementptr inbounds float, ptr %p, i32 100
121ff9af4c4SNikita Popov    store volatile float %a, ptr %0, align 4
122ff9af4c4SNikita Popov    %1 = getelementptr inbounds float, ptr %p, i32 101
123ff9af4c4SNikita Popov    store volatile float %b, ptr %1, align 4
124ff9af4c4SNikita Popov    %2 = getelementptr inbounds float, ptr %p, i32 102
125ff9af4c4SNikita Popov    store volatile float %c, ptr %2, align 4
126ff9af4c4SNikita Popov    %3 = getelementptr inbounds float, ptr %p, i32 103
127ff9af4c4SNikita Popov    store volatile float %d, ptr %3, align 4
12829a5a7c6SLewis Revill    ret void
12929a5a7c6SLewis Revill  }
13029a5a7c6SLewis Revill
131ff9af4c4SNikita Popov  define void @store_large_offset_double(ptr %p, double %a, double %b, double %c, double %d) #0 {
13229a5a7c6SLewis Revill  entry:
133ff9af4c4SNikita Popov    %0 = getelementptr inbounds double, ptr %p, i32 100
134ff9af4c4SNikita Popov    store volatile double %a, ptr %0, align 8
135ff9af4c4SNikita Popov    %1 = getelementptr inbounds double, ptr %p, i32 101
136ff9af4c4SNikita Popov    store volatile double %b, ptr %1, align 8
137ff9af4c4SNikita Popov    %2 = getelementptr inbounds double, ptr %p, i32 102
138ff9af4c4SNikita Popov    store volatile double %c, ptr %2, align 8
139ff9af4c4SNikita Popov    %3 = getelementptr inbounds double, ptr %p, i32 103
140ff9af4c4SNikita Popov    store volatile double %d, ptr %3, align 8
14129a5a7c6SLewis Revill    ret void
14229a5a7c6SLewis Revill  }
14329a5a7c6SLewis Revill
144ff9af4c4SNikita Popov  define void @load_large_offset(ptr %p) #0 {
14529a5a7c6SLewis Revill  entry:
146ff9af4c4SNikita Popov    %0 = getelementptr inbounds i32, ptr %p, i32 100
147ff9af4c4SNikita Popov    %a = load volatile i32, ptr %0, align 4
148ff9af4c4SNikita Popov    %1 = getelementptr inbounds i32, ptr %p, i32 101
149ff9af4c4SNikita Popov    %b = load volatile i32, ptr %1, align 4
150ff9af4c4SNikita Popov    %2 = getelementptr inbounds i32, ptr %p, i32 102
151ff9af4c4SNikita Popov    %c = load volatile i32, ptr %2, align 4
152ff9af4c4SNikita Popov    %3 = getelementptr inbounds i32, ptr %p, i32 103
153ff9af4c4SNikita Popov    %d = load volatile i32, ptr %3, align 4
15429a5a7c6SLewis Revill    ret void
15529a5a7c6SLewis Revill  }
15629a5a7c6SLewis Revill
157ff9af4c4SNikita Popov  define void @load_large_offset_float(ptr %p) #0 {
15829a5a7c6SLewis Revill  entry:
159ff9af4c4SNikita Popov    %arrayidx = getelementptr inbounds float, ptr %p, i32 100
160ff9af4c4SNikita Popov    %0 = load float, ptr %arrayidx, align 4
161ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds float, ptr %p, i32 101
162ff9af4c4SNikita Popov    %1 = load float, ptr %arrayidx1, align 4
163ff9af4c4SNikita Popov    %arrayidx2 = getelementptr inbounds float, ptr %p, i32 102
164ff9af4c4SNikita Popov    %2 = load float, ptr %arrayidx2, align 4
16529a5a7c6SLewis Revill    tail call void @load_large_offset_float_1(float %0, float %1, float %2)
16629a5a7c6SLewis Revill    ret void
16729a5a7c6SLewis Revill  }
16829a5a7c6SLewis Revill
16929a5a7c6SLewis Revill  declare void @load_large_offset_float_1(float, float, float) #0
17029a5a7c6SLewis Revill
171ff9af4c4SNikita Popov  define void @load_large_offset_double(ptr %p) #0 {
17229a5a7c6SLewis Revill  entry:
173ff9af4c4SNikita Popov    %arrayidx = getelementptr inbounds double, ptr %p, i32 100
174ff9af4c4SNikita Popov    %0 = load double, ptr %arrayidx, align 8
175ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds double, ptr %p, i32 101
176ff9af4c4SNikita Popov    %1 = load double, ptr %arrayidx1, align 8
177ff9af4c4SNikita Popov    %arrayidx2 = getelementptr inbounds double, ptr %p, i32 102
178ff9af4c4SNikita Popov    %2 = load double, ptr %arrayidx2, align 8
17929a5a7c6SLewis Revill    tail call void @load_large_offset_double_1(double %0, double %1, double %2)
18029a5a7c6SLewis Revill    ret void
18129a5a7c6SLewis Revill  }
18229a5a7c6SLewis Revill
18329a5a7c6SLewis Revill  declare void @load_large_offset_double_1(double, double, double) #0
18429a5a7c6SLewis Revill
185ff9af4c4SNikita Popov  define void @store_common_value_no_opt(ptr %a) #0 {
18629a5a7c6SLewis Revill  entry:
187ff9af4c4SNikita Popov    store i32 0, ptr %a, align 4
18829a5a7c6SLewis Revill    ret void
18929a5a7c6SLewis Revill  }
19029a5a7c6SLewis Revill
191ff9af4c4SNikita Popov  define void @store_common_value_float_no_opt(ptr %a, float %b, float %c, float %d, float %e, float %f, float %g, float %h) #0 {
19229a5a7c6SLewis Revill  entry:
193ff9af4c4SNikita Popov    store float %h, ptr %a, align 4
19429a5a7c6SLewis Revill    ret void
19529a5a7c6SLewis Revill  }
19629a5a7c6SLewis Revill
197ff9af4c4SNikita Popov  define void @store_common_value_double_no_opt(ptr %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h) #0 {
19829a5a7c6SLewis Revill  entry:
199ff9af4c4SNikita Popov    store double %h, ptr %a, align 8
20029a5a7c6SLewis Revill    ret void
20129a5a7c6SLewis Revill  }
20229a5a7c6SLewis Revill
203ff9af4c4SNikita Popov  define void @store_common_ptr_no_opt(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %p) #0 {
20429a5a7c6SLewis Revill  entry:
205ff9af4c4SNikita Popov    store volatile i32 1, ptr %p, align 4
20629a5a7c6SLewis Revill    ret void
20729a5a7c6SLewis Revill  }
20829a5a7c6SLewis Revill
209ff9af4c4SNikita Popov  define void @store_common_ptr_float_no_opt(float %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g, ptr %p) #0 {
21029a5a7c6SLewis Revill  entry:
211ff9af4c4SNikita Popov    store volatile float %a, ptr %p, align 4
21229a5a7c6SLewis Revill    ret void
21329a5a7c6SLewis Revill  }
21429a5a7c6SLewis Revill
215ff9af4c4SNikita Popov  define void @store_common_ptr_double_no_opt(double %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, i32 %g, ptr %p) #0 {
21629a5a7c6SLewis Revill  entry:
217ff9af4c4SNikita Popov    store volatile double %a, ptr %p, align 8
21829a5a7c6SLewis Revill    ret void
21929a5a7c6SLewis Revill  }
22029a5a7c6SLewis Revill
221ff9af4c4SNikita Popov  define void @load_common_ptr_no_opt(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %p) #0 {
22229a5a7c6SLewis Revill  entry:
223ff9af4c4SNikita Popov    %g = load volatile i32, ptr %p, align 4
22429a5a7c6SLewis Revill    ret void
22529a5a7c6SLewis Revill  }
22629a5a7c6SLewis Revill
227ff9af4c4SNikita Popov  define float @load_common_ptr_float_no_opt(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %g) #0 {
22829a5a7c6SLewis Revill  entry:
229ff9af4c4SNikita Popov    %0 = load float, ptr %g, align 4
23029a5a7c6SLewis Revill    ret float %0
23129a5a7c6SLewis Revill  }
23229a5a7c6SLewis Revill
233ff9af4c4SNikita Popov  define double @load_common_ptr_double_no_opt(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e, i32 %f, ptr %g) #0 {
23429a5a7c6SLewis Revill  entry:
235ff9af4c4SNikita Popov    %0 = load double, ptr %g, align 8
23629a5a7c6SLewis Revill    ret double %0
23729a5a7c6SLewis Revill  }
23829a5a7c6SLewis Revill
239ff9af4c4SNikita Popov  define void @store_large_offset_no_opt(ptr %p) #0 {
24029a5a7c6SLewis Revill  entry:
241ff9af4c4SNikita Popov    %0 = getelementptr inbounds i32, ptr %p, i32 100
242ff9af4c4SNikita Popov    store volatile i32 1, ptr %0, align 4
243ff9af4c4SNikita Popov    %1 = getelementptr inbounds i32, ptr %p, i32 101
244ff9af4c4SNikita Popov    store volatile i32 3, ptr %1, align 4
24529a5a7c6SLewis Revill    ret void
24629a5a7c6SLewis Revill  }
24729a5a7c6SLewis Revill
248ff9af4c4SNikita Popov  define void @store_large_offset_float_no_opt(ptr %p, float %a, float %b) #0 {
24929a5a7c6SLewis Revill  entry:
250ff9af4c4SNikita Popov    %0 = getelementptr inbounds float, ptr %p, i32 100
251ff9af4c4SNikita Popov    store volatile float %a, ptr %0, align 4
252ff9af4c4SNikita Popov    %1 = getelementptr inbounds float, ptr %p, i32 101
253ff9af4c4SNikita Popov    store volatile float %b, ptr %1, align 4
25429a5a7c6SLewis Revill    ret void
25529a5a7c6SLewis Revill  }
25629a5a7c6SLewis Revill
257ff9af4c4SNikita Popov  define void @store_large_offset_double_no_opt(ptr %p, double %a, double %b) #0 {
25829a5a7c6SLewis Revill  entry:
259ff9af4c4SNikita Popov    %0 = getelementptr inbounds double, ptr %p, i32 100
260ff9af4c4SNikita Popov    store volatile double %a, ptr %0, align 8
261ff9af4c4SNikita Popov    %1 = getelementptr inbounds double, ptr %p, i32 101
262ff9af4c4SNikita Popov    store volatile double %b, ptr %1, align 8
26329a5a7c6SLewis Revill    ret void
26429a5a7c6SLewis Revill  }
26529a5a7c6SLewis Revill
266ff9af4c4SNikita Popov  define void @load_large_offset_no_opt(ptr %p) #0 {
26729a5a7c6SLewis Revill  entry:
268ff9af4c4SNikita Popov    %0 = getelementptr inbounds i32, ptr %p, i32 100
269ff9af4c4SNikita Popov    %a = load volatile i32, ptr %0, align 4
270ff9af4c4SNikita Popov    %1 = getelementptr inbounds i32, ptr %p, i32 101
271ff9af4c4SNikita Popov    %b = load volatile i32, ptr %1, align 4
27229a5a7c6SLewis Revill    ret void
27329a5a7c6SLewis Revill  }
27429a5a7c6SLewis Revill
275ff9af4c4SNikita Popov  define { float, float } @load_large_offset_float_no_opt(ptr %p) #0 {
27629a5a7c6SLewis Revill  entry:
277ff9af4c4SNikita Popov    %arrayidx = getelementptr inbounds float, ptr %p, i32 100
278ff9af4c4SNikita Popov    %0 = load float, ptr %arrayidx, align 4
279ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds float, ptr %p, i32 101
280ff9af4c4SNikita Popov    %1 = load float, ptr %arrayidx1, align 4
28129a5a7c6SLewis Revill    %2 = insertvalue { float, float } undef, float %0, 0
28229a5a7c6SLewis Revill    %3 = insertvalue { float, float } %2, float %1, 1
28329a5a7c6SLewis Revill    ret { float, float } %3
28429a5a7c6SLewis Revill  }
28529a5a7c6SLewis Revill
286ff9af4c4SNikita Popov  define { double, double } @load_large_offset_double_no_opt(ptr %p) #0 {
28729a5a7c6SLewis Revill  entry:
288ff9af4c4SNikita Popov    %arrayidx = getelementptr inbounds double, ptr %p, i32 100
289ff9af4c4SNikita Popov    %0 = load double, ptr %arrayidx, align 8
290ff9af4c4SNikita Popov    %arrayidx1 = getelementptr inbounds double, ptr %p, i32 101
291ff9af4c4SNikita Popov    %1 = load double, ptr %arrayidx1, align 8
29229a5a7c6SLewis Revill    %2 = insertvalue { double, double } undef, double %0, 0
29329a5a7c6SLewis Revill    %3 = insertvalue { double, double } %2, double %1, 1
29429a5a7c6SLewis Revill    ret { double, double } %3
29529a5a7c6SLewis Revill  }
29629a5a7c6SLewis Revill
297*7e97ae35SYeting Kuo  attributes #0 = { minsize }
29829a5a7c6SLewis Revill
29929a5a7c6SLewis Revill...
30029a5a7c6SLewis Revill---
30129a5a7c6SLewis Revillname:            store_common_value
30229a5a7c6SLewis RevilltracksRegLiveness: true
30329a5a7c6SLewis Revillbody:             |
30429a5a7c6SLewis Revill  bb.0.entry:
30529a5a7c6SLewis Revill    liveins: $x10, $x11, $x12
30629a5a7c6SLewis Revill
30729a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_value
30829a5a7c6SLewis Revill    ; RV32: liveins: $x10, $x11, $x12
30929a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
31029a5a7c6SLewis Revill    ; RV32-NEXT: $x13 = ADDI $x0, 0
31129a5a7c6SLewis Revill    ; RV32-NEXT: SW $x13, killed renamable $x10, 0 :: (store (s32) into %ir.a)
31229a5a7c6SLewis Revill    ; RV32-NEXT: SW $x13, killed renamable $x11, 0 :: (store (s32) into %ir.b)
31329a5a7c6SLewis Revill    ; RV32-NEXT: SW $x13, killed renamable $x12, 0 :: (store (s32) into %ir.c)
31429a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
315*7e97ae35SYeting Kuo    ;
31629a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_value
31729a5a7c6SLewis Revill    ; RV64: liveins: $x10, $x11, $x12
31829a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
31929a5a7c6SLewis Revill    ; RV64-NEXT: $x13 = ADDI $x0, 0
32029a5a7c6SLewis Revill    ; RV64-NEXT: SW $x13, killed renamable $x10, 0 :: (store (s32) into %ir.a)
32129a5a7c6SLewis Revill    ; RV64-NEXT: SW $x13, killed renamable $x11, 0 :: (store (s32) into %ir.b)
32229a5a7c6SLewis Revill    ; RV64-NEXT: SW $x13, killed renamable $x12, 0 :: (store (s32) into %ir.c)
32329a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
32429a5a7c6SLewis Revill    SW $x0, killed renamable $x10, 0 :: (store (s32) into %ir.a)
32529a5a7c6SLewis Revill    SW $x0, killed renamable $x11, 0 :: (store (s32) into %ir.b)
32629a5a7c6SLewis Revill    SW $x0, killed renamable $x12, 0 :: (store (s32) into %ir.c)
32729a5a7c6SLewis Revill    PseudoRET
32829a5a7c6SLewis Revill
32929a5a7c6SLewis Revill...
33029a5a7c6SLewis Revill---
33129a5a7c6SLewis Revillname:            store_common_value_float
33229a5a7c6SLewis RevilltracksRegLiveness: true
33329a5a7c6SLewis Revillbody:             |
33429a5a7c6SLewis Revill  bb.0.entry:
33529a5a7c6SLewis Revill    liveins: $x10, $x11, $x12, $f16_f
33629a5a7c6SLewis Revill
337*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_common_value_float
338*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10, $x11, $x12, $f16_f
339*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
340*7e97ae35SYeting Kuo    ; RV32C-NEXT: $f15_f = FSGNJ_S $f16_f, $f16_f
341*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW $f15_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
342*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW $f15_f, killed renamable $x11, 0 :: (store (s32) into %ir.b)
343*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed $f15_f, killed renamable $x12, 0 :: (store (s32) into %ir.c)
344*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
345*7e97ae35SYeting Kuo    ;
34629a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_value_float
34729a5a7c6SLewis Revill    ; RV64: liveins: $x10, $x11, $x12, $f16_f
34829a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
34929a5a7c6SLewis Revill    ; RV64-NEXT: FSW renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
35029a5a7c6SLewis Revill    ; RV64-NEXT: FSW renamable $f16_f, killed renamable $x11, 0 :: (store (s32) into %ir.b)
35129a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f16_f, killed renamable $x12, 0 :: (store (s32) into %ir.c)
35229a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
353*7e97ae35SYeting Kuo    ;
354*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_common_value_float
355*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10, $x11, $x12, $f16_f
356*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
357*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: $f15_f = FSGNJ_S $f16_f, $f16_f
358*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW $f15_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
359*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW $f15_f, killed renamable $x11, 0 :: (store (s32) into %ir.b)
360*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed $f15_f, killed renamable $x12, 0 :: (store (s32) into %ir.c)
361*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
362*7e97ae35SYeting Kuo    ;
363*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_common_value_float
364*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10, $x11, $x12, $f16_f
365*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
366*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
367*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW renamable $f16_f, killed renamable $x11, 0 :: (store (s32) into %ir.b)
368*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f16_f, killed renamable $x12, 0 :: (store (s32) into %ir.c)
369*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
37029a5a7c6SLewis Revill    FSW renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
37129a5a7c6SLewis Revill    FSW renamable $f16_f, killed renamable $x11, 0 :: (store (s32) into %ir.b)
37229a5a7c6SLewis Revill    FSW killed renamable $f16_f, killed renamable $x12, 0 :: (store (s32) into %ir.c)
37329a5a7c6SLewis Revill    PseudoRET
37429a5a7c6SLewis Revill
37529a5a7c6SLewis Revill...
37629a5a7c6SLewis Revill---
37729a5a7c6SLewis Revillname:            store_common_value_double
37829a5a7c6SLewis RevilltracksRegLiveness: true
37929a5a7c6SLewis Revillbody:             |
38029a5a7c6SLewis Revill  bb.0.entry:
38129a5a7c6SLewis Revill    liveins: $x10, $x11, $x12, $f16_d
38229a5a7c6SLewis Revill
383*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_common_value_double
384*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10, $x11, $x12, $f16_d
385*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
386*7e97ae35SYeting Kuo    ; RV32C-NEXT: $f15_d = FSGNJ_D $f16_d, $f16_d
387*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD $f15_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
388*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD $f15_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
389*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed $f15_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
390*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
391*7e97ae35SYeting Kuo    ;
392*7e97ae35SYeting Kuo    ; RV64C-LABEL: name: store_common_value_double
393*7e97ae35SYeting Kuo    ; RV64C: liveins: $x10, $x11, $x12, $f16_d
394*7e97ae35SYeting Kuo    ; RV64C-NEXT: {{  $}}
395*7e97ae35SYeting Kuo    ; RV64C-NEXT: $f15_d = FSGNJ_D $f16_d, $f16_d
396*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD $f15_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
397*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD $f15_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
398*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed $f15_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
399*7e97ae35SYeting Kuo    ; RV64C-NEXT: PseudoRET
400*7e97ae35SYeting Kuo    ;
401*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_common_value_double
402*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10, $x11, $x12, $f16_d
403*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
404*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
405*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD renamable $f16_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
406*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f16_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
407*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
408*7e97ae35SYeting Kuo    ;
409*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_common_value_double
410*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10, $x11, $x12, $f16_d
411*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
412*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
413*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD renamable $f16_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
414*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f16_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
415*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
416*7e97ae35SYeting Kuo    ;
417*7e97ae35SYeting Kuo    ; RV64ZCA-LABEL: name: store_common_value_double
418*7e97ae35SYeting Kuo    ; RV64ZCA: liveins: $x10, $x11, $x12, $f16_d
419*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: {{  $}}
420*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
421*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD renamable $f16_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
422*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f16_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
423*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: PseudoRET
42429a5a7c6SLewis Revill    FSD renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
42529a5a7c6SLewis Revill    FSD renamable $f16_d, killed renamable $x11, 0 :: (store (s64) into %ir.b)
42629a5a7c6SLewis Revill    FSD killed renamable $f16_d, killed renamable $x12, 0 :: (store (s64) into %ir.c)
42729a5a7c6SLewis Revill    PseudoRET
42829a5a7c6SLewis Revill
42929a5a7c6SLewis Revill...
43029a5a7c6SLewis Revill---
43129a5a7c6SLewis Revillname:            store_common_ptr
43229a5a7c6SLewis RevilltracksRegLiveness: true
43329a5a7c6SLewis Revillbody:             |
43429a5a7c6SLewis Revill  bb.0.entry:
43529a5a7c6SLewis Revill    liveins: $x16
43629a5a7c6SLewis Revill
43729a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_ptr
43829a5a7c6SLewis Revill    ; RV32: liveins: $x16
43929a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
44029a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 1
44129a5a7c6SLewis Revill    ; RV32-NEXT: $x11 = ADDI $x16, 0
44229a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
44329a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 3
44429a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
44529a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 5
44629a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, killed $x11, 0 :: (volatile store (s32) into %ir.p)
44729a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
448*7e97ae35SYeting Kuo    ;
44929a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr
45029a5a7c6SLewis Revill    ; RV64: liveins: $x16
45129a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
45229a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 1
45329a5a7c6SLewis Revill    ; RV64-NEXT: $x11 = ADDI $x16, 0
45429a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
45529a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 3
45629a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
45729a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 5
45829a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, killed $x11, 0 :: (volatile store (s32) into %ir.p)
45929a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
46029a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 1
46129a5a7c6SLewis Revill    SW killed renamable $x10, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
46229a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 3
46329a5a7c6SLewis Revill    SW killed renamable $x10, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
46429a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 5
46529a5a7c6SLewis Revill    SW killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
46629a5a7c6SLewis Revill    PseudoRET
46729a5a7c6SLewis Revill
46829a5a7c6SLewis Revill...
46929a5a7c6SLewis Revill---
47029a5a7c6SLewis Revillname:            store_common_ptr_self
47129a5a7c6SLewis RevilltracksRegLiveness: true
47229a5a7c6SLewis Revillbody:             |
47329a5a7c6SLewis Revill  bb.0.entry:
47429a5a7c6SLewis Revill    liveins: $x16
47529a5a7c6SLewis Revill
47629a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_ptr_self
47729a5a7c6SLewis Revill    ; RV32: liveins: $x16
47829a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
47929a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 1
48029a5a7c6SLewis Revill    ; RV32-NEXT: $x11 = ADDI $x16, 0
48129a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
48229a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 3
48329a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
48429a5a7c6SLewis Revill    ; RV32-NEXT: SW killed $x11, $x11, 0 :: (volatile store (s32) into %ir.q)
48529a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
486*7e97ae35SYeting Kuo    ;
48729a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr_self
48829a5a7c6SLewis Revill    ; RV64: liveins: $x16
48929a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
49029a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 1
49129a5a7c6SLewis Revill    ; RV64-NEXT: $x11 = ADDI $x16, 0
49229a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
49329a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 3
49429a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, $x11, 0 :: (volatile store (s32) into %ir.p)
49529a5a7c6SLewis Revill    ; RV64-NEXT: SW killed $x11, $x11, 0 :: (volatile store (s32) into %ir.q)
49629a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
49729a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 1
49829a5a7c6SLewis Revill    SW killed renamable $x10, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
49929a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 3
50029a5a7c6SLewis Revill    SW killed renamable $x10, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
50129a5a7c6SLewis Revill    SW killed renamable $x16, renamable $x16, 0 :: (volatile store (s32) into %ir.q)
50229a5a7c6SLewis Revill    PseudoRET
50329a5a7c6SLewis Revill
50429a5a7c6SLewis Revill...
50529a5a7c6SLewis Revill---
50629a5a7c6SLewis Revillname:            store_common_ptr_float
50729a5a7c6SLewis RevilltracksRegLiveness: true
50829a5a7c6SLewis Revillbody:             |
50929a5a7c6SLewis Revill  bb.0.entry:
51029a5a7c6SLewis Revill    liveins: $x16, $f10_f, $f11_f, $f12_f
51129a5a7c6SLewis Revill
512*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_common_ptr_float
513*7e97ae35SYeting Kuo    ; RV32C: liveins: $x16, $f10_f, $f11_f, $f12_f
514*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
515*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x10 = ADDI $x16, 0
516*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f10_f, $x10, 0 :: (volatile store (s32) into %ir.p)
517*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f11_f, $x10, 0 :: (volatile store (s32) into %ir.p)
518*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f12_f, killed $x10, 0 :: (volatile store (s32) into %ir.p)
519*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
520*7e97ae35SYeting Kuo    ;
52129a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr_float
52229a5a7c6SLewis Revill    ; RV64: liveins: $x16, $f10_f, $f11_f, $f12_f
52329a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
52429a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f10_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
52529a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f11_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
52629a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f12_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
52729a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
528*7e97ae35SYeting Kuo    ;
529*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_common_ptr_float
530*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x16, $f10_f, $f11_f, $f12_f
531*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
532*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: $x10 = ADDI $x16, 0
533*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f10_f, $x10, 0 :: (volatile store (s32) into %ir.p)
534*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f11_f, $x10, 0 :: (volatile store (s32) into %ir.p)
535*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f12_f, killed $x10, 0 :: (volatile store (s32) into %ir.p)
536*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
537*7e97ae35SYeting Kuo    ;
538*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_common_ptr_float
539*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x16, $f10_f, $f11_f, $f12_f
540*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
541*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f10_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
542*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f11_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
543*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f12_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
544*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
54529a5a7c6SLewis Revill    FSW killed renamable $f10_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
54629a5a7c6SLewis Revill    FSW killed renamable $f11_f, renamable $x16, 0 :: (volatile store (s32) into %ir.p)
54729a5a7c6SLewis Revill    FSW killed renamable $f12_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
54829a5a7c6SLewis Revill    PseudoRET
54929a5a7c6SLewis Revill
55029a5a7c6SLewis Revill...
55129a5a7c6SLewis Revill---
55229a5a7c6SLewis Revillname:            store_common_ptr_double
55329a5a7c6SLewis RevilltracksRegLiveness: true
55429a5a7c6SLewis Revillbody:             |
55529a5a7c6SLewis Revill  bb.0.entry:
55629a5a7c6SLewis Revill    liveins: $x16, $f10_d, $f11_d, $f12_d
55729a5a7c6SLewis Revill
558*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_common_ptr_double
559*7e97ae35SYeting Kuo    ; RV32C: liveins: $x16, $f10_d, $f11_d, $f12_d
560*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
561*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x10 = ADDI $x16, 0
562*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f10_d, $x10, 0 :: (volatile store (s64) into %ir.p)
563*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f11_d, $x10, 0 :: (volatile store (s64) into %ir.p)
564*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f12_d, killed $x10, 0 :: (volatile store (s64) into %ir.p)
565*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
566*7e97ae35SYeting Kuo    ;
567*7e97ae35SYeting Kuo    ; RV64C-LABEL: name: store_common_ptr_double
568*7e97ae35SYeting Kuo    ; RV64C: liveins: $x16, $f10_d, $f11_d, $f12_d
569*7e97ae35SYeting Kuo    ; RV64C-NEXT: {{  $}}
570*7e97ae35SYeting Kuo    ; RV64C-NEXT: $x10 = ADDI $x16, 0
571*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f10_d, $x10, 0 :: (volatile store (s64) into %ir.p)
572*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f11_d, $x10, 0 :: (volatile store (s64) into %ir.p)
573*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f12_d, killed $x10, 0 :: (volatile store (s64) into %ir.p)
574*7e97ae35SYeting Kuo    ; RV64C-NEXT: PseudoRET
575*7e97ae35SYeting Kuo    ;
576*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_common_ptr_double
577*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x16, $f10_d, $f11_d, $f12_d
578*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
579*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f10_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
580*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f11_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
581*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f12_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
582*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
583*7e97ae35SYeting Kuo    ;
584*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_common_ptr_double
585*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x16, $f10_d, $f11_d, $f12_d
586*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
587*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f10_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
588*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f11_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
589*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f12_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
590*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
591*7e97ae35SYeting Kuo    ;
592*7e97ae35SYeting Kuo    ; RV64ZCA-LABEL: name: store_common_ptr_double
593*7e97ae35SYeting Kuo    ; RV64ZCA: liveins: $x16, $f10_d, $f11_d, $f12_d
594*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: {{  $}}
595*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f10_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
596*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f11_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
597*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f12_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
598*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: PseudoRET
59929a5a7c6SLewis Revill    FSD killed renamable $f10_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
60029a5a7c6SLewis Revill    FSD killed renamable $f11_d, renamable $x16, 0 :: (volatile store (s64) into %ir.p)
60129a5a7c6SLewis Revill    FSD killed renamable $f12_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
60229a5a7c6SLewis Revill    PseudoRET
60329a5a7c6SLewis Revill
60429a5a7c6SLewis Revill...
60529a5a7c6SLewis Revill---
60629a5a7c6SLewis Revillname:            load_common_ptr
60729a5a7c6SLewis RevilltracksRegLiveness: true
60829a5a7c6SLewis Revillbody:             |
60929a5a7c6SLewis Revill  bb.0.entry:
61029a5a7c6SLewis Revill    liveins: $x16
61129a5a7c6SLewis Revill
61229a5a7c6SLewis Revill    ; RV32-LABEL: name: load_common_ptr
61329a5a7c6SLewis Revill    ; RV32: liveins: $x16
61429a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
61529a5a7c6SLewis Revill    ; RV32-NEXT: $x11 = ADDI $x16, 0
61629a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW $x11, 0 :: (volatile load (s32) from %ir.p)
61729a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW $x11, 0 :: (volatile load (s32) from %ir.p)
61829a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW killed $x11, 0 :: (volatile load (s32) from %ir.p)
61929a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
620*7e97ae35SYeting Kuo    ;
62129a5a7c6SLewis Revill    ; RV64-LABEL: name: load_common_ptr
62229a5a7c6SLewis Revill    ; RV64: liveins: $x16
62329a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
62429a5a7c6SLewis Revill    ; RV64-NEXT: $x11 = ADDI $x16, 0
62529a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW $x11, 0 :: (volatile load (s32) from %ir.p)
62629a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW $x11, 0 :: (volatile load (s32) from %ir.p)
62729a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW killed $x11, 0 :: (volatile load (s32) from %ir.p)
62829a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
62929a5a7c6SLewis Revill    dead renamable $x10 = LW renamable $x16, 0 :: (volatile load (s32) from %ir.p)
63029a5a7c6SLewis Revill    dead renamable $x10 = LW renamable $x16, 0 :: (volatile load (s32) from %ir.p)
63129a5a7c6SLewis Revill    dead renamable $x10 = LW killed renamable $x16, 0 :: (volatile load (s32) from %ir.p)
63229a5a7c6SLewis Revill    PseudoRET
63329a5a7c6SLewis Revill
63429a5a7c6SLewis Revill...
63529a5a7c6SLewis Revill---
63629a5a7c6SLewis Revillname:            load_common_ptr_float
63729a5a7c6SLewis RevilltracksRegLiveness: true
63829a5a7c6SLewis Revillbody:             |
63929a5a7c6SLewis Revill  bb.0.entry:
64029a5a7c6SLewis Revill    liveins: $x16
64129a5a7c6SLewis Revill
642*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: load_common_ptr_float
643*7e97ae35SYeting Kuo    ; RV32C: liveins: $x16
644*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
645*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x10 = ADDI $x16, 0
646*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f10_f = FLW $x10, 0 :: (load (s32) from %ir.g)
647*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f11_f = FLW $x10, 4 :: (load (s32) from %ir.arrayidx1)
648*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f12_f = FLW killed $x10, 8 :: (load (s32) from %ir.arrayidx2)
649*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
650*7e97ae35SYeting Kuo    ;
65129a5a7c6SLewis Revill    ; RV64-LABEL: name: load_common_ptr_float
65229a5a7c6SLewis Revill    ; RV64: liveins: $x16
65329a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
65429a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_f = FLW renamable $x16, 0 :: (load (s32) from %ir.g)
65529a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f11_f = FLW renamable $x16, 4 :: (load (s32) from %ir.arrayidx1)
65629a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f12_f = FLW killed renamable $x16, 8 :: (load (s32) from %ir.arrayidx2)
657360996acSFangrui Song    ; RV64-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
658*7e97ae35SYeting Kuo    ;
659*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: load_common_ptr_float
660*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x16
661*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
662*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: $x10 = ADDI $x16, 0
663*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f10_f = FLW $x10, 0 :: (load (s32) from %ir.g)
664*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f11_f = FLW $x10, 4 :: (load (s32) from %ir.arrayidx1)
665*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f12_f = FLW killed $x10, 8 :: (load (s32) from %ir.arrayidx2)
666*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
667*7e97ae35SYeting Kuo    ;
668*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: load_common_ptr_float
669*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x16
670*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
671*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f10_f = FLW renamable $x16, 0 :: (load (s32) from %ir.g)
672*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f11_f = FLW renamable $x16, 4 :: (load (s32) from %ir.arrayidx1)
673*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f12_f = FLW killed renamable $x16, 8 :: (load (s32) from %ir.arrayidx2)
674*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
67529a5a7c6SLewis Revill    renamable $f10_f = FLW renamable $x16, 0 :: (load (s32) from %ir.g)
67629a5a7c6SLewis Revill    renamable $f11_f = FLW renamable $x16, 4 :: (load (s32) from %ir.arrayidx1)
67729a5a7c6SLewis Revill    renamable $f12_f = FLW killed renamable $x16, 8 :: (load (s32) from %ir.arrayidx2)
678360996acSFangrui Song    PseudoTAIL target-flags(riscv-call) @load_common_ptr_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
67929a5a7c6SLewis Revill
68029a5a7c6SLewis Revill...
68129a5a7c6SLewis Revill---
68229a5a7c6SLewis Revillname:            load_common_ptr_double
68329a5a7c6SLewis RevilltracksRegLiveness: true
68429a5a7c6SLewis Revillbody:             |
68529a5a7c6SLewis Revill  bb.0.entry:
68629a5a7c6SLewis Revill    liveins: $x16
68729a5a7c6SLewis Revill
688*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: load_common_ptr_double
689*7e97ae35SYeting Kuo    ; RV32C: liveins: $x16
690*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
691*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x10 = ADDI $x16, 0
692*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f10_d = FLD $x10, 0 :: (load (s64) from %ir.g)
693*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f11_d = FLD $x10, 8 :: (load (s64) from %ir.arrayidx1)
694*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f12_d = FLD killed $x10, 16 :: (load (s64) from %ir.arrayidx2)
695*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
696*7e97ae35SYeting Kuo    ;
697*7e97ae35SYeting Kuo    ; RV64C-LABEL: name: load_common_ptr_double
698*7e97ae35SYeting Kuo    ; RV64C: liveins: $x16
699*7e97ae35SYeting Kuo    ; RV64C-NEXT: {{  $}}
700*7e97ae35SYeting Kuo    ; RV64C-NEXT: $x10 = ADDI $x16, 0
701*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f10_d = FLD $x10, 0 :: (load (s64) from %ir.g)
702*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f11_d = FLD $x10, 8 :: (load (s64) from %ir.arrayidx1)
703*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f12_d = FLD killed $x10, 16 :: (load (s64) from %ir.arrayidx2)
704*7e97ae35SYeting Kuo    ; RV64C-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
705*7e97ae35SYeting Kuo    ;
706*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: load_common_ptr_double
707*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x16
708*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
709*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f10_d = FLD renamable $x16, 0 :: (load (s64) from %ir.g)
710*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f11_d = FLD renamable $x16, 8 :: (load (s64) from %ir.arrayidx1)
711*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f12_d = FLD killed renamable $x16, 16 :: (load (s64) from %ir.arrayidx2)
712*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
713*7e97ae35SYeting Kuo    ;
714*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: load_common_ptr_double
715*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x16
716*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
717*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f10_d = FLD renamable $x16, 0 :: (load (s64) from %ir.g)
718*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f11_d = FLD renamable $x16, 8 :: (load (s64) from %ir.arrayidx1)
719*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f12_d = FLD killed renamable $x16, 16 :: (load (s64) from %ir.arrayidx2)
720*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
721*7e97ae35SYeting Kuo    ;
722*7e97ae35SYeting Kuo    ; RV64ZCA-LABEL: name: load_common_ptr_double
723*7e97ae35SYeting Kuo    ; RV64ZCA: liveins: $x16
724*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: {{  $}}
725*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f10_d = FLD renamable $x16, 0 :: (load (s64) from %ir.g)
726*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f11_d = FLD renamable $x16, 8 :: (load (s64) from %ir.arrayidx1)
727*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f12_d = FLD killed renamable $x16, 16 :: (load (s64) from %ir.arrayidx2)
728*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
72929a5a7c6SLewis Revill    renamable $f10_d = FLD renamable $x16, 0 :: (load (s64) from %ir.g)
73029a5a7c6SLewis Revill    renamable $f11_d = FLD renamable $x16, 8 :: (load (s64) from %ir.arrayidx1)
73129a5a7c6SLewis Revill    renamable $f12_d = FLD killed renamable $x16, 16 :: (load (s64) from %ir.arrayidx2)
732360996acSFangrui Song    PseudoTAIL target-flags(riscv-call) @load_common_ptr_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
73329a5a7c6SLewis Revill
73429a5a7c6SLewis Revill...
73529a5a7c6SLewis Revill---
73629a5a7c6SLewis Revillname:            store_large_offset
73729a5a7c6SLewis RevilltracksRegLiveness: true
73829a5a7c6SLewis Revillbody:             |
73929a5a7c6SLewis Revill  bb.0.entry:
74029a5a7c6SLewis Revill    liveins: $x10
74129a5a7c6SLewis Revill
74229a5a7c6SLewis Revill    ; RV32-LABEL: name: store_large_offset
74329a5a7c6SLewis Revill    ; RV32: liveins: $x10
74429a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
74529a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 1
74629a5a7c6SLewis Revill    ; RV32-NEXT: $x12 = ADDI $x10, 384
74729a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, $x12, 16 :: (volatile store (s32) into %ir.0)
74829a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 3
74929a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, $x12, 20 :: (volatile store (s32) into %ir.1)
75029a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 5
75129a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, $x12, 24 :: (volatile store (s32) into %ir.2)
75229a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 7
75329a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, killed $x12, 28 :: (volatile store (s32) into %ir.3)
75429a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
755*7e97ae35SYeting Kuo    ;
75629a5a7c6SLewis Revill    ; RV64-LABEL: name: store_large_offset
75729a5a7c6SLewis Revill    ; RV64: liveins: $x10
75829a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
75929a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 1
76029a5a7c6SLewis Revill    ; RV64-NEXT: $x12 = ADDI $x10, 384
76129a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, $x12, 16 :: (volatile store (s32) into %ir.0)
76229a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 3
76329a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, $x12, 20 :: (volatile store (s32) into %ir.1)
76429a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 5
76529a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, $x12, 24 :: (volatile store (s32) into %ir.2)
76629a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 7
76729a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, killed $x12, 28 :: (volatile store (s32) into %ir.3)
76829a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
76929a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 1
77029a5a7c6SLewis Revill    SW killed renamable $x11, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
77129a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 3
77229a5a7c6SLewis Revill    SW killed renamable $x11, renamable $x10, 404 :: (volatile store (s32) into %ir.1)
77329a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 5
77429a5a7c6SLewis Revill    SW killed renamable $x11, renamable $x10, 408 :: (volatile store (s32) into %ir.2)
77529a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 7
77629a5a7c6SLewis Revill    SW killed renamable $x11, killed renamable $x10, 412 :: (volatile store (s32) into %ir.3)
77729a5a7c6SLewis Revill    PseudoRET
77829a5a7c6SLewis Revill
77929a5a7c6SLewis Revill...
78029a5a7c6SLewis Revill---
78129a5a7c6SLewis Revillname:            store_large_offset_float
78229a5a7c6SLewis RevilltracksRegLiveness: true
78329a5a7c6SLewis Revillbody:             |
78429a5a7c6SLewis Revill  bb.0.entry:
78529a5a7c6SLewis Revill    liveins: $x10, $f10_f, $f11_f, $f12_f, $f13_f
78629a5a7c6SLewis Revill
787*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_large_offset_float
788*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10, $f10_f, $f11_f, $f12_f, $f13_f
789*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
790*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x11 = ADDI $x10, 384
791*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f10_f, $x11, 16 :: (volatile store (s32) into %ir.0)
792*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f11_f, $x11, 20 :: (volatile store (s32) into %ir.1)
793*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f12_f, $x11, 24 :: (volatile store (s32) into %ir.2)
794*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSW killed renamable $f13_f, killed $x11, 28 :: (volatile store (s32) into %ir.3)
795*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
796*7e97ae35SYeting Kuo    ;
79729a5a7c6SLewis Revill    ; RV64-LABEL: name: store_large_offset_float
79829a5a7c6SLewis Revill    ; RV64: liveins: $x10, $f10_f, $f11_f, $f12_f, $f13_f
79929a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
80029a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
80129a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f11_f, renamable $x10, 404 :: (volatile store (s32) into %ir.1)
80229a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f12_f, renamable $x10, 408 :: (volatile store (s32) into %ir.2)
80329a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f13_f, killed renamable $x10, 412 :: (volatile store (s32) into %ir.3)
80429a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
805*7e97ae35SYeting Kuo    ;
806*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_large_offset_float
807*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10, $f10_f, $f11_f, $f12_f, $f13_f
808*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
809*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: $x11 = ADDI $x10, 384
810*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f10_f, $x11, 16 :: (volatile store (s32) into %ir.0)
811*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f11_f, $x11, 20 :: (volatile store (s32) into %ir.1)
812*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f12_f, $x11, 24 :: (volatile store (s32) into %ir.2)
813*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSW killed renamable $f13_f, killed $x11, 28 :: (volatile store (s32) into %ir.3)
814*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
815*7e97ae35SYeting Kuo    ;
816*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_large_offset_float
817*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10, $f10_f, $f11_f, $f12_f, $f13_f
818*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
819*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
820*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f11_f, renamable $x10, 404 :: (volatile store (s32) into %ir.1)
821*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f12_f, renamable $x10, 408 :: (volatile store (s32) into %ir.2)
822*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSW killed renamable $f13_f, killed renamable $x10, 412 :: (volatile store (s32) into %ir.3)
823*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
82429a5a7c6SLewis Revill    FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
82529a5a7c6SLewis Revill    FSW killed renamable $f11_f, renamable $x10, 404 :: (volatile store (s32) into %ir.1)
82629a5a7c6SLewis Revill    FSW killed renamable $f12_f, renamable $x10, 408 :: (volatile store (s32) into %ir.2)
82729a5a7c6SLewis Revill    FSW killed renamable $f13_f, killed renamable $x10, 412 :: (volatile store (s32) into %ir.3)
82829a5a7c6SLewis Revill    PseudoRET
82929a5a7c6SLewis Revill
83029a5a7c6SLewis Revill...
83129a5a7c6SLewis Revill---
83229a5a7c6SLewis Revillname:            store_large_offset_double
83329a5a7c6SLewis RevilltracksRegLiveness: true
83429a5a7c6SLewis Revillbody:             |
83529a5a7c6SLewis Revill  bb.0.entry:
83629a5a7c6SLewis Revill    liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
83729a5a7c6SLewis Revill
838*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: store_large_offset_double
839*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
840*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
841*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x11 = ADDI $x10, 768
842*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f10_d, $x11, 32 :: (volatile store (s64) into %ir.0)
843*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f11_d, $x11, 40 :: (volatile store (s64) into %ir.1)
844*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f12_d, $x11, 48 :: (volatile store (s64) into %ir.2)
845*7e97ae35SYeting Kuo    ; RV32C-NEXT: FSD killed renamable $f13_d, killed $x11, 56 :: (volatile store (s64) into %ir.3)
846*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoRET
847*7e97ae35SYeting Kuo    ;
848*7e97ae35SYeting Kuo    ; RV64C-LABEL: name: store_large_offset_double
849*7e97ae35SYeting Kuo    ; RV64C: liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
850*7e97ae35SYeting Kuo    ; RV64C-NEXT: {{  $}}
851*7e97ae35SYeting Kuo    ; RV64C-NEXT: $x11 = ADDI $x10, 768
852*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f10_d, $x11, 32 :: (volatile store (s64) into %ir.0)
853*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f11_d, $x11, 40 :: (volatile store (s64) into %ir.1)
854*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f12_d, $x11, 48 :: (volatile store (s64) into %ir.2)
855*7e97ae35SYeting Kuo    ; RV64C-NEXT: FSD killed renamable $f13_d, killed $x11, 56 :: (volatile store (s64) into %ir.3)
856*7e97ae35SYeting Kuo    ; RV64C-NEXT: PseudoRET
857*7e97ae35SYeting Kuo    ;
858*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: store_large_offset_double
859*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
860*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
861*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
862*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f11_d, renamable $x10, 808 :: (volatile store (s64) into %ir.1)
863*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f12_d, renamable $x10, 816 :: (volatile store (s64) into %ir.2)
864*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: FSD killed renamable $f13_d, killed renamable $x10, 824 :: (volatile store (s64) into %ir.3)
865*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoRET
866*7e97ae35SYeting Kuo    ;
867*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: store_large_offset_double
868*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
869*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
870*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
871*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f11_d, renamable $x10, 808 :: (volatile store (s64) into %ir.1)
872*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f12_d, renamable $x10, 816 :: (volatile store (s64) into %ir.2)
873*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: FSD killed renamable $f13_d, killed renamable $x10, 824 :: (volatile store (s64) into %ir.3)
874*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoRET
875*7e97ae35SYeting Kuo    ;
876*7e97ae35SYeting Kuo    ; RV64ZCA-LABEL: name: store_large_offset_double
877*7e97ae35SYeting Kuo    ; RV64ZCA: liveins: $x10, $f10_d, $f11_d, $f12_d, $f13_d
878*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: {{  $}}
879*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
880*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f11_d, renamable $x10, 808 :: (volatile store (s64) into %ir.1)
881*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f12_d, renamable $x10, 816 :: (volatile store (s64) into %ir.2)
882*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: FSD killed renamable $f13_d, killed renamable $x10, 824 :: (volatile store (s64) into %ir.3)
883*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: PseudoRET
88429a5a7c6SLewis Revill    FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
88529a5a7c6SLewis Revill    FSD killed renamable $f11_d, renamable $x10, 808 :: (volatile store (s64) into %ir.1)
88629a5a7c6SLewis Revill    FSD killed renamable $f12_d, renamable $x10, 816 :: (volatile store (s64) into %ir.2)
88729a5a7c6SLewis Revill    FSD killed renamable $f13_d, killed renamable $x10, 824 :: (volatile store (s64) into %ir.3)
88829a5a7c6SLewis Revill    PseudoRET
88929a5a7c6SLewis Revill
89029a5a7c6SLewis Revill...
89129a5a7c6SLewis Revill---
89229a5a7c6SLewis Revillname:            load_large_offset
89329a5a7c6SLewis RevilltracksRegLiveness: true
89429a5a7c6SLewis Revillbody:             |
89529a5a7c6SLewis Revill  bb.0.entry:
89629a5a7c6SLewis Revill    liveins: $x10
89729a5a7c6SLewis Revill
89829a5a7c6SLewis Revill    ; RV32-LABEL: name: load_large_offset
89929a5a7c6SLewis Revill    ; RV32: liveins: $x10
90029a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
90129a5a7c6SLewis Revill    ; RV32-NEXT: $x12 = ADDI $x10, 384
90229a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x11 = LW $x12, 16 :: (volatile load (s32) from %ir.0)
90329a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x11 = LW $x12, 20 :: (volatile load (s32) from %ir.1)
90429a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x11 = LW $x12, 24 :: (volatile load (s32) from %ir.2)
90529a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW killed $x12, 28 :: (volatile load (s32) from %ir.3)
90629a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
907*7e97ae35SYeting Kuo    ;
90829a5a7c6SLewis Revill    ; RV64-LABEL: name: load_large_offset
90929a5a7c6SLewis Revill    ; RV64: liveins: $x10
91029a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
91129a5a7c6SLewis Revill    ; RV64-NEXT: $x12 = ADDI $x10, 384
91229a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x11 = LW $x12, 16 :: (volatile load (s32) from %ir.0)
91329a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x11 = LW $x12, 20 :: (volatile load (s32) from %ir.1)
91429a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x11 = LW $x12, 24 :: (volatile load (s32) from %ir.2)
91529a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW killed $x12, 28 :: (volatile load (s32) from %ir.3)
91629a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
91729a5a7c6SLewis Revill    dead renamable $x11 = LW renamable $x10, 400 :: (volatile load (s32) from %ir.0)
91829a5a7c6SLewis Revill    dead renamable $x11 = LW renamable $x10, 404 :: (volatile load (s32) from %ir.1)
91929a5a7c6SLewis Revill    dead renamable $x11 = LW renamable $x10, 408 :: (volatile load (s32) from %ir.2)
92029a5a7c6SLewis Revill    dead renamable $x10 = LW killed renamable $x10, 412 :: (volatile load (s32) from %ir.3)
92129a5a7c6SLewis Revill    PseudoRET
92229a5a7c6SLewis Revill
92329a5a7c6SLewis Revill...
92429a5a7c6SLewis Revill---
92529a5a7c6SLewis Revillname:            load_large_offset_float
92629a5a7c6SLewis RevilltracksRegLiveness: true
92729a5a7c6SLewis Revillbody:             |
92829a5a7c6SLewis Revill  bb.0.entry:
92929a5a7c6SLewis Revill    liveins: $x10
93029a5a7c6SLewis Revill
931*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: load_large_offset_float
932*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10
933*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
934*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x11 = ADDI $x10, 384
935*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f10_f = FLW $x11, 16 :: (load (s32) from %ir.arrayidx)
936*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f11_f = FLW $x11, 20 :: (load (s32) from %ir.arrayidx1)
937*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f12_f = FLW killed $x11, 24 :: (load (s32) from %ir.arrayidx2)
938*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
939*7e97ae35SYeting Kuo    ;
94029a5a7c6SLewis Revill    ; RV64-LABEL: name: load_large_offset_float
94129a5a7c6SLewis Revill    ; RV64: liveins: $x10
94229a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
94329a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
94429a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f11_f = FLW renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
94529a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f12_f = FLW killed renamable $x10, 408 :: (load (s32) from %ir.arrayidx2)
946360996acSFangrui Song    ; RV64-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
947*7e97ae35SYeting Kuo    ;
948*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: load_large_offset_float
949*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10
950*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
951*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: $x11 = ADDI $x10, 384
952*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f10_f = FLW $x11, 16 :: (load (s32) from %ir.arrayidx)
953*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f11_f = FLW $x11, 20 :: (load (s32) from %ir.arrayidx1)
954*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f12_f = FLW killed $x11, 24 :: (load (s32) from %ir.arrayidx2)
955*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
956*7e97ae35SYeting Kuo    ;
957*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: load_large_offset_float
958*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10
959*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
960*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
961*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f11_f = FLW renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
962*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f12_f = FLW killed renamable $x10, 408 :: (load (s32) from %ir.arrayidx2)
963*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
96429a5a7c6SLewis Revill    renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
96529a5a7c6SLewis Revill    renamable $f11_f = FLW renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
96629a5a7c6SLewis Revill    renamable $f12_f = FLW killed renamable $x10, 408 :: (load (s32) from %ir.arrayidx2)
967360996acSFangrui Song    PseudoTAIL target-flags(riscv-call) @load_large_offset_float_1, implicit $x2, implicit $f10_f, implicit $f11_f, implicit $f12_f
96829a5a7c6SLewis Revill
96929a5a7c6SLewis Revill...
97029a5a7c6SLewis Revill---
97129a5a7c6SLewis Revillname:            load_large_offset_double
97229a5a7c6SLewis RevilltracksRegLiveness: true
97329a5a7c6SLewis Revillbody:             |
97429a5a7c6SLewis Revill  bb.0.entry:
97529a5a7c6SLewis Revill    liveins: $x10
97629a5a7c6SLewis Revill
977*7e97ae35SYeting Kuo    ; RV32C-LABEL: name: load_large_offset_double
978*7e97ae35SYeting Kuo    ; RV32C: liveins: $x10
979*7e97ae35SYeting Kuo    ; RV32C-NEXT: {{  $}}
980*7e97ae35SYeting Kuo    ; RV32C-NEXT: $x11 = ADDI $x10, 768
981*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f10_d = FLD $x11, 32 :: (load (s64) from %ir.arrayidx)
982*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f11_d = FLD $x11, 40 :: (load (s64) from %ir.arrayidx1)
983*7e97ae35SYeting Kuo    ; RV32C-NEXT: renamable $f12_d = FLD killed $x11, 48 :: (load (s64) from %ir.arrayidx2)
984*7e97ae35SYeting Kuo    ; RV32C-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
985*7e97ae35SYeting Kuo    ;
986*7e97ae35SYeting Kuo    ; RV64C-LABEL: name: load_large_offset_double
987*7e97ae35SYeting Kuo    ; RV64C: liveins: $x10
988*7e97ae35SYeting Kuo    ; RV64C-NEXT: {{  $}}
989*7e97ae35SYeting Kuo    ; RV64C-NEXT: $x11 = ADDI $x10, 768
990*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f10_d = FLD $x11, 32 :: (load (s64) from %ir.arrayidx)
991*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f11_d = FLD $x11, 40 :: (load (s64) from %ir.arrayidx1)
992*7e97ae35SYeting Kuo    ; RV64C-NEXT: renamable $f12_d = FLD killed $x11, 48 :: (load (s64) from %ir.arrayidx2)
993*7e97ae35SYeting Kuo    ; RV64C-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
994*7e97ae35SYeting Kuo    ;
995*7e97ae35SYeting Kuo    ; RV32ZCF-LABEL: name: load_large_offset_double
996*7e97ae35SYeting Kuo    ; RV32ZCF: liveins: $x10
997*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: {{  $}}
998*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
999*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f11_d = FLD renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
1000*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: renamable $f12_d = FLD killed renamable $x10, 816 :: (load (s64) from %ir.arrayidx2)
1001*7e97ae35SYeting Kuo    ; RV32ZCF-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
1002*7e97ae35SYeting Kuo    ;
1003*7e97ae35SYeting Kuo    ; RV32ZCA-LABEL: name: load_large_offset_double
1004*7e97ae35SYeting Kuo    ; RV32ZCA: liveins: $x10
1005*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: {{  $}}
1006*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
1007*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f11_d = FLD renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
1008*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: renamable $f12_d = FLD killed renamable $x10, 816 :: (load (s64) from %ir.arrayidx2)
1009*7e97ae35SYeting Kuo    ; RV32ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
1010*7e97ae35SYeting Kuo    ;
1011*7e97ae35SYeting Kuo    ; RV64ZCA-LABEL: name: load_large_offset_double
1012*7e97ae35SYeting Kuo    ; RV64ZCA: liveins: $x10
1013*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: {{  $}}
1014*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
1015*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f11_d = FLD renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
1016*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: renamable $f12_d = FLD killed renamable $x10, 816 :: (load (s64) from %ir.arrayidx2)
1017*7e97ae35SYeting Kuo    ; RV64ZCA-NEXT: PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
101829a5a7c6SLewis Revill    renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
101929a5a7c6SLewis Revill    renamable $f11_d = FLD renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
102029a5a7c6SLewis Revill    renamable $f12_d = FLD killed renamable $x10, 816 :: (load (s64) from %ir.arrayidx2)
1021360996acSFangrui Song    PseudoTAIL target-flags(riscv-call) @load_large_offset_double_1, implicit $x2, implicit $f10_d, implicit $f11_d, implicit $f12_d
102229a5a7c6SLewis Revill
102329a5a7c6SLewis Revill...
102429a5a7c6SLewis Revill---
102529a5a7c6SLewis Revillname:            store_common_value_no_opt
102629a5a7c6SLewis RevilltracksRegLiveness: true
102729a5a7c6SLewis Revillbody:             |
102829a5a7c6SLewis Revill  bb.0.entry:
102929a5a7c6SLewis Revill    liveins: $x10
103029a5a7c6SLewis Revill
103129a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_value_no_opt
103229a5a7c6SLewis Revill    ; RV32: liveins: $x10
103329a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
103429a5a7c6SLewis Revill    ; RV32-NEXT: SW $x0, killed renamable $x10, 0 :: (store (s32) into %ir.a)
103529a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1036*7e97ae35SYeting Kuo    ;
103729a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_value_no_opt
103829a5a7c6SLewis Revill    ; RV64: liveins: $x10
103929a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
104029a5a7c6SLewis Revill    ; RV64-NEXT: SW $x0, killed renamable $x10, 0 :: (store (s32) into %ir.a)
104129a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
104229a5a7c6SLewis Revill    SW $x0, killed renamable $x10, 0 :: (store (s32) into %ir.a)
104329a5a7c6SLewis Revill    PseudoRET
104429a5a7c6SLewis Revill
104529a5a7c6SLewis Revill...
104629a5a7c6SLewis Revill---
104729a5a7c6SLewis Revillname:            store_common_value_float_no_opt
104829a5a7c6SLewis RevilltracksRegLiveness: true
104929a5a7c6SLewis Revillbody:             |
105029a5a7c6SLewis Revill  bb.0.entry:
105129a5a7c6SLewis Revill    liveins: $x10, $f16_f
105229a5a7c6SLewis Revill
105329a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_value_float_no_opt
105429a5a7c6SLewis Revill    ; RV32: liveins: $x10, $f16_f
105529a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
105629a5a7c6SLewis Revill    ; RV32-NEXT: FSW killed renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
105729a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1058*7e97ae35SYeting Kuo    ;
105929a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_value_float_no_opt
106029a5a7c6SLewis Revill    ; RV64: liveins: $x10, $f16_f
106129a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
106229a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
106329a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
106429a5a7c6SLewis Revill    FSW killed renamable $f16_f, killed renamable $x10, 0 :: (store (s32) into %ir.a)
106529a5a7c6SLewis Revill    PseudoRET
106629a5a7c6SLewis Revill
106729a5a7c6SLewis Revill...
106829a5a7c6SLewis Revill---
106929a5a7c6SLewis Revillname:            store_common_value_double_no_opt
107029a5a7c6SLewis RevilltracksRegLiveness: true
107129a5a7c6SLewis Revillbody:             |
107229a5a7c6SLewis Revill  bb.0.entry:
107329a5a7c6SLewis Revill    liveins: $x10, $f16_d
107429a5a7c6SLewis Revill
107529a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_value_double_no_opt
107629a5a7c6SLewis Revill    ; RV32: liveins: $x10, $f16_d
107729a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
107829a5a7c6SLewis Revill    ; RV32-NEXT: FSD killed renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
107929a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1080*7e97ae35SYeting Kuo    ;
108129a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_value_double_no_opt
108229a5a7c6SLewis Revill    ; RV64: liveins: $x10, $f16_d
108329a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
108429a5a7c6SLewis Revill    ; RV64-NEXT: FSD killed renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
108529a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
108629a5a7c6SLewis Revill    FSD killed renamable $f16_d, killed renamable $x10, 0 :: (store (s64) into %ir.a)
108729a5a7c6SLewis Revill    PseudoRET
108829a5a7c6SLewis Revill
108929a5a7c6SLewis Revill...
109029a5a7c6SLewis Revill---
109129a5a7c6SLewis Revillname:            store_common_ptr_no_opt
109229a5a7c6SLewis RevilltracksRegLiveness: true
109329a5a7c6SLewis Revillbody:             |
109429a5a7c6SLewis Revill  bb.0.entry:
109529a5a7c6SLewis Revill    liveins: $x16
109629a5a7c6SLewis Revill
109729a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_ptr_no_opt
109829a5a7c6SLewis Revill    ; RV32: liveins: $x16
109929a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
110029a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x10 = ADDI $x0, 1
110129a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
110229a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1103*7e97ae35SYeting Kuo    ;
110429a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr_no_opt
110529a5a7c6SLewis Revill    ; RV64: liveins: $x16
110629a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
110729a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x10 = ADDI $x0, 1
110829a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
110929a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
111029a5a7c6SLewis Revill    renamable $x10 = ADDI $x0, 1
111129a5a7c6SLewis Revill    SW killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
111229a5a7c6SLewis Revill    PseudoRET
111329a5a7c6SLewis Revill
111429a5a7c6SLewis Revill...
111529a5a7c6SLewis Revill---
111629a5a7c6SLewis Revillname:            store_common_ptr_float_no_opt
111729a5a7c6SLewis RevilltracksRegLiveness: true
111829a5a7c6SLewis Revillbody:             |
111929a5a7c6SLewis Revill  bb.0.entry:
112029a5a7c6SLewis Revill    liveins: $x16, $f10_f
112129a5a7c6SLewis Revill
112229a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_ptr_float_no_opt
112329a5a7c6SLewis Revill    ; RV32: liveins: $x16, $f10_f
112429a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
112529a5a7c6SLewis Revill    ; RV32-NEXT: FSW killed renamable $f10_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
112629a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1127*7e97ae35SYeting Kuo    ;
112829a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr_float_no_opt
112929a5a7c6SLewis Revill    ; RV64: liveins: $x16, $f10_f
113029a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
113129a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f10_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
113229a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
113329a5a7c6SLewis Revill    FSW killed renamable $f10_f, killed renamable $x16, 0 :: (volatile store (s32) into %ir.p)
113429a5a7c6SLewis Revill    PseudoRET
113529a5a7c6SLewis Revill
113629a5a7c6SLewis Revill...
113729a5a7c6SLewis Revill---
113829a5a7c6SLewis Revillname:            store_common_ptr_double_no_opt
113929a5a7c6SLewis RevilltracksRegLiveness: true
114029a5a7c6SLewis Revillbody:             |
114129a5a7c6SLewis Revill  bb.0.entry:
114229a5a7c6SLewis Revill    liveins: $x16, $f10_d
114329a5a7c6SLewis Revill
114429a5a7c6SLewis Revill    ; RV32-LABEL: name: store_common_ptr_double_no_opt
114529a5a7c6SLewis Revill    ; RV32: liveins: $x16, $f10_d
114629a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
114729a5a7c6SLewis Revill    ; RV32-NEXT: FSD killed renamable $f10_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
114829a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1149*7e97ae35SYeting Kuo    ;
115029a5a7c6SLewis Revill    ; RV64-LABEL: name: store_common_ptr_double_no_opt
115129a5a7c6SLewis Revill    ; RV64: liveins: $x16, $f10_d
115229a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
115329a5a7c6SLewis Revill    ; RV64-NEXT: FSD killed renamable $f10_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
115429a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
115529a5a7c6SLewis Revill    FSD killed renamable $f10_d, killed renamable $x16, 0 :: (volatile store (s64) into %ir.p)
115629a5a7c6SLewis Revill    PseudoRET
115729a5a7c6SLewis Revill
115829a5a7c6SLewis Revill...
115929a5a7c6SLewis Revill---
116029a5a7c6SLewis Revillname:            load_common_ptr_no_opt
116129a5a7c6SLewis RevilltracksRegLiveness: true
116229a5a7c6SLewis Revillbody:             |
116329a5a7c6SLewis Revill  bb.0.entry:
116429a5a7c6SLewis Revill    liveins: $x16
116529a5a7c6SLewis Revill
116629a5a7c6SLewis Revill    ; RV32-LABEL: name: load_common_ptr_no_opt
116729a5a7c6SLewis Revill    ; RV32: liveins: $x16
116829a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
116929a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW killed renamable $x16, 0 :: (volatile load (s32) from %ir.p)
117029a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1171*7e97ae35SYeting Kuo    ;
117229a5a7c6SLewis Revill    ; RV64-LABEL: name: load_common_ptr_no_opt
117329a5a7c6SLewis Revill    ; RV64: liveins: $x16
117429a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
117529a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW killed renamable $x16, 0 :: (volatile load (s32) from %ir.p)
117629a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
117729a5a7c6SLewis Revill    dead renamable $x10 = LW killed renamable $x16, 0 :: (volatile load (s32) from %ir.p)
117829a5a7c6SLewis Revill    PseudoRET
117929a5a7c6SLewis Revill
118029a5a7c6SLewis Revill...
118129a5a7c6SLewis Revill---
118229a5a7c6SLewis Revillname:            load_common_ptr_float_no_opt
118329a5a7c6SLewis RevilltracksRegLiveness: true
118429a5a7c6SLewis Revillbody:             |
118529a5a7c6SLewis Revill  bb.0.entry:
118629a5a7c6SLewis Revill    liveins: $x16
118729a5a7c6SLewis Revill
118829a5a7c6SLewis Revill    ; RV32-LABEL: name: load_common_ptr_float_no_opt
118929a5a7c6SLewis Revill    ; RV32: liveins: $x16
119029a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
119129a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f10_f = FLW killed renamable $x16, 0 :: (load (s32) from %ir.g)
119229a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET implicit $f10_f
1193*7e97ae35SYeting Kuo    ;
119429a5a7c6SLewis Revill    ; RV64-LABEL: name: load_common_ptr_float_no_opt
119529a5a7c6SLewis Revill    ; RV64: liveins: $x16
119629a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
119729a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_f = FLW killed renamable $x16, 0 :: (load (s32) from %ir.g)
119829a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET implicit $f10_f
119929a5a7c6SLewis Revill    renamable $f10_f = FLW killed renamable $x16, 0 :: (load (s32) from %ir.g)
120029a5a7c6SLewis Revill    PseudoRET implicit $f10_f
120129a5a7c6SLewis Revill
120229a5a7c6SLewis Revill...
120329a5a7c6SLewis Revill---
120429a5a7c6SLewis Revillname:            load_common_ptr_double_no_opt
120529a5a7c6SLewis RevilltracksRegLiveness: true
120629a5a7c6SLewis Revillbody:             |
120729a5a7c6SLewis Revill  bb.0.entry:
120829a5a7c6SLewis Revill    liveins: $x16
120929a5a7c6SLewis Revill
121029a5a7c6SLewis Revill    ; RV32-LABEL: name: load_common_ptr_double_no_opt
121129a5a7c6SLewis Revill    ; RV32: liveins: $x16
121229a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
121329a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f10_d = FLD killed renamable $x16, 0 :: (load (s64) from %ir.g)
121429a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET implicit $f10_d
1215*7e97ae35SYeting Kuo    ;
121629a5a7c6SLewis Revill    ; RV64-LABEL: name: load_common_ptr_double_no_opt
121729a5a7c6SLewis Revill    ; RV64: liveins: $x16
121829a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
121929a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_d = FLD killed renamable $x16, 0 :: (load (s64) from %ir.g)
122029a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET implicit $f10_d
122129a5a7c6SLewis Revill    renamable $f10_d = FLD killed renamable $x16, 0 :: (load (s64) from %ir.g)
122229a5a7c6SLewis Revill    PseudoRET implicit $f10_d
122329a5a7c6SLewis Revill
122429a5a7c6SLewis Revill...
122529a5a7c6SLewis Revill---
122629a5a7c6SLewis Revillname:            store_large_offset_no_opt
122729a5a7c6SLewis RevilltracksRegLiveness: true
122829a5a7c6SLewis Revillbody:             |
122929a5a7c6SLewis Revill  bb.0.entry:
123029a5a7c6SLewis Revill    liveins: $x10
123129a5a7c6SLewis Revill
123229a5a7c6SLewis Revill    ; RV32-LABEL: name: store_large_offset_no_opt
123329a5a7c6SLewis Revill    ; RV32: liveins: $x10
123429a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
123529a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 1
123629a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
123729a5a7c6SLewis Revill    ; RV32-NEXT: renamable $x11 = ADDI $x0, 3
123829a5a7c6SLewis Revill    ; RV32-NEXT: SW killed renamable $x11, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
123929a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1240*7e97ae35SYeting Kuo    ;
124129a5a7c6SLewis Revill    ; RV64-LABEL: name: store_large_offset_no_opt
124229a5a7c6SLewis Revill    ; RV64: liveins: $x10
124329a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
124429a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 1
124529a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
124629a5a7c6SLewis Revill    ; RV64-NEXT: renamable $x11 = ADDI $x0, 3
124729a5a7c6SLewis Revill    ; RV64-NEXT: SW killed renamable $x11, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
124829a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
124929a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 1
125029a5a7c6SLewis Revill    SW killed renamable $x11, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
125129a5a7c6SLewis Revill    renamable $x11 = ADDI $x0, 3
125229a5a7c6SLewis Revill    SW killed renamable $x11, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
125329a5a7c6SLewis Revill    PseudoRET
125429a5a7c6SLewis Revill
125529a5a7c6SLewis Revill...
125629a5a7c6SLewis Revill---
125729a5a7c6SLewis Revillname:            store_large_offset_float_no_opt
125829a5a7c6SLewis RevilltracksRegLiveness: true
125929a5a7c6SLewis Revillbody:             |
126029a5a7c6SLewis Revill  bb.0.entry:
126129a5a7c6SLewis Revill    liveins: $x10, $f10_f, $f11_f
126229a5a7c6SLewis Revill
126329a5a7c6SLewis Revill    ; RV32-LABEL: name: store_large_offset_float_no_opt
126429a5a7c6SLewis Revill    ; RV32: liveins: $x10, $f10_f, $f11_f
126529a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
126629a5a7c6SLewis Revill    ; RV32-NEXT: FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
126729a5a7c6SLewis Revill    ; RV32-NEXT: FSW killed renamable $f11_f, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
126829a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1269*7e97ae35SYeting Kuo    ;
127029a5a7c6SLewis Revill    ; RV64-LABEL: name: store_large_offset_float_no_opt
127129a5a7c6SLewis Revill    ; RV64: liveins: $x10, $f10_f, $f11_f
127229a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
127329a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
127429a5a7c6SLewis Revill    ; RV64-NEXT: FSW killed renamable $f11_f, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
127529a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
127629a5a7c6SLewis Revill    FSW killed renamable $f10_f, renamable $x10, 400 :: (volatile store (s32) into %ir.0)
127729a5a7c6SLewis Revill    FSW killed renamable $f11_f, killed renamable $x10, 404 :: (volatile store (s32) into %ir.1)
127829a5a7c6SLewis Revill    PseudoRET
127929a5a7c6SLewis Revill
128029a5a7c6SLewis Revill...
128129a5a7c6SLewis Revill---
128229a5a7c6SLewis Revillname:            store_large_offset_double_no_opt
128329a5a7c6SLewis RevilltracksRegLiveness: true
128429a5a7c6SLewis Revillbody:             |
128529a5a7c6SLewis Revill  bb.0.entry:
128629a5a7c6SLewis Revill    liveins: $x10, $f10_d, $f11_d
128729a5a7c6SLewis Revill
128829a5a7c6SLewis Revill    ; RV32-LABEL: name: store_large_offset_double_no_opt
128929a5a7c6SLewis Revill    ; RV32: liveins: $x10, $f10_d, $f11_d
129029a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
129129a5a7c6SLewis Revill    ; RV32-NEXT: FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
129229a5a7c6SLewis Revill    ; RV32-NEXT: FSD killed renamable $f11_d, killed renamable $x10, 808 :: (volatile store (s64) into %ir.1)
129329a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1294*7e97ae35SYeting Kuo    ;
129529a5a7c6SLewis Revill    ; RV64-LABEL: name: store_large_offset_double_no_opt
129629a5a7c6SLewis Revill    ; RV64: liveins: $x10, $f10_d, $f11_d
129729a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
129829a5a7c6SLewis Revill    ; RV64-NEXT: FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
129929a5a7c6SLewis Revill    ; RV64-NEXT: FSD killed renamable $f11_d, killed renamable $x10, 808 :: (volatile store (s64) into %ir.1)
130029a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
130129a5a7c6SLewis Revill    FSD killed renamable $f10_d, renamable $x10, 800 :: (volatile store (s64) into %ir.0)
130229a5a7c6SLewis Revill    FSD killed renamable $f11_d, killed renamable $x10, 808 :: (volatile store (s64) into %ir.1)
130329a5a7c6SLewis Revill    PseudoRET
130429a5a7c6SLewis Revill
130529a5a7c6SLewis Revill...
130629a5a7c6SLewis Revill---
130729a5a7c6SLewis Revillname:            load_large_offset_no_opt
130829a5a7c6SLewis RevilltracksRegLiveness: true
130929a5a7c6SLewis Revillbody:             |
131029a5a7c6SLewis Revill  bb.0.entry:
131129a5a7c6SLewis Revill    liveins: $x10
131229a5a7c6SLewis Revill
131329a5a7c6SLewis Revill    ; RV32-LABEL: name: load_large_offset_no_opt
131429a5a7c6SLewis Revill    ; RV32: liveins: $x10
131529a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
131629a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x11 = LW renamable $x10, 400 :: (volatile load (s32) from %ir.0)
131729a5a7c6SLewis Revill    ; RV32-NEXT: dead renamable $x10 = LW killed renamable $x10, 404 :: (volatile load (s32) from %ir.1)
131829a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET
1319*7e97ae35SYeting Kuo    ;
132029a5a7c6SLewis Revill    ; RV64-LABEL: name: load_large_offset_no_opt
132129a5a7c6SLewis Revill    ; RV64: liveins: $x10
132229a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
132329a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x11 = LW renamable $x10, 400 :: (volatile load (s32) from %ir.0)
132429a5a7c6SLewis Revill    ; RV64-NEXT: dead renamable $x10 = LW killed renamable $x10, 404 :: (volatile load (s32) from %ir.1)
132529a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET
132629a5a7c6SLewis Revill    dead renamable $x11 = LW renamable $x10, 400 :: (volatile load (s32) from %ir.0)
132729a5a7c6SLewis Revill    dead renamable $x10 = LW killed renamable $x10, 404 :: (volatile load (s32) from %ir.1)
132829a5a7c6SLewis Revill    PseudoRET
132929a5a7c6SLewis Revill
133029a5a7c6SLewis Revill...
133129a5a7c6SLewis Revill---
133229a5a7c6SLewis Revillname:            load_large_offset_float_no_opt
133329a5a7c6SLewis RevilltracksRegLiveness: true
133429a5a7c6SLewis Revillbody:             |
133529a5a7c6SLewis Revill  bb.0.entry:
133629a5a7c6SLewis Revill    liveins: $x10
133729a5a7c6SLewis Revill
133829a5a7c6SLewis Revill    ; RV32-LABEL: name: load_large_offset_float_no_opt
133929a5a7c6SLewis Revill    ; RV32: liveins: $x10
134029a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
134129a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
134229a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f11_f = FLW killed renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
134329a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET implicit $f10_f, implicit $f11_f
1344*7e97ae35SYeting Kuo    ;
134529a5a7c6SLewis Revill    ; RV64-LABEL: name: load_large_offset_float_no_opt
134629a5a7c6SLewis Revill    ; RV64: liveins: $x10
134729a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
134829a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
134929a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f11_f = FLW killed renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
135029a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET implicit $f10_f, implicit $f11_f
135129a5a7c6SLewis Revill    renamable $f10_f = FLW renamable $x10, 400 :: (load (s32) from %ir.arrayidx)
135229a5a7c6SLewis Revill    renamable $f11_f = FLW killed renamable $x10, 404 :: (load (s32) from %ir.arrayidx1)
135329a5a7c6SLewis Revill    PseudoRET implicit $f10_f, implicit $f11_f
135429a5a7c6SLewis Revill
135529a5a7c6SLewis Revill...
135629a5a7c6SLewis Revill---
135729a5a7c6SLewis Revillname:            load_large_offset_double_no_opt
135829a5a7c6SLewis RevilltracksRegLiveness: true
135929a5a7c6SLewis Revillbody:             |
136029a5a7c6SLewis Revill  bb.0.entry:
136129a5a7c6SLewis Revill    liveins: $x10
136229a5a7c6SLewis Revill
136329a5a7c6SLewis Revill    ; RV32-LABEL: name: load_large_offset_double_no_opt
136429a5a7c6SLewis Revill    ; RV32: liveins: $x10
136529a5a7c6SLewis Revill    ; RV32-NEXT: {{  $}}
136629a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
136729a5a7c6SLewis Revill    ; RV32-NEXT: renamable $f11_d = FLD killed renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
136829a5a7c6SLewis Revill    ; RV32-NEXT: PseudoRET implicit $f10_d, implicit $f11_d
1369*7e97ae35SYeting Kuo    ;
137029a5a7c6SLewis Revill    ; RV64-LABEL: name: load_large_offset_double_no_opt
137129a5a7c6SLewis Revill    ; RV64: liveins: $x10
137229a5a7c6SLewis Revill    ; RV64-NEXT: {{  $}}
137329a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
137429a5a7c6SLewis Revill    ; RV64-NEXT: renamable $f11_d = FLD killed renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
137529a5a7c6SLewis Revill    ; RV64-NEXT: PseudoRET implicit $f10_d, implicit $f11_d
137629a5a7c6SLewis Revill    renamable $f10_d = FLD renamable $x10, 800 :: (load (s64) from %ir.arrayidx)
137729a5a7c6SLewis Revill    renamable $f11_d = FLD killed renamable $x10, 808 :: (load (s64) from %ir.arrayidx1)
137829a5a7c6SLewis Revill    PseudoRET implicit $f10_d, implicit $f11_d
137929a5a7c6SLewis Revill
138029a5a7c6SLewis Revill...
1381