aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-27 05:00:43 +0000
committerChris Lattner <sabre@nondot.org>2006-04-27 05:00:43 +0000
commitb9098653cb04d8b71e46398b53405ff6a20a743a (patch)
tree51eef226ffe9077043ce477794b6224e168b5db4
parenteda65fa20ba99e520d7f171d5b536458eea6e9c7 (diff)
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27986 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/Generic/2006-04-26-SetCCAnd.ll43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/CodeGen/Generic/2006-04-26-SetCCAnd.ll b/test/CodeGen/Generic/2006-04-26-SetCCAnd.ll
new file mode 100644
index 0000000000..d827a0cc14
--- /dev/null
+++ b/test/CodeGen/Generic/2006-04-26-SetCCAnd.ll
@@ -0,0 +1,43 @@
+; RUN: llvm-as < %s | llc
+; PR748
+
+%G = external global ushort ; <ushort*> [#uses=1]
+
+implementation ; Functions:
+
+void %OmNewObjHdr() {
+entry:
+ br bool false, label %endif.4, label %then.0
+
+then.0: ; preds = %entry
+ ret void
+
+endif.4: ; preds = %entry
+ br bool false, label %else.3, label %shortcirc_next.3
+
+shortcirc_next.3: ; preds = %endif.4
+ ret void
+
+else.3: ; preds = %endif.4
+ switch int 0, label %endif.10 [
+ int 5001, label %then.10
+ int -5008, label %then.10
+ ]
+
+then.10: ; preds = %else.3, %else.3
+ %tmp.112 = load ushort* null ; <ushort> [#uses=2]
+ %tmp.113 = load ushort* %G ; <ushort> [#uses=2]
+ %tmp.114 = setgt ushort %tmp.112, %tmp.113 ; <bool> [#uses=1]
+ %tmp.120 = setlt ushort %tmp.112, %tmp.113 ; <bool> [#uses=1]
+ %bothcond = and bool %tmp.114, %tmp.120 ; <bool> [#uses=1]
+ br bool %bothcond, label %else.4, label %then.11
+
+then.11: ; preds = %then.10
+ ret void
+
+else.4: ; preds = %then.10
+ ret void
+
+endif.10: ; preds = %else.3
+ ret void
+}