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