418 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=thumbv8.1m.main-none-unknown-eabi -mattr=+mve -run-pass=arm-low-overhead-loops -enable-subreg-liveness %s -o - --verify-machineinstrs | FileCheck %s3 4--- |5 %struct.arm_2d_size_t = type { i16, i16 }6 define void @none(ptr noalias nocapture %phwTargetBase, i16 signext %iTargetStride, ptr noalias nocapture readonly %ptCopySize, i16 zeroext %hwColour, i32 %chRatio) {7 unreachable8 }9 define void @copyin(ptr noalias nocapture %phwTargetBase, i16 signext %iTargetStride, ptr noalias nocapture readonly %ptCopySize, i16 zeroext %hwColour, i32 %chRatio) {10 unreachable11 }12 define void @copyout(ptr noalias nocapture %phwTargetBase, i16 signext %iTargetStride, ptr noalias nocapture readonly %ptCopySize, i16 zeroext %hwColour, i32 %chRatio) {13 unreachable14 }15...16---17name: none18tracksRegLiveness: true19registers: []20liveins:21 - { reg: '$r0', virtual-reg: '' }22 - { reg: '$r1', virtual-reg: '' }23 - { reg: '$r2', virtual-reg: '' }24body: |25 ; CHECK-LABEL: name: none26 ; CHECK: bb.0:27 ; CHECK-NEXT: successors: %bb.5(0x5c0b8170), %bb.1(0x23f47e90)28 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr29 ; CHECK-NEXT: {{ $}}30 ; CHECK-NEXT: frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp31 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1632 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -433 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r6, -834 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r5, -1235 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r4, -1636 ; CHECK-NEXT: renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg37 ; CHECK-NEXT: t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr38 ; CHECK-NEXT: t2IT 10, 4, implicit-def $itstate39 ; CHECK-NEXT: renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate40 ; CHECK-NEXT: tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate41 ; CHECK-NEXT: tBcc %bb.5, 11 /* CC::lt */, killed $cpsr42 ; CHECK-NEXT: {{ $}}43 ; CHECK-NEXT: bb.1:44 ; CHECK-NEXT: successors: %bb.2(0x80000000)45 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r1246 ; CHECK-NEXT: {{ $}}47 ; CHECK-NEXT: renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg48 ; CHECK-NEXT: renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg49 ; CHECK-NEXT: renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg50 ; CHECK-NEXT: renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q051 ; CHECK-NEXT: renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg52 ; CHECK-NEXT: {{ $}}53 ; CHECK-NEXT: bb.2:54 ; CHECK-NEXT: successors: %bb.3(0x80000000)55 ; CHECK-NEXT: liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r1256 ; CHECK-NEXT: {{ $}}57 ; CHECK-NEXT: $r4 = tMOVr $r0, 14 /* CC::al */, $noreg58 ; CHECK-NEXT: $lr = MVE_DLSTP_16 renamable $r259 ; CHECK-NEXT: {{ $}}60 ; CHECK-NEXT: bb.3:61 ; CHECK-NEXT: successors: %bb.3(0x7c000000), %bb.4(0x04000000)62 ; CHECK-NEXT: liveins: $lr, $q0, $r0, $r1, $r2, $r3, $r4, $r6, $r1263 ; CHECK-NEXT: {{ $}}64 ; CHECK-NEXT: renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 0, $noreg, renamable $lr65 ; CHECK-NEXT: renamable $q1 = MVE_VAND killed renamable $q1, renamable $q0, 0, $noreg, renamable $lr, undef renamable $q166 ; CHECK-NEXT: renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 0, killed $noreg, renamable $lr67 ; CHECK-NEXT: $lr = MVE_LETP killed renamable $lr, %bb.368 ; CHECK-NEXT: {{ $}}69 ; CHECK-NEXT: bb.4:70 ; CHECK-NEXT: successors: %bb.5(0x04000000), %bb.2(0x7c000000)71 ; CHECK-NEXT: liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r1272 ; CHECK-NEXT: {{ $}}73 ; CHECK-NEXT: renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg74 ; CHECK-NEXT: renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg75 ; CHECK-NEXT: tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr76 ; CHECK-NEXT: tBcc %bb.2, 1 /* CC::ne */, killed $cpsr77 ; CHECK-NEXT: {{ $}}78 ; CHECK-NEXT: bb.5:79 ; CHECK-NEXT: frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc80 bb.0:81 successors: %bb.5(0x80000000), %bb.1(0x32000000)82 liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr83 84 frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp85 frame-setup CFI_INSTRUCTION def_cfa_offset 1686 frame-setup CFI_INSTRUCTION offset $lr, -487 frame-setup CFI_INSTRUCTION offset $r6, -888 frame-setup CFI_INSTRUCTION offset $r5, -1289 frame-setup CFI_INSTRUCTION offset $r4, -1690 renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg91 t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr92 t2IT 10, 4, implicit-def $itstate93 renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate94 tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate95 tBcc %bb.5, 11 /* CC::lt */, killed $cpsr96 97 bb.1:98 successors: %bb.2(0x80000000)99 liveins: $r0, $r1, $r2, $r12100 101 renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg102 renamable $r6, dead $cpsr = nsw tADDi3 renamable $r2, 7, 14 /* CC::al */, $noreg103 renamable $r5, dead $cpsr = tMOVi8 1, 14 /* CC::al */, $noreg104 renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg105 renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg106 renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q0107 renamable $r3 = t2BICri killed renamable $r6, 7, 14 /* CC::al */, $noreg, $noreg108 renamable $r3, dead $cpsr = tSUBi8 killed renamable $r3, 8, 14 /* CC::al */, $noreg109 renamable $r6 = nuw nsw t2ADDrs killed renamable $r5, killed renamable $r3, 27, 14 /* CC::al */, $noreg, $noreg110 renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg111 112 bb.2:113 successors: %bb.3(0x80000000)114 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12115 116 $r4 = tMOVr $r0, 14 /* CC::al */, $noreg117 $r5 = tMOVr $r2, 14 /* CC::al */, $noreg118 renamable $lr = t2DoLoopStartTP renamable $r6, renamable $r2119 120 bb.3:121 successors: %bb.3(0x7c000000), %bb.4(0x04000000)122 liveins: $lr, $q0, $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r12123 124 renamable $vpr = MVE_VCTP16 renamable $r5, 0, $noreg, $noreg125 renamable $r5, dead $cpsr = tSUBi8 killed renamable $r5, 8, 14 /* CC::al */, $noreg126 MVE_VPST 8, implicit $vpr127 renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 1, renamable $vpr, renamable $lr128 renamable $q1 = MVE_VAND killed renamable $q1, renamable $q0, 0, $noreg, renamable $lr, undef renamable $q1129 MVE_VPST 8, implicit $vpr130 renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 1, killed renamable $vpr, renamable $lr131 renamable $lr = t2LoopEndDec killed renamable $lr, %bb.3, implicit-def dead $cpsr132 tB %bb.4, 14 /* CC::al */, $noreg133 134 bb.4:135 successors: %bb.5(0x04000000), %bb.2(0x7c000000)136 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12137 138 renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg139 renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg140 tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr141 tBcc %bb.2, 1 /* CC::ne */, killed $cpsr142 143 bb.5:144 frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc145 146...147---148name: copyin149tracksRegLiveness: true150registers: []151liveins:152 - { reg: '$r0', virtual-reg: '' }153 - { reg: '$r1', virtual-reg: '' }154 - { reg: '$r2', virtual-reg: '' }155body: |156 ; CHECK-LABEL: name: copyin157 ; CHECK: bb.0:158 ; CHECK-NEXT: successors: %bb.5(0x5c0b8170), %bb.1(0x23f47e90)159 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr160 ; CHECK-NEXT: {{ $}}161 ; CHECK-NEXT: frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp162 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16163 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -4164 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r6, -8165 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r5, -12166 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r4, -16167 ; CHECK-NEXT: renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg168 ; CHECK-NEXT: t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr169 ; CHECK-NEXT: t2IT 10, 4, implicit-def $itstate170 ; CHECK-NEXT: renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate171 ; CHECK-NEXT: tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate172 ; CHECK-NEXT: tBcc %bb.5, 11 /* CC::lt */, killed $cpsr173 ; CHECK-NEXT: {{ $}}174 ; CHECK-NEXT: bb.1:175 ; CHECK-NEXT: successors: %bb.2(0x80000000)176 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r12177 ; CHECK-NEXT: {{ $}}178 ; CHECK-NEXT: renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg179 ; CHECK-NEXT: renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg180 ; CHECK-NEXT: renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg181 ; CHECK-NEXT: renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q0182 ; CHECK-NEXT: renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg183 ; CHECK-NEXT: {{ $}}184 ; CHECK-NEXT: bb.2:185 ; CHECK-NEXT: successors: %bb.3(0x80000000)186 ; CHECK-NEXT: liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12187 ; CHECK-NEXT: {{ $}}188 ; CHECK-NEXT: $r4 = tMOVr $r0, 14 /* CC::al */, $noreg189 ; CHECK-NEXT: $lr = MVE_DLSTP_16 renamable $r2190 ; CHECK-NEXT: {{ $}}191 ; CHECK-NEXT: bb.3:192 ; CHECK-NEXT: successors: %bb.3(0x7c000000), %bb.4(0x04000000)193 ; CHECK-NEXT: liveins: $lr, $q0, $r0, $r1, $r2, $r3, $r4, $r6, $r12194 ; CHECK-NEXT: {{ $}}195 ; CHECK-NEXT: renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 0, $noreg, renamable $lr196 ; CHECK-NEXT: $q2 = MVE_VORR $q0, $q0, 0, $noreg, $noreg, undef $q2197 ; CHECK-NEXT: renamable $q1 = MVE_VAND killed renamable $q1, killed renamable $q2, 0, $noreg, renamable $lr, undef renamable $q1198 ; CHECK-NEXT: renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 0, killed $noreg, renamable $lr199 ; CHECK-NEXT: $lr = MVE_LETP killed renamable $lr, %bb.3200 ; CHECK-NEXT: {{ $}}201 ; CHECK-NEXT: bb.4:202 ; CHECK-NEXT: successors: %bb.5(0x04000000), %bb.2(0x7c000000)203 ; CHECK-NEXT: liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12204 ; CHECK-NEXT: {{ $}}205 ; CHECK-NEXT: renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg206 ; CHECK-NEXT: renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg207 ; CHECK-NEXT: tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr208 ; CHECK-NEXT: tBcc %bb.2, 1 /* CC::ne */, killed $cpsr209 ; CHECK-NEXT: {{ $}}210 ; CHECK-NEXT: bb.5:211 ; CHECK-NEXT: frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc212 bb.0:213 successors: %bb.5(0x80000000), %bb.1(0x32000000)214 liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr215 216 frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp217 frame-setup CFI_INSTRUCTION def_cfa_offset 16218 frame-setup CFI_INSTRUCTION offset $lr, -4219 frame-setup CFI_INSTRUCTION offset $r6, -8220 frame-setup CFI_INSTRUCTION offset $r5, -12221 frame-setup CFI_INSTRUCTION offset $r4, -16222 renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg223 t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr224 t2IT 10, 4, implicit-def $itstate225 renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate226 tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate227 tBcc %bb.5, 11 /* CC::lt */, killed $cpsr228 229 bb.1:230 successors: %bb.2(0x80000000)231 liveins: $r0, $r1, $r2, $r12232 233 renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg234 renamable $r6, dead $cpsr = nsw tADDi3 renamable $r2, 7, 14 /* CC::al */, $noreg235 renamable $r5, dead $cpsr = tMOVi8 1, 14 /* CC::al */, $noreg236 renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg237 renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg238 renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q0239 renamable $r3 = t2BICri killed renamable $r6, 7, 14 /* CC::al */, $noreg, $noreg240 renamable $r3, dead $cpsr = tSUBi8 killed renamable $r3, 8, 14 /* CC::al */, $noreg241 renamable $r6 = nuw nsw t2ADDrs killed renamable $r5, killed renamable $r3, 27, 14 /* CC::al */, $noreg, $noreg242 renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg243 244 bb.2:245 successors: %bb.3(0x80000000)246 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12247 248 $r4 = tMOVr $r0, 14 /* CC::al */, $noreg249 $r5 = tMOVr $r2, 14 /* CC::al */, $noreg250 renamable $lr = t2DoLoopStartTP renamable $r6, renamable $r2251 252 bb.3:253 successors: %bb.3(0x7c000000), %bb.4(0x04000000)254 liveins: $lr, $q0, $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r12255 256 renamable $vpr = MVE_VCTP16 renamable $r5, 0, $noreg, $noreg257 renamable $r5, dead $cpsr = tSUBi8 killed renamable $r5, 8, 14 /* CC::al */, $noreg258 MVE_VPST 8, implicit $vpr259 renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 1, renamable $vpr, renamable $lr260 $q2 = MQPRCopy $q0261 renamable $q1 = MVE_VAND killed renamable $q1, renamable $q2, 0, $noreg, renamable $lr, undef renamable $q1262 MVE_VPST 8, implicit $vpr263 renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 1, killed renamable $vpr, renamable $lr264 renamable $lr = t2LoopEndDec killed renamable $lr, %bb.3, implicit-def dead $cpsr265 tB %bb.4, 14 /* CC::al */, $noreg266 267 bb.4:268 successors: %bb.5(0x04000000), %bb.2(0x7c000000)269 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12270 271 renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg272 renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg273 tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr274 tBcc %bb.2, 1 /* CC::ne */, killed $cpsr275 276 bb.5:277 frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc278 279...280---281name: copyout282tracksRegLiveness: true283registers: []284liveins:285 - { reg: '$r0', virtual-reg: '' }286 - { reg: '$r1', virtual-reg: '' }287 - { reg: '$r2', virtual-reg: '' }288body: |289 ; CHECK-LABEL: name: copyout290 ; CHECK: bb.0:291 ; CHECK-NEXT: successors: %bb.5(0x5c0b8170), %bb.1(0x23f47e90)292 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr293 ; CHECK-NEXT: {{ $}}294 ; CHECK-NEXT: frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp295 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16296 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -4297 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r6, -8298 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r5, -12299 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r4, -16300 ; CHECK-NEXT: renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg301 ; CHECK-NEXT: t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr302 ; CHECK-NEXT: t2IT 10, 4, implicit-def $itstate303 ; CHECK-NEXT: renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate304 ; CHECK-NEXT: tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate305 ; CHECK-NEXT: tBcc %bb.5, 11 /* CC::lt */, killed $cpsr306 ; CHECK-NEXT: {{ $}}307 ; CHECK-NEXT: bb.1:308 ; CHECK-NEXT: successors: %bb.2(0x80000000)309 ; CHECK-NEXT: liveins: $r0, $r1, $r2, $r12310 ; CHECK-NEXT: {{ $}}311 ; CHECK-NEXT: renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg312 ; CHECK-NEXT: renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg313 ; CHECK-NEXT: renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg314 ; CHECK-NEXT: renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q0315 ; CHECK-NEXT: renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg316 ; CHECK-NEXT: {{ $}}317 ; CHECK-NEXT: bb.2:318 ; CHECK-NEXT: successors: %bb.3(0x80000000)319 ; CHECK-NEXT: liveins: $d0, $d1, $r0, $r1, $r2, $r3, $r6, $r12320 ; CHECK-NEXT: {{ $}}321 ; CHECK-NEXT: $r4 = tMOVr $r0, 14 /* CC::al */, $noreg322 ; CHECK-NEXT: $lr = MVE_DLSTP_16 renamable $r2323 ; CHECK-NEXT: {{ $}}324 ; CHECK-NEXT: bb.3:325 ; CHECK-NEXT: successors: %bb.3(0x7c000000), %bb.4(0x04000000)326 ; CHECK-NEXT: liveins: $lr, $d0, $d1, $r0, $r1, $r2, $r3, $r4, $r6, $r12327 ; CHECK-NEXT: {{ $}}328 ; CHECK-NEXT: renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 0, $noreg, renamable $lr329 ; CHECK-NEXT: $d4 = VMOVD killed $d0, 14 /* CC::al */, $noreg330 ; CHECK-NEXT: $d5 = VMOVD killed $d1, 14 /* CC::al */, $noreg331 ; CHECK-NEXT: renamable $q1 = MVE_VAND killed renamable $q1, renamable $q2, 0, $noreg, renamable $lr, undef renamable $q1332 ; CHECK-NEXT: $d0 = VMOVD killed $d4, 14 /* CC::al */, $noreg333 ; CHECK-NEXT: $d1 = VMOVD killed $d5, 14 /* CC::al */, $noreg334 ; CHECK-NEXT: renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 0, killed $noreg, renamable $lr335 ; CHECK-NEXT: $lr = MVE_LETP killed renamable $lr, %bb.3336 ; CHECK-NEXT: {{ $}}337 ; CHECK-NEXT: bb.4:338 ; CHECK-NEXT: successors: %bb.5(0x04000000), %bb.2(0x7c000000)339 ; CHECK-NEXT: liveins: $d0, $d1, $r0, $r1, $r2, $r3, $r6, $r12340 ; CHECK-NEXT: {{ $}}341 ; CHECK-NEXT: renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg342 ; CHECK-NEXT: renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg343 ; CHECK-NEXT: tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr344 ; CHECK-NEXT: tBcc %bb.2, 1 /* CC::ne */, killed $cpsr345 ; CHECK-NEXT: {{ $}}346 ; CHECK-NEXT: bb.5:347 ; CHECK-NEXT: frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc348 bb.0:349 successors: %bb.5(0x80000000), %bb.1(0x32000000)350 liveins: $r0, $r1, $r2, $r4, $r5, $r6, $lr351 352 frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $lr, implicit-def $sp, implicit $sp353 frame-setup CFI_INSTRUCTION def_cfa_offset 16354 frame-setup CFI_INSTRUCTION offset $lr, -4355 frame-setup CFI_INSTRUCTION offset $r6, -8356 frame-setup CFI_INSTRUCTION offset $r5, -12357 frame-setup CFI_INSTRUCTION offset $r4, -16358 renamable $r12 = t2LDRSHi12 renamable $r2, 2, 14 /* CC::al */, $noreg359 t2CMPri renamable $r12, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr360 t2IT 10, 4, implicit-def $itstate361 renamable $r2 = t2LDRSHi12 killed renamable $r2, 0, 10 /* CC::ge */, $cpsr, implicit $r2, implicit $itstate362 tCMPi8 renamable $r2, 1, 10 /* CC::ge */, killed $cpsr, implicit-def $cpsr, implicit killed $itstate363 tBcc %bb.5, 11 /* CC::lt */, killed $cpsr364 365 bb.1:366 successors: %bb.2(0x80000000)367 liveins: $r0, $r1, $r2, $r12368 369 renamable $r3 = t2LDRHi12 $sp, 16, 14 /* CC::al */, $noreg370 renamable $r6, dead $cpsr = nsw tADDi3 renamable $r2, 7, 14 /* CC::al */, $noreg371 renamable $r5, dead $cpsr = tMOVi8 1, 14 /* CC::al */, $noreg372 renamable $r1, dead $cpsr = nsw tLSLri killed renamable $r1, 1, 14 /* CC::al */, $noreg373 renamable $r3 = t2RSBri killed renamable $r3, 256, 14 /* CC::al */, $noreg, $noreg374 renamable $q0 = MVE_VDUP16 killed renamable $r3, 0, $noreg, $noreg, undef renamable $q0375 renamable $r3 = t2BICri killed renamable $r6, 7, 14 /* CC::al */, $noreg, $noreg376 renamable $r3, dead $cpsr = tSUBi8 killed renamable $r3, 8, 14 /* CC::al */, $noreg377 renamable $r6 = nuw nsw t2ADDrs killed renamable $r5, killed renamable $r3, 27, 14 /* CC::al */, $noreg, $noreg378 renamable $r3, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg379 380 bb.2:381 successors: %bb.3(0x80000000)382 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12383 384 $r4 = tMOVr $r0, 14 /* CC::al */, $noreg385 $r5 = tMOVr $r2, 14 /* CC::al */, $noreg386 renamable $lr = t2DoLoopStartTP renamable $r6, renamable $r2387 388 bb.3:389 successors: %bb.3(0x7c000000), %bb.4(0x04000000)390 liveins: $lr, $q0, $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r12391 392 renamable $vpr = MVE_VCTP16 renamable $r5, 0, $noreg, $noreg393 renamable $r5, dead $cpsr = tSUBi8 killed renamable $r5, 8, 14 /* CC::al */, $noreg394 MVE_VPST 8, implicit $vpr395 renamable $q1 = MVE_VLDRHU16 renamable $r4, 0, 1, renamable $vpr, renamable $lr396 $q2 = MQPRCopy $q0397 renamable $q1 = MVE_VAND killed renamable $q1, renamable $q2, 0, $noreg, renamable $lr, undef renamable $q1398 $q0 = MQPRCopy $q2399 MVE_VPST 8, implicit $vpr400 renamable $r4 = MVE_VSTRHU16_post killed renamable $q1, killed renamable $r4, 16, 1, killed renamable $vpr, renamable $lr401 renamable $lr = t2LoopEndDec killed renamable $lr, %bb.3, implicit-def dead $cpsr402 tB %bb.4, 14 /* CC::al */, $noreg403 404 bb.4:405 successors: %bb.5(0x04000000), %bb.2(0x7c000000)406 liveins: $q0, $r0, $r1, $r2, $r3, $r6, $r12407 408 renamable $r3, dead $cpsr = nuw nsw tADDi8 killed renamable $r3, 1, 14 /* CC::al */, $noreg409 renamable $r0 = tADDhirr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg410 tCMPhir renamable $r3, renamable $r12, 14 /* CC::al */, $noreg, implicit-def $cpsr411 tBcc %bb.2, 1 /* CC::ne */, killed $cpsr412 413 bb.5:414 frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $pc415 416...417 418