33 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: not llc < %s -mtriple=riscv32 -mattr +reserve-x8 2>&1 \3; RUN: | FileCheck -check-prefix=NO-RESERVE-A1 %s4; RUN: not llc < %s -mtriple=riscv32 -mattr +reserve-x11 2>&1 \5; RUN: | FileCheck -check-prefix=NO-RESERVE-FP %s6; RUN: llc < %s -mtriple=riscv32 -mattr +reserve-x8 -mattr +reserve-x11 \7; RUN: | FileCheck -check-prefix=RESERVE %s8 9define i32 @get_reg_a1() nounwind {10; NO-RESERVE-A1: Trying to obtain non-reserved register "a1".11; RESERVE-LABEL: get_reg_a1:12; RESERVE: # %bb.0: # %entry13; RESERVE-NEXT: mv a0, a114; RESERVE-NEXT: ret15entry:16 %a1 = call i32 @llvm.read_register.i32(metadata !0)17 ret i32 %a118}19 20define i32 @get_reg_fp() nounwind {21; NO-RESERVE-FP: Trying to obtain non-reserved register "fp".22; RESERVE-LABEL: get_reg_fp:23; RESERVE: # %bb.0: # %entry24; RESERVE-NEXT: mv a0, s025; RESERVE-NEXT: ret26entry:27 %fp = call i32 @llvm.read_register.i32(metadata !1)28 ret i32 %fp29}30 31!0 = !{!"a1\00"}32!1 = !{!"fp\00"}33