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