blob: 86254d3295b0665ab20aa36f548ad31ca0621783 [file] [log] [blame]
Chris Lattnere55484e2008-12-25 05:34:37 +00001; RUN: llvm-as < %s | llc | grep btl
Dan Gohmanf31408d2009-01-13 23:23:30 +00002; RUN: llvm-as < %s | llc -mcpu=pentium4 | grep btl | not grep esp
Evan Chengccb69762009-01-02 05:35:45 +00003; RUN: llvm-as < %s | llc -mcpu=penryn | grep btl | not grep esp
Chris Lattner1323e8b2008-12-25 05:40:38 +00004; PR3253
Dan Gohmanf31408d2009-01-13 23:23:30 +00005
6; The register+memory form of the BT instruction should be usable on
7; pentium4, however it is currently disabled due to the register+memory
8; form having different semantics than the register+register form.
9
Chris Lattnere55484e2008-12-25 05:34:37 +000010target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
11target triple = "i386-apple-darwin8"
12
13define void @test2(i32 %x, i32 %n) nounwind {
14entry:
15 %tmp29 = lshr i32 %x, %n ; <i32> [#uses=1]
16 %tmp3 = and i32 %tmp29, 1 ; <i32> [#uses=1]
17 %tmp4 = icmp eq i32 %tmp3, 0 ; <i1> [#uses=1]
18 br i1 %tmp4, label %bb, label %UnifiedReturnBlock
19
20bb: ; preds = %entry
21 call void @foo()
22 ret void
23
24UnifiedReturnBlock: ; preds = %entry
25 ret void
26}
27
28declare void @foo()