brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · 41a6590 Raw
149 lines · c
1// REQUIRES: powerpc-registered-target2// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -O3 -fapprox-func --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-AFN3// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -Ofast --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-FAST4// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -O3 -fapprox-func --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-AFN5// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -Ofast --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-FAST6 7// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass=false -O3 -fapprox-func --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-AFN8// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass=false -Ofast --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-FAST9// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass=false -O3 -fapprox-func --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-AFN10// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass=false -Ofast --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-FAST11 12// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -O3 -fno-approx-func --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-AFN13// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -fno-fast-math --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-FAST14// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -O3 -fno-approx-func --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-AFN15// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -fno-fast-math --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-NO-MASS-FAST16 17extern double sin(double a);18extern double cos(double a);19extern double pow(double a, double b);20extern double log(double a);21extern double log10(double a);22extern double exp(double a);23extern float sinf(float a);24extern float cosf(float a);25extern float powf(float a, float b);26extern float logf(float a);27extern float log10f(float a);28extern float expf(float a);29 30double sin_f64(double a) {31// CHECK-LABEL: sin_f6432// CHECK-MASS-FAST: __xl_sin_finite33// CHECK-MASS-AFN: __xl_sin34// CHECK-NO-MASS-FAST-NOT: {{__xl_sin|__xl_sin_finite}}35// CHECK-NO-MASS-AFN-NOT: {{__xl_sin|__xl_sin_finite}}36// CHECK: blr37  return sin(a);38}39 40double cos_f64(double a) {41// CHECK-LABEL: cos_f6442// CHECK-MASS-FAST: __xl_cos_finite43// CHECK-MASS-AFN: __xl_cos44// CHECK-NO-MASS-FAST-NOT: {{__xl_cos|__xl_cos_finite}}45// CHECK-NO-MASS-AFN-NOT: {{__xl_cos|__xl_cos_finite}}46// CHECK: blr47  return cos(a);48}49 50double pow_f64(double a, double b) {51// CHECK-LABEL: pow_f6452// CHECK-MASS-FAST: __xl_pow_finite53// CHECK-MASS-AFN: __xl_pow54// CHECK-NO-MASS-FAST-NOT: {{__xl_pow|__xl_pow_finite}}55// CHECK-NO-MASS-AFN-NOT: {{__xl_pow|__xl_pow_finite}}56// CHECK: blr57  return pow(a, b);58}59 60double log_f64(double a) {61// CHECK-LABEL: log_f6462// CHECK-MASS-FAST: __xl_log_finite63// CHECK-MASS-AFN: __xl_log64// CHECK-NO-MASS-FAST-NOT: {{__xl_log|__xl_log_finite}}65// CHECK-NO-MASS-AFN-NOT: {{__xl_log|__xl_log_finite}}66// CHECK: blr67  return log(a);68}69 70double log10_f64(double a) {71// CHECK-LABEL: log10_f6472// CHECK-MASS-FAST: __xl_log10_finite73// CHECK-MASS-AFN: __xl_log1074// CHECK-NO-MASS-FAST-NOT: {{__xl_log10|__xl_log10_finite}}75// CHECK-NO-MASS-AFN-NOT: {{__xl_log10|__xl_log10_finite}}76// CHECK: blr77  return log10(a);78}79 80double exp_f64(double a) {81// CHECK-LABEL: exp_f6482// CHECK-MASS-FAST: __xl_exp_finite83// CHECK-MASS-AFN: __xl_exp84// CHECK-NO-MASS-FAST-NOT: {{__xl_exp|__xl_exp_finite}}85// CHECK-NO-MASS-AFN-NOT: {{__xl_exp|__xl_exp_finite}}86// CHECK: blr87  return exp(a);88}89 90float sin_f32(float a) {91// CHECK-LABEL: sin_f3292// CHECK-MASS-FAST: __xl_sinf_finite93// CHECK-MASS-AFN: __xl_sinf94// CHECK-NO-MASS-FAST-NOT: {{__xl_sinf|__xl_sinf_finite}}95// CHECK-NO-MASS-AFN-NOT: {{__xl_sinf|__xl_sinf_finite}}96// CHECK: blr97  return sinf(a);98}99 100float cos_f32(float a) {101// CHECK-LABEL: cos_f32102// CHECK-MASS-FAST: __xl_cosf_finite103// CHECK-MASS-AFN: __xl_cosf104// CHECK-NO-MASS-FAST-NOT: {{__xl_cosf|__xl_cosf_finite}}105// CHECK-NO-MASS-AFN-NOT: {{__xl_cosf|__xl_cosf_finite}}106// CHECK: blr107  return cosf(a);108}109 110float pow_f32(float a, float b) {111// CHECK-LABEL: pow_f32112// CHECK-MASS-FAST: __xl_powf_finite113// CHECK-MASS-AFN: __xl_powf114// CHECK-NO-MASS-FAST-NOT: {{__xl_pow|__xl_powf_finite}}115// CHECK-NO-MASS-AFN-NOT: {{__xl_pow|__xl_powf_finite}}116// CHECK: blr117  return powf(a, b);118}119 120float log_f32(float a) {121// CHECK-LABEL: log_f32122// CHECK-MASS-FAST: __xl_logf_finite123// CHECK-MASS-AFN: __xl_logf124// CHECK-NO-MASS-FAST-NOT: {{__xl_logf|__xl_logf_finite}}125// CHECK-NO-MASS-AFN-NOT: {{__xl_logf|__xl_logf_finite}}126// CHECK: blr127  return logf(a);128}129 130float log10_f32(float a) {131// CHECK-LABEL: log10_f32132// CHECK-MASS-FAST: __xl_log10f_finite133// CHECK-MASS-AFN: __xl_log10f134// CHECK-NO-MASS-FAST-NOT: {{__xl_log10f|__xl_log10f_finite}}135// CHECK-NO-MASS-AFN-NOT: {{__xl_log10f|__xl_log10f_finite}}136// CHECK: blr137  return log10f(a);138}139 140float exp_f32(float a) {141// CHECK-LABEL: exp_f32142// CHECK-MASS-FAST: __xl_expf_finite143// CHECK-MASS-AFN: __xl_expf144// CHECK-NO-MASS-FAST-NOT: {{__xl_expf|__xl_expf_finite}}145// CHECK-NO-MASS-AFN-NOT: {{__xl_expf|__xl_expf_finite}}146// CHECK: blr147  return expf(a);148}149