[win/asan] GetInstructionSize: Support some more 3 byte instructions. (#120474)
[llvm-project.git] / llvm / test / CodeGen / RISCV / fixed-csr.ll
blobf39085132e4a2f6ae57f06161a0555c10e0f8242
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2 ; RUN: llc -mtriple=riscv64 -mattr=+reserve-x24 < %s | FileCheck %s
4 define noundef signext i32 @foo() {
5 ; CHECK-LABEL: foo:
6 ; CHECK:       # %bb.0:
7 ; CHECK-NEXT:    li s8, 321
8 ; CHECK-NEXT:    li a0, 0
9 ; CHECK-NEXT:    ret
10   tail call void @llvm.write_register.i64(metadata !0, i64 321)
11   ret i32 0
14 declare void @llvm.write_register.i64(metadata, i64)
16 define noundef signext i32 @bar() nounwind {
17 ; CHECK-LABEL: bar:
18 ; CHECK:       # %bb.0:
19 ; CHECK-NEXT:    addi sp, sp, -16
20 ; CHECK-NEXT:    sd s9, 8(sp) # 8-byte Folded Spill
21 ; CHECK-NEXT:    #APP
22 ; CHECK-NEXT:    #NO_APP
23 ; CHECK-NEXT:    li s8, 321
24 ; CHECK-NEXT:    li a0, 0
25 ; CHECK-NEXT:    ld s9, 8(sp) # 8-byte Folded Reload
26 ; CHECK-NEXT:    addi sp, sp, 16
27 ; CHECK-NEXT:    ret
28   tail call void asm sideeffect "", "~{x25}"() #3
29   tail call void @llvm.write_register.i64(metadata !0, i64 321)
30   ret i32 0
33 !llvm.named.register.x24 = !{!0}
34 !0 = !{!"x24"}