# RUN: llc -mtriple thumbv7-apple-ios -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses the bundled machine instructions
# and 'internal' register flags correctly.

--- |

  define i32 @test1(i32 %a) {
  entry:
    %cmp = icmp sgt i32 %a, -78
    %. = zext i1 %cmp to i32
    ret i32 %.
  }

  define i32 @test2(i32 %a) {
  entry:
    %cmp = icmp sgt i32 %a, -78
    %. = zext i1 %cmp to i32
    ret i32 %.
  }

...
---
name:            test1
tracksRegLiveness: true
liveins:
  - { reg: '$r0' }
body: |
  bb.0.entry:
    liveins: $r0
    ; CHECK-LABEL: name: test1
    ; CHECK:      $r1 = t2MOVi 0, 14, $noreg, $noreg
    ; CHECK-NEXT: t2CMNri killed $r0, 78, 14, $noreg, implicit-def $cpsr
    ; CHECK-NEXT: BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {
    ; CHECK-NEXT:   t2IT 12, 8, implicit-def $itstate
    ; CHECK-NEXT:   $r1 = t2MOVi 1, 12, killed $cpsr, $noreg, implicit internal killed $itstate
    ; CHECK-NEXT: }
    ; CHECK-NEXT: $r0 = tMOVr killed $r1, 14, $noreg
    ; CHECK-NEXT: tBX_RET 14, $noreg, implicit killed $r0
    $r1 = t2MOVi 0, 14, _, _
    t2CMNri killed $r0, 78, 14, _, implicit-def $cpsr
    BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {
      t2IT 12, 8, implicit-def $itstate
      $r1 = t2MOVi 1, 12, killed $cpsr, _, implicit internal killed $itstate
    }
    $r0 = tMOVr killed $r1, 14, _
    tBX_RET 14, _, implicit killed $r0
...
---
name:            test2
tracksRegLiveness: true
liveins:
  - { reg: '$r0' }
body: |
  bb.0.entry:
    liveins: $r0

    ; Verify that the next machine instruction can be on the same line as
    ; '{' or '}'.

    ; CHECK-LABEL: name: test2
    ; CHECK:      $r1 = t2MOVi 0, 14, $noreg, $noreg
    ; CHECK-NEXT: t2CMNri killed $r0, 78, 14, $noreg, implicit-def $cpsr
    ; CHECK-NEXT: BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr {
    ; CHECK-NEXT:   t2IT 12, 8, implicit-def $itstate
    ; CHECK-NEXT:   $r1 = t2MOVi 1, 12, killed $cpsr, $noreg, implicit internal killed $itstate
    ; CHECK-NEXT: }
    ; CHECK-NEXT: $r0 = tMOVr killed $r1, 14, $noreg
    ; CHECK-NEXT: tBX_RET 14, $noreg, implicit killed $r0
    $r1 = t2MOVi 0, 14, _, _
    t2CMNri killed $r0, 78, 14, _, implicit-def $cpsr
    BUNDLE implicit-def dead $itstate, implicit-def $r1, implicit killed $cpsr { t2IT 12, 8, implicit-def $itstate
      $r1 = t2MOVi 1, 12, killed $cpsr, _, internal implicit killed $itstate
    } $r0 = tMOVr killed $r1, 14, _
    tBX_RET 14, _, implicit killed $r0
...
