1# RUN: llc -mtriple=thumbv7-win32-gnu -run-pass=arm-cp-islands -o - %s | FileCheck %s
2
3--- |
4  ; ModuleID = '<stdin>'
5  source_filename = "<stdin>"
6  target datalayout = "e-m:w-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
7  target triple = "thumbv7-unknown-windows-gnu"
8
9  %struct.A = type { [201 x i8*] }
10
11  @.str.17 = private unnamed_addr constant [10 x i8] c"__ashlhi3\00", align 1
12  @.str.18 = private unnamed_addr constant [10 x i8] c"__ashlsi3\00", align 1
13  @.str.19 = private unnamed_addr constant [10 x i8] c"__ashldi3\00", align 1
14  @.str.20 = private unnamed_addr constant [10 x i8] c"__ashlti3\00", align 1
15  @.str.21 = private unnamed_addr constant [10 x i8] c"__lshrhi3\00", align 1
16  @.str.22 = private unnamed_addr constant [10 x i8] c"__lshrsi3\00", align 1
17  @.str.23 = private unnamed_addr constant [10 x i8] c"__lshrdi3\00", align 1
18  @.str.24 = private unnamed_addr constant [10 x i8] c"__lshrti3\00", align 1
19  @.str.25 = private unnamed_addr constant [10 x i8] c"__ashrhi3\00", align 1
20  @.str.26 = private unnamed_addr constant [10 x i8] c"__ashrsi3\00", align 1
21  @.str.27 = private unnamed_addr constant [10 x i8] c"__ashrdi3\00", align 1
22  @.str.28 = private unnamed_addr constant [10 x i8] c"__ashrti3\00", align 1
23  @.str.29 = private unnamed_addr constant [9 x i8] c"__mulqi3\00", align 1
24  @.str.30 = private unnamed_addr constant [9 x i8] c"__mulhi3\00", align 1
25  @.str.31 = private unnamed_addr constant [9 x i8] c"__mulsi3\00", align 1
26  @.str.32 = private unnamed_addr constant [9 x i8] c"__muldi3\00", align 1
27  @.str.33 = private unnamed_addr constant [9 x i8] c"__multi3\00", align 1
28  @.str.34 = private unnamed_addr constant [10 x i8] c"__mulosi4\00", align 1
29  @.str.35 = private unnamed_addr constant [10 x i8] c"__mulodi4\00", align 1
30  @.str.36 = private unnamed_addr constant [10 x i8] c"__muloti4\00", align 1
31  @.str.37 = private unnamed_addr constant [9 x i8] c"__divqi3\00", align 1
32  @.str.38 = private unnamed_addr constant [9 x i8] c"__divhi3\00", align 1
33  @.str.39 = private unnamed_addr constant [9 x i8] c"__divsi3\00", align 1
34  @.str.40 = private unnamed_addr constant [9 x i8] c"__divdi3\00", align 1
35  @.str.41 = private unnamed_addr constant [9 x i8] c"__divti3\00", align 1
36  @.str.42 = private unnamed_addr constant [10 x i8] c"__udivqi3\00", align 1
37  @.str.43 = private unnamed_addr constant [10 x i8] c"__udivhi3\00", align 1
38  @.str.44 = private unnamed_addr constant [10 x i8] c"__udivsi3\00", align 1
39  @.str.45 = private unnamed_addr constant [10 x i8] c"__udivdi3\00", align 1
40  @.str.46 = private unnamed_addr constant [10 x i8] c"__udivti3\00", align 1
41  @.str.47 = private unnamed_addr constant [9 x i8] c"__modqi3\00", align 1
42  @.str.48 = private unnamed_addr constant [9 x i8] c"__modhi3\00", align 1
43  @.str.49 = private unnamed_addr constant [9 x i8] c"__modsi3\00", align 1
44  @.str.50 = private unnamed_addr constant [9 x i8] c"__moddi3\00", align 1
45  @.str.51 = private unnamed_addr constant [9 x i8] c"__modti3\00", align 1
46  @.str.52 = private unnamed_addr constant [10 x i8] c"__umodqi3\00", align 1
47  @.str.53 = private unnamed_addr constant [10 x i8] c"__umodhi3\00", align 1
48  @.str.54 = private unnamed_addr constant [10 x i8] c"__umodsi3\00", align 1
49  @.str.55 = private unnamed_addr constant [10 x i8] c"__umoddi3\00", align 1
50  @.str.56 = private unnamed_addr constant [10 x i8] c"__umodti3\00", align 1
51  @.str.57 = private unnamed_addr constant [9 x i8] c"__negsi2\00", align 1
52  @.str.58 = private unnamed_addr constant [9 x i8] c"__negdi2\00", align 1
53  @.str.59 = private unnamed_addr constant [9 x i8] c"__addsf3\00", align 1
54  @.str.60 = private unnamed_addr constant [9 x i8] c"__adddf3\00", align 1
55  @.str.61 = private unnamed_addr constant [9 x i8] c"__addxf3\00", align 1
56  @.str.62 = private unnamed_addr constant [9 x i8] c"__addtf3\00", align 1
57  @.str.63 = private unnamed_addr constant [11 x i8] c"__gcc_qadd\00", align 1
58  @.str.64 = private unnamed_addr constant [9 x i8] c"__subsf3\00", align 1
59  @.str.65 = private unnamed_addr constant [9 x i8] c"__subdf3\00", align 1
60  @.str.66 = private unnamed_addr constant [9 x i8] c"__subxf3\00", align 1
61  @.str.67 = private unnamed_addr constant [9 x i8] c"__subtf3\00", align 1
62  @.str.68 = private unnamed_addr constant [11 x i8] c"__gcc_qsub\00", align 1
63  @.str.69 = private unnamed_addr constant [9 x i8] c"__mulsf3\00", align 1
64  @.str.70 = private unnamed_addr constant [9 x i8] c"__muldf3\00", align 1
65  @.str.71 = private unnamed_addr constant [9 x i8] c"__mulxf3\00", align 1
66  @.str.72 = private unnamed_addr constant [9 x i8] c"__multf3\00", align 1
67  @.str.73 = private unnamed_addr constant [11 x i8] c"__gcc_qmul\00", align 1
68  @.str.74 = private unnamed_addr constant [9 x i8] c"__divsf3\00", align 1
69  @.str.75 = private unnamed_addr constant [9 x i8] c"__divdf3\00", align 1
70  @.str.76 = private unnamed_addr constant [9 x i8] c"__divxf3\00", align 1
71  @.str.77 = private unnamed_addr constant [9 x i8] c"__divtf3\00", align 1
72  @.str.78 = private unnamed_addr constant [11 x i8] c"__gcc_qdiv\00", align 1
73  @.str.79 = private unnamed_addr constant [6 x i8] c"fmodf\00", align 1
74  @.str.80 = private unnamed_addr constant [5 x i8] c"fmod\00", align 1
75  @.str.81 = private unnamed_addr constant [6 x i8] c"fmodl\00", align 1
76  @.str.82 = private unnamed_addr constant [5 x i8] c"fmaf\00", align 1
77  @.str.83 = private unnamed_addr constant [4 x i8] c"fma\00", align 1
78  @.str.84 = private unnamed_addr constant [5 x i8] c"fmal\00", align 1
79  @.str.85 = private unnamed_addr constant [10 x i8] c"__powisf2\00", align 1
80  @.str.86 = private unnamed_addr constant [10 x i8] c"__powidf2\00", align 1
81  @.str.87 = private unnamed_addr constant [10 x i8] c"__powixf2\00", align 1
82  @.str.88 = private unnamed_addr constant [10 x i8] c"__powitf2\00", align 1
83  @.str.89 = private unnamed_addr constant [6 x i8] c"sqrtf\00", align 1
84  @.str.90 = private unnamed_addr constant [5 x i8] c"sqrt\00", align 1
85  @.str.91 = private unnamed_addr constant [6 x i8] c"sqrtl\00", align 1
86  @.str.92 = private unnamed_addr constant [5 x i8] c"logf\00", align 1
87  @.str.93 = private unnamed_addr constant [4 x i8] c"log\00", align 1
88  @.str.94 = private unnamed_addr constant [5 x i8] c"logl\00", align 1
89  @.str.95 = private unnamed_addr constant [14 x i8] c"__logf_finite\00", align 1
90  @.str.96 = private unnamed_addr constant [13 x i8] c"__log_finite\00", align 1
91  @.str.97 = private unnamed_addr constant [14 x i8] c"__logl_finite\00", align 1
92  @.str.98 = private unnamed_addr constant [6 x i8] c"log2f\00", align 1
93  @.str.99 = private unnamed_addr constant [5 x i8] c"log2\00", align 1
94  @.str.100 = private unnamed_addr constant [6 x i8] c"log2l\00", align 1
95  @.str.101 = private unnamed_addr constant [15 x i8] c"__log2f_finite\00", align 1
96  @.str.102 = private unnamed_addr constant [14 x i8] c"__log2_finite\00", align 1
97  @.str.103 = private unnamed_addr constant [15 x i8] c"__log2l_finite\00", align 1
98  @.str.104 = private unnamed_addr constant [7 x i8] c"log10f\00", align 1
99  @.str.105 = private unnamed_addr constant [6 x i8] c"log10\00", align 1
100  @.str.106 = private unnamed_addr constant [7 x i8] c"log10l\00", align 1
101  @.str.107 = private unnamed_addr constant [16 x i8] c"__log10f_finite\00", align 1
102  @.str.108 = private unnamed_addr constant [15 x i8] c"__log10_finite\00", align 1
103  @.str.109 = private unnamed_addr constant [16 x i8] c"__log10l_finite\00", align 1
104  @.str.110 = private unnamed_addr constant [5 x i8] c"expf\00", align 1
105  @.str.111 = private unnamed_addr constant [4 x i8] c"exp\00", align 1
106  @.str.112 = private unnamed_addr constant [5 x i8] c"expl\00", align 1
107  @.str.113 = private unnamed_addr constant [14 x i8] c"__expf_finite\00", align 1
108  @.str.114 = private unnamed_addr constant [13 x i8] c"__exp_finite\00", align 1
109  @.str.115 = private unnamed_addr constant [14 x i8] c"__expl_finite\00", align 1
110  @.str.116 = private unnamed_addr constant [6 x i8] c"exp2f\00", align 1
111  @.str.117 = private unnamed_addr constant [5 x i8] c"exp2\00", align 1
112  @.str.118 = private unnamed_addr constant [6 x i8] c"exp2l\00", align 1
113  @.str.119 = private unnamed_addr constant [15 x i8] c"__exp2f_finite\00", align 1
114  @.str.120 = private unnamed_addr constant [14 x i8] c"__exp2_finite\00", align 1
115  @.str.121 = private unnamed_addr constant [15 x i8] c"__exp2l_finite\00", align 1
116  @.str.122 = private unnamed_addr constant [5 x i8] c"sinf\00", align 1
117  @.str.123 = private unnamed_addr constant [4 x i8] c"sin\00", align 1
118  @.str.124 = private unnamed_addr constant [5 x i8] c"sinl\00", align 1
119  @.str.125 = private unnamed_addr constant [5 x i8] c"cosf\00", align 1
120  @.str.126 = private unnamed_addr constant [4 x i8] c"cos\00", align 1
121  @.str.127 = private unnamed_addr constant [5 x i8] c"cosl\00", align 1
122  @.str.128 = private unnamed_addr constant [5 x i8] c"powf\00", align 1
123  @.str.129 = private unnamed_addr constant [4 x i8] c"pow\00", align 1
124  @.str.130 = private unnamed_addr constant [5 x i8] c"powl\00", align 1
125  @.str.131 = private unnamed_addr constant [14 x i8] c"__powf_finite\00", align 1
126  @.str.132 = private unnamed_addr constant [13 x i8] c"__pow_finite\00", align 1
127  @.str.133 = private unnamed_addr constant [14 x i8] c"__powl_finite\00", align 1
128  @.str.134 = private unnamed_addr constant [6 x i8] c"ceilf\00", align 1
129  @.str.135 = private unnamed_addr constant [5 x i8] c"ceil\00", align 1
130  @.str.136 = private unnamed_addr constant [6 x i8] c"ceill\00", align 1
131  @.str.137 = private unnamed_addr constant [7 x i8] c"truncf\00", align 1
132  @.str.138 = private unnamed_addr constant [6 x i8] c"trunc\00", align 1
133  @.str.139 = private unnamed_addr constant [7 x i8] c"truncl\00", align 1
134  @.str.140 = private unnamed_addr constant [6 x i8] c"rintf\00", align 1
135  @.str.141 = private unnamed_addr constant [5 x i8] c"rint\00", align 1
136  @.str.142 = private unnamed_addr constant [6 x i8] c"rintl\00", align 1
137  @.str.143 = private unnamed_addr constant [11 x i8] c"nearbyintf\00", align 1
138  @.str.144 = private unnamed_addr constant [10 x i8] c"nearbyint\00", align 1
139  @.str.145 = private unnamed_addr constant [11 x i8] c"nearbyintl\00", align 1
140  @.str.146 = private unnamed_addr constant [7 x i8] c"roundf\00", align 1
141  @.str.147 = private unnamed_addr constant [6 x i8] c"round\00", align 1
142  @.str.148 = private unnamed_addr constant [7 x i8] c"roundl\00", align 1
143  @.str.149 = private unnamed_addr constant [7 x i8] c"floorf\00", align 1
144  @.str.150 = private unnamed_addr constant [6 x i8] c"floor\00", align 1
145  @.str.151 = private unnamed_addr constant [7 x i8] c"floorl\00", align 1
146  @.str.152 = private unnamed_addr constant [10 x i8] c"copysignf\00", align 1
147  @.str.153 = private unnamed_addr constant [9 x i8] c"copysign\00", align 1
148
149  ; Function Attrs: nounwind
150  define arm_aapcs_vfpcc void @func(%struct.A* %obj) #0 {
151  entry:
152    %arrayidx.i1 = bitcast %struct.A* %obj to i8**
153    %0 = bitcast i8** %arrayidx.i1 to <4 x i8*>*
154    store <4 x i8*> <i8* null, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20, i32 0, i32 0)>, <4 x i8*>* %0
155    %arrayidx.i62 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 4
156    %1 = bitcast i8** %arrayidx.i62 to <4 x i8*>*
157    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i32 0, i32 0)>, <4 x i8*>* %1
158    %arrayidx.i523 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 8
159    %2 = bitcast i8** %arrayidx.i523 to <4 x i8*>*
160    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28, i32 0, i32 0)>, <4 x i8*>* %2
161    %arrayidx.i519 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 12
162    %3 = bitcast i8** %arrayidx.i519 to <4 x i8*>*
163    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i32 0, i32 0)>, <4 x i8*>* %3
164    %arrayidx.i515 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 16
165    %4 = bitcast i8** %arrayidx.i515 to i8*
166    call void @llvm.memset.p0i8.i64(i8* align 4 %4, i8 0, i64 40, i1 false)
167    %arrayidx.i511 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 20
168    %5 = bitcast i8** %arrayidx.i511 to <4 x i8*>*
169    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.40, i32 0, i32 0)>, <4 x i8*>* %5
170    %arrayidx.i507 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 24
171    %6 = bitcast i8** %arrayidx.i507 to <4 x i8*>*
172    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.44, i32 0, i32 0)>, <4 x i8*>* %6
173    %arrayidx.i503 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 28
174    %7 = bitcast i8** %arrayidx.i503 to <4 x i8*>*
175    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0)>, <4 x i8*>* %7
176    %arrayidx.i499 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 32
177    %8 = bitcast i8** %arrayidx.i499 to <4 x i8*>*
178    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.52, i32 0, i32 0)>, <4 x i8*>* %8
179    %arrayidx.i495 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 36
180    %9 = bitcast i8** %arrayidx.i495 to <4 x i8*>*
181    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.56, i32 0, i32 0)>, <4 x i8*>* %9
182    %arrayidx.i491 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 40
183    %arrayidx.i481 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 50
184    %10 = bitcast i8** %arrayidx.i491 to i8*
185    call void @llvm.memset.p0i8.i64(i8* align 4 %10, i8 0, i64 40, i1 false)
186    %11 = bitcast i8** %arrayidx.i481 to <4 x i8*>*
187    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.60, i32 0, i32 0)>, <4 x i8*>* %11
188    %arrayidx.i477 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 54
189    %12 = bitcast i8** %arrayidx.i477 to <4 x i8*>*
190    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.64, i32 0, i32 0)>, <4 x i8*>* %12
191    %arrayidx.i473 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 58
192    %13 = bitcast i8** %arrayidx.i473 to <4 x i8*>*
193    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.68, i32 0, i32 0)>, <4 x i8*>* %13
194    %arrayidx.i469 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 62
195    %14 = bitcast i8** %arrayidx.i469 to <4 x i8*>*
196    store <4 x i8*> <i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.72, i32 0, i32 0)>, <4 x i8*>* %14
197    %arrayidx.i465 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 66
198    %15 = bitcast i8** %arrayidx.i465 to <4 x i8*>*
199    store <4 x i8*> <i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.76, i32 0, i32 0)>, <4 x i8*>* %15
200    %arrayidx.i461 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 70
201    %16 = bitcast i8** %arrayidx.i461 to i8*
202    call void @llvm.memset.p0i8.i64(i8* align 4 %16, i8 0, i64 40, i1 false)
203    %arrayidx.i457 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 74
204    %17 = bitcast i8** %arrayidx.i457 to <4 x i8*>*
205    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.82, i32 0, i32 0)>, <4 x i8*>* %17
206    %arrayidx.i453 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 78
207    %18 = bitcast i8** %arrayidx.i453 to <4 x i8*>*
208    store <4 x i8*> <i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.83, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.84, i32 0, i32 0)>, <4 x i8*>* %18
209    %arrayidx.i449 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 82
210    %arrayidx.i445 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 86
211    %19 = bitcast i8** %arrayidx.i445 to <4 x i8*>*
212    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.88, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.89, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.90, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.91, i32 0, i32 0)>, <4 x i8*>* %19
213    %arrayidx.i441 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 90
214    %20 = bitcast i8** %arrayidx.i441 to <4 x i8*>*
215    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.91, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.91, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.92, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.93, i32 0, i32 0)>, <4 x i8*>* %20
216    %arrayidx.i437 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 94
217    %21 = bitcast i8** %arrayidx.i437 to i8*
218    call void @llvm.memset.p0i8.i64(i8* align 4 %21, i8 0, i64 28, i1 false)
219    %arrayidx.i433 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 98
220    %22 = bitcast i8** %arrayidx.i433 to <4 x i8*>*
221    store <4 x i8*> <i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.96, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.97, i32 0, i32 0)>, <4 x i8*>* %22
222    %arrayidx.i429 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 102
223    %23 = bitcast i8** %arrayidx.i429 to <4 x i8*>*
224    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.98, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.99, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.100, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.100, i32 0, i32 0)>, <4 x i8*>* %23
225    %arrayidx.i425 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 106
226    %24 = bitcast i8** %arrayidx.i425 to i8*
227    call void @llvm.memset.p0i8.i64(i8* align 4 %24, i8 0, i64 28, i1 false)
228    %arrayidx.i421 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 110
229    %25 = bitcast i8** %arrayidx.i421 to <4 x i8*>*
230    store <4 x i8*> <i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.103, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.103, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.104, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.105, i32 0, i32 0)>, <4 x i8*>* %25
231    %arrayidx.i417 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 114
232    %26 = bitcast i8** %arrayidx.i417 to <4 x i8*>*
233    store <4 x i8*> <i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.106, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.107, i32 0, i32 0)>, <4 x i8*>* %26
234    %arrayidx.i413 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 118
235    %27 = bitcast i8** %arrayidx.i413 to <4 x i8*>*
236    store <4 x i8*> <i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.108, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.109, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.109, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.109, i32 0, i32 0)>, <4 x i8*>* %27
237    %arrayidx.i409 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 122
238    %28 = bitcast i8** %arrayidx.i409 to <4 x i8*>*
239    store <4 x i8*> <i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.110, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.111, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.112, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.112, i32 0, i32 0)>, <4 x i8*>* %28
240    %arrayidx.i405 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 126
241    %29 = bitcast i8** %arrayidx.i405 to <4 x i8*>*
242    store <4 x i8*> <i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.112, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.113, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.114, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.115, i32 0, i32 0)>, <4 x i8*>* %29
243    %arrayidx.i401 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 130
244    %30 = bitcast i8** %arrayidx.i401 to <4 x i8*>*
245    store <4 x i8*> <i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.115, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.115, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.116, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.117, i32 0, i32 0)>, <4 x i8*>* %30
246    %arrayidx.i397 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 134
247    %31 = bitcast i8** %arrayidx.i397 to <4 x i8*>*
248    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.119, i32 0, i32 0)>, <4 x i8*>* %31
249    %arrayidx.i393 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 138
250    %32 = bitcast i8** %arrayidx.i393 to <4 x i8*>*
251    store <4 x i8*> <i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.121, i32 0, i32 0)>, <4 x i8*>* %32
252    %arrayidx.i389 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 142
253    %33 = bitcast i8** %arrayidx.i389 to <4 x i8*>*
254    store <4 x i8*> <i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.122, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.123, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.124, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.124, i32 0, i32 0)>, <4 x i8*>* %33
255    %arrayidx.i385 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 146
256    %34 = bitcast i8** %arrayidx.i385 to <4 x i8*>*
257    store <4 x i8*> <i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.124, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.125, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.126, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.127, i32 0, i32 0)>, <4 x i8*>* %34
258    %arrayidx.i381 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 150
259    store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.127, i32 0, i32 0), i8** %arrayidx.i381
260    %arrayidx.i380 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 151
261    store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.127, i32 0, i32 0), i8** %arrayidx.i380
262    %arrayidx.i379 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 152
263    %arrayidx.i375 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 156
264    %arrayidx.i374 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 157
265    %arrayidx.i373 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 158
266    %arrayidx.i372 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 159
267    %35 = bitcast i8** %arrayidx.i379 to i8*
268    call void @llvm.memset.p0i8.i64(i8* align 4 %35, i8 0, i64 28, i1 false)
269    store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.128, i32 0, i32 0), i8** %arrayidx.i372
270    %arrayidx.i371 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 160
271    store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.129, i32 0, i32 0), i8** %arrayidx.i371
272    %arrayidx.i370 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 161
273    %36 = bitcast i8** %arrayidx.i370 to <4 x i8*>*
274    store <4 x i8*> <i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.130, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.131, i32 0, i32 0)>, <4 x i8*>* %36
275    %arrayidx.i366 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 165
276    %37 = bitcast i8** %arrayidx.i366 to <4 x i8*>*
277    store <4 x i8*> <i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.132, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.133, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.133, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.133, i32 0, i32 0)>, <4 x i8*>* %37
278    %arrayidx.i362 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 169
279    %38 = bitcast i8** %arrayidx.i362 to <4 x i8*>*
280    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.134, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.135, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.136, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.136, i32 0, i32 0)>, <4 x i8*>* %38
281    %arrayidx.i358 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 173
282    %39 = bitcast i8** %arrayidx.i358 to <4 x i8*>*
283    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.136, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.137, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.138, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.139, i32 0, i32 0)>, <4 x i8*>* %39
284    %arrayidx.i354 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 177
285    %40 = bitcast i8** %arrayidx.i354 to <4 x i8*>*
286    store <4 x i8*> <i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.139, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.139, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.140, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.141, i32 0, i32 0)>, <4 x i8*>* %40
287    %arrayidx.i350 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 181
288    %41 = bitcast i8** %arrayidx.i350 to <4 x i8*>*
289    store <4 x i8*> <i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.142, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.142, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.142, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.143, i32 0, i32 0)>, <4 x i8*>* %41
290    %arrayidx.i346 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 185
291    %42 = bitcast i8** %arrayidx.i346 to <4 x i8*>*
292    store <4 x i8*> <i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.144, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.145, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.145, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.145, i32 0, i32 0)>, <4 x i8*>* %42
293    %arrayidx.i342 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 189
294    %43 = bitcast i8** %arrayidx.i342 to <4 x i8*>*
295    store <4 x i8*> <i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.146, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.147, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.148, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.148, i32 0, i32 0)>, <4 x i8*>* %43
296    %arrayidx.i338 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 193
297    %44 = bitcast i8** %arrayidx.i338 to <4 x i8*>*
298    store <4 x i8*> <i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.148, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.149, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.150, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.151, i32 0, i32 0)>, <4 x i8*>* %44
299    %arrayidx.i334 = getelementptr inbounds %struct.A, %struct.A* %obj, i32 0, i32 0, i32 197
300    %45 = bitcast i8** %arrayidx.i334 to <4 x i8*>*
301    store <4 x i8*> <i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.151, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.151, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.152, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.153, i32 0, i32 0)>, <4 x i8*>* %45
302    ret void
303  }
304
305  ; Function Attrs: argmemonly nounwind
306  declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1) #1
307
308  ; Function Attrs: nounwind
309  declare void @llvm.stackprotector(i8*, i8**) #2
310
311  attributes #0 = { nounwind "target-cpu"="cortex-a9" "target-features"="+dsp,+fp16,+neon,+strict-align,+thumb-mode,+vfp3" }
312  attributes #1 = { argmemonly nounwind }
313  attributes #2 = { nounwind }
314
315...
316---
317name:            func
318alignment:       2
319exposesReturnsTwice: false
320legalized:       false
321regBankSelected: false
322selected:        false
323failedISel:      false
324tracksRegLiveness: true
325registers:
326liveins:
327  - { reg: '$r0', virtual-reg: '' }
328frameInfo:
329  isFrameAddressTaken: false
330  isReturnAddressTaken: false
331  hasStackMap:     false
332  hasPatchPoint:   false
333  stackSize:       56
334  offsetAdjustment: 0
335  maxAlignment:    8
336  adjustsStack:    false
337  hasCalls:        false
338  stackProtector:  ''
339  maxCallFrameSize: 0
340  hasOpaqueSPAdjustment: false
341  hasVAStart:      false
342  hasMustTailInVarArgFunc: false
343  localFrameSize:  0
344  savePoint:       ''
345  restorePoint:    ''
346fixedStack:
347stack:
348  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,
349      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: false,
350      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
351  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,
352      stack-id: default, callee-saved-register: '$r11', callee-saved-restored: true,
353      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
354  - { id: 2, name: '', type: spill-slot, offset: -12, size: 4, alignment: 4,
355      stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,
356      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
357  - { id: 3, name: '', type: spill-slot, offset: -16, size: 4, alignment: 4,
358      stack-id: default, callee-saved-register: '$r6', callee-saved-restored: true,
359      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
360  - { id: 4, name: '', type: spill-slot, offset: -20, size: 4, alignment: 4,
361      stack-id: default, callee-saved-register: '$r5', callee-saved-restored: true,
362      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
363  - { id: 5, name: '', type: spill-slot, offset: -24, size: 4, alignment: 4,
364      stack-id: default, callee-saved-register: '$r4', callee-saved-restored: true,
365      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
366  - { id: 6, name: '', type: spill-slot, offset: -32, size: 8, alignment: 8,
367      stack-id: default, callee-saved-register: '$d11', callee-saved-restored: true,
368      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
369  - { id: 7, name: '', type: spill-slot, offset: -40, size: 8, alignment: 8,
370      stack-id: default, callee-saved-register: '$d10', callee-saved-restored: true,
371      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
372  - { id: 8, name: '', type: spill-slot, offset: -48, size: 8, alignment: 8,
373      stack-id: default, callee-saved-register: '$d9', callee-saved-restored: true,
374      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
375  - { id: 9, name: '', type: spill-slot, offset: -56, size: 8, alignment: 8,
376      stack-id: default, callee-saved-register: '$d8', callee-saved-restored: true,
377      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
378constants:
379  - id:              0
380    value:           'float 0.000000e+00'
381    alignment:       4
382    isTargetSpecific: false
383body:             |
384  bb.0.entry:
385    liveins: $r0, $r4, $r5, $r6, $r7, $r11, $lr, $d8, $d9, $d10, $d11
386
387    $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r11, killed $lr
388    frame-setup CFI_INSTRUCTION def_cfa_offset 24
389    frame-setup CFI_INSTRUCTION offset $lr, -4
390    frame-setup CFI_INSTRUCTION offset $r11, -8
391    frame-setup CFI_INSTRUCTION offset $r7, -12
392    frame-setup CFI_INSTRUCTION offset $r6, -16
393    frame-setup CFI_INSTRUCTION offset $r5, -20
394    frame-setup CFI_INSTRUCTION offset $r4, -24
395    $sp = frame-setup VSTMDDB_UPD $sp, 14, $noreg, killed $d8, killed $d9, killed $d10, killed $d11
396    frame-setup CFI_INSTRUCTION def_cfa_offset 56
397    frame-setup CFI_INSTRUCTION offset $d11, -32
398    frame-setup CFI_INSTRUCTION offset $d10, -40
399    frame-setup CFI_INSTRUCTION offset $d9, -48
400    frame-setup CFI_INSTRUCTION offset $d8, -56
401    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.18, 14, $noreg
402    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.18, 14, $noreg
403    renamable $r4, dead $cpsr = tMOVi8 100, 14, $noreg
404    renamable $r6 = t2ADDri renamable $r0, 520, 14, $noreg, $noreg
405    $d2 = VSETLNi32 undef $d2, killed $r1, 1, 14, $noreg, implicit-def $q1, implicit-def $s5
406    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.71, 14, $noreg
407    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.71, 14, $noreg
408    renamable $d25 = VSETLNi32 undef renamable $d25, killed renamable $r1, 0, 14, $noreg, implicit-def $q12
409    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.73, 14, $noreg
410    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.73, 14, $noreg
411    renamable $d26 = VSETLNi32 undef renamable $d26, killed renamable $r1, 0, 14, $noreg, implicit-def $q13
412    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.75, 14, $noreg
413    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.75, 14, $noreg
414    renamable $d27 = VSETLNi32 undef renamable $d27, killed renamable $r1, 0, 14, $noreg, implicit killed $q13, implicit-def $q13
415    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.19, 14, $noreg
416    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.19, 14, $noreg
417    renamable $s4 = VLDRS %const.0, 0, 14, $noreg, implicit killed $q1, implicit-def $q1 :: (load 4 from constant-pool)
418    renamable $d3 = VSETLNi32 undef renamable $d3, killed renamable $r1, 0, 14, $noreg, implicit killed $q1, implicit-def $q1
419    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.61, 14, $noreg
420    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.61, 14, $noreg
421    renamable $d20 = VSETLNi32 undef renamable $d20, killed renamable $r1, 0, 14, $noreg, implicit-def $q10
422    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.63, 14, $noreg
423    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.63, 14, $noreg
424    renamable $d21 = VSETLNi32 undef renamable $d21, killed renamable $r1, 0, 14, $noreg, implicit killed $q10, implicit-def $q10
425    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.122, 14, $noreg
426    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.122, 14, $noreg
427    $r12 = t2MOVi16 target-flags(arm-lo16) @.str.112, 14, $noreg
428    $r12 = t2MOVTi16 $r12, target-flags(arm-hi16) @.str.112, 14, $noreg
429    renamable $d16 = VSETLNi32 undef renamable $d16, killed renamable $r1, 0, 14, $noreg, implicit-def $q8
430    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.114, 14, $noreg
431    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.114, 14, $noreg
432    renamable $d18 = VSETLNi32 undef renamable $d18, renamable $r12, 0, 14, $noreg, implicit-def $q9
433    renamable $d19 = VSETLNi32 undef renamable $d19, killed renamable $r1, 0, 14, $noreg, implicit killed $q9, implicit-def $q9
434    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.57, 14, $noreg
435    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.57, 14, $noreg
436    renamable $d28 = VSETLNi32 undef renamable $d28, killed renamable $r1, 0, 14, $noreg, implicit-def $q14
437    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.53, 14, $noreg
438    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.53, 14, $noreg
439    renamable $d22 = VSETLNi32 undef renamable $d22, killed renamable $r1, 0, 14, $noreg, implicit-def $q11
440    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.49, 14, $noreg
441    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.49, 14, $noreg
442    renamable $d30 = VSETLNi32 undef renamable $d30, killed renamable $r1, 0, 14, $noreg, implicit-def $q15
443    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.45, 14, $noreg
444    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.45, 14, $noreg
445    renamable $d0 = VSETLNi32 undef renamable $d0, killed renamable $r1, 0, 14, $noreg, implicit-def $q0
446    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.37, 14, $noreg
447    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.37, 14, $noreg
448    renamable $d8 = VSETLNi32 undef renamable $d8, killed renamable $r1, 0, 14, $noreg, implicit-def $q4
449    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.25, 14, $noreg
450    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.25, 14, $noreg
451    renamable $d4 = VSETLNi32 undef renamable $d4, killed renamable $r1, 0, 14, $noreg, implicit-def $q2
452    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.21, 14, $noreg
453    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.21, 14, $noreg
454    renamable $d6 = VSETLNi32 undef renamable $d6, killed renamable $r1, 0, 14, $noreg, implicit-def $q3
455    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.27, 14, $noreg
456    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.27, 14, $noreg
457    renamable $d5 = VSETLNi32 undef renamable $d5, killed renamable $r1, 0, 14, $noreg, implicit killed $q2, implicit-def $q2
458    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.23, 14, $noreg
459    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.23, 14, $noreg
460    renamable $d7 = VSETLNi32 undef renamable $d7, killed renamable $r1, 0, 14, $noreg, implicit killed $q3, implicit-def $q3
461    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.28, 14, $noreg
462    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.28, 14, $noreg
463    renamable $d5 = VSETLNi32 killed renamable $d5, killed renamable $r1, 1, 14, $noreg, implicit $q2, implicit-def $q2
464    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.24, 14, $noreg
465    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.24, 14, $noreg
466    renamable $d7 = VSETLNi32 killed renamable $d7, killed renamable $r1, 1, 14, $noreg, implicit $q3, implicit-def $q3
467    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.22, 14, $noreg
468    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.22, 14, $noreg
469    renamable $d6 = VSETLNi32 killed renamable $d6, killed renamable $r1, 1, 14, $noreg, implicit $q3, implicit-def $q3
470    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.26, 14, $noreg
471    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.26, 14, $noreg
472    renamable $d4 = VSETLNi32 killed renamable $d4, killed renamable $r1, 1, 14, $noreg, implicit $q2, implicit-def $q2
473    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.29, 14, $noreg
474    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.29, 14, $noreg
475    renamable $d10 = VSETLNi32 undef renamable $d10, killed renamable $r1, 0, 14, $noreg, implicit-def $q5
476    renamable $r1 = t2ADDri renamable $r0, 16, 14, $noreg, $noreg
477    VST1q64 killed $r1, 0, killed $q3, 14, $noreg :: (store 16 into %ir.1, align 8)
478    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.39, 14, $noreg
479    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.39, 14, $noreg
480    renamable $d9 = VSETLNi32 undef renamable $d9, killed renamable $r1, 0, 14, $noreg, implicit killed $q4, implicit-def $q4
481    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.69, 14, $noreg
482    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.69, 14, $noreg
483    renamable $d24 = VSETLNi32 undef renamable $d24, killed renamable $r1, 0, 14, $noreg, implicit killed $q12, implicit-def $q12
484    renamable $r1 = t2ADDri renamable $r0, 32, 14, $noreg, $noreg
485    VST1q64 killed $r1, 0, killed $q2, 14, $noreg :: (store 16 into %ir.2, align 8)
486    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.31, 14, $noreg
487    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.31, 14, $noreg
488    renamable $d11 = VSETLNi32 undef renamable $d11, killed renamable $r1, 0, 14, $noreg, implicit killed $q5, implicit-def $q5
489    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.40, 14, $noreg
490    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.40, 14, $noreg
491    renamable $d9 = VSETLNi32 killed renamable $d9, killed renamable $r1, 1, 14, $noreg, implicit $q4, implicit-def $q4
492    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.32, 14, $noreg
493    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.32, 14, $noreg
494    renamable $d11 = VSETLNi32 killed renamable $d11, killed renamable $r1, 1, 14, $noreg, implicit $q5, implicit-def $q5
495    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.30, 14, $noreg
496    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.30, 14, $noreg
497    renamable $d10 = VSETLNi32 killed renamable $d10, killed renamable $r1, 1, 14, $noreg, implicit $q5, implicit-def $q5
498    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.38, 14, $noreg
499    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.38, 14, $noreg
500    renamable $d8 = VSETLNi32 killed renamable $d8, killed renamable $r1, 1, 14, $noreg, implicit $q4, implicit-def $q4
501    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.67, 14, $noreg
502    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.67, 14, $noreg
503    renamable $d5 = VSETLNi32 undef renamable $d5, killed renamable $r1, 0, 14, $noreg, implicit-def $q2
504    renamable $r1 = t2ADDri renamable $r0, 48, 14, $noreg, $noreg
505    VST1q64 killed $r1, 0, killed $q5, 14, $noreg :: (store 16 into %ir.3, align 8)
506    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.51, 14, $noreg
507    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.51, 14, $noreg
508    renamable $d31 = VSETLNi32 undef renamable $d31, killed renamable $r1, 0, 14, $noreg, implicit killed $q15, implicit-def $q15
509    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.43, 14, $noreg
510    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.43, 14, $noreg
511    renamable $d7 = VSETLNi32 undef renamable $d7, killed renamable $r1, 0, 14, $noreg, implicit-def $q3
512    renamable $r1 = t2ADDri renamable $r0, 80, 14, $noreg, $noreg
513    VST1q64 killed $r1, 0, killed $q4, 14, $noreg :: (store 16 into %ir.5, align 8)
514    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.47, 14, $noreg
515    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.47, 14, $noreg
516    renamable $d1 = VSETLNi32 undef renamable $d1, killed renamable $r1, 0, 14, $noreg, implicit killed $q0, implicit-def $q0
517    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.52, 14, $noreg
518    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.52, 14, $noreg
519    renamable $d31 = VSETLNi32 killed renamable $d31, killed renamable $r1, 1, 14, $noreg, implicit $q15, implicit-def $q15
520    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.48, 14, $noreg
521    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.48, 14, $noreg
522    renamable $d1 = VSETLNi32 killed renamable $d1, killed renamable $r1, 1, 14, $noreg, implicit $q0, implicit-def $q0
523    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.46, 14, $noreg
524    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.46, 14, $noreg
525    renamable $d0 = VSETLNi32 killed renamable $d0, killed renamable $r1, 1, 14, $noreg, implicit $q0, implicit-def $q0
526    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.50, 14, $noreg
527    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.50, 14, $noreg
528    renamable $d30 = VSETLNi32 killed renamable $d30, killed renamable $r1, 1, 14, $noreg, implicit $q15, implicit-def $q15
529    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.41, 14, $noreg
530    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.41, 14, $noreg
531    renamable $d6 = VSETLNi32 undef renamable $d6, killed renamable $r1, 0, 14, $noreg, implicit killed $q3, implicit-def $q3
532    renamable $r1 = t2ADDri renamable $r0, 112, 14, $noreg, $noreg
533    VST1q64 killed $r1, 0, killed $q0, 14, $noreg :: (store 16 into %ir.7, align 8)
534    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.59, 14, $noreg
535    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.59, 14, $noreg
536    renamable $d29 = VSETLNi32 undef renamable $d29, killed renamable $r1, 0, 14, $noreg, implicit killed $q14, implicit-def $q14
537    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.65, 14, $noreg
538    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.65, 14, $noreg
539    renamable $d4 = VSETLNi32 undef renamable $d4, killed renamable $r1, 0, 14, $noreg, implicit killed $q2, implicit-def $q2
540    renamable $r1 = t2ADDri renamable $r0, 128, 14, $noreg, $noreg
541    VST1q64 killed $r1, 0, killed $q15, 14, $noreg :: (store 16 into %ir.8, align 8)
542    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.55, 14, $noreg
543    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.55, 14, $noreg
544    renamable $d23 = VSETLNi32 undef renamable $d23, killed renamable $r1, 0, 14, $noreg, implicit killed $q11, implicit-def $q11
545    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.60, 14, $noreg
546    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.60, 14, $noreg
547    renamable $d29 = VSETLNi32 killed renamable $d29, killed renamable $r1, 1, 14, $noreg, implicit $q14, implicit-def $q14
548    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.56, 14, $noreg
549    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.56, 14, $noreg
550    renamable $d23 = VSETLNi32 killed renamable $d23, killed renamable $r1, 1, 14, $noreg, implicit $q11, implicit-def $q11
551    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.54, 14, $noreg
552    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.54, 14, $noreg
553    renamable $d22 = VSETLNi32 killed renamable $d22, killed renamable $r1, 1, 14, $noreg, implicit $q11, implicit-def $q11
554    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.58, 14, $noreg
555    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.58, 14, $noreg
556    renamable $d28 = VSETLNi32 killed renamable $d28, killed renamable $r1, 1, 14, $noreg, implicit $q14, implicit-def $q14
557    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.104, 14, $noreg
558    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.104, 14, $noreg
559    renamable $d31 = VSETLNi32 undef renamable $d31, killed renamable $r1, 0, 14, $noreg, implicit-def $q15
560    renamable $r1 = t2ADDri renamable $r0, 144, 14, $noreg, $noreg
561    VST1q64 killed $r1, 0, killed $q11, 14, $noreg :: (store 16 into %ir.9, align 8)
562    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.126, 14, $noreg
563    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.126, 14, $noreg
564    renamable $d23 = VSETLNi32 undef renamable $d23, killed renamable $r1, 0, 14, $noreg, implicit-def $q11
565    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.98, 14, $noreg
566    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.98, 14, $noreg
567    renamable $d0 = VSETLNi32 undef renamable $d0, killed renamable $r1, 0, 14, $noreg, implicit-def $q0
568    renamable $r1 = t2ADDri renamable $r0, 200, 14, $noreg, $noreg
569    VST1q64 killed $r1, 0, killed $q14, 14, $noreg :: (store 16 into %ir.11, align 8)
570    $lr = t2MOVi16 target-flags(arm-lo16) @.str.124, 14, $noreg
571    $lr = t2MOVTi16 $lr, target-flags(arm-hi16) @.str.124, 14, $noreg
572    $r2 = t2MOVi16 target-flags(arm-lo16) @.str.127, 14, $noreg
573    $r2 = t2MOVTi16 $r2, target-flags(arm-hi16) @.str.127, 14, $noreg
574    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.125, 14, $noreg
575    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.125, 14, $noreg
576    $r7 = t2MOVi16 target-flags(arm-lo16) @.str.115, 14, $noreg
577    $r7 = t2MOVTi16 $r7, target-flags(arm-hi16) @.str.115, 14, $noreg
578    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.113, 14, $noreg
579    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.113, 14, $noreg
580    renamable $d22 = VSETLNi32 undef renamable $d22, renamable $lr, 0, 14, $noreg, implicit killed $q11, implicit-def $q11
581    renamable $d19 = VSETLNi32 killed renamable $d19, renamable $r7, 1, 14, $noreg, implicit $q9, implicit-def $q9
582    renamable $d23 = VSETLNi32 killed renamable $d23, renamable $r2, 1, 14, $noreg, implicit $q11, implicit-def $q11
583    renamable $d18 = VSETLNi32 killed renamable $d18, killed renamable $r3, 1, 14, $noreg, implicit $q9, implicit-def $q9
584    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.123, 14, $noreg
585    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.123, 14, $noreg
586    renamable $d16 = VSETLNi32 killed renamable $d16, killed renamable $r3, 1, 14, $noreg, implicit $q8, implicit-def $q8
587    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.64, 14, $noreg
588    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.64, 14, $noreg
589    renamable $d21 = VSETLNi32 killed renamable $d21, killed renamable $r3, 1, 14, $noreg, implicit $q10, implicit-def $q10
590    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.62, 14, $noreg
591    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.62, 14, $noreg
592    renamable $d22 = VSETLNi32 killed renamable $d22, killed renamable $r1, 1, 14, $noreg, implicit $q11, implicit-def $q11
593    renamable $r1 = t2ADDri renamable $r0, 456, 14, $noreg, $noreg
594    renamable $d20 = VSETLNi32 killed renamable $d20, killed renamable $r3, 1, 14, $noreg, implicit $q10, implicit-def $q10
595    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.20, 14, $noreg
596    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.20, 14, $noreg
597    renamable $d3 = VSETLNi32 killed renamable $d3, killed renamable $r3, 1, 14, $noreg, implicit $q1, implicit-def $q1
598    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.121, 14, $noreg
599    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.121, 14, $noreg
600    renamable $q14 = VDUP32q killed renamable $r3, 14, $noreg
601    renamable $r3 = t2ADDri renamable $r0, 216, 14, $noreg, $noreg
602    VST1q64 killed $r3, 0, killed $q10, 14, $noreg :: (store 16 into %ir.12, align 8)
603    $r3 = tMOVr $r0, 14, $noreg
604    renamable $r3 = VST1q32wb_register killed $r3, 0, killed $r4, killed $q1, 14, $noreg :: (store 16 into %ir.0, align 8)
605    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.120, 14, $noreg
606    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.120, 14, $noreg
607    renamable $q10 = VMOVv4i32 0, 14, $noreg
608    renamable $d28 = VSETLNi32 killed renamable $d28, killed renamable $r4, 0, 14, $noreg, implicit $q14, implicit-def $q14
609    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.76, 14, $noreg
610    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.76, 14, $noreg
611    renamable $d27 = VSETLNi32 killed renamable $d27, killed renamable $r4, 1, 14, $noreg, implicit $q13, implicit-def $q13
612    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.74, 14, $noreg
613    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.74, 14, $noreg
614    renamable $d17 = VDUP32d killed renamable $lr, 14, $noreg, implicit killed $q8, implicit-def $q8
615    renamable $lr = t2ADDri renamable $r0, 788, 14, $noreg, $noreg
616    renamable $d26 = VSETLNi32 killed renamable $d26, killed renamable $r4, 1, 14, $noreg, implicit $q13, implicit-def $q13
617    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.72, 14, $noreg
618    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.72, 14, $noreg
619    renamable $d25 = VSETLNi32 killed renamable $d25, killed renamable $r4, 1, 14, $noreg, implicit $q12, implicit-def $q12
620    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.70, 14, $noreg
621    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.70, 14, $noreg
622    renamable $d24 = VSETLNi32 killed renamable $d24, killed renamable $r4, 1, 14, $noreg, implicit $q12, implicit-def $q12
623    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.68, 14, $noreg
624    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.68, 14, $noreg
625    renamable $d5 = VSETLNi32 killed renamable $d5, killed renamable $r4, 1, 14, $noreg, implicit $q2, implicit-def $q2
626    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.44, 14, $noreg
627    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.44, 14, $noreg
628    renamable $d7 = VSETLNi32 killed renamable $d7, killed renamable $r4, 1, 14, $noreg, implicit $q3, implicit-def $q3
629    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.42, 14, $noreg
630    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.42, 14, $noreg
631    renamable $d6 = VSETLNi32 killed renamable $d6, killed renamable $r4, 1, 14, $noreg, implicit $q3, implicit-def $q3
632    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.66, 14, $noreg
633    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.66, 14, $noreg
634    renamable $d4 = VSETLNi32 killed renamable $d4, killed renamable $r4, 1, 14, $noreg, implicit $q2, implicit-def $q2
635    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.88, 14, $noreg
636    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.88, 14, $noreg
637    renamable $d8 = VSETLNi32 undef renamable $d8, killed renamable $r4, 0, 14, $noreg, implicit-def $q4
638    renamable $r4, dead $cpsr = tMOVi8 0, 14, $noreg
639    tSTRi renamable $r4, killed renamable $r3, 0, 14, $noreg :: (store 4 into %ir.4 + 36)
640    $r3 = tMOVr $r0, 14, $noreg
641    t2STRDi8 $r4, $r4, $r0, 192, 14, $noreg
642    early-clobber renamable $r3 = t2STR_PRE renamable $r4, killed renamable $r3, 96, 14, $noreg :: (store 4 into %ir.4 + 32)
643    VST1q64 killed $r3, 0, killed $q3, 14, $noreg :: (store 16 into %ir.6, align 8)
644    renamable $r3 = t2ADDri renamable $r0, 64, 14, $noreg, $noreg
645    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.81, 14, $noreg
646    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.81, 14, $noreg
647    VST1q32 killed $r3, 0, $q10, 14, $noreg :: (store 16 into %ir.4, align 4)
648    renamable $r3 = t2ADDri renamable $r0, 176, 14, $noreg, $noreg
649    VST1q32 killed $r3, 0, $q10, 14, $noreg :: (store 16 into %ir.10 + 16, align 4)
650    renamable $r3 = t2ADDri renamable $r0, 160, 14, $noreg, $noreg
651    renamable $q1 = VDUP32q killed renamable $r5, 14, $noreg
652    renamable $r5 = t2ADDri renamable $r0, 248, 14, $noreg, $noreg
653    VST1q32 killed $r3, 0, $q10, 14, $noreg :: (store 16 into %ir.10, align 4)
654    renamable $r3 = t2ADDri renamable $r0, 232, 14, $noreg, $noreg
655    VST1q64 killed $r3, 0, killed $q2, 14, $noreg :: (store 16 into %ir.13, align 8)
656    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.82, 14, $noreg
657    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.82, 14, $noreg
658    VST1q64 killed $r5, 0, killed $q12, 14, $noreg :: (store 16 into %ir.14, align 8)
659    renamable $d3 = VSETLNi32 killed renamable $d3, killed renamable $r3, 1, 14, $noreg, implicit $q1, implicit-def $q1
660    renamable $r3 = t2ADDri renamable $r0, 264, 14, $noreg, $noreg
661    VST1q64 killed $r3, 0, killed $q13, 14, $noreg :: (store 16 into %ir.15, align 8)
662    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.91, 14, $noreg
663    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.91, 14, $noreg
664    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.90, 14, $noreg
665    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.90, 14, $noreg
666    renamable $d9 = VSETLNi32 undef renamable $d9, killed renamable $r5, 0, 14, $noreg, implicit killed $q4, implicit-def $q4
667    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.118, 14, $noreg
668    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.118, 14, $noreg
669    renamable $q12 = VDUP32q killed renamable $r5, 14, $noreg
670    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.84, 14, $noreg
671    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.84, 14, $noreg
672    renamable $q13 = VDUP32q killed renamable $r5, 14, $noreg
673    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.92, 14, $noreg
674    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.92, 14, $noreg
675    t2STRDi8 killed $r4, $r4, $r0, 312, 14, $noreg
676    renamable $r4 = t2ADDri renamable $r0, 296, 14, $noreg, $noreg
677    renamable $d5 = VSETLNi32 undef renamable $d5, killed renamable $r5, 0, 14, $noreg, implicit-def $q2
678    renamable $r5 = t2ADDri renamable $r0, 280, 14, $noreg, $noreg
679    VST1q32 $r4, 0, $q10, 14, $noreg :: (store 16 into %ir.16 + 16, align 4)
680    VST1q32 killed $r5, 0, $q10, 14, $noreg :: (store 16 into %ir.16, align 4)
681    VST1q64 killed $r4, 0, killed $q1, 14, $noreg :: (store 16 into %ir.17, align 8)
682    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.83, 14, $noreg
683    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.83, 14, $noreg
684    renamable $d9 = VSETLNi32 killed renamable $d9, renamable $r3, 1, 14, $noreg, implicit $q4, implicit-def $q4
685    renamable $r4 = t2ADDri renamable $r0, 312, 14, $noreg, $noreg
686    renamable $d26 = VSETLNi32 killed renamable $d26, killed renamable $r5, 0, 14, $noreg, implicit $q13, implicit-def $q13
687    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.89, 14, $noreg
688    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.89, 14, $noreg
689    renamable $d8 = VSETLNi32 killed renamable $d8, killed renamable $r5, 1, 14, $noreg, implicit $q4, implicit-def $q4
690    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.106, 14, $noreg
691    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.106, 14, $noreg
692    VST1q64 killed $r4, 0, killed $q13, 14, $noreg :: (store 16 into %ir.18, align 8)
693    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.119, 14, $noreg
694    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.119, 14, $noreg
695    renamable $q1 = VDUP32q killed renamable $r5, 14, $noreg
696    renamable $r5 = t2ADDri renamable $r0, 436, 14, $noreg, $noreg
697    renamable $d25 = VSETLNi32 killed renamable $d25, killed renamable $r4, 1, 14, $noreg, implicit $q12, implicit-def $q12
698    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.116, 14, $noreg
699    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.116, 14, $noreg
700    renamable $d27 = VSETLNi32 undef renamable $d27, killed renamable $r4, 0, 14, $noreg, implicit-def $q13
701    renamable $r4 = t2ADDri renamable $r0, 344, 14, $noreg, $noreg
702    VST1q64 killed $r4, 0, killed $q4, 14, $noreg :: (store 16 into %ir.19, align 8)
703    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.107, 14, $noreg
704    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.107, 14, $noreg
705    renamable $d3 = VSETLNi32 killed renamable $d3, killed renamable $r4, 1, 14, $noreg, implicit $q1, implicit-def $q1
706    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.105, 14, $noreg
707    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.105, 14, $noreg
708    renamable $d31 = VSETLNi32 killed renamable $d31, killed renamable $r4, 1, 14, $noreg, implicit $q15, implicit-def $q15
709    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.99, 14, $noreg
710    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.99, 14, $noreg
711    renamable $d0 = VSETLNi32 killed renamable $d0, killed renamable $r4, 1, 14, $noreg, implicit $q0, implicit-def $q0
712    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.93, 14, $noreg
713    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.93, 14, $noreg
714    renamable $d5 = VSETLNi32 killed renamable $d5, killed renamable $r4, 1, 14, $noreg, implicit $q2, implicit-def $q2
715    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.117, 14, $noreg
716    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.117, 14, $noreg
717    renamable $d27 = VSETLNi32 killed renamable $d27, killed renamable $r4, 1, 14, $noreg, implicit $q13, implicit-def $q13
718    renamable $r4 = t2ADDri renamable $r0, 392, 14, $noreg, $noreg
719    renamable $d4 = VDUP32d killed renamable $r3, 14, $noreg, implicit killed $q2, implicit-def $q2
720    renamable $r3 = t2ADDri renamable $r0, 360, 14, $noreg, $noreg
721    renamable $d26 = VDUP32d killed renamable $r7, 14, $noreg, implicit killed $q13, implicit-def $q13
722    renamable $r7 = t2ADDri renamable $r0, 504, 14, $noreg, $noreg
723    VST1q64 killed $r3, 0, killed $q2, 14, $noreg :: (store 16 into %ir.20, align 8)
724    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.97, 14, $noreg
725    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.97, 14, $noreg
726    renamable $q2 = VDUP32q killed renamable $r3, 14, $noreg
727    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.96, 14, $noreg
728    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.96, 14, $noreg
729    renamable $d4 = VSETLNi32 killed renamable $d4, killed renamable $r3, 0, 14, $noreg, implicit $q2, implicit-def $q2
730    renamable $r3 = t2ADDri renamable $r0, 388, 14, $noreg, $noreg
731    VST1q32 killed $r3, 0, $q10, 14, $noreg :: (store 16 into %ir.21 + 12, align 4)
732    renamable $r3 = t2ADDri renamable $r0, 376, 14, $noreg, $noreg
733    VST1q32 killed $r3, 0, $q10, 14, $noreg :: (store 16 into %ir.21, align 4)
734    renamable $r3 = t2ADDri renamable $r0, 584, 14, $noreg, $noreg
735    VST1q64 killed $r4, 0, killed $q2, 14, $noreg :: (store 16 into %ir.22, align 8)
736    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.100, 14, $noreg
737    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.100, 14, $noreg
738    renamable $d1 = VDUP32d killed renamable $r4, 14, $noreg, implicit killed $q0, implicit-def $q0
739    renamable $r4 = t2ADDri renamable $r0, 408, 14, $noreg, $noreg
740    VST1q64 killed $r4, 0, killed $q0, 14, $noreg :: (store 16 into %ir.23, align 8)
741    renamable $r4 = t2ADDri renamable $r0, 440, 14, $noreg, $noreg
742    VST1q32 killed $r5, 0, $q10, 14, $noreg :: (store 16 into %ir.24 + 12, align 4)
743    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.103, 14, $noreg
744    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.103, 14, $noreg
745    renamable $d30 = VDUP32d killed renamable $r5, 14, $noreg, implicit killed $q15, implicit-def $q15
746    renamable $r5 = t2ADDri renamable $r0, 424, 14, $noreg, $noreg
747    VST1q32 killed $r5, 0, $q10, 14, $noreg :: (store 16 into %ir.24, align 4)
748    VST1q64 killed $r4, 0, killed $q15, 14, $noreg :: (store 16 into %ir.25, align 8)
749    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.111, 14, $noreg
750    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.111, 14, $noreg
751    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.110, 14, $noreg
752    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.110, 14, $noreg
753    renamable $d30 = VSETLNi32 undef renamable $d30, killed renamable $r5, 0, 14, $noreg, implicit-def $q15
754    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.109, 14, $noreg
755    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.109, 14, $noreg
756    renamable $q0 = VDUP32q killed renamable $r5, 14, $noreg
757    renamable $r5 = t2ADDri renamable $r0, 488, 14, $noreg, $noreg
758    renamable $d30 = VSETLNi32 killed renamable $d30, killed renamable $r4, 1, 14, $noreg, implicit $q15, implicit-def $q15
759    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.108, 14, $noreg
760    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.108, 14, $noreg
761    renamable $d0 = VSETLNi32 killed renamable $d0, killed renamable $r4, 0, 14, $noreg, implicit $q0, implicit-def $q0
762    renamable $r4 = t2ADDri renamable $r0, 568, 14, $noreg, $noreg
763    renamable $d31 = VDUP32d killed renamable $r12, 14, $noreg, implicit killed $q15, implicit-def $q15
764    VST1q64 killed $r1, 0, killed $q1, 14, $noreg :: (store 16 into %ir.26, align 8)
765    renamable $r1 = t2ADDri renamable $r0, 472, 14, $noreg, $noreg
766    VST1q64 killed $r1, 0, killed $q0, 14, $noreg :: (store 16 into %ir.27, align 8)
767    renamable $r1 = t2ADDri renamable $r0, 552, 14, $noreg, $noreg
768    VST1q64 killed $r5, 0, killed $q15, 14, $noreg :: (store 16 into %ir.28, align 8)
769    renamable $r5 = t2ADDri renamable $r0, 536, 14, $noreg, $noreg
770    VST1q64 killed $r7, 0, killed $q9, 14, $noreg :: (store 16 into %ir.29, align 8)
771    renamable $r7 = t2ADDri renamable $r0, 660, 14, $noreg, $noreg
772    VST1q64 killed $r6, 0, killed $q13, 14, $noreg :: (store 16 into %ir.30, align 8)
773    VST1q64 killed $r5, 0, killed $q12, 14, $noreg :: (store 16 into %ir.31, align 8)
774    VST1q64 killed $r1, 0, killed $q14, 14, $noreg :: (store 16 into %ir.32, align 8)
775    renamable $r1 = t2ADDri renamable $r0, 608, 14, $noreg, $noreg
776    VST1q64 killed $r4, 0, killed $q8, 14, $noreg :: (store 16 into %ir.33, align 8)
777    VST1q64 killed $r3, 0, killed $q11, 14, $noreg :: (store 16 into %ir.34, align 8)
778    t2STRDi8 killed $r2, $r2, $r0, 600, 14, $noreg
779    VST1q32 killed $r1, 0, $q10, 14, $noreg :: (store 16 into %ir.35, align 4)
780    $r12 = t2MOVi16 target-flags(arm-lo16) @.str.139, 14, $noreg
781    $r12 = t2MOVTi16 $r12, target-flags(arm-hi16) @.str.139, 14, $noreg
782    $r2 = t2MOVi16 target-flags(arm-lo16) @.str.151, 14, $noreg
783    $r2 = t2MOVTi16 $r2, target-flags(arm-hi16) @.str.151, 14, $noreg
784    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.134, 14, $noreg
785    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.134, 14, $noreg
786    renamable $r1 = t2ADDri renamable $r0, 620, 14, $noreg, $noreg
787    renamable $d24 = VSETLNi32 undef renamable $d24, killed renamable $r3, 0, 14, $noreg, implicit-def $q12
788    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.140, 14, $noreg
789    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.140, 14, $noreg
790    renamable $d23 = VSETLNi32 undef renamable $d23, killed renamable $r3, 0, 14, $noreg, implicit-def $q11
791    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.146, 14, $noreg
792    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.146, 14, $noreg
793    renamable $d18 = VSETLNi32 undef renamable $d18, killed renamable $r3, 0, 14, $noreg, implicit-def $q9
794    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.152, 14, $noreg
795    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.152, 14, $noreg
796    renamable $d17 = VSETLNi32 undef renamable $d17, killed renamable $r3, 0, 14, $noreg, implicit-def $q8
797    $r3 = t2MOVi16 target-flags(arm-lo16) @.str.136, 14, $noreg
798    $r3 = t2MOVTi16 $r3, target-flags(arm-hi16) @.str.136, 14, $noreg
799    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.138, 14, $noreg
800    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.138, 14, $noreg
801    renamable $d28 = VSETLNi32 undef renamable $d28, renamable $r3, 0, 14, $noreg, implicit-def $q14
802    renamable $d29 = VSETLNi32 undef renamable $d29, killed renamable $r4, 0, 14, $noreg, implicit killed $q14, implicit-def $q14
803    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.148, 14, $noreg
804    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.148, 14, $noreg
805    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.150, 14, $noreg
806    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.150, 14, $noreg
807    renamable $d26 = VSETLNi32 undef renamable $d26, renamable $r4, 0, 14, $noreg, implicit-def $q13
808    renamable $d29 = VSETLNi32 killed renamable $d29, renamable $r12, 1, 14, $noreg, implicit $q14, implicit-def $q14
809    renamable $d27 = VSETLNi32 undef renamable $d27, killed renamable $r5, 0, 14, $noreg, implicit killed $q13, implicit-def $q13
810    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.130, 14, $noreg
811    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.130, 14, $noreg
812    renamable $q1 = VDUP32q killed renamable $r5, 14, $noreg
813    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.142, 14, $noreg
814    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.142, 14, $noreg
815    renamable $d27 = VSETLNi32 killed renamable $d27, renamable $r2, 1, 14, $noreg, implicit $q13, implicit-def $q13
816    renamable $q15 = VDUP32q killed renamable $r5, 14, $noreg
817    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.149, 14, $noreg
818    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.149, 14, $noreg
819    renamable $d26 = VSETLNi32 killed renamable $d26, killed renamable $r5, 1, 14, $noreg, implicit $q13, implicit-def $q13
820    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.145, 14, $noreg
821    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.145, 14, $noreg
822    renamable $q0 = VDUP32q killed renamable $r5, 14, $noreg
823    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.137, 14, $noreg
824    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.137, 14, $noreg
825    renamable $d28 = VSETLNi32 killed renamable $d28, killed renamable $r5, 1, 14, $noreg, implicit $q14, implicit-def $q14
826    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.153, 14, $noreg
827    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.153, 14, $noreg
828    renamable $d17 = VSETLNi32 killed renamable $d17, killed renamable $r5, 1, 14, $noreg, implicit $q8, implicit-def $q8
829    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.147, 14, $noreg
830    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.147, 14, $noreg
831    renamable $d18 = VSETLNi32 killed renamable $d18, killed renamable $r5, 1, 14, $noreg, implicit $q9, implicit-def $q9
832    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.141, 14, $noreg
833    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.141, 14, $noreg
834    renamable $d23 = VSETLNi32 killed renamable $d23, killed renamable $r5, 1, 14, $noreg, implicit $q11, implicit-def $q11
835    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.135, 14, $noreg
836    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.135, 14, $noreg
837    renamable $d24 = VSETLNi32 killed renamable $d24, killed renamable $r5, 1, 14, $noreg, implicit $q12, implicit-def $q12
838    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.144, 14, $noreg
839    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.144, 14, $noreg
840    renamable $d0 = VSETLNi32 killed renamable $d0, killed renamable $r5, 0, 14, $noreg, implicit $q0, implicit-def $q0
841    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.143, 14, $noreg
842    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.143, 14, $noreg
843    renamable $d31 = VSETLNi32 killed renamable $d31, killed renamable $r5, 1, 14, $noreg, implicit $q15, implicit-def $q15
844    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.131, 14, $noreg
845    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.131, 14, $noreg
846    renamable $d3 = VSETLNi32 killed renamable $d3, killed renamable $r5, 1, 14, $noreg, implicit $q1, implicit-def $q1
847    $r5 = t2MOVi16 target-flags(arm-lo16) @.str.133, 14, $noreg
848    $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.133, 14, $noreg
849    renamable $q2 = VDUP32q killed renamable $r5, 14, $noreg
850    renamable $r5 = t2ADDri renamable $r0, 756, 14, $noreg, $noreg
851    VST1q32 killed $r1, 0, killed $q10, 14, $noreg :: (store 16 into %ir.35 + 12, align 4)
852    $r1 = t2MOVi16 target-flags(arm-lo16) @.str.132, 14, $noreg
853    $r1 = t2MOVTi16 $r1, target-flags(arm-hi16) @.str.132, 14, $noreg
854    renamable $d19 = VDUP32d killed renamable $r4, 14, $noreg, implicit killed $q9, implicit-def $q9
855    $r4 = t2MOVi16 target-flags(arm-lo16) @.str.128, 14, $noreg
856    $r4 = t2MOVTi16 $r4, target-flags(arm-hi16) @.str.128, 14, $noreg
857    renamable $d4 = VSETLNi32 killed renamable $d4, killed renamable $r1, 0, 14, $noreg, implicit $q2, implicit-def $q2
858    $r6 = t2MOVi16 target-flags(arm-lo16) @.str.129, 14, $noreg
859    $r6 = t2MOVTi16 $r6, target-flags(arm-hi16) @.str.129, 14, $noreg
860    renamable $r1 = t2ADDri renamable $r0, 772, 14, $noreg, $noreg
861    renamable $d16 = VDUP32d killed renamable $r2, 14, $noreg, implicit killed $q8, implicit-def $q8
862    renamable $r2 = t2ADDri renamable $r0, 740, 14, $noreg, $noreg
863    renamable $d22 = VDUP32d killed renamable $r12, 14, $noreg, implicit killed $q11, implicit-def $q11
864    renamable $d25 = VDUP32d killed renamable $r3, 14, $noreg, implicit killed $q12, implicit-def $q12
865    t2STRDi8 killed $r4, killed $r6, $r0, 636, 14, $noreg
866    renamable $r4 = t2ADDri renamable $r0, 644, 14, $noreg, $noreg
867    renamable $r6 = t2ADDri renamable $r0, 692, 14, $noreg, $noreg
868    VST1q64 killed $r4, 0, killed $q1, 14, $noreg :: (store 16 into %ir.36, align 8)
869    renamable $r4 = t2ADDri renamable $r0, 724, 14, $noreg, $noreg
870    VST1q64 killed $r7, 0, killed $q2, 14, $noreg :: (store 16 into %ir.37, align 8)
871    renamable $r7 = t2ADDri renamable $r0, 708, 14, $noreg, $noreg
872    renamable $r0 = t2ADDri killed renamable $r0, 676, 14, $noreg, $noreg
873    VST1q64 killed $r0, 0, killed $q12, 14, $noreg :: (store 16 into %ir.38, align 8)
874    VST1q64 killed $r6, 0, killed $q14, 14, $noreg :: (store 16 into %ir.39, align 8)
875    VST1q64 killed $r7, 0, killed $q11, 14, $noreg :: (store 16 into %ir.40, align 8)
876    VST1q64 killed $r4, 0, killed $q15, 14, $noreg :: (store 16 into %ir.41, align 8)
877    VST1q64 killed $r2, 0, killed $q0, 14, $noreg :: (store 16 into %ir.42, align 8)
878    VST1q64 killed $r5, 0, killed $q9, 14, $noreg :: (store 16 into %ir.43, align 8)
879    VST1q64 killed $r1, 0, killed $q13, 14, $noreg :: (store 16 into %ir.44, align 8)
880    VST1q64 killed $lr, 0, killed $q8, 14, $noreg :: (store 16 into %ir.45, align 8)
881    $sp = VLDMDIA_UPD $sp, 14, $noreg, def $d8, def $d9, def $d10, def $d11
882    $sp = t2LDMIA_RET $sp, 14, $noreg, def $r4, def $r5, def $r6, def $r7, def $r11, def $pc
883
884...
885
886# Check that the constant island isn't emitted in the middle of the movw+movt
887# pair. On windows, the IMAGE_REL_ARM_MOV32T relocation on the movw instruction
888# covers both movw and movt, so we can't allow anything to be inserted between
889# them.
890#
891# CHECK:          $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.118, 14 /* CC::al */, $noreg
892# CHECK-NEXT:     renamable $q12 = VDUP32q killed renamable $r5, 14 /* CC::al */, $noreg
893# CHECK-NEXT:     t2B %bb.2, 14 /* CC::al */, $noreg
894# CHECK-NEXT: {{^  $}}
895# CHECK-NEXT:   bb.1 (align 4):
896# CHECK-NEXT:     successors:{{ }}
897# CHECK-NEXT: {{^  $}}
898# CHECK-NEXT:    CONSTPOOL_ENTRY 1, %const.0, 4
899# CHECK-NEXT: {{^  $}}
900# CHECK-NEXT:   bb.2.entry (align 2):
901# CHECK-NEXT:   liveins: $d13, $s27, $r10, $r9, $r8, $s26, $d12, $s25, $s24,
902# CHECK-SAME:            $d15, $s30, $s31, $d14, $s28, $s29, $lr, $r0, $d21,
903# CHECK-SAME:            $r3, $q10, $d20, $d17, $r2, $d25, $q11, $d22, $d23,
904# CHECK-SAME:            $r1, $q8, $d16, $s3, $q14, $d28, $d29, $d19, $s17,
905# CHECK-SAME:            $d8, $s16, $r6, $r7, $r4, $q12, $q9, $d18, $s0, $q15,
906# CHECK-SAME:            $d30, $d31, $r12, $s1, $d0, $d24, $s2, $d1, $q0, $s6,
907# CHECK-SAME:            $d3, $d2, $s4, $q1, $s7, $s5, $d9, $s18, $s19, $q4
908# CHECK-NEXT: {{^  $}}
909# CHECK-NEXT:     $r5 = t2MOVi16 target-flags(arm-lo16) @.str.84, 14 /* CC::al */, $noreg
910# CHECK-NEXT:     $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.84, 14 /* CC::al */, $noreg
911