brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 74185bf Raw
74 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+zfh -verify-machineinstrs \3; RUN:   -target-abi ilp32f < %s | FileCheck %s4; RUN: llc -mtriple=riscv64 -mattr=+zfh -verify-machineinstrs \5; RUN:   -target-abi lp64f < %s | FileCheck %s6; RUN: llc -mtriple=riscv32 -mattr=+zhinx -verify-machineinstrs \7; RUN:   -target-abi ilp32 < %s | FileCheck -check-prefixes=CHECKIZHINX %s8; RUN: llc -mtriple=riscv64 -mattr=+zhinx -verify-machineinstrs \9; RUN:   -target-abi lp64 < %s | FileCheck -check-prefixes=CHECKIZHINX %s10; RUN: llc -mtriple=riscv32 -mattr=+zfhmin -verify-machineinstrs \11; RUN:   -target-abi ilp32f < %s | FileCheck -check-prefixes=CHECKIZFHMIN %s12; RUN: llc -mtriple=riscv64 -mattr=+zfhmin -verify-machineinstrs \13; RUN:   -target-abi lp64f < %s | FileCheck -check-prefixes=CHECKIZFHMIN %s14; RUN: llc -mtriple=riscv32 -mattr=+zhinxmin -verify-machineinstrs \15; RUN:   -target-abi ilp32 < %s | FileCheck -check-prefixes=CHECKIZHINXMIN %s16; RUN: llc -mtriple=riscv64 -mattr=+zhinxmin -verify-machineinstrs \17; RUN:   -target-abi lp64 < %s | FileCheck -check-prefixes=CHECKIZHINXMIN %s18 19define zeroext i1 @half_is_nan(half %a) nounwind {20; CHECK-LABEL: half_is_nan:21; CHECK:       # %bb.0:22; CHECK-NEXT:    feq.h a0, fa0, fa023; CHECK-NEXT:    xori a0, a0, 124; CHECK-NEXT:    ret25;26; CHECKIZHINX-LABEL: half_is_nan:27; CHECKIZHINX:       # %bb.0:28; CHECKIZHINX-NEXT:    feq.h a0, a0, a029; CHECKIZHINX-NEXT:    xori a0, a0, 130; CHECKIZHINX-NEXT:    ret31;32; CHECKIZFHMIN-LABEL: half_is_nan:33; CHECKIZFHMIN:       # %bb.0:34; CHECKIZFHMIN-NEXT:    fcvt.s.h fa5, fa035; CHECKIZFHMIN-NEXT:    feq.s a0, fa5, fa536; CHECKIZFHMIN-NEXT:    xori a0, a0, 137; CHECKIZFHMIN-NEXT:    ret38;39; CHECKIZHINXMIN-LABEL: half_is_nan:40; CHECKIZHINXMIN:       # %bb.0:41; CHECKIZHINXMIN-NEXT:    fcvt.s.h a0, a042; CHECKIZHINXMIN-NEXT:    feq.s a0, a0, a043; CHECKIZHINXMIN-NEXT:    xori a0, a0, 144; CHECKIZHINXMIN-NEXT:    ret45  %1 = fcmp uno half %a, 0.000000e+0046  ret i1 %147}48 49define zeroext i1 @half_not_nan(half %a) nounwind {50; CHECK-LABEL: half_not_nan:51; CHECK:       # %bb.0:52; CHECK-NEXT:    feq.h a0, fa0, fa053; CHECK-NEXT:    ret54;55; CHECKIZHINX-LABEL: half_not_nan:56; CHECKIZHINX:       # %bb.0:57; CHECKIZHINX-NEXT:    feq.h a0, a0, a058; CHECKIZHINX-NEXT:    ret59;60; CHECKIZFHMIN-LABEL: half_not_nan:61; CHECKIZFHMIN:       # %bb.0:62; CHECKIZFHMIN-NEXT:    fcvt.s.h fa5, fa063; CHECKIZFHMIN-NEXT:    feq.s a0, fa5, fa564; CHECKIZFHMIN-NEXT:    ret65;66; CHECKIZHINXMIN-LABEL: half_not_nan:67; CHECKIZHINXMIN:       # %bb.0:68; CHECKIZHINXMIN-NEXT:    fcvt.s.h a0, a069; CHECKIZHINXMIN-NEXT:    feq.s a0, a0, a070; CHECKIZHINXMIN-NEXT:    ret71  %1 = fcmp ord half %a, 0.000000e+0072  ret i1 %173}74