1; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu 2; Make sure we are not crashing on this test. 3 4target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" 5 6declare void @extern(i8*) 7 8; Function Attrs: argmemonly nounwind 9declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) #0 10 11; Function Attrs: nounwind 12define void @func(float* noalias %arg, i32* noalias %arg1, i8* noalias %arg2, i8* noalias %arg3) #1 { 13bb: 14 %tmp = getelementptr inbounds i8, i8* %arg2, i64 88 15 tail call void @llvm.memset.p0i8.i64(i8* align 8 noalias %arg2, i8 0, i64 40, i1 false) 16 store i8 0, i8* %arg3 17 store i8 2, i8* %arg2 18 store float 0.000000e+00, float* %arg 19 %tmp4 = bitcast i8* %tmp to <4 x float>* 20 store volatile <4 x float> zeroinitializer, <4 x float>* %tmp4 21 store i32 5, i32* %arg1 22 tail call void @extern(i8* %tmp) 23 ret void 24} 25 26; Function Attrs: nounwind 27define void @func2(float* noalias %arg, i32* noalias %arg1, i8* noalias %arg2, i8* noalias %arg3) #1 { 28bb: 29 %tmp = getelementptr inbounds i8, i8* %arg2, i64 88 30 tail call void @llvm.memset.p0i8.i64(i8* align 8 noalias %arg2, i8 0, i64 40, i1 false) 31 store i8 0, i8* %arg3 32 store i8 2, i8* %arg2 33 store float 0.000000e+00, float* %arg 34 %tmp4 = bitcast i8* %tmp to <4 x float>* 35 store <4 x float> zeroinitializer, <4 x float>* %tmp4 36 store i32 5, i32* %arg1 37 tail call void @extern(i8* %tmp) 38 ret void 39} 40 41attributes #0 = { argmemonly nounwind } 42attributes #1 = { nounwind "target-cpu"="cortex-a53" } 43