brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 6a3779d Raw
51 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs \3; RUN:   < %s | FileCheck %s4; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs \5; RUN:   < %s | FileCheck %s6; RUN: llc -mtriple=riscv32 -mattr=+zdinx -target-abi ilp32 -verify-machineinstrs \7; RUN:   < %s | FileCheck --check-prefix=CHECKRV32ZDINX %s8; RUN: llc -mtriple=riscv64 -mattr=+zdinx -target-abi lp64 -verify-machineinstrs \9; RUN:   < %s | FileCheck --check-prefix=CHECKRV64ZDINX %s10 11define zeroext i1 @double_is_nan(double %a) nounwind {12; CHECK-LABEL: double_is_nan:13; CHECK:       # %bb.0:14; CHECK-NEXT:    feq.d a0, fa0, fa015; CHECK-NEXT:    xori a0, a0, 116; CHECK-NEXT:    ret17;18; CHECKRV32ZDINX-LABEL: double_is_nan:19; CHECKRV32ZDINX:       # %bb.0:20; CHECKRV32ZDINX-NEXT:    feq.d a0, a0, a021; CHECKRV32ZDINX-NEXT:    xori a0, a0, 122; CHECKRV32ZDINX-NEXT:    ret23;24; CHECKRV64ZDINX-LABEL: double_is_nan:25; CHECKRV64ZDINX:       # %bb.0:26; CHECKRV64ZDINX-NEXT:    feq.d a0, a0, a027; CHECKRV64ZDINX-NEXT:    xori a0, a0, 128; CHECKRV64ZDINX-NEXT:    ret29  %1 = fcmp uno double %a, 0.000000e+0030  ret i1 %131}32 33define zeroext i1 @double_not_nan(double %a) nounwind {34; CHECK-LABEL: double_not_nan:35; CHECK:       # %bb.0:36; CHECK-NEXT:    feq.d a0, fa0, fa037; CHECK-NEXT:    ret38;39; CHECKRV32ZDINX-LABEL: double_not_nan:40; CHECKRV32ZDINX:       # %bb.0:41; CHECKRV32ZDINX-NEXT:    feq.d a0, a0, a042; CHECKRV32ZDINX-NEXT:    ret43;44; CHECKRV64ZDINX-LABEL: double_not_nan:45; CHECKRV64ZDINX:       # %bb.0:46; CHECKRV64ZDINX-NEXT:    feq.d a0, a0, a047; CHECKRV64ZDINX-NEXT:    ret48  %1 = fcmp ord double %a, 0.000000e+0049  ret i1 %150}51