Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86-64 | grep mov | count 2
      2 ; rdar://6806252
      3 
      4 define i64 @test(i32* %tmp13) nounwind {
      5 entry:
      6 	br label %while.cond
      7 
      8 while.cond:		; preds = %while.cond, %entry
      9 	%tmp15 = load i32, 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 
     17 while.end:		; preds = %while.cond
     18 	ret i64 %conv
     19 }
     20