38 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=armv8-unknown-none-eabi < %s | FileCheck %s --check-prefixes=CHECK,HARD3; RUN: llc -mtriple=armv8-unknown-none-eabi -mattr=+soft-float < %s | FileCheck %s --check-prefixes=CHECK,SOFT4 5define nofpclass(nan inf) half @f1(half returned nofpclass(nan inf) %x) {6; CHECK-LABEL: f1:7; CHECK: @ %bb.0: @ %entry8; CHECK-NEXT: bx lr9entry:10 ret half %x11}12 13define noundef half @f2(half nofpclass(nan) %a) {14; HARD-LABEL: f2:15; HARD: @ %bb.0: @ %entry16; HARD-NEXT: vmov.f32 s0, #1.000000e+0017; HARD-NEXT: vmov s2, r018; HARD-NEXT: vcvtb.f32.f16 s2, s219; HARD-NEXT: vadd.f32 s0, s2, s020; HARD-NEXT: vcvtb.f16.f32 s0, s021; HARD-NEXT: vmov r0, s022; HARD-NEXT: bx lr23;24; SOFT-LABEL: f2:25; SOFT: @ %bb.0: @ %entry26; SOFT-NEXT: .save {r11, lr}27; SOFT-NEXT: push {r11, lr}28; SOFT-NEXT: uxth r0, r029; SOFT-NEXT: bl __aeabi_h2f30; SOFT-NEXT: mov r1, #106535321631; SOFT-NEXT: bl __aeabi_fadd32; SOFT-NEXT: bl __aeabi_f2h33; SOFT-NEXT: pop {r11, pc}34entry:35 %0 = fadd half %a, 0xH3C0036 ret half %037}38