summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-01-15 17:01:23 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-01-15 17:01:23 +0000
commit60e19a46f2888a2247004e1da168525038a0848e (patch)
tree684387ad4a5341837dee9ee592ecaa22e8e46fc3 /llvm/test
parent91febd133067b8a592c6910b64587d743faa660a (diff)
downloadbcm5719-llvm-60e19a46f2888a2247004e1da168525038a0848e.tar.gz
bcm5719-llvm-60e19a46f2888a2247004e1da168525038a0848e.zip
- Teach CanEvaluateInDifferentType of this xform: sext (zext ty1), ty2 -> zext ty2
- Looking at the number of sign bits of the a sext instruction to determine whether new trunc + sext pair should be added when its source is being evaluated in a different type. llvm-svn: 62263
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/InstCombine/cast-sext-zext.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/cast-sext-zext.ll b/llvm/test/Transforms/InstCombine/cast-sext-zext.ll
new file mode 100644
index 00000000000..da5e7facfad
--- /dev/null
+++ b/llvm/test/Transforms/InstCombine/cast-sext-zext.ll
@@ -0,0 +1,11 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep sext
+
+define zeroext i16 @t(i8 zeroext %on_off, i16* nocapture %puls) nounwind readonly {
+entry:
+ %0 = zext i8 %on_off to i32
+ %1 = add i32 %0, -1
+ %2 = sext i32 %1 to i64
+ %3 = getelementptr i16* %puls, i64 %2
+ %4 = load i16* %3, align 2
+ ret i16 %4
+}
OpenPOWER on IntegriCloud