| Duncan Sands | 12f3b3b | 2010-11-18 20:05:18 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86 | 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* @u | ||||
| 8 | %u_val = zext i8 %u_base to i32 | ||||
| 9 | ; CHECK: movzbl | ||||
| 10 | ; CHECK: movsbl | ||||
| 11 | %s_base = load 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 | ||||
| 15 | } | ||||