1; RUN: llc < %s | FileCheck %s
2
3; CHECK-LABEL: pr33172
4; CHECK: ldp
5; CHECK: stp
6
7target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
8target triple = "arm64-apple-ios10.3.0"
9
10@main.b = external global [200 x float], align 8
11@main.x = external global [200 x float], align 8
12
13; Function Attrs: nounwind ssp
14define void @pr33172() local_unnamed_addr  {
15entry:
16  %wide.load8281058.3 = load i64, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.b, i64 0, i64 12) to i64*), align 8
17  %wide.load8291059.3 = load i64, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.b, i64 0, i64 14) to i64*), align 8
18  store i64 %wide.load8281058.3, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.x, i64 0, i64 12) to i64*), align 8
19  store i64 %wide.load8291059.3, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.x, i64 0, i64 14) to i64*), align 8
20  %wide.load8281058.4 = load i64, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.b, i64 0, i64 16) to i64*), align 8
21  %wide.load8291059.4 = load i64, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.b, i64 0, i64 18) to i64*), align 8
22  store i64 %wide.load8281058.4, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.x, i64 0, i64 16) to i64*), align 8
23  store i64 %wide.load8291059.4, i64* bitcast (float* getelementptr inbounds ([200 x float], [200 x float]* @main.x, i64 0, i64 18) to i64*), align 8
24  tail call void @llvm.memset.p0i8.i64(i8* align 8 bitcast ([200 x float]* @main.b to i8*), i8 0, i64 undef, i1 false) #2
25  unreachable
26}
27
28; Function Attrs: argmemonly nounwind
29declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1) #1
30
31attributes #1 = { argmemonly nounwind }
32attributes #2 = { nounwind }
33