From 0f51d1495738f0d30a3fc1d3fb1226c84c329ec5 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Fri, 7 Aug 2015 23:19:41 +0000 Subject: [PATCH] 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). llvm-svn: 244373 --- llvm/test/CodeGen/X86/fdiv.ll | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/llvm/test/CodeGen/X86/fdiv.ll b/llvm/test/CodeGen/X86/fdiv.ll index 1451bc4d7ffc..b995d774c8b1 100644 --- a/llvm/test/CodeGen/X86/fdiv.ll +++ b/llvm/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" } +