xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/fp-indexed-ls.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel   -mcpu=mips32   -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS32R1
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel   -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS32R2
3*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel   -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS32R6
4*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips4    -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS4
5*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64   -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS4
6*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64r2 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS4
7*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,MIPS64R6
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; Check that [ls][dwu]xc1 are not emitted for nacl.
10*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=mipsel-none-nacl-gnu -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=CHECK-NACL
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker%struct.S = type <{ [4 x float] }>
13*9880d681SAndroid Build Coastguard Worker%struct.S2 = type <{ [4 x double] }>
14*9880d681SAndroid Build Coastguard Worker%struct.S3 = type <{ i8, float }>
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker@s = external global [4 x %struct.S]
17*9880d681SAndroid Build Coastguard Worker@gf = external global float
18*9880d681SAndroid Build Coastguard Worker@gd = external global double
19*9880d681SAndroid Build Coastguard Worker@s2 = external global [4 x %struct.S2]
20*9880d681SAndroid Build Coastguard Worker@s3 = external global %struct.S3
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdefine float @foo0(float* nocapture %b, i32 %o) nounwind readonly {
23*9880d681SAndroid Build Coastguard Workerentry:
24*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo0:
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      sll $[[T1:[0-9]+]], $5, 2
27*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      addu $[[T3:[0-9]+]], $4, $[[T1]]
28*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      lwc1 $f0, 0($[[T3]])
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      sll $[[T1:[0-9]+]], $5, 2
31*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      lwxc1 $f0, $[[T1]]($4)
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      sll $[[T1:[0-9]+]], $5, 2
34*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      addu $[[T3:[0-9]+]], $4, $[[T1]]
35*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      lwc1 $f0, 0($[[T3]])
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Worker; MIPS4:         sll $[[T0:[0-9]+]], $5, 0
38*9880d681SAndroid Build Coastguard Worker; MIPS4:         dsll $[[T1:[0-9]+]], $[[T0]], 2
39*9880d681SAndroid Build Coastguard Worker; MIPS4:         lwxc1 $f0, $[[T1]]($4)
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      sll $[[T0:[0-9]+]], $5, 0
42*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      dsll $[[T1:[0-9]+]], $[[T0]], 2
43*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      daddu $[[T3:[0-9]+]], $4, $[[T1]]
44*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      lwc1 $f0, 0($[[T3]])
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Worker; CHECK-NACL-NOT: lwxc1
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker  %arrayidx = getelementptr inbounds float, float* %b, i32 %o
49*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %arrayidx, align 4
50*9880d681SAndroid Build Coastguard Worker  ret float %0
51*9880d681SAndroid Build Coastguard Worker}
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Workerdefine double @foo1(double* nocapture %b, i32 %o) nounwind readonly {
54*9880d681SAndroid Build Coastguard Workerentry:
55*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo1:
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      sll $[[T1:[0-9]+]], $5, 3
58*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      addu $[[T3:[0-9]+]], $4, $[[T1]]
59*9880d681SAndroid Build Coastguard Worker; MIPS32R1:      ldc1 $f0, 0($[[T3]])
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      sll $[[T1:[0-9]+]], $5, 3
62*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      ldxc1 $f0, $[[T1]]($4)
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      sll $[[T1:[0-9]+]], $5, 3
65*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      addu $[[T3:[0-9]+]], $4, $[[T1]]
66*9880d681SAndroid Build Coastguard Worker; MIPS32R6:      ldc1 $f0, 0($[[T3]])
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker; MIPS4:         sll $[[T0:[0-9]+]], $5, 0
69*9880d681SAndroid Build Coastguard Worker; MIPS4:         dsll $[[T1:[0-9]+]], $[[T0]], 3
70*9880d681SAndroid Build Coastguard Worker; MIPS4:         ldxc1 $f0, $[[T1]]($4)
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      sll $[[T0:[0-9]+]], $5, 0
73*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      dsll $[[T1:[0-9]+]], $[[T0]], 3
74*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      daddu $[[T3:[0-9]+]], $4, $[[T1]]
75*9880d681SAndroid Build Coastguard Worker; MIPS64R6:      ldc1 $f0, 0($[[T3]])
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker; CHECK-NACL-NOT: ldxc1
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker  %arrayidx = getelementptr inbounds double, double* %b, i32 %o
80*9880d681SAndroid Build Coastguard Worker  %0 = load double, double* %arrayidx, align 8
81*9880d681SAndroid Build Coastguard Worker  ret double %0
82*9880d681SAndroid Build Coastguard Worker}
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerdefine float @foo2(i32 %b, i32 %c) nounwind readonly {
85*9880d681SAndroid Build Coastguard Workerentry:
86*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo2:
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker; luxc1 did not exist in MIPS32r1
89*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  luxc1
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker; luxc1 is a misnomer since it aligns the given pointer downwards and performs
92*9880d681SAndroid Build Coastguard Worker; an aligned load. We mustn't use it to handle unaligned loads.
93*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  luxc1
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker; luxc1 was removed in MIPS32r6
96*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  luxc1
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     luxc1
99*9880d681SAndroid Build Coastguard Worker
100*9880d681SAndroid Build Coastguard Worker; luxc1 was removed in MIPS64r6
101*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  luxc1
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker  %arrayidx1 = getelementptr inbounds [4 x %struct.S], [4 x %struct.S]* @s, i32 0, i32 %b, i32 0, i32 %c
104*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %arrayidx1, align 1
105*9880d681SAndroid Build Coastguard Worker  ret float %0
106*9880d681SAndroid Build Coastguard Worker}
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Workerdefine void @foo3(float* nocapture %b, i32 %o) nounwind {
109*9880d681SAndroid Build Coastguard Workerentry:
110*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo3:
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  lwc1 $[[T0:f0]], 0(${{[0-9]+}})
113*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  addu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
114*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  swc1 $[[T0]], 0($[[T1]])
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      lwc1 $[[T0:f0]], 0(${{[0-9]+}})
117*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      swxc1 $[[T0]], ${{[0-9]+}}($4)
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  lwc1 $[[T0:f0]], 0(${{[0-9]+}})
120*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  addu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
121*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  swc1 $[[T0]], 0($[[T1]])
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker; MIPS4:         lwc1 $[[T0:f0]], 0(${{[0-9]+}})
124*9880d681SAndroid Build Coastguard Worker; MIPS4:         swxc1 $[[T0]], ${{[0-9]+}}($4)
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  lwc1 $[[T0:f0]], 0(${{[0-9]+}})
127*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  daddu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
128*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  swc1 $[[T0]], 0($[[T1]])
129*9880d681SAndroid Build Coastguard Worker
130*9880d681SAndroid Build Coastguard Worker; CHECK-NACL-NOT: swxc1
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* @gf, align 4
133*9880d681SAndroid Build Coastguard Worker  %arrayidx = getelementptr inbounds float, float* %b, i32 %o
134*9880d681SAndroid Build Coastguard Worker  store float %0, float* %arrayidx, align 4
135*9880d681SAndroid Build Coastguard Worker  ret void
136*9880d681SAndroid Build Coastguard Worker}
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Workerdefine void @foo4(double* nocapture %b, i32 %o) nounwind {
139*9880d681SAndroid Build Coastguard Workerentry:
140*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo4:
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  ldc1 $[[T0:f0]], 0(${{[0-9]+}})
143*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  addu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
144*9880d681SAndroid Build Coastguard Worker; MIPS32R1-DAG:  sdc1 $[[T0]], 0($[[T1]])
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      ldc1 $[[T0:f0]], 0(${{[0-9]+}})
147*9880d681SAndroid Build Coastguard Worker; MIPS32R2:      sdxc1 $[[T0]], ${{[0-9]+}}($4)
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  ldc1 $[[T0:f0]], 0(${{[0-9]+}})
150*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  addu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
151*9880d681SAndroid Build Coastguard Worker; MIPS32R6-DAG:  sdc1 $[[T0]], 0($[[T1]])
152*9880d681SAndroid Build Coastguard Worker
153*9880d681SAndroid Build Coastguard Worker; MIPS4:         ldc1 $[[T0:f0]], 0(${{[0-9]+}})
154*9880d681SAndroid Build Coastguard Worker; MIPS4:         sdxc1 $[[T0]], ${{[0-9]+}}($4)
155*9880d681SAndroid Build Coastguard Worker
156*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  ldc1 $[[T0:f0]], 0(${{[0-9]+}})
157*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  daddu $[[T1:[0-9]+]], $4, ${{[0-9]+}}
158*9880d681SAndroid Build Coastguard Worker; MIPS64R6-DAG:  sdc1 $[[T0]], 0($[[T1]])
159*9880d681SAndroid Build Coastguard Worker
160*9880d681SAndroid Build Coastguard Worker; CHECK-NACL-NOT: sdxc1
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Worker  %0 = load double, double* @gd, align 8
163*9880d681SAndroid Build Coastguard Worker  %arrayidx = getelementptr inbounds double, double* %b, i32 %o
164*9880d681SAndroid Build Coastguard Worker  store double %0, double* %arrayidx, align 8
165*9880d681SAndroid Build Coastguard Worker  ret void
166*9880d681SAndroid Build Coastguard Worker}
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Workerdefine void @foo5(i32 %b, i32 %c) nounwind {
169*9880d681SAndroid Build Coastguard Workerentry:
170*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo5:
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  suxc1
173*9880d681SAndroid Build Coastguard Worker
174*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  suxc1
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  suxc1
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     suxc1
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  suxc1
181*9880d681SAndroid Build Coastguard Worker
182*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* @gf, align 4
183*9880d681SAndroid Build Coastguard Worker  %arrayidx1 = getelementptr inbounds [4 x %struct.S], [4 x %struct.S]* @s, i32 0, i32 %b, i32 0, i32 %c
184*9880d681SAndroid Build Coastguard Worker  store float %0, float* %arrayidx1, align 1
185*9880d681SAndroid Build Coastguard Worker  ret void
186*9880d681SAndroid Build Coastguard Worker}
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Workerdefine double @foo6(i32 %b, i32 %c) nounwind readonly {
189*9880d681SAndroid Build Coastguard Workerentry:
190*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo6:
191*9880d681SAndroid Build Coastguard Worker
192*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  luxc1
193*9880d681SAndroid Build Coastguard Worker
194*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  luxc1
195*9880d681SAndroid Build Coastguard Worker
196*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  luxc1
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     luxc1
199*9880d681SAndroid Build Coastguard Worker
200*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  luxc1
201*9880d681SAndroid Build Coastguard Worker
202*9880d681SAndroid Build Coastguard Worker  %arrayidx1 = getelementptr inbounds [4 x %struct.S2], [4 x %struct.S2]* @s2, i32 0, i32 %b, i32 0, i32 %c
203*9880d681SAndroid Build Coastguard Worker  %0 = load double, double* %arrayidx1, align 1
204*9880d681SAndroid Build Coastguard Worker  ret double %0
205*9880d681SAndroid Build Coastguard Worker}
206*9880d681SAndroid Build Coastguard Worker
207*9880d681SAndroid Build Coastguard Workerdefine void @foo7(i32 %b, i32 %c) nounwind {
208*9880d681SAndroid Build Coastguard Workerentry:
209*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo7:
210*9880d681SAndroid Build Coastguard Worker
211*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  suxc1
212*9880d681SAndroid Build Coastguard Worker
213*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  suxc1
214*9880d681SAndroid Build Coastguard Worker
215*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  suxc1
216*9880d681SAndroid Build Coastguard Worker
217*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     suxc1
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  suxc1
220*9880d681SAndroid Build Coastguard Worker
221*9880d681SAndroid Build Coastguard Worker  %0 = load double, double* @gd, align 8
222*9880d681SAndroid Build Coastguard Worker  %arrayidx1 = getelementptr inbounds [4 x %struct.S2], [4 x %struct.S2]* @s2, i32 0, i32 %b, i32 0, i32 %c
223*9880d681SAndroid Build Coastguard Worker  store double %0, double* %arrayidx1, align 1
224*9880d681SAndroid Build Coastguard Worker  ret void
225*9880d681SAndroid Build Coastguard Worker}
226*9880d681SAndroid Build Coastguard Worker
227*9880d681SAndroid Build Coastguard Workerdefine float @foo8() nounwind readonly {
228*9880d681SAndroid Build Coastguard Workerentry:
229*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo8:
230*9880d681SAndroid Build Coastguard Worker
231*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  luxc1
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  luxc1
234*9880d681SAndroid Build Coastguard Worker
235*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  luxc1
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     luxc1
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  luxc1
240*9880d681SAndroid Build Coastguard Worker
241*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* getelementptr inbounds (%struct.S3, %struct.S3* @s3, i32 0, i32 1), align 1
242*9880d681SAndroid Build Coastguard Worker  ret float %0
243*9880d681SAndroid Build Coastguard Worker}
244*9880d681SAndroid Build Coastguard Worker
245*9880d681SAndroid Build Coastguard Workerdefine void @foo9(float %f) nounwind {
246*9880d681SAndroid Build Coastguard Workerentry:
247*9880d681SAndroid Build Coastguard Worker; ALL-LABEL: foo9:
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Worker; MIPS32R1-NOT:  suxc1
250*9880d681SAndroid Build Coastguard Worker
251*9880d681SAndroid Build Coastguard Worker; MIPS32R2-NOT:  suxc1
252*9880d681SAndroid Build Coastguard Worker
253*9880d681SAndroid Build Coastguard Worker; MIPS32R6-NOT:  suxc1
254*9880d681SAndroid Build Coastguard Worker
255*9880d681SAndroid Build Coastguard Worker; MIPS4-NOT:     suxc1
256*9880d681SAndroid Build Coastguard Worker
257*9880d681SAndroid Build Coastguard Worker; MIPS64R6-NOT:  suxc1
258*9880d681SAndroid Build Coastguard Worker
259*9880d681SAndroid Build Coastguard Worker  store float %f, float* getelementptr inbounds (%struct.S3, %struct.S3* @s3, i32 0, i32 1), align 1
260*9880d681SAndroid Build Coastguard Worker  ret void
261*9880d681SAndroid Build Coastguard Worker}
262*9880d681SAndroid Build Coastguard Worker
263