summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
committerEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
commita86343512845c9c1fdbac865fea88aa5fce7142a (patch)
tree666fc6353de19ad8b00e56b67edd33f24104e4a7 /llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
parent7f8ca6e3679b3af951cb7a4b1377edfaa3244b93 (diff)
downloadbcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.tar.gz
bcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.zip
Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll')
-rw-r--r--llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll112
1 files changed, 0 insertions, 112 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll b/llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
deleted file mode 100644
index 1146e31ec25..00000000000
--- a/llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
+++ /dev/null
@@ -1,112 +0,0 @@
-; RUN: opt -S -loop-vectorize < %s | FileCheck %s
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-define float @reduction_sum_float_ieee(i32 %n, float* %array) {
-; CHECK-LABEL: define float @reduction_sum_float_ieee(
-entry:
- %entry.cond = icmp ne i32 0, 4096
- br i1 %entry.cond, label %loop, label %loop.exit
-
-loop:
- %idx = phi i32 [ 0, %entry ], [ %idx.inc, %loop ]
- %sum = phi float [ 0.000000e+00, %entry ], [ %sum.inc, %loop ]
- %address = getelementptr float, float* %array, i32 %idx
- %value = load float, float* %address
- %sum.inc = fadd float %sum, %value
- %idx.inc = add i32 %idx, 1
- %be.cond = icmp ne i32 %idx.inc, 4096
- br i1 %be.cond, label %loop, label %loop.exit
-
-loop.exit:
- %sum.lcssa = phi float [ %sum.inc, %loop ], [ 0.000000e+00, %entry ]
-; CHECK-NOT: %wide.load = load <4 x float>, <4 x float>*
-; CHECK: ret float %sum.lcssa
- ret float %sum.lcssa
-}
-
-define float @reduction_sum_float_fastmath(i32 %n, float* %array) {
-; CHECK-LABEL: define float @reduction_sum_float_fastmath(
-; CHECK: fadd fast <4 x float>
-; CHECK: fadd fast <4 x float>
-; CHECK: fadd fast <4 x float>
-; CHECK: fadd fast <4 x float>
-; CHECK: fadd fast <4 x float>
-entry:
- %entry.cond = icmp ne i32 0, 4096
- br i1 %entry.cond, label %loop, label %loop.exit
-
-loop:
- %idx = phi i32 [ 0, %entry ], [ %idx.inc, %loop ]
- %sum = phi float [ 0.000000e+00, %entry ], [ %sum.inc, %loop ]
- %address = getelementptr float, float* %array, i32 %idx
- %value = load float, float* %address
- %sum.inc = fadd fast float %sum, %value
- %idx.inc = add i32 %idx, 1
- %be.cond = icmp ne i32 %idx.inc, 4096
- br i1 %be.cond, label %loop, label %loop.exit
-
-loop.exit:
- %sum.lcssa = phi float [ %sum.inc, %loop ], [ 0.000000e+00, %entry ]
-; CHECK: ret float %sum.lcssa
- ret float %sum.lcssa
-}
-
-define float @reduction_sum_float_only_reassoc(i32 %n, float* %array) {
-; CHECK-LABEL: define float @reduction_sum_float_only_reassoc(
-; CHECK-NOT: fadd fast
-; CHECK: fadd reassoc <4 x float>
-; CHECK: fadd reassoc <4 x float>
-; CHECK: fadd reassoc <4 x float>
-; CHECK: fadd reassoc <4 x float>
-; CHECK: fadd reassoc <4 x float>
-
-entry:
- %entry.cond = icmp ne i32 0, 4096
- br i1 %entry.cond, label %loop, label %loop.exit
-
-loop:
- %idx = phi i32 [ 0, %entry ], [ %idx.inc, %loop ]
- %sum = phi float [ 0.000000e+00, %entry ], [ %sum.inc, %loop ]
- %address = getelementptr float, float* %array, i32 %idx
- %value = load float, float* %address
- %sum.inc = fadd reassoc float %sum, %value
- %idx.inc = add i32 %idx, 1
- %be.cond = icmp ne i32 %idx.inc, 4096
- br i1 %be.cond, label %loop, label %loop.exit
-
-loop.exit:
- %sum.lcssa = phi float [ %sum.inc, %loop ], [ 0.000000e+00, %entry ]
-; CHECK: ret float %sum.lcssa
- ret float %sum.lcssa
-}
-
-define float @reduction_sum_float_only_reassoc_and_contract(i32 %n, float* %array) {
-; CHECK-LABEL: define float @reduction_sum_float_only_reassoc_and_contract(
-; CHECK-NOT: fadd fast
-; CHECK: fadd reassoc contract <4 x float>
-; CHECK: fadd reassoc contract <4 x float>
-; CHECK: fadd reassoc contract <4 x float>
-; CHECK: fadd reassoc contract <4 x float>
-; CHECK: fadd reassoc contract <4 x float>
-
-entry:
- %entry.cond = icmp ne i32 0, 4096
- br i1 %entry.cond, label %loop, label %loop.exit
-
-loop:
- %idx = phi i32 [ 0, %entry ], [ %idx.inc, %loop ]
- %sum = phi float [ 0.000000e+00, %entry ], [ %sum.inc, %loop ]
- %address = getelementptr float, float* %array, i32 %idx
- %value = load float, float* %address
- %sum.inc = fadd reassoc contract float %sum, %value
- %idx.inc = add i32 %idx, 1
- %be.cond = icmp ne i32 %idx.inc, 4096
- br i1 %be.cond, label %loop, label %loop.exit
-
-loop.exit:
- %sum.lcssa = phi float [ %sum.inc, %loop ], [ 0.000000e+00, %entry ]
-; CHECK: ret float %sum.lcssa
- ret float %sum.lcssa
-}
OpenPOWER on IntegriCloud