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