InstCombine: Make the (fmul X, -1.0) -> (fsub -0.0, X) transform handle vectors too.

PR18532.

llvm-svn: 199553
diff --git a/llvm/test/Transforms/InstCombine/fmul.ll b/llvm/test/Transforms/InstCombine/fmul.ll
index 0b4a90d..fdfc8df 100644
--- a/llvm/test/Transforms/InstCombine/fmul.ll
+++ b/llvm/test/Transforms/InstCombine/fmul.ll
@@ -104,3 +104,12 @@
 ; CHECK: fsub
 }
 
+; PR18532
+define <4 x float> @test10(<4 x float> %x) {
+  %mul = fmul <4 x float> %x, <float -1.0, float -1.0, float -1.0, float -1.0>
+  ret <4 x float> %mul
+
+; CHECK-LABEL: @test10(
+; CHECK-NOT: fmul
+; CHECK: fsub
+}