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