79 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple thumbv7-apple-ios -run-pass none -o - %s | FileCheck %s3# This test ensures that the MIR parser parses the bundled machine instructions4# and 'internal' register flags correctly.5 6--- |7 8 define i32 @test1(i32 %a) {9 entry:10 %cmp = icmp sgt i32 %a, -7811 %. = zext i1 %cmp to i3212 ret i32 %.13 }14 15 define i32 @test2(i32 %a) {16 entry:17 %cmp = icmp sgt i32 %a, -7818 %. = zext i1 %cmp to i3219 ret i32 %.20 }21 22...23---24name: test125tracksRegLiveness: true26liveins:27 - { reg: '$r0' }28body: |29 bb.0.entry:30 liveins: $r031 ; CHECK-LABEL: name: test132 ; CHECK: liveins: $r033 ; CHECK: $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg34 ; CHECK: t2CMNri killed $r0, 78, 14 /* CC::al */, $noreg, implicit-def $cpsr35 ; CHECK: BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {36 ; CHECK: t2IT 12, 8, implicit-def $itstate37 ; CHECK: $r1 = t2MOVi 1, 12 /* CC::gt */, killed $cpsr, $noreg, implicit internal killed $itstate38 ; CHECK: }39 ; CHECK: $r0 = tMOVr killed $r1, 14 /* CC::al */, $noreg40 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit killed $r041 $r1 = t2MOVi 0, 14, _, _42 t2CMNri killed $r0, 78, 14, _, implicit-def $cpsr43 BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {44 t2IT 12, 8, implicit-def $itstate45 $r1 = t2MOVi 1, 12, killed $cpsr, _, implicit internal killed $itstate46 }47 $r0 = tMOVr killed $r1, 14, _48 tBX_RET 14, _, implicit killed $r049...50---51name: test252tracksRegLiveness: true53liveins:54 - { reg: '$r0' }55body: |56 bb.0.entry:57 liveins: $r058 59 ; Verify that the next machine instruction can be on the same line as60 ; '{' or '}'.61 62 ; CHECK-LABEL: name: test263 ; CHECK: liveins: $r064 ; CHECK: $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg65 ; CHECK: t2CMNri killed $r0, 78, 14 /* CC::al */, $noreg, implicit-def $cpsr66 ; CHECK: BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {67 ; CHECK: t2IT 12, 8, implicit-def $itstate68 ; CHECK: $r1 = t2MOVi 1, 12 /* CC::gt */, killed $cpsr, $noreg, implicit internal killed $itstate69 ; CHECK: }70 ; CHECK: $r0 = tMOVr killed $r1, 14 /* CC::al */, $noreg71 ; CHECK: tBX_RET 14 /* CC::al */, $noreg, implicit killed $r072 $r1 = t2MOVi 0, 14, _, _73 t2CMNri killed $r0, 78, 14, _, implicit-def $cpsr74 BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr { t2IT 12, 8, implicit-def $itstate75 $r1 = t2MOVi 1, 12, killed $cpsr, _, internal implicit killed $itstate76 } $r0 = tMOVr killed $r1, 14, _77 tBX_RET 14, _, implicit killed $r078...79