1 ; RUN: opt -mtriple=thumbv8.1m.main -mattr=+mve.fp -loop-unroll -S < %s | FileCheck %s
5 ; CHECK: 6: ; preds = %6, %5
6 ; CHECK: 15: ; preds = %6
8 ; CHECK: 16: ; preds = %15, %3
12 define void @foo(i8* nocapture, i8* nocapture readonly, i32) {
13 %4 = icmp sgt i32 %2, 0
14 br i1 %4, label %5, label %16
20 %7 = phi i32 [ %13, %6 ], [ %2, %5 ]
21 %8 = phi i8* [ %10, %6 ], [ %1, %5 ]
22 %9 = phi i8* [ %12, %6 ], [ %0, %5 ]
23 %10 = getelementptr inbounds i8, i8* %8, i32 1
24 %11 = load i8, i8* %8, align 1
25 %12 = getelementptr inbounds i8, i8* %9, i32 1
26 store i8 %11, i8* %9, align 1
28 %13 = call i32 @llvm.loop.decrement.reg.i32.i32.i32(i32 %7, i32 1)
30 %14 = icmp sgt i32 %7, 1
31 br i1 %14, label %6, label %15
40 declare i32 @llvm.loop.decrement.reg.i32.i32.i32(i32, i32)