1; RUN: llc < %s -march=x86 | FileCheck %s
2
3; Use an h register, but don't omit the explicit shift for
4; non-address use(s).
5
6define i32 @foo(i8* %x, i32 %y) nounwind {
7; CHECK-LABEL: foo:
8; CHECK-NOT: ret
9; CHECK: movzbl %{{[abcd]h}},
10; CHECK-NOT: ret
11; CHECK: shll $3,
12; CHECK: ret
13
14	%t0 = lshr i32 %y, 8		; <i32> [#uses=1]
15	%t1 = and i32 %t0, 255		; <i32> [#uses=2]
16  %t2 = shl i32 %t1, 3
17	%t3 = getelementptr i8* %x, i32 %t2		; <i8*> [#uses=1]
18	store i8 77, i8* %t3, align 4
19	ret i32 %t2
20}
21