llvm/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll
2008-03-01 09:15:35 +00:00

12 lines
340 B
LLVM

; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast
; This cannot be turned into a sign extending cast!
define i64 @test(i64 %X) {
%Y = shl i64 %X, 16 ; <i64> [#uses=1]
%Z = ashr i64 %Y, 16 ; <i64> [#uses=1]
ret i64 %Z
}