[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / 2006-10-20-mask.ll
blobe9797ae50c95834450a3f8394818c3cd60cc8bdd
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
2 ; CHECK: and
4 define i64 @foo(i64 %tmp, i64 %tmp2) {
5         %tmp.upgrd.1 = trunc i64 %tmp to i32            ; <i32> [#uses=1]
6         %tmp2.upgrd.2 = trunc i64 %tmp2 to i32          ; <i32> [#uses=1]
7         %tmp3 = and i32 %tmp.upgrd.1, %tmp2.upgrd.2             ; <i32> [#uses=1]
8         %tmp4 = zext i32 %tmp3 to i64           ; <i64> [#uses=1]
9         ret i64 %tmp4