From: Sanjay Patel Date: Sun, 27 Nov 2016 15:54:45 +0000 (+0000) Subject: add tests to show missing analysis; NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3fa74b3ad4844ca95d779ce7821c19974522376d;p=llvm add tests to show missing analysis; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287998 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/ValueTracking/knownzero-shift.ll b/test/Analysis/ValueTracking/knownzero-shift.ll index 2c4c1ef15af..cf5c0a05f21 100644 --- a/test/Analysis/ValueTracking/knownzero-shift.ll +++ b/test/Analysis/ValueTracking/knownzero-shift.ll @@ -14,3 +14,74 @@ define i1 @test(i8 %p, i8* %pq) { } !0 = !{ i8 1, i8 5 } + +define i32 @shl_shl(i32 %A) { +; CHECK-LABEL: @shl_shl( +; CHECK-NEXT: ret i32 0 +; + %B = shl i32 %A, 6 + %C = shl i32 %B, 28 + ret i32 %C +} + +; FIXME + +define <2 x i33> @shl_shl_splat_vec(<2 x i33> %A) { +; CHECK-LABEL: @shl_shl_splat_vec( +; CHECK-NEXT: [[B:%.*]] = shl <2 x i33> %A, +; CHECK-NEXT: [[C:%.*]] = shl <2 x i33> [[B]], +; CHECK-NEXT: ret <2 x i33> [[C]] +; + %B = shl <2 x i33> %A, + %C = shl <2 x i33> %B, + ret <2 x i33> %C +} + +; FIXME + +define <2 x i33> @shl_shl_vec(<2 x i33> %A) { +; CHECK-LABEL: @shl_shl_vec( +; CHECK-NEXT: [[B:%.*]] = shl <2 x i33> %A, +; CHECK-NEXT: [[C:%.*]] = shl <2 x i33> [[B]], +; CHECK-NEXT: ret <2 x i33> [[C]] +; + %B = shl <2 x i33> %A, + %C = shl <2 x i33> %B, + ret <2 x i33> %C +} + +define i232 @lshr_lshr(i232 %A) { +; CHECK-LABEL: @lshr_lshr( +; CHECK-NEXT: ret i232 0 +; + %B = lshr i232 %A, 231 + %C = lshr i232 %B, 1 + ret i232 %C +} + +; FIXME + +define <2 x i32> @lshr_lshr_splat_vec(<2 x i32> %A) { +; CHECK-LABEL: @lshr_lshr_splat_vec( +; CHECK-NEXT: [[B:%.*]] = lshr <2 x i32> %A, +; CHECK-NEXT: [[C:%.*]] = lshr <2 x i32> [[B]], +; CHECK-NEXT: ret <2 x i32> [[C]] +; + %B = lshr <2 x i32> %A, + %C = lshr <2 x i32> %B, + ret <2 x i32> %C +} + +; FIXME + +define <2 x i32> @lshr_lshr_vec(<2 x i32> %A) { +; CHECK-LABEL: @lshr_lshr_vec( +; CHECK-NEXT: [[B:%.*]] = lshr <2 x i32> %A, +; CHECK-NEXT: [[C:%.*]] = lshr <2 x i32> [[B]], +; CHECK-NEXT: ret <2 x i32> [[C]] +; + %B = lshr <2 x i32> %A, + %C = lshr <2 x i32> %B, + ret <2 x i32> %C +} +