1; RUN: llc < %s -march=arm -mcpu=cortex-a8 -regalloc=linearscan | FileCheck %s 2 3; vmov s0, r0 + vmov r0, s0 should have been optimized away. 4; rdar://9104514 5 6; Peephole leaves a dead vmovsr instruction behind, and depends on linear scan 7; to remove it. 8 9define void @t(float %x) nounwind ssp { 10entry: 11; CHECK: t: 12; CHECK-NOT: vmov 13; CHECK: bl 14 %0 = bitcast float %x to i32 15 %cmp = icmp ult i32 %0, 2139095039 16 br i1 %cmp, label %if.then, label %if.end 17 18if.then: ; preds = %entry 19 tail call void @doSomething(float %x) nounwind 20 br label %if.end 21 22if.end: ; preds = %if.then, %entry 23 ret void 24} 25 26declare void @doSomething(float) 27