aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-08-02 18:48:09 +0000
committerChris Lattner <sabre@nondot.org>2002-08-02 18:48:09 +0000
commitc7f9637a9d6359a3898531e7266fcb370da770c1 (patch)
tree4420a4e9cfc9428935aac9fb6d9eb9b2daa2923e
parentd656922f9d3eaba39d0290e014232b698f925a2c (diff)
Add another testcase that isn't failing because of another bug in instcombine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3220 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/InstCombine/cast.ll18
1 files changed, 11 insertions, 7 deletions
diff --git a/test/Transforms/InstCombine/cast.ll b/test/Transforms/InstCombine/cast.ll
index 42b7ad9b7c..82b5c213a0 100644
--- a/test/Transforms/InstCombine/cast.ll
+++ b/test/Transforms/InstCombine/cast.ll
@@ -1,23 +1,27 @@
; Tests to make sure elimination of casts is working correctly
-; RUN: if as < %s | opt -instcombine -dce | grep '%c'
+; RUN: if as < %s | opt -instcombine -dce | grep '%c' | grep cast
; RUN: then exit 1
; RUN: else exit 0
; RUN: fi
implementation
-int "test1"(int %A)
-begin
+int %test1(int %A) {
%c1 = cast int %A to uint
%c2 = cast uint %c1 to int
ret int %c2
-end
+}
-ulong "test2"(ubyte %A)
-begin
+ulong %test2(ubyte %A) {
%c1 = cast ubyte %A to ushort
%c2 = cast ushort %c1 to uint
%Ret = cast uint %c2 to ulong
ret ulong %Ret
-end
+}
+
+ulong %test3(ulong %A) { ; This function should just use bitwise AND
+ %c1 = cast ulong %A to ubyte
+ %c2 = cast ubyte %c1 to ulong
+ ret ulong %c2
+}