[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