Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 | grep cmp | count 1
      2 ; PR964
      3 
      4 define i8* @FindChar(i8* %CurPtr) {
      5 entry:
      6         br label %bb
      7 
      8 bb:             ; preds = %bb, %entry
      9         %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ]          ; <i32> [#uses=3]
     10         %CurPtr_addr.0.rec = bitcast i32 %indvar to i32         ; <i32> [#uses=1]
     11         %gep.upgrd.1 = zext i32 %indvar to i64          ; <i64> [#uses=1]
     12         %CurPtr_addr.0 = getelementptr i8, i8* %CurPtr, i64 %gep.upgrd.1            ; <i8*> [#uses=1]
     13         %tmp = load i8, i8* %CurPtr_addr.0          ; <i8> [#uses=3]
     14         %tmp2.rec = add i32 %CurPtr_addr.0.rec, 1               ; <i32> [#uses=1]
     15         %tmp2 = getelementptr i8, i8* %CurPtr, i32 %tmp2.rec                ; <i8*> [#uses=1]
     16         %indvar.next = add i32 %indvar, 1               ; <i32> [#uses=1]
     17         switch i8 %tmp, label %bb [
     18                  i8 0, label %bb7
     19                  i8 120, label %bb7
     20         ]
     21 
     22 bb7:            ; preds = %bb, %bb
     23         tail call void @foo( i8 %tmp )
     24         ret i8* %tmp2
     25 }
     26 
     27 declare void @foo(i8)
     28 
     29