Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 | FileCheck %s
      2 
      3 ; This test should get one and only one register to register mov.
      4 ; CHECK-LABEL: t:
      5 ; CHECK:     movl
      6 ; CHECK-NOT: mov
      7 ; CHECK:     ret
      8 
      9 define signext i16 @t()   {
     10 entry:
     11         %tmp180 = load i16, i16* null, align 2               ; <i16> [#uses=3]
     12         %tmp180181 = sext i16 %tmp180 to i32            ; <i32> [#uses=1]
     13         %tmp182 = add i16 %tmp180, 10
     14         %tmp185 = icmp slt i16 %tmp182, 0               ; <i1> [#uses=1]
     15         br i1 %tmp185, label %cond_true188, label %cond_next245
     16 
     17 cond_true188:           ; preds = %entry
     18         %tmp195196 = trunc i16 %tmp180 to i8            ; <i8> [#uses=0]
     19         ret i16 %tmp180
     20 
     21 cond_next245:           ; preds = %entry
     22         %tmp256 = and i32 %tmp180181, 15                ; <i32> [#uses=0]
     23         %tmp3 = trunc i32 %tmp256 to i16
     24         ret i16 %tmp3
     25 }
     26