[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / 2010-11-18-SelectOfExtload.ll
blob1764922dfd2639c5425398a2e80747ebf3783c4c
1 ; RUN: llc < %s -mtriple=i686-- -mattr=+cmov | FileCheck %s
2 ; Both values were being zero extended.
3 @u = external global i8
4 @s = external global i8
5 define i32 @foo(i1 %cond) {
6 ; CHECK: @foo
7   %u_base = load i8, i8* @u
8   %u_val = zext i8 %u_base to i32
9 ; CHECK: movzbl
10 ; CHECK: movsbl
11   %s_base = load i8, i8* @s
12   %s_val = sext i8 %s_base to i32
13   %val = select i1 %cond, i32 %u_val, i32 %s_val
14   ret i32 %val