1 ; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s 2 ; XFAIL: * 3 ; PR11364 4 5 ; vmov s0, r0 + vmov r0, s0 should have been optimized away. 6 ; rdar://9104514 7 8 ; Peephole leaves a dead vmovsr instruction behind, and depends on linear scan 9 ; to remove it. 10 11 define void @t(float %x) nounwind ssp { 12 entry: 13 ; CHECK-LABEL: 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 20 if.then: ; preds = %entry 21 tail call void @doSomething(float %x) nounwind 22 br label %if.end 23 24 if.end: ; preds = %if.then, %entry 25 ret void 26 } 27 28 declare void @doSomething(float) 29