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