[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / 2006-04-28-ShiftShiftLongLong.ll
blobbaaafefa81dec90a353dcc542623f5cda13cb553
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
3 ; This cannot be turned into a sign extending cast!
5 define i64 @test(i64 %X) {
6         %Y = shl i64 %X, 16             ; <i64> [#uses=1]
7 ; CHECK: %Y = shl i64 %X, 16
8         %Z = ashr i64 %Y, 16            ; <i64> [#uses=1]
9 ; CHECK: %Z = ashr exact i64 %Y, 16
10         ret i64 %Z
11 ; CHECK: ret i64 %Z