diff options
author | Sanjay Patel <spatel@rotateright.com> | 2017-01-26 20:52:27 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2017-01-26 20:52:27 +0000 |
commit | b0d96d327e09d0ac13b34078e7413709f4815b2d (patch) | |
tree | 3a31af4ecce2e946509930c696537438e900a1b7 /llvm/test/Transforms/InstCombine/apint-shift.ll | |
parent | 600b5261c4c5b8a1095a019396ed8771ea50f631 (diff) | |
download | bcm5719-llvm-b0d96d327e09d0ac13b34078e7413709f4815b2d.tar.gz bcm5719-llvm-b0d96d327e09d0ac13b34078e7413709f4815b2d.zip |
[InstCombine] use m_APInt to allow (X << C) >>u C --> X & (-1 >>u C) with splat vectors
llvm-svn: 293208
Diffstat (limited to 'llvm/test/Transforms/InstCombine/apint-shift.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/apint-shift.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Transforms/InstCombine/apint-shift.ll b/llvm/test/Transforms/InstCombine/apint-shift.ll index 046dd4315eb..7ddaf154f31 100644 --- a/llvm/test/Transforms/InstCombine/apint-shift.ll +++ b/llvm/test/Transforms/InstCombine/apint-shift.ll @@ -444,12 +444,12 @@ define i44 @shl_lshr_eq_amt_multi_use(i44 %A) { ret i44 %D } -; FIXME: Fold vector lshr (shl X, C), C -> and X, C' regardless of the number of uses of the shl. +; Fold vector lshr (shl X, C), C -> and X, C' regardless of the number of uses of the shl. define <2 x i44> @shl_lshr_eq_amt_multi_use_splat_vec(<2 x i44> %A) { ; CHECK-LABEL: @shl_lshr_eq_amt_multi_use_splat_vec( ; CHECK-NEXT: [[B:%.*]] = shl <2 x i44> %A, <i44 33, i44 33> -; CHECK-NEXT: [[C:%.*]] = lshr exact <2 x i44> [[B]], <i44 33, i44 33> +; CHECK-NEXT: [[C:%.*]] = and <2 x i44> %A, <i44 2047, i44 2047> ; CHECK-NEXT: [[D:%.*]] = or <2 x i44> [[B]], [[C]] ; CHECK-NEXT: ret <2 x i44> [[D]] ; |