blob: e72d51f06d4ca55611a99f78b3f37161cfe2965c [file] [log] [blame]
Jakob Stoklund Olesen2eda9452011-11-12 22:39:30 +00001; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s
2; XFAIL: *
3; PR11364
Evan Chengd158fba2011-03-15 05:13:13 +00004
5; vmov s0, r0 + vmov r0, s0 should have been optimized away.
6; rdar://9104514
7
Jakob Stoklund Olesenca6fd002011-03-31 22:14:03 +00008; Peephole leaves a dead vmovsr instruction behind, and depends on linear scan
9; to remove it.
10
Evan Chengd158fba2011-03-15 05:13:13 +000011define void @t(float %x) nounwind ssp {
12entry:
13; CHECK: t:
14; CHECK-NOT: vmov
15; CHECK: bl
16 %0 = bitcast float %x to i32
17 %cmp = icmp ult i32 %0, 2139095039
18 br i1 %cmp, label %if.then, label %if.end
19
20if.then: ; preds = %entry
21 tail call void @doSomething(float %x) nounwind
22 br label %if.end
23
24if.end: ; preds = %if.then, %entry
25 ret void
26}
27
28declare void @doSomething(float)