16 lines · plain
1; RUN: llc < %s -mtriple=i686-- -mattr=+cmov | FileCheck %s2; Both values were being zero extended.3@u = external dso_local global i84@s = external dso_local global i85define i32 @foo(i1 %cond) {6; CHECK: @foo7 %u_base = load i8, ptr @u8 %u_val = zext i8 %u_base to i329; CHECK: movzbl10; CHECK: movsbl11 %s_base = load i8, ptr @s12 %s_val = sext i8 %s_base to i3213 %val = select i1 %cond, i32 %u_val, i32 %s_val14 ret i32 %val15}16