[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / shift-coalesce.ll
blob53becca69ef30adf36504f53d511c55bc1d52231
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=intel | \
3 ; RUN:   grep "shld.*cl"
4 ; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=intel | \
5 ; RUN:   not grep "mov cl, bl"
7 ; PR687
9 define i64 @foo(i64 %x, i64* %X) {
10         %tmp.1 = load i64, i64* %X           ; <i64> [#uses=1]
11         %tmp.3 = trunc i64 %tmp.1 to i8         ; <i8> [#uses=1]
12         %shift.upgrd.1 = zext i8 %tmp.3 to i64          ; <i64> [#uses=1]
13         %tmp.4 = shl i64 %x, %shift.upgrd.1             ; <i64> [#uses=1]
14         ret i64 %tmp.4