diff options
author | Sanjay Patel <spatel@rotateright.com> | 2015-08-07 23:19:41 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2015-08-07 23:19:41 +0000 |
commit | 3a16c7948a67a16da7a968984201b1f85a8009fa (patch) | |
tree | c682a7a6bfddcebb79b36df9a5a61f0ab6890ae3 | |
parent | 945ad7d241ab24e92e8315ac3906b0a52a5d5b0d (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.ll | 15 |
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" } + |