summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/apint-shift.ll
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-01-26 20:52:27 +0000
committerSanjay Patel <spatel@rotateright.com>2017-01-26 20:52:27 +0000
commitb0d96d327e09d0ac13b34078e7413709f4815b2d (patch)
tree3a31af4ecce2e946509930c696537438e900a1b7 /llvm/test/Transforms/InstCombine/apint-shift.ll
parent600b5261c4c5b8a1095a019396ed8771ea50f631 (diff)
downloadbcm5719-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.ll4
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]]
;
OpenPOWER on IntegriCloud