72 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+f -verify-machineinstrs | FileCheck %s3; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+f -verify-machineinstrs | FileCheck %s4; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+zfinx -verify-machineinstrs | FileCheck %s5; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+zfinx -verify-machineinstrs | FileCheck %s6; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+f -verify-machineinstrs -O0 | FileCheck %s7; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+f -verify-machineinstrs -O0 | FileCheck %s8 9define iXLen @func_get_fpenv() {10; CHECK-LABEL: func_get_fpenv:11; CHECK: # %bb.0: # %entry12; CHECK-NEXT: frcsr a013; CHECK-NEXT: ret14entry:15 %fpenv = call iXLen @llvm.get.fpenv.iXLen()16 ret iXLen %fpenv17}18 19define void @func_set_fpenv(iXLen %fpenv) {20; CHECK-LABEL: func_set_fpenv:21; CHECK: # %bb.0: # %entry22; CHECK-NEXT: fscsr a023; CHECK-NEXT: ret24entry:25 call void @llvm.set.fpenv.iXLen(iXLen %fpenv)26 ret void27}28 29define void @func_reset_fpenv() {30; CHECK-LABEL: func_reset_fpenv:31; CHECK: # %bb.0: # %entry32; CHECK-NEXT: fscsr zero33; CHECK-NEXT: ret34entry:35 call void @llvm.reset.fpenv()36 ret void37}38 39define iXLen @func_get_fpmode() {40; CHECK-LABEL: func_get_fpmode:41; CHECK: # %bb.0: # %entry42; CHECK-NEXT: frcsr a043; CHECK-NEXT: ret44entry:45 %fpenv = call iXLen @llvm.get.fpmode.iXLen()46 ret iXLen %fpenv47}48 49define void @func_set_fpmode(iXLen %fpmode) {50; CHECK-LABEL: func_set_fpmode:51; CHECK: # %bb.0: # %entry52; CHECK-NEXT: li a1, -3253; CHECK-NEXT: csrc fcsr, a154; CHECK-NEXT: andi a0, a0, -3255; CHECK-NEXT: csrs fcsr, a056; CHECK-NEXT: ret57entry:58 call void @llvm.set.fpmode.iXLen(iXLen %fpmode)59 ret void60}61 62define void @func_reset_fpmode() {63; CHECK-LABEL: func_reset_fpmode:64; CHECK: # %bb.0: # %entry65; CHECK-NEXT: li a0, -3266; CHECK-NEXT: csrc fcsr, a067; CHECK-NEXT: ret68entry:69 call void @llvm.reset.fpmode()70 ret void71}72