Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mcpu=atom | FileCheck %s
      2 ; CHECK:        movl
      3 ; CHECK:        movb
      4 ; CHECK:        movb
      5 ; CHECK:        cmpb
      6 ; CHECK:        notb
      7 ; CHECK:        notb
      8 
      9 ; Test for checking of cancel conversion to cmp32 in Atom case 
     10 ; in function 'X86TargetLowering::EmitCmp'
     11  
     12 define i8 @run_test(i8* %rd_p) {
     13 entry:
     14   %incdec.ptr = getelementptr inbounds i8, i8* %rd_p, i64 1
     15   %ld1 = load i8, i8* %rd_p, align 1
     16   %incdec.ptr1 = getelementptr inbounds i8, i8* %rd_p, i64 2
     17   %ld2 = load i8, i8* %incdec.ptr, align 1
     18   %x4 = xor i8 %ld1, -1
     19   %x5 = xor i8 %ld2, -1
     20   %cmp34 = icmp ult i8 %ld2, %ld1
     21   br i1 %cmp34, label %if.then3, label %if.else
     22  
     23 if.then3:                                        
     24   %sub7 = sub i8 %x4, %x5
     25   br label %if.end4
     26  
     27 if.else:                           
     28   %sub8 = sub i8 %x5, %x4 
     29   br label %if.end4 
     30  
     31 if.end4:          
     32   %res = phi i8 [ %sub7, %if.then3 ], [ %sub8, %if.else ]
     33   ret i8 %res
     34 
     35 }
     36 
     37