blob: a6bdb13ec6b41213e5205fcc587e6efd9c9b11ad [file] [log] [blame]
Evan Cheng095dac22010-01-06 19:38:29 +00001; RUN: llc < %s -march=x86 | FileCheck %s -check-prefix=X32
2; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64
3
4define i32 @t(i32 %a, i32 %b) nounwind ssp {
5entry:
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
25bb: ; preds = %entry
26 %5 = tail call i32 (...)* @foo() nounwind ; <i32> [#uses=1]
27 ret i32 %5
28
29bb1: ; preds = %entry
30 %6 = tail call i32 (...)* @bar() nounwind ; <i32> [#uses=1]
31 ret i32 %6
32}
33
34declare i32 @foo(...)
35
36declare i32 @bar(...)