diff options
-rw-r--r-- | test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll new file mode 100644 index 0000000000..7a164ddf4d --- /dev/null +++ b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll @@ -0,0 +1,10 @@ +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl && +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep cast + +; This cannot be turned into a sign extending cast! + +long %test(long %X) { + %Y = shl long %X, ubyte 16 + %Z = shr long %Y, ubyte 16 + ret long %Z +} |