new testcases
authorChris Lattner <sabre@nondot.org>
Thu, 9 Nov 2006 05:11:23 +0000 (05:11 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 9 Nov 2006 05:11:23 +0000 (05:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31585 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/add.ll
test/Transforms/InstCombine/shift-sra.ll

index 81ab29a0962ea7100ed056cc00a0c312b73963f2..382596ba87209d88cb0e6dcc1d76a6def4c2941a 100644 (file)
@@ -227,3 +227,16 @@ int %test32(int %A) {
        %D = sub int %C, 16
        ret int %D
 }
+
+ubyte %test33(ubyte %A) {   ;; OR A, 1
+        %B = and ubyte %A, 254
+        %C = add ubyte %B, 1
+        ret ubyte %C
+}
+
+ubyte %test34(ubyte %A) {
+        %B = add ubyte %A, 64   ;; dead
+        %C = and ubyte %B, 12
+        ret ubyte %C
+}
+
index 1dc74ecfa11014f5fc192e4bddf9e394a423c577..fe1b142b74be03f72b2e68ffb22abbfc314f40d3 100644 (file)
@@ -1,8 +1,17 @@
 ; RUN: llvm-as < %s | opt -instcombine -disable-output &&
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'lshr int'
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'lshr int' | wc -l | grep 2 &&
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep ashr
 
-int %test0(int %X, ubyte %A) {
+int %test1(int %X, ubyte %A) {
        %Y = shr int %X, ubyte %A  ; can be logical shift.
        %Z = and int %Y, 1
        ret int %Z
 }
+
+int %test2(ubyte %tmp) {
+        %tmp3 = cast ubyte %tmp to int
+        %tmp4 = add int %tmp3, 7
+        %tmp5 = ashr int %tmp4, ubyte 3   ; lshr
+        ret int %tmp5
+}
+