1; RUN: opt -sroa -S < %s | FileCheck %s
2
3target datalayout = "e-p:64:32-i64:32-v32:32-n32-S64"
4
5; Function Attrs: nounwind
6declare void @llvm.lifetime.start(i64, i8* nocapture) #0
7
8; Function Attrs: nounwind
9declare void @llvm.lifetime.end(i64, i8* nocapture) #0
10
11; CHECK: @wombat
12; CHECK-NOT: alloca
13; CHECK: ret void
14define void @wombat(<4 x float> %arg1) {
15bb:
16  %tmp = alloca <4 x float>, align 16
17  %tmp8 = bitcast <4 x float>* %tmp to i8*
18  call void @llvm.lifetime.start(i64 16, i8* %tmp8)
19  store <4 x float> %arg1, <4 x float>* %tmp, align 16
20  %tmp17 = bitcast <4 x float>* %tmp to <3 x float>*
21  %tmp18 = load <3 x float>* %tmp17
22  %tmp20 = bitcast <4 x float>* %tmp to i8*
23  call void @llvm.lifetime.end(i64 16, i8* %tmp20)
24  call void @wombat3(<3 x float> %tmp18)
25  ret void
26}
27
28; Function Attrs: nounwind
29declare void @wombat3(<3 x float>) #0
30
31attributes #0 = { nounwind }
32