summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/opt-ext-uses.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-12-12 07:54:08 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-12-12 07:54:08 +0000
commit2044bccd1a4f0ade46554c3567092b7e928d5d27 (patch)
treeafb81840d0d2d294fd456c56568f48abc9d16a6f /test/CodeGen/X86/opt-ext-uses.ll
parentdb2d524d5f491d55ff1f10809636981cc7506a74 (diff)
downloadllvm-2044bccd1a4f0ade46554c3567092b7e928d5d27.tar.gz
llvm-2044bccd1a4f0ade46554c3567092b7e928d5d27.tar.bz2
llvm-2044bccd1a4f0ade46554c3567092b7e928d5d27.tar.xz
Add a test case for -optimize-ext-uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/opt-ext-uses.ll')
-rw-r--r--test/CodeGen/X86/opt-ext-uses.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/X86/opt-ext-uses.ll b/test/CodeGen/X86/opt-ext-uses.ll
new file mode 100644
index 0000000000..faa9be7550
--- /dev/null
+++ b/test/CodeGen/X86/opt-ext-uses.ll
@@ -0,0 +1,19 @@
+; RUN: llvm-as < %s | llc -march=x86 -optimize-ext-uses=true | grep movw | count 1
+
+define i16 @t() signext {
+entry:
+ %tmp180 = load i16* null, align 2 ; <i16> [#uses=3]
+ %tmp180181 = sext i16 %tmp180 to i32 ; <i32> [#uses=1]
+ %tmp182 = add i16 %tmp180, 10
+ %tmp185 = icmp slt i16 %tmp182, 0 ; <i1> [#uses=1]
+ br i1 %tmp185, label %cond_true188, label %cond_next245
+
+cond_true188: ; preds = %entry
+ %tmp195196 = trunc i16 %tmp180 to i8 ; <i8> [#uses=0]
+ ret i16 %tmp180
+
+cond_next245: ; preds = %entry
+ %tmp256 = and i32 %tmp180181, 15 ; <i32> [#uses=0]
+ %tmp3 = trunc i32 %tmp256 to i16
+ ret i16 %tmp3
+}