1; RUN: llc < %s -march=x86-64 | grep mov | count 2
2; rdar://6806252
3
4define i64 @test(i32* %tmp13) nounwind {
5entry:
6	br label %while.cond
7
8while.cond:		; preds = %while.cond, %entry
9	%tmp15 = load i32* %tmp13		; <i32> [#uses=2]
10	%bf.lo = lshr i32 %tmp15, 1		; <i32> [#uses=1]
11	%bf.lo.cleared = and i32 %bf.lo, 2147483647		; <i32> [#uses=1]
12	%conv = zext i32 %bf.lo.cleared to i64		; <i64> [#uses=1]
13	%bf.lo.cleared25 = and i32 %tmp15, 1		; <i32> [#uses=1]
14	%tobool = icmp ne i32 %bf.lo.cleared25, 0		; <i1> [#uses=1]
15	br i1 %tobool, label %while.cond, label %while.end
16
17while.end:		; preds = %while.cond
18	ret i64 %conv
19}
20