[PATCH] D10804: [SDAG] Optimize unordered comparison in soft-float mode

Anton Nadolskiy anton.nadolskiy at gmail.com
Mon Jul 6 05:56:02 PDT 2015


ping


================
Comment at: test/CodeGen/AArch64/arm64-fp128.ll:167
@@ -171,3 +166,3 @@
 
   ; olt == !uge, which LLVM unfortunately "optimizes" this to.
   %cond = fcmp olt fp128 %lhs, %rhs
----------------
ab wrote:
> Can this comment be removed now?  I guess your change lets us undo some other transform (which you should probably look into by the way)
This comment explains line 171: why we compare with GE, instead of LT (that should be in case of ordered LT)

================
Comment at: test/CodeGen/AArch64/arm64-fp128.ll:178
@@ -189,4 +177,3 @@
 ; CHECK-NEXT: movz w0, #0x2a
-; CHECK-NEXT: b [[REALRET:.LBB[0-9]+_[0-9]+]]
-
+; CHECK: ret
 iffalse:
----------------
ab wrote:
> CHECK-NEXT?
No, there is ldp instruction in between

================
Comment at: test/CodeGen/AArch64/arm64-fp128.ll:182
@@ -197,2 +181,3 @@
+; CHECK: movz w0, #0x1d
 ; CHECK: ret
 }
----------------
ab wrote:
> CHECK-NEXT?
same here

================
Comment at: test/CodeGen/Thumb2/float-cmp.ll:84
@@ -83,4 +83,3 @@
 ; CHECK-LABEL: cmp_f_ugt:
-; NONE: bl __aeabi_fcmpgt
-; NONE: bl __aeabi_fcmpun
+; NONE: bl __aeabi_fcmple
 ; HARD: vcmpe.f32
----------------
ab wrote:
> Hmm, these might benefit from stricter CHECK/NONE, since I guess the result gets inverted?
Sorry, I didn't understand that. Can you please explain?

================
Comment at: test/CodeGen/X86/fp-cmp-sf.ll:1
@@ +1,2 @@
+; RUN: llc < %s -march=x86 -mcpu=pentium -float-abi=soft | FileCheck %s 
+
----------------
ab wrote:
> Can you chmod this file as non-executable?  Also, what about "fpcmp-soft-float" or "fpcmp-soft-fp"? "sf" isn't descriptive enough IMO.
Why chmod this as non-executable?  Other tests don't do that.


Repository:
  rL LLVM

http://reviews.llvm.org/D10804







More information about the llvm-commits mailing list