[PATCH] D11438: Part 2 to fix x86_64 fp128 calling convention.

David Li via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 11 10:59:32 PST 2015


davidxl added inline comments.

================
Comment at: test/CodeGen/X86/fp128-cast.ll:136
@@ +135,3 @@
+define void @TestUIToFPU32_F128() #2 {
+entry:
+  %0 = load i32, i32* @vu32, align 4
----------------
Why do we care what transformations have been done to get the IR? The IR code should by  itself readable -- so while the C example is useful, I still prefer the naming in IR simplified.

================
Comment at: test/CodeGen/X86/fp128-compare.ll:34
@@ +33,3 @@
+  ret i32 %conv
+; CHECK-LABEL: TestComp128LT:
+; CHECK:       callq __lttf2
----------------
ok. But it is possible with test + sets, right?  may be adding a comment so that people know how to fix the test if it breaks in the future?

================
Comment at: test/CodeGen/X86/fp128-i128.ll:7
@@ +6,3 @@
+; union IEEEl2bits {
+;   long double e;
+;   struct {
----------------
__float128

================
Comment at: test/CodeGen/X86/fp128-i128.ll:23
@@ +22,3 @@
+; void foo(long double x);
+; void TestUnionLD1(long double s, unsigned long n) {
+;      union IEEEl2bits u;
----------------
long double --> __float128?

================
Comment at: test/CodeGen/X86/fp128-i128.ll:44
@@ +43,3 @@
+; CHECK:       movaps %xmm0, -24(%rsp)
+; CHECK-NEXT:  movq -24(%rsp), %rax
+; CHECK-NEXT:  movabsq $281474976710655, %rcx
----------------
The pattern checked is pretty long -- I worry it may break in the future. Is it possible to relax it some how?

================
Comment at: test/CodeGen/X86/fp128-i128.ll:57
@@ +56,3 @@
+; C code:
+; long double TestUnionLD2(long double s) {
+;      union IEEEl2bits u;
----------------
long double --> __float128

================
Comment at: test/CodeGen/X86/fp128-i128.ll:81
@@ +80,3 @@
+; C code:
+; long double TestI128_1(long double x)
+; {
----------------
long double --> __float128

================
Comment at: test/CodeGen/X86/fp128-i128.ll:106
@@ +105,3 @@
+; C code:
+; long double TestI128_2(long double x, long double y)
+; {
----------------
long double --> __float128


http://reviews.llvm.org/D11438





More information about the llvm-commits mailing list