xref: /llvm-project/llvm/test/CodeGen/RISCV/fixed-csr.ll (revision 84efad0b471543003c0724c85f158f66fccfdc0f)
1*84efad0bSMichael Maitland; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2*84efad0bSMichael Maitland; RUN: llc -mtriple=riscv64 -mattr=+reserve-x24 < %s | FileCheck %s
3*84efad0bSMichael Maitland
4*84efad0bSMichael Maitlanddefine noundef signext i32 @foo() {
5*84efad0bSMichael Maitland; CHECK-LABEL: foo:
6*84efad0bSMichael Maitland; CHECK:       # %bb.0:
7*84efad0bSMichael Maitland; CHECK-NEXT:    li s8, 321
8*84efad0bSMichael Maitland; CHECK-NEXT:    li a0, 0
9*84efad0bSMichael Maitland; CHECK-NEXT:    ret
10*84efad0bSMichael Maitland  tail call void @llvm.write_register.i64(metadata !0, i64 321)
11*84efad0bSMichael Maitland  ret i32 0
12*84efad0bSMichael Maitland}
13*84efad0bSMichael Maitland
14*84efad0bSMichael Maitlanddeclare void @llvm.write_register.i64(metadata, i64)
15*84efad0bSMichael Maitland
16*84efad0bSMichael Maitlanddefine noundef signext i32 @bar() nounwind {
17*84efad0bSMichael Maitland; CHECK-LABEL: bar:
18*84efad0bSMichael Maitland; CHECK:       # %bb.0:
19*84efad0bSMichael Maitland; CHECK-NEXT:    addi sp, sp, -16
20*84efad0bSMichael Maitland; CHECK-NEXT:    sd s9, 8(sp) # 8-byte Folded Spill
21*84efad0bSMichael Maitland; CHECK-NEXT:    #APP
22*84efad0bSMichael Maitland; CHECK-NEXT:    #NO_APP
23*84efad0bSMichael Maitland; CHECK-NEXT:    li s8, 321
24*84efad0bSMichael Maitland; CHECK-NEXT:    li a0, 0
25*84efad0bSMichael Maitland; CHECK-NEXT:    ld s9, 8(sp) # 8-byte Folded Reload
26*84efad0bSMichael Maitland; CHECK-NEXT:    addi sp, sp, 16
27*84efad0bSMichael Maitland; CHECK-NEXT:    ret
28*84efad0bSMichael Maitland  tail call void asm sideeffect "", "~{x25}"() #3
29*84efad0bSMichael Maitland  tail call void @llvm.write_register.i64(metadata !0, i64 321)
30*84efad0bSMichael Maitland  ret i32 0
31*84efad0bSMichael Maitland}
32*84efad0bSMichael Maitland
33*84efad0bSMichael Maitland!llvm.named.register.x24 = !{!0}
34*84efad0bSMichael Maitland!0 = !{!"x24"}
35*84efad0bSMichael Maitland
36