diff options
| author | Ayal Zaks <ayal.zaks@intel.com> | 2017-08-15 08:32:59 +0000 |
|---|---|---|
| committer | Ayal Zaks <ayal.zaks@intel.com> | 2017-08-15 08:32:59 +0000 |
| commit | 25e2800e206af4e703c6d5ddbf81aa146cea1ec4 (patch) | |
| tree | 7913f5096f55b127c28088e66c9ce2266f0bed9f /llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll | |
| parent | b8417531dd37bff176df440bc013b036eda2c6a4 (diff) | |
| download | bcm5719-llvm-25e2800e206af4e703c6d5ddbf81aa146cea1ec4.tar.gz bcm5719-llvm-25e2800e206af4e703c6d5ddbf81aa146cea1ec4.zip | |
[LV] Minor savings to Sink casts to unravel first order recurrence
Two minor savings: avoid copying the SinkAfter map and avoid moving a cast if it
is not needed.
Differential Revision: https://reviews.llvm.org/D36408
llvm-svn: 310910
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll')
| -rw-r--r-- | llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll b/llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll index 508938958d5..3a8237ff84f 100644 --- a/llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll +++ b/llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll @@ -140,7 +140,10 @@ scalar.body: ; CHECK: vector.body: ; CHECK: %vector.recur = phi <4 x i16> [ %vector.recur.init, %vector.ph ], [ [[L1:%[a-zA-Z0-9.]+]], %vector.body ] ; CHECK: [[L1]] = load <4 x i16> -; CHECK: {{.*}} = shufflevector <4 x i16> %vector.recur, <4 x i16> [[L1]], <4 x i32> <i32 3, i32 4, i32 5, i32 6> +; CHECK: [[SHUF:%[a-zA-Z0-9.]+]] = shufflevector <4 x i16> %vector.recur, <4 x i16> [[L1]], <4 x i32> <i32 3, i32 4, i32 5, i32 6> +; Check also that the casts were not moved needlessly. +; CHECK: sitofp <4 x i16> [[L1]] to <4 x double> +; CHECK: sitofp <4 x i16> [[SHUF]] to <4 x double> ; CHECK: middle.block: ; CHECK: %vector.recur.extract = extractelement <4 x i16> [[L1]], i32 3 ; CHECK: scalar.ph: |

