Revert commits 96556 and 96640, because commit 96556 breaks the
[oota-llvm.git] / test / CodeGen / X86 / xor-icmp.ll
1 ; RUN: llc < %s -march=x86    | FileCheck %s -check-prefix=X32
2 ; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64
3
4 define i32 @t(i32 %a, i32 %b) nounwind ssp {
5 entry:
6 ; X32:     t:
7 ; X32:     xorb
8 ; X32-NOT: andb
9 ; X32-NOT: shrb
10 ; X32:     testb $64
11 ; X32:     jne
12
13 ; X64:     t:
14 ; X64-NOT: setne
15 ; X64:     xorl
16 ; X64:     testb $64
17 ; X64:     jne
18   %0 = and i32 %a, 16384
19   %1 = icmp ne i32 %0, 0
20   %2 = and i32 %b, 16384
21   %3 = icmp ne i32 %2, 0
22   %4 = xor i1 %1, %3
23   br i1 %4, label %bb1, label %bb
24
25 bb:                                               ; preds = %entry
26   %5 = tail call i32 (...)* @foo() nounwind       ; <i32> [#uses=1]
27   ret i32 %5
28
29 bb1:                                              ; preds = %entry
30   %6 = tail call i32 (...)* @bar() nounwind       ; <i32> [#uses=1]
31   ret i32 %6
32 }
33
34 declare i32 @foo(...)
35
36 declare i32 @bar(...)