blob: 03292582918a92934d0e054e610fcda35f44226f [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc < %s | FileCheck %s
; Make sure there's no assertion from peephole-opt introducing illegal
; subregister index uses.
target triple = "thumbv7-unknown-linux-android29"
define void @_ZN11VersionEdit10DecodeFromEv(i1 %call4, ptr %__profc__ZN11VersionEdit10DecodeFromEv) nounwind {
; CHECK-LABEL: _ZN11VersionEdit10DecodeFromEv:
; CHECK: @ %bb.0: @ %land.rhs.lr.ph
; CHECK-NEXT: lsls r0, r0, #31
; CHECK-NEXT: beq .LBB0_2
; CHECK-NEXT: @ %bb.1:
; CHECK-NEXT: adr r0, .LCPI0_0
; CHECK-NEXT: vld1.64 {d0, d1}, [r0:128]
; CHECK-NEXT: b .LBB0_3
; CHECK-NEXT: .LBB0_2: @ %select.false
; CHECK-NEXT: vmov.i32 q0, #0x0
; CHECK-NEXT: .LBB0_3: @ %select.end
; CHECK-NEXT: vldr s5, .LCPI0_1
; CHECK-NEXT: vldr s4, .LCPI0_2
; CHECK-NEXT: vmov.f32 s6, s0
; CHECK-NEXT: vmov.f32 s7, s1
; CHECK-NEXT: vst1.64 {d2, d3}, [r1]
; CHECK-NEXT: bx lr
; CHECK-NEXT: .p2align 4
; CHECK-NEXT: @ %bb.4:
; CHECK-NEXT: .LCPI0_0:
; CHECK-NEXT: .long 1 @ 0x1
; CHECK-NEXT: .long 0 @ 0x0
; CHECK-NEXT: .long 1 @ 0x1
; CHECK-NEXT: .long 0 @ 0x0
; CHECK-NEXT: .LCPI0_1:
; CHECK-NEXT: .long 0x00000000 @ float 0
; CHECK-NEXT: .LCPI0_2:
; CHECK-NEXT: .long 0x00000001 @ float 1.40129846E-45
land.rhs.lr.ph:
br i1 %call4, label %sw.bb, label %while.cond.while.end_crit_edge.split.loop.exit43
while.cond.while.end_crit_edge.split.loop.exit43: ; preds = %land.rhs.lr.ph
%ext0 = extractelement <4 x i64> zeroinitializer, i64 0
br label %while.cond.while.end_crit_edge
while.cond.while.end_crit_edge: ; preds = %sw.bb, %while.cond.while.end_crit_edge.split.loop.exit43
%pgocount5374.ph = phi i64 [ %ext1, %sw.bb ], [ %ext0, %while.cond.while.end_crit_edge.split.loop.exit43 ]
%ins = insertelement <2 x i64> splat (i64 1), i64 %pgocount5374.ph, i64 1
store <2 x i64> %ins, ptr %__profc__ZN11VersionEdit10DecodeFromEv, align 8
ret void
sw.bb: ; preds = %land.rhs.lr.ph
%ext1 = extractelement <4 x i64> splat (i64 1), i64 0
br label %while.cond.while.end_crit_edge
}