; 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 }