[AVX512] Bring back vector-shuffle lowering support through broadcasts
[oota-llvm.git] / test / CodeGen / X86 / atom-cmpb.ll
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* %rd_p, i64 1
15   %ld1 = load i8* %rd_p, align 1
16   %incdec.ptr1 = getelementptr inbounds i8* %rd_p, i64 2
17   %ld2 = load 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