summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2018-01-31 19:12:50 +0000
committerChih-Hung Hsieh <chh@google.com>2018-01-31 19:12:50 +0000
commit60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d (patch)
tree05bba8178de7366c41a0aa9aba2aad87f05487af /llvm/test/CodeGen/AArch64/illegal-float-ops.ll
parent7892ae44b415d90d9d3f524edb9aa117d2e3c87f (diff)
downloadbcm5719-llvm-60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d.tar.gz
bcm5719-llvm-60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d.zip
[Analysis] Disable calls to *_finite and other glibc-only functions on Android.
Since r322087, glibc's finite lib calls are generated when possible. However, they are not supported on Android. This change also disables other functions not available on Android. Differential Revision: http://reviews.llvm.org/D42668 llvm-svn: 323898
Diffstat (limited to 'llvm/test/CodeGen/AArch64/illegal-float-ops.ll')
-rw-r--r--llvm/test/CodeGen/AArch64/illegal-float-ops.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/illegal-float-ops.ll b/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
index 81a3abd2bd9..8bee4437f6b 100644
--- a/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
+++ b/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
@@ -265,6 +265,30 @@ define void @test_exp2_finite(double %double) #0 {
ret void
}
+define void @test_log_finite(double %double) #0 {
+ %logdouble = call double @llvm.log.f64(double %double)
+ store double %logdouble, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log_finite
+ ; CHECK: bl __log_finite
+ ret void
+}
+
+define void @test_log2_finite(double %double) #0 {
+ %log2double = call double @llvm.log2.f64(double %double)
+ store double %log2double, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log2_finite
+ ; CHECK: bl __log2_finite
+ ret void
+}
+
+define void @test_log10_finite(double %double) #0 {
+ %log10double = call double @llvm.log10.f64(double %double)
+ store double %log10double, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log10_finite
+ ; CHECK: bl __log10_finite
+ ret void
+}
+
define void @test_pow_finite(double %double) #0 {
%powdouble = call double @llvm.pow.f64(double %double, double %double)
store double %powdouble, double* @vardouble
OpenPOWER on IntegriCloud