summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-08-07 23:19:41 +0000
committerSanjay Patel <spatel@rotateright.com>2015-08-07 23:19:41 +0000
commit3a16c7948a67a16da7a968984201b1f85a8009fa (patch)
treec682a7a6bfddcebb79b36df9a5a61f0ab6890ae3
parent945ad7d241ab24e92e8315ac3906b0a52a5d5b0d (diff)
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
-rw-r--r--test/CodeGen/X86/fdiv.ll15
1 files changed, 15 insertions, 0 deletions
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" }
+