70 lines · plain
1; RUN: llc -mtriple=xcore-unknown-unknown < %s | FileCheck %s2 3; CHECK-LABEL: exp10_f16:4; CHECK: bl __extendhfsf25; CHECK: bl exp10f6; CHECK: bl __truncsfhf27define half @exp10_f16(half %x) #0 {8 %r = call half @llvm.exp10.f16(half %x)9 ret half %r10}11 12; CHECK-LABEL: exp10_v2f16:13; CHECK: bl __extendhfsf214; CHECK: bl __extendhfsf215; CHECK: bl exp10f16; CHECK: bl exp10f17; CHECK: bl __truncsfhf218; CHECK: bl __truncsfhf219define <2 x half> @exp10_v2f16(<2 x half> %x) #0 {20 %r = call <2 x half> @llvm.exp10.v2f16(<2 x half> %x)21 ret <2 x half> %r22}23 24; CHECK-LABEL: exp10_f32:25; CHECK: bl exp10f26define float @exp10_f32(float %x) #0 {27 %r = call float @llvm.exp10.f32(float %x)28 ret float %r29}30 31; CHECK-LABEL: exp10_v2f32:32; CHECK: bl exp10f33; CHECK: bl exp10f34define <2 x float> @exp10_v2f32(<2 x float> %x) #0 {35 %r = call <2 x float> @llvm.exp10.v2f32(<2 x float> %x)36 ret <2 x float> %r37}38 39; CHECK-LABEL: exp10_f64:40; CHECK: bl exp1041define double @exp10_f64(double %x) #0 {42 %r = call double @llvm.exp10.f64(double %x)43 ret double %r44}45 46; CHECK-LABEL: exp10_v2f64:47; CHECK: bl exp1048; CHECK: bl exp1049define <2 x double> @exp10_v2f64(<2 x double> %x) #0 {50 %r = call <2 x double> @llvm.exp10.v2f64(<2 x double> %x)51 ret <2 x double> %r52}53 54; CHECK-LABEL: exp10_f128:55; CHECK: bl exp10l56define fp128 @exp10_f128(fp128 %x) #0 {57 %r = call fp128 @llvm.exp10.f128(fp128 %x)58 ret fp128 %r59}60 61; CHECK-LABEL: exp10_v2f128:62; CHECK: bl exp10l63; CHECK: bl exp10l64define <2 x fp128> @exp10_v2f128(<2 x fp128> %x) #0 {65 %r = call <2 x fp128> @llvm.exp10.v2f128(<2 x fp128> %x)66 ret <2 x fp128> %r67}68 69attributes #0 = { nounwind }70