forked from OSchip/llvm-project
Bringing back the test with the required target related to commit 96515df816
This commit is contained in:
parent
babef908cc
commit
fe06b9f02c
|
@ -0,0 +1,148 @@
|
|||
// REQUIRES: powerpc-registered-target
|
||||
// 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-AFN
|
||||
// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -Ofast --target=powerpc64le-unknown-linux-gnu -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-FAST
|
||||
// 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-AFN
|
||||
// RUN: %clang -mllvm -enable-ppc-gen-scalar-mass -Ofast --target=powerpc-ibm-aix-xcoff -S %s -o -| FileCheck %s -check-prefix=CHECK-MASS-FAST
|
||||
|
||||
// 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-AFN
|
||||
// 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-FAST
|
||||
// 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-AFN
|
||||
// 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-FAST
|
||||
|
||||
// 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-AFN
|
||||
// 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-FAST
|
||||
// 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-AFN
|
||||
// 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-FAST
|
||||
|
||||
extern double sin(double a);
|
||||
extern double cos(double a);
|
||||
extern double pow(double a, double b);
|
||||
extern double log(double a);
|
||||
extern double log10(double a);
|
||||
extern double exp(double a);
|
||||
extern float sinf(float a);
|
||||
extern float cosf(float a);
|
||||
extern float powf(float a, float b);
|
||||
extern float logf(float a);
|
||||
extern float log10f(float a);
|
||||
extern float expf(float a);
|
||||
|
||||
double sin_f64(double a) {
|
||||
// CHECK-LABEL: sin_f64
|
||||
// CHECK-MASS-FAST: __xl_sin_finite
|
||||
// CHECK-MASS-AFN: __xl_sin
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_sin|__xl_sin_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_sin|__xl_sin_finite}}
|
||||
// CHECK: blr
|
||||
return sin(a);
|
||||
}
|
||||
|
||||
double cos_f64(double a) {
|
||||
// CHECK-LABEL: cos_f64
|
||||
// CHECK-MASS-FAST: __xl_cos_finite
|
||||
// CHECK-MASS-AFN: __xl_cos
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_cos|__xl_cos_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_cos|__xl_cos_finite}}
|
||||
// CHECK: blr
|
||||
return cos(a);
|
||||
}
|
||||
|
||||
double pow_f64(double a, double b) {
|
||||
// CHECK-LABEL: pow_f64
|
||||
// CHECK-MASS-FAST: __xl_pow_finite
|
||||
// CHECK-MASS-AFN: __xl_pow
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_pow|__xl_pow_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_pow|__xl_pow_finite}}
|
||||
// CHECK: blr
|
||||
return pow(a, b);
|
||||
}
|
||||
|
||||
double log_f64(double a) {
|
||||
// CHECK-LABEL: log_f64
|
||||
// CHECK-MASS-FAST: __xl_log_finite
|
||||
// CHECK-MASS-AFN: __xl_log
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_log|__xl_log_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_log|__xl_log_finite}}
|
||||
// CHECK: blr
|
||||
return log(a);
|
||||
}
|
||||
|
||||
double log10_f64(double a) {
|
||||
// CHECK-LABEL: log10_f64
|
||||
// CHECK-MASS-FAST: __xl_log10_finite
|
||||
// CHECK-MASS-AFN: __xl_log10
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_log10|__xl_log10_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_log10|__xl_log10_finite}}
|
||||
// CHECK: blr
|
||||
return log10(a);
|
||||
}
|
||||
|
||||
double exp_f64(double a) {
|
||||
// CHECK-LABEL: exp_f64
|
||||
// CHECK-MASS-FAST: __xl_exp_finite
|
||||
// CHECK-MASS-AFN: __xl_exp
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_exp|__xl_exp_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_exp|__xl_exp_finite}}
|
||||
// CHECK: blr
|
||||
return exp(a);
|
||||
}
|
||||
|
||||
float sin_f32(float a) {
|
||||
// CHECK-LABEL: sin_f32
|
||||
// CHECK-MASS-FAST: __xl_sinf_finite
|
||||
// CHECK-MASS-AFN: __xl_sinf
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_sinf|__xl_sinf_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_sinf|__xl_sinf_finite}}
|
||||
// CHECK: blr
|
||||
return sinf(a);
|
||||
}
|
||||
|
||||
float cos_f32(float a) {
|
||||
// CHECK-LABEL: cos_f32
|
||||
// CHECK-MASS-FAST: __xl_cosf_finite
|
||||
// CHECK-MASS-AFN: __xl_cosf
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_cosf|__xl_cosf_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_cosf|__xl_cosf_finite}}
|
||||
// CHECK: blr
|
||||
return cosf(a);
|
||||
}
|
||||
|
||||
float pow_f32(float a, float b) {
|
||||
// CHECK-LABEL: pow_f32
|
||||
// CHECK-MASS-FAST: __xl_powf_finite
|
||||
// CHECK-MASS-AFN: __xl_powf
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_pow|__xl_powf_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_pow|__xl_powf_finite}}
|
||||
// CHECK: blr
|
||||
return powf(a, b);
|
||||
}
|
||||
|
||||
float log_f32(float a) {
|
||||
// CHECK-LABEL: log_f32
|
||||
// CHECK-MASS-FAST: __xl_logf_finite
|
||||
// CHECK-MASS-AFN: __xl_logf
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_logf|__xl_logf_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_logf|__xl_logf_finite}}
|
||||
// CHECK: blr
|
||||
return logf(a);
|
||||
}
|
||||
|
||||
float log10_f32(float a) {
|
||||
// CHECK-LABEL: log10_f32
|
||||
// CHECK-MASS-FAST: __xl_log10f_finite
|
||||
// CHECK-MASS-AFN: __xl_log10f
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_log10f|__xl_log10f_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_log10f|__xl_log10f_finite}}
|
||||
// CHECK: blr
|
||||
return log10f(a);
|
||||
}
|
||||
|
||||
float exp_f32(float a) {
|
||||
// CHECK-LABEL: exp_f32
|
||||
// CHECK-MASS-FAST: __xl_expf_finite
|
||||
// CHECK-MASS-AFN: __xl_expf
|
||||
// CHECK-NO-MASS-FAST-NOT: {{__xl_expf|__xl_expf_finite}}
|
||||
// CHECK-NO-MASS-AFN-NOT: {{__xl_expf|__xl_expf_finite}}
|
||||
// CHECK: blr
|
||||
return expf(a);
|
||||
}
|
Loading…
Reference in New Issue