228 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp -run-pass arm-mve-vpt %s -o - | FileCheck %s3 4---5name: vpt_block_else6alignment: 47exposesReturnsTwice: false8legalized: false9regBankSelected: false10selected: false11failedISel: false12tracksRegLiveness: true13hasWinCFI: false14registers: []15liveins:16 - { reg: '$q0', virtual-reg: '' }17 - { reg: '$q1', virtual-reg: '' }18 - { reg: '$q2', virtual-reg: '' }19 - { reg: '$q3', virtual-reg: '' }20 - { reg: '$r0', virtual-reg: '' }21frameInfo:22 isFrameAddressTaken: false23 isReturnAddressTaken: false24 hasStackMap: false25 hasPatchPoint: false26 stackSize: 027 offsetAdjustment: 028 maxAlignment: 029 adjustsStack: false30 hasCalls: false31 stackProtector: ''32 maxCallFrameSize: 033 cvBytesOfCalleeSavedRegisters: 034 hasOpaqueSPAdjustment: false35 hasVAStart: false36 hasMustTailInVarArgFunc: false37 localFrameSize: 038 savePoint: []39 restorePoint: []40fixedStack: []41stack: []42constants: []43body: |44 bb.0:45 liveins: $q0, $q1, $q246 47 ; CHECK-LABEL: name: vpt_block_else48 ; CHECK: liveins: $q0, $q1, $q249 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q350 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit killed $q0, implicit $q2, implicit $q1, implicit killed $q3, implicit $zr {51 ; CHECK: MVE_VPTv4s32 7, renamable $q0, renamable $q2, 10, implicit-def $vpr52 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q353 ; CHECK: renamable $vpr = MVE_VCMPs32r killed renamable $q0, $zr, 12, 1, internal killed renamable $vpr, $noreg54 ; CHECK: renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 2, internal killed renamable $vpr, $noreg55 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal renamable $q356 ; CHECK: }57 ; CHECK: $q0 = MVE_VORR $q3, $q3, 0, $noreg, $noreg, undef $q058 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q359 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit killed $q0, implicit $q2, implicit $q1, implicit killed $q3, implicit $zr {60 ; CHECK: MVE_VPTv4s32 7, renamable $q0, renamable $q2, 10, implicit-def $vpr61 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q362 ; CHECK: renamable $vpr = MVE_VCMPs32r killed renamable $q0, $zr, 12, 1, internal killed renamable $vpr, $noreg63 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q364 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal renamable $q365 ; CHECK: }66 ; CHECK: $q0 = MVE_VORR $q3, $q3, 0, $noreg, $noreg, undef $q067 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q368 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3, implicit $zr {69 ; CHECK: MVE_VPTv4s32 15, renamable $q0, renamable $q2, 10, implicit-def $vpr70 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q371 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q372 ; CHECK: renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 2, internal killed renamable $vpr, $noreg73 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q374 ; CHECK: }75 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q076 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q377 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3, implicit $zr {78 ; CHECK: MVE_VPTv4s32 15, renamable $q0, renamable $q2, 10, implicit-def $vpr79 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q380 ; CHECK: renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 2, internal killed renamable $vpr, $noreg81 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q382 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q383 ; CHECK: }84 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q085 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q386 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3 {87 ; CHECK: MVE_VPTv4s32 15, renamable $q0, renamable $q2, 10, implicit-def $vpr88 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q389 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q390 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q391 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q392 ; CHECK: }93 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q094 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q395 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3 {96 ; CHECK: MVE_VPTv4s32 14, renamable $q0, renamable $q2, 10, implicit-def $vpr97 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q398 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal renamable $q399 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q3100 ; CHECK: }101 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0102 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3103 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3, implicit $zr {104 ; CHECK: MVE_VPTv4s32 14, renamable $q0, renamable $q2, 10, implicit-def $vpr105 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q3106 ; CHECK: renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 2, internal killed renamable $vpr, $noreg107 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q3108 ; CHECK: }109 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0110 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3111 ; CHECK: BUNDLE implicit-def dead $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit $q1, implicit killed $q3 {112 ; CHECK: MVE_VPTv4s32 6, renamable $q0, renamable $q2, 10, implicit-def $vpr113 ; CHECK: renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, internal renamable $vpr, $noreg, killed renamable $q3114 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, internal renamable $vpr, $noreg, internal killed renamable $q3115 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal killed renamable $vpr, $noreg, internal killed renamable $q3116 ; CHECK: }117 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0118 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3119 ; CHECK: BUNDLE implicit-def $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit killed $q3 {120 ; CHECK: MVE_VPTv4s32 11, renamable $q0, renamable $q2, 10, implicit-def $vpr121 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, internal renamable $vpr, $noreg, killed renamable $q3122 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal killed renamable $q3123 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, internal renamable $vpr, $noreg, internal killed renamable $q3124 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal killed renamable $q3125 ; CHECK: }126 ; CHECK: $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0127 ; CHECK: $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3128 ; CHECK: BUNDLE implicit-def $vpr, implicit-def $q3, implicit $q0, implicit $q2, implicit killed $q3 {129 ; CHECK: MVE_VPTv4s32 13, renamable $q0, renamable $q2, 10, implicit-def $vpr130 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, internal renamable $vpr, $noreg, killed renamable $q3131 ; CHECK: renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 11, 2, internal killed renamable $vpr, $noreg132 ; CHECK: renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 2, internal renamable $vpr, $noreg, internal killed renamable $q3133 ; CHECK: renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 11, 1, internal killed renamable $vpr, $noreg134 ; CHECK: }135 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit $q0136 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg137 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3138 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3139 renamable $vpr = MVE_VCMPs32r killed renamable $q0, $zr, 12, 1, killed renamable $vpr, $noreg140 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg141 renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 1, killed renamable $vpr, $noreg142 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, renamable $q3143 $q0 = MVE_VORR $q3, $q3, 0, $noreg, $noreg, undef $q0144 145 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg146 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3147 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3148 renamable $vpr = MVE_VCMPs32r killed renamable $q0, $zr, 12, 1, killed renamable $vpr, $noreg149 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg150 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3151 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, renamable $q3152 $q0 = MVE_VORR $q3, $q3, 0, $noreg, $noreg, undef $q0153 154 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg155 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3156 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3157 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg158 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3159 renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 1, killed renamable $vpr, $noreg160 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3161 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0162 163 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg164 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3165 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3166 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg167 renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 1, killed renamable $vpr, $noreg168 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3169 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3170 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0171 172 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg173 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3174 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3175 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg176 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3177 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3178 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3179 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0180 181 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg182 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3183 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3184 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg185 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, renamable $q3186 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3187 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0188 189 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg190 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3191 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3192 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg193 renamable $vpr = MVE_VCMPs32r renamable $q1, $zr, 12, 1, killed renamable $vpr, $noreg194 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3195 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0196 197 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg198 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3199 renamable $q3 = MVE_VMAXs32 renamable $q0, renamable $q1, 1, renamable $vpr, $noreg, killed renamable $q3200 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3201 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg202 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, killed renamable $vpr, $noreg, killed renamable $q3203 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0204 205 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3206 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg207 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3208 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg209 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3210 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg211 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3212 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg213 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3214 $q0 = MVE_VORR killed $q3, killed $q3, 0, $noreg, $noreg, undef $q0215 216 $q3 = MVE_VORR $q2, $q2, 0, $noreg, $noreg, undef $q3217 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 10, 0, $noreg, $noreg218 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3219 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg220 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 11, 1, killed renamable $vpr, $noreg221 renamable $q3 = MVE_VORR renamable $q2, renamable $q2, 1, renamable $vpr, $noreg, killed renamable $q3222 renamable $vpr = MVE_VPNOT killed renamable $vpr, 0, $noreg, $noreg223 renamable $vpr = MVE_VCMPs32 renamable $q0, renamable $q2, 11, 1, killed renamable $vpr, $noreg224 225 tBX_RET 14, $noreg, implicit $q0226 227...228