summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/EarlyCSE/floatingpoint.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/EarlyCSE/floatingpoint.ll')
-rw-r--r--llvm/test/Transforms/EarlyCSE/floatingpoint.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/Transforms/EarlyCSE/floatingpoint.ll b/llvm/test/Transforms/EarlyCSE/floatingpoint.ll
new file mode 100644
index 00000000000..d6811a3d648
--- /dev/null
+++ b/llvm/test/Transforms/EarlyCSE/floatingpoint.ll
@@ -0,0 +1,15 @@
+; RUN: opt < %s -S -early-cse | FileCheck %s
+; RUN: opt < %s -S -basicaa -early-cse-memssa | FileCheck %s
+
+; Ensure we don't simplify away additions vectors of +0.0's (same as scalars).
+define <4 x float> @fV( <4 x float> %a) {
+ ; CHECK: %b = fadd <4 x float> %a, zeroinitializer
+ %b = fadd <4 x float> %a, <float 0.0,float 0.0,float 0.0,float 0.0>
+ ret <4 x float> %b
+}
+
+define <4 x float> @fW( <4 x float> %a) {
+ ; CHECK: ret <4 x float> %a
+ %b = fadd <4 x float> %a, <float -0.0,float -0.0,float -0.0,float -0.0>
+ ret <4 x float> %b
+}
OpenPOWER on IntegriCloud