147 lines · plain
1; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s2; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc-ibm-aix-xcoff < %s | FileCheck %s3 4declare float @llvm.cos.f32(float)5declare float @llvm.exp.f32(float)6declare float @llvm.log10.f32(float)7declare float @llvm.log.f32(float)8declare float @llvm.pow.f32(float, float)9declare float @llvm.rint.f32(float)10declare float @llvm.sin.f32(float)11declare double @llvm.cos.f64(double)12declare double @llvm.exp.f64(double)13declare double @llvm.log.f64(double)14declare double @llvm.log10.f64(double)15declare double @llvm.pow.f64(double, double)16declare double @llvm.sin.f64(double)17 18; With afn flag specified per-function19define float @cosf_f32(float %a) {20; CHECK-LABEL: cosf_f3221; CHECK: __xl_cosf22; CHECK: blr23entry:24 %0 = tail call afn float @llvm.cos.f32(float %a)25 ret float %026}27 28; With afn flag specified per-function29define float @expf_f32(float %a) {30; CHECK-LABEL: expf_f3231; CHECK: __xl_expf32; CHECK: blr33entry:34 %0 = tail call afn float @llvm.exp.f32(float %a)35 ret float %036}37 38; With afn flag specified per-function39define float @log10f_f32(float %a) {40; CHECK-LABEL: log10f_f3241; CHECK: __xl_log10f42; CHECK: blr43entry:44 %0 = tail call afn float @llvm.log10.f32(float %a)45 ret float %046}47 48; With afn flag specified per-function49define float @logf_f32(float %a) {50; CHECK-LABEL: logf_f3251; CHECK: __xl_logf52; CHECK: blr53entry:54 %0 = tail call afn float @llvm.log.f32(float %a)55 ret float %056}57 58; With afn flag specified per-function59define float @powf_f32(float %a, float %b) {60; CHECK-LABEL: powf_f3261; CHECK: __xl_powf62; CHECK: blr63entry:64 %0 = tail call afn float @llvm.pow.f32(float %a, float %b)65 ret float %066}67 68; With afn flag specified per-function69define float @rintf_f32(float %a) {70; CHECK-LABEL: rintf_f3271; CHECK-NOT: bl __xl_rintf72; CHECK: blr73entry:74 %0 = tail call afn float @llvm.rint.f32(float %a)75 ret float %076}77 78; With afn flag specified per-function79define float @sinf_f32(float %a) {80; CHECK-LABEL: sinf_f3281; CHECK: __xl_sinf82; CHECK: blr83entry:84 %0 = tail call afn float @llvm.sin.f32(float %a)85 ret float %086}87 88; With afn flag specified per-function89define double @cos_f64(double %a) {90; CHECK-LABEL: cos_f6491; CHECK: __xl_cos92; CHECK: blr93entry:94 %0 = tail call afn double @llvm.cos.f64(double %a)95 ret double %096}97 98; With afn flag specified per-function99define double @exp_f64(double %a) {100; CHECK-LABEL: exp_f64101; CHECK: __xl_exp102; CHECK: blr103entry:104 %0 = tail call afn double @llvm.exp.f64(double %a)105 ret double %0106}107 108; With afn flag specified per-function109define double @log_f64(double %a) {110; CHECK-LABEL: log_f64111; CHECK: __xl_log112; CHECK: blr113entry:114 %0 = tail call afn double @llvm.log.f64(double %a)115 ret double %0116}117 118; With afn flag specified per-function119define double @log10_f64(double %a) {120; CHECK-LABEL: log10_f64121; CHECK: __xl_log10122; CHECK: blr123entry:124 %0 = tail call afn double @llvm.log10.f64(double %a)125 ret double %0126}127 128; With afn flag specified per-function129define double @pow_f64(double %a, double %b) {130; CHECK-LABEL: pow_f64131; CHECK: __xl_pow132; CHECK: blr133entry:134 %0 = tail call afn double @llvm.pow.f64(double %a, double %b)135 ret double %0136}137 138; With afn flag specified per-function139define double @sin_f64(double %a) {140; CHECK-LABEL: sin_f64141; CHECK: __xl_sin142; CHECK: blr143entry:144 %0 = tail call afn double @llvm.sin.f64(double %a)145 ret double %0146}147