llvm-6502/test/Transforms/InstCombine/cast-sext-zext.ll
Evan Cheng f35fd547ac - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62263 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 17:01:23 +00:00

12 lines
314 B
LLVM

; 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
}