[PATCH] D11466: Correct x86_64 Android fp128 mangled name
Chih-Hung Hsieh
chh at google.com
Fri Jul 24 11:13:26 PDT 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL243133: Correct x86_64 Android fp128 mangled name (authored by chh).
Changed prior to commit:
http://reviews.llvm.org/D11466?vs=30505&id=30586#toc
Repository:
rL LLVM
http://reviews.llvm.org/D11466
Files:
cfe/trunk/lib/Basic/Targets.cpp
cfe/trunk/test/CodeGen/long_double_fp128.cpp
Index: cfe/trunk/lib/Basic/Targets.cpp
===================================================================
--- cfe/trunk/lib/Basic/Targets.cpp
+++ cfe/trunk/lib/Basic/Targets.cpp
@@ -7071,6 +7071,10 @@
: LinuxTargetInfo<X86_64TargetInfo>(Triple) {
LongDoubleFormat = &llvm::APFloat::IEEEquad;
}
+
+ bool useFloat128ManglingForLongDouble() const override {
+ return true;
+ }
};
} // end anonymous namespace
Index: cfe/trunk/test/CodeGen/long_double_fp128.cpp
===================================================================
--- cfe/trunk/test/CodeGen/long_double_fp128.cpp
+++ cfe/trunk/test/CodeGen/long_double_fp128.cpp
@@ -0,0 +1,22 @@
+// RUN: %clang_cc1 -triple x86_64-linux-android -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=A64
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=G64
+// RUN: %clang_cc1 -triple powerpc64-linux-gnu -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=P64
+// RUN: %clang_cc1 -triple i686-linux-android -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=A32
+// RUN: %clang_cc1 -triple i686-linux-gnu -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=G32
+// RUN: %clang_cc1 -triple powerpc-linux-gnu -emit-llvm -o - %s \
+// RUN: | FileCheck %s --check-prefix=P32
+
+// Check mangled name of long double.
+// Android's gcc and llvm use fp128 for long double.
+void test(long, float, double, long double, long double _Complex) { }
+// A64: define void @_Z4testlfdgCg(i64, float, double, fp128, { fp128, fp128 }*
+// G64: define void @_Z4testlfdeCe(i64, float, double, x86_fp80, { x86_fp80, x86_fp80 }*
+// P64: define void @_Z4testlfdgCg(i64, float, double, ppc_fp128, ppc_fp128 {{.*}}, ppc_fp128
+// A32: define void @_Z4testlfdeCe(i32, float, double, double, { double, double }*
+// G32: define void @_Z4testlfdeCe(i32, float, double, x86_fp80, { x86_fp80, x86_fp80 }*
+// P32: define void @_Z4testlfdgCg(i32, float, double, ppc_fp128, { ppc_fp128, ppc_fp128 }*
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11466.30586.patch
Type: text/x-patch
Size: 2051 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150724/5f1dbb07/attachment.bin>
More information about the cfe-commits
mailing list