1 ; RUN: opt -mtriple=aarch64--linux-gnu -mattr=+sve < %s -passes=inline -S | FileCheck %s
3 define void @bar(ptr %a) {
5 %b = alloca <vscale x 2 x i64>, align 16
6 store <vscale x 2 x i64> zeroinitializer, ptr %b, align 16
7 %c = load <vscale x 2 x i64>, ptr %a, align 16
8 %d = load <vscale x 2 x i64>, ptr %b, align 16
9 %e = add <vscale x 2 x i64> %c, %d
10 %f = add <vscale x 2 x i64> %e, %c
11 store <vscale x 2 x i64> %f, ptr %a, align 16
17 ; CHECK: call void @llvm.lifetime.start.p0(i64 -1, ptr %{{.*}})
18 ; CHECK: call void @llvm.lifetime.end.p0(i64 -1, ptr %{{.*}})
20 %a = alloca <vscale x 2 x i64>, align 16
21 store <vscale x 2 x i64> zeroinitializer, ptr %a, align 16
22 store i64 1, ptr %a, align 8
23 call void @bar(ptr %a)
24 %el = load i64, ptr %a