40 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs \3; RUN: < %s | FileCheck %s4; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64f -verify-machineinstrs \5; RUN: < %s | FileCheck %s6; RUN: llc -mtriple=riscv32 -mattr=+zfinx -target-abi ilp32 -verify-machineinstrs \7; RUN: < %s | FileCheck --check-prefix=CHECKZFINX %s8; RUN: llc -mtriple=riscv64 -mattr=+zfinx -target-abi lp64 -verify-machineinstrs \9; RUN: < %s | FileCheck --check-prefix=CHECKZFINX %s10 11define zeroext i1 @float_is_nan(float %a) nounwind {12; CHECK-LABEL: float_is_nan:13; CHECK: # %bb.0:14; CHECK-NEXT: feq.s a0, fa0, fa015; CHECK-NEXT: xori a0, a0, 116; CHECK-NEXT: ret17;18; CHECKZFINX-LABEL: float_is_nan:19; CHECKZFINX: # %bb.0:20; CHECKZFINX-NEXT: feq.s a0, a0, a021; CHECKZFINX-NEXT: xori a0, a0, 122; CHECKZFINX-NEXT: ret23 %1 = fcmp uno float %a, 0.000000e+0024 ret i1 %125}26 27define zeroext i1 @float_not_nan(float %a) nounwind {28; CHECK-LABEL: float_not_nan:29; CHECK: # %bb.0:30; CHECK-NEXT: feq.s a0, fa0, fa031; CHECK-NEXT: ret32;33; CHECKZFINX-LABEL: float_not_nan:34; CHECKZFINX: # %bb.0:35; CHECKZFINX-NEXT: feq.s a0, a0, a036; CHECKZFINX-NEXT: ret37 %1 = fcmp ord float %a, 0.000000e+0038 ret i1 %139}40