; RUN: opt -mtriple=thumbv8.1m.main -mattr=+mve.fp -loop-unroll -S < %s | FileCheck %s

; CHECK-LABEL:  foo
; CHECK:        5:
; CHECK:        6:                 ; preds = %6, %5
; CHECK:        15:                ; preds = %6
; CHECK:          br label %16
; CHECK:        16:                ; preds = %15, %3
; CHECK:          ret void
; CHECK:        }

define void @foo(i8* nocapture, i8* nocapture readonly, i32) {
  %4 = icmp sgt i32 %2, 0
  br i1 %4, label %5, label %16

; <label>:5:
  br label %6

; <label>:6:
  %7 = phi i32 [ %13, %6 ], [ %2, %5 ]
  %8 = phi i8* [ %10, %6 ], [ %1, %5 ]
  %9 = phi i8* [ %12, %6 ], [ %0, %5 ]
  %10 = getelementptr inbounds i8, i8* %8, i32 1
  %11 = load i8, i8* %8, align 1
  %12 = getelementptr inbounds i8, i8* %9, i32 1
  store i8 %11, i8* %9, align 1

  %13 = call i32 @llvm.loop.decrement.reg.i32.i32.i32(i32 %7, i32 1)

  %14 = icmp sgt i32 %7, 1
  br i1 %14, label %6, label %15

; <label>:15:
  br label %16

; <label>:16:
  ret void
}

declare i32 @llvm.loop.decrement.reg.i32.i32.i32(i32, i32)
