1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86 -mattr=+cmov | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; Both values were being zero extended. 3*9880d681SAndroid Build Coastguard Worker@u = external global i8 4*9880d681SAndroid Build Coastguard Worker@s = external global i8 5*9880d681SAndroid Build Coastguard Workerdefine i32 @foo(i1 %cond) { 6*9880d681SAndroid Build Coastguard Worker; CHECK: @foo 7*9880d681SAndroid Build Coastguard Worker %u_base = load i8, i8* @u 8*9880d681SAndroid Build Coastguard Worker %u_val = zext i8 %u_base to i32 9*9880d681SAndroid Build Coastguard Worker; CHECK: movzbl 10*9880d681SAndroid Build Coastguard Worker; CHECK: movsbl 11*9880d681SAndroid Build Coastguard Worker %s_base = load i8, i8* @s 12*9880d681SAndroid Build Coastguard Worker %s_val = sext i8 %s_base to i32 13*9880d681SAndroid Build Coastguard Worker %val = select i1 %cond, i32 %u_val, i32 %s_val 14*9880d681SAndroid Build Coastguard Worker ret i32 %val 15*9880d681SAndroid Build Coastguard Worker} 16