[AVX512] add PSLLD and PSLLQ Intrinsic
[oota-llvm.git] / test / CodeGen / X86 / 2012-08-16-setcc.ll
1 ; RUN: llc < %s -mtriple=x86_64-apple-macosx | FileCheck %s
2
3 ; rdar://12081007
4
5 ; CHECK-LABEL: and_1:
6 ; CHECK: andb
7 ; CHECK-NEXT: cmovnel
8 ; CHECK: ret
9 define i32 @and_1(i8 zeroext %a, i8 zeroext %b, i32 %x) {
10   %1 = and i8 %b, %a
11   %2 = icmp ne i8 %1, 0
12   %3 = select i1 %2, i32 %x, i32 0
13   ret i32 %3
14 }
15
16 ; CHECK-LABEL: and_2:
17 ; CHECK: andb
18 ; CHECK-NEXT: setne
19 ; CHECK: ret
20 define zeroext i1 @and_2(i8 zeroext %a, i8 zeroext %b) {
21   %1 = and i8 %b, %a
22   %2 = icmp ne i8 %1, 0
23   ret i1 %2
24 }
25
26 ; CHECK-LABEL: xor_1:
27 ; CHECK: xorb
28 ; CHECK-NEXT: cmovnel
29 ; CHECK: ret
30 define i32 @xor_1(i8 zeroext %a, i8 zeroext %b, i32 %x) {
31   %1 = xor i8 %b, %a
32   %2 = icmp ne i8 %1, 0
33   %3 = select i1 %2, i32 %x, i32 0
34   ret i32 %3
35 }
36
37 ; CHECK-LABEL: xor_2:
38 ; CHECK: xorb
39 ; CHECK-NEXT: setne
40 ; CHECK: ret
41 define zeroext i1 @xor_2(i8 zeroext %a, i8 zeroext %b) {
42   %1 = xor i8 %b, %a
43   %2 = icmp ne i8 %1, 0
44   ret i1 %2
45 }