From: Sanjay Patel <spatel@rotateright.com>
Date: Fri, 7 Aug 2015 23:19:41 +0000 (+0000)
Subject: add a missing regression test for a DAGCombiner FDIV optimization
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3a16c7948a67a16da7a968984201b1f85a8009fa;p=oota-llvm.git

add a missing regression test for a DAGCombiner FDIV optimization

There's no test for this transform in any backend. Discovered
while debugging fast-math-flag propagation in the DAG (r244053).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244373 91177308-0d34-0410-b5e6-96231b3b80d8
---

diff --git a/test/CodeGen/X86/fdiv.ll b/test/CodeGen/X86/fdiv.ll
index 1451bc4d7ff..b995d774c8b 100644
--- a/test/CodeGen/X86/fdiv.ll
+++ b/test/CodeGen/X86/fdiv.ll
@@ -51,3 +51,18 @@ define double @denormal2(double %x) {
   ret double %div
 }
 
+; Deleting the negates does not require unsafe-fp-math.
+
+define float @double_negative(float %x, float %y) #0 {
+; CHECK-LABEL: double_negative:
+; CHECK:       # BB#0:
+; CHECK-NEXT:    divss %xmm1, %xmm0
+; CHECK-NEXT:    retq
+  %neg1 = fsub float -0.0, %x
+  %neg2 = fsub float -0.0, %y
+  %div = fdiv float %neg1, %neg2
+  ret float %div
+}
+
+attributes #0 = { "unsafe-fp-math"="false" }
+