xref: /llvm-project/llvm/test/CodeGen/ARM/arm-storebytesmerge.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=thumbv7em-arm-none-eabi %s -o - | FileCheck %s
3
4define arm_aapcs_vfpcc void @test(ptr %v50) {
5; CHECK-LABEL: test:
6; CHECK:       @ %bb.0:
7; CHECK-NEXT:    movw r1, #65534
8; CHECK-NEXT:    strh.w r1, [r0, #510]
9; CHECK-NEXT:    movw r1, #64506
10; CHECK-NEXT:    movt r1, #65020
11; CHECK-NEXT:    str.w r1, [r0, #506]
12; CHECK-NEXT:    movw r1, #63478
13; CHECK-NEXT:    movt r1, #63992
14; CHECK-NEXT:    str.w r1, [r0, #502]
15; CHECK-NEXT:    movw r1, #62450
16; CHECK-NEXT:    movt r1, #62964
17; CHECK-NEXT:    str.w r1, [r0, #498]
18; CHECK-NEXT:    movw r1, #61422
19; CHECK-NEXT:    movt r1, #61936
20; CHECK-NEXT:    str.w r1, [r0, #494]
21; CHECK-NEXT:    movw r1, #60394
22; CHECK-NEXT:    movt r1, #60908
23; CHECK-NEXT:    str.w r1, [r0, #490]
24; CHECK-NEXT:    movw r1, #59366
25; CHECK-NEXT:    movt r1, #59880
26; CHECK-NEXT:    str.w r1, [r0, #486]
27; CHECK-NEXT:    movw r1, #58338
28; CHECK-NEXT:    movt r1, #58852
29; CHECK-NEXT:    str.w r1, [r0, #482]
30; CHECK-NEXT:    movw r1, #57310
31; CHECK-NEXT:    movt r1, #57824
32; CHECK-NEXT:    str.w r1, [r0, #478]
33; CHECK-NEXT:    movw r1, #56282
34; CHECK-NEXT:    movt r1, #56796
35; CHECK-NEXT:    str.w r1, [r0, #474]
36; CHECK-NEXT:    movw r1, #55254
37; CHECK-NEXT:    movt r1, #55768
38; CHECK-NEXT:    str.w r1, [r0, #470]
39; CHECK-NEXT:    movw r1, #54226
40; CHECK-NEXT:    movt r1, #54740
41; CHECK-NEXT:    str.w r1, [r0, #466]
42; CHECK-NEXT:    movw r1, #53198
43; CHECK-NEXT:    movt r1, #53712
44; CHECK-NEXT:    str.w r1, [r0, #462]
45; CHECK-NEXT:    movw r1, #52170
46; CHECK-NEXT:    movt r1, #52684
47; CHECK-NEXT:    str.w r1, [r0, #458]
48; CHECK-NEXT:    movw r1, #51142
49; CHECK-NEXT:    movt r1, #51656
50; CHECK-NEXT:    str.w r1, [r0, #454]
51; CHECK-NEXT:    movw r1, #50114
52; CHECK-NEXT:    movt r1, #50628
53; CHECK-NEXT:    str.w r1, [r0, #450]
54; CHECK-NEXT:    movw r1, #49086
55; CHECK-NEXT:    movt r1, #49600
56; CHECK-NEXT:    str.w r1, [r0, #446]
57; CHECK-NEXT:    movw r1, #48058
58; CHECK-NEXT:    movt r1, #48572
59; CHECK-NEXT:    str.w r1, [r0, #442]
60; CHECK-NEXT:    movw r1, #47030
61; CHECK-NEXT:    movt r1, #47544
62; CHECK-NEXT:    str.w r1, [r0, #438]
63; CHECK-NEXT:    movw r1, #46002
64; CHECK-NEXT:    movt r1, #46516
65; CHECK-NEXT:    str.w r1, [r0, #434]
66; CHECK-NEXT:    movw r1, #44974
67; CHECK-NEXT:    movt r1, #45488
68; CHECK-NEXT:    str.w r1, [r0, #430]
69; CHECK-NEXT:    movw r1, #43946
70; CHECK-NEXT:    movt r1, #44460
71; CHECK-NEXT:    str.w r1, [r0, #426]
72; CHECK-NEXT:    movw r1, #42918
73; CHECK-NEXT:    movt r1, #43432
74; CHECK-NEXT:    str.w r1, [r0, #422]
75; CHECK-NEXT:    movw r1, #41890
76; CHECK-NEXT:    movt r1, #42404
77; CHECK-NEXT:    str.w r1, [r0, #418]
78; CHECK-NEXT:    movw r1, #40862
79; CHECK-NEXT:    movt r1, #41376
80; CHECK-NEXT:    str.w r1, [r0, #414]
81; CHECK-NEXT:    movw r1, #39834
82; CHECK-NEXT:    movt r1, #40348
83; CHECK-NEXT:    str.w r1, [r0, #410]
84; CHECK-NEXT:    movw r1, #38806
85; CHECK-NEXT:    movt r1, #39320
86; CHECK-NEXT:    str.w r1, [r0, #406]
87; CHECK-NEXT:    movw r1, #37778
88; CHECK-NEXT:    movt r1, #38292
89; CHECK-NEXT:    str.w r1, [r0, #402]
90; CHECK-NEXT:    movw r1, #36750
91; CHECK-NEXT:    movt r1, #37264
92; CHECK-NEXT:    str.w r1, [r0, #398]
93; CHECK-NEXT:    movw r1, #35722
94; CHECK-NEXT:    movt r1, #36236
95; CHECK-NEXT:    str.w r1, [r0, #394]
96; CHECK-NEXT:    bx lr
97  %v190 = getelementptr inbounds i8, ptr %v50, i32 394
98  store i8 -118, ptr %v190, align 1
99  %v191 = getelementptr inbounds i8, ptr %v50, i32 395
100  store i8 -117, ptr %v191, align 1
101  %v192 = getelementptr inbounds i8, ptr %v50, i32 396
102  store i8 -116, ptr %v192, align 1
103  %v193 = getelementptr inbounds i8, ptr %v50, i32 397
104  store i8 -115, ptr %v193, align 1
105  %v194 = getelementptr inbounds i8, ptr %v50, i32 398
106  store i8 -114, ptr %v194, align 1
107  %v195 = getelementptr inbounds i8, ptr %v50, i32 399
108  store i8 -113, ptr %v195, align 1
109  %v196 = getelementptr inbounds i8, ptr %v50, i32 400
110  store i8 -112, ptr %v196, align 1
111  %v197 = getelementptr inbounds i8, ptr %v50, i32 401
112  store i8 -111, ptr %v197, align 1
113  %v198 = getelementptr inbounds i8, ptr %v50, i32 402
114  store i8 -110, ptr %v198, align 1
115  %v199 = getelementptr inbounds i8, ptr %v50, i32 403
116  store i8 -109, ptr %v199, align 1
117  %v200 = getelementptr inbounds i8, ptr %v50, i32 404
118  store i8 -108, ptr %v200, align 1
119  %v201 = getelementptr inbounds i8, ptr %v50, i32 405
120  store i8 -107, ptr %v201, align 1
121  %v202 = getelementptr inbounds i8, ptr %v50, i32 406
122  store i8 -106, ptr %v202, align 1
123  %v203 = getelementptr inbounds i8, ptr %v50, i32 407
124  store i8 -105, ptr %v203, align 1
125  %v204 = getelementptr inbounds i8, ptr %v50, i32 408
126  store i8 -104, ptr %v204, align 1
127  %v205 = getelementptr inbounds i8, ptr %v50, i32 409
128  store i8 -103, ptr %v205, align 1
129  %v206 = getelementptr inbounds i8, ptr %v50, i32 410
130  store i8 -102, ptr %v206, align 1
131  %v207 = getelementptr inbounds i8, ptr %v50, i32 411
132  store i8 -101, ptr %v207, align 1
133  %v208 = getelementptr inbounds i8, ptr %v50, i32 412
134  store i8 -100, ptr %v208, align 1
135  %v209 = getelementptr inbounds i8, ptr %v50, i32 413
136  store i8 -99, ptr %v209, align 1
137  %v210 = getelementptr inbounds i8, ptr %v50, i32 414
138  store i8 -98, ptr %v210, align 1
139  %v211 = getelementptr inbounds i8, ptr %v50, i32 415
140  store i8 -97, ptr %v211, align 1
141  %v212 = getelementptr inbounds i8, ptr %v50, i32 416
142  store i8 -96, ptr %v212, align 1
143  %v213 = getelementptr inbounds i8, ptr %v50, i32 417
144  store i8 -95, ptr %v213, align 1
145  %v214 = getelementptr inbounds i8, ptr %v50, i32 418
146  store i8 -94, ptr %v214, align 1
147  %v215 = getelementptr inbounds i8, ptr %v50, i32 419
148  store i8 -93, ptr %v215, align 1
149  %v216 = getelementptr inbounds i8, ptr %v50, i32 420
150  store i8 -92, ptr %v216, align 1
151  %v217 = getelementptr inbounds i8, ptr %v50, i32 421
152  store i8 -91, ptr %v217, align 1
153  %v218 = getelementptr inbounds i8, ptr %v50, i32 422
154  store i8 -90, ptr %v218, align 1
155  %v219 = getelementptr inbounds i8, ptr %v50, i32 423
156  store i8 -89, ptr %v219, align 1
157  %v220 = getelementptr inbounds i8, ptr %v50, i32 424
158  store i8 -88, ptr %v220, align 1
159  %v221 = getelementptr inbounds i8, ptr %v50, i32 425
160  store i8 -87, ptr %v221, align 1
161  %v222 = getelementptr inbounds i8, ptr %v50, i32 426
162  store i8 -86, ptr %v222, align 1
163  %v223 = getelementptr inbounds i8, ptr %v50, i32 427
164  store i8 -85, ptr %v223, align 1
165  %v224 = getelementptr inbounds i8, ptr %v50, i32 428
166  store i8 -84, ptr %v224, align 1
167  %v225 = getelementptr inbounds i8, ptr %v50, i32 429
168  store i8 -83, ptr %v225, align 1
169  %v226 = getelementptr inbounds i8, ptr %v50, i32 430
170  store i8 -82, ptr %v226, align 1
171  %v227 = getelementptr inbounds i8, ptr %v50, i32 431
172  store i8 -81, ptr %v227, align 1
173  %v228 = getelementptr inbounds i8, ptr %v50, i32 432
174  store i8 -80, ptr %v228, align 1
175  %v229 = getelementptr inbounds i8, ptr %v50, i32 433
176  store i8 -79, ptr %v229, align 1
177  %v230 = getelementptr inbounds i8, ptr %v50, i32 434
178  store i8 -78, ptr %v230, align 1
179  %v231 = getelementptr inbounds i8, ptr %v50, i32 435
180  store i8 -77, ptr %v231, align 1
181  %v232 = getelementptr inbounds i8, ptr %v50, i32 436
182  store i8 -76, ptr %v232, align 1
183  %v233 = getelementptr inbounds i8, ptr %v50, i32 437
184  store i8 -75, ptr %v233, align 1
185  %v234 = getelementptr inbounds i8, ptr %v50, i32 438
186  store i8 -74, ptr %v234, align 1
187  %v235 = getelementptr inbounds i8, ptr %v50, i32 439
188  store i8 -73, ptr %v235, align 1
189  %v236 = getelementptr inbounds i8, ptr %v50, i32 440
190  store i8 -72, ptr %v236, align 1
191  %v237 = getelementptr inbounds i8, ptr %v50, i32 441
192  store i8 -71, ptr %v237, align 1
193  %v238 = getelementptr inbounds i8, ptr %v50, i32 442
194  store i8 -70, ptr %v238, align 1
195  %v239 = getelementptr inbounds i8, ptr %v50, i32 443
196  store i8 -69, ptr %v239, align 1
197  %v240 = getelementptr inbounds i8, ptr %v50, i32 444
198  store i8 -68, ptr %v240, align 1
199  %v241 = getelementptr inbounds i8, ptr %v50, i32 445
200  store i8 -67, ptr %v241, align 1
201  %v242 = getelementptr inbounds i8, ptr %v50, i32 446
202  store i8 -66, ptr %v242, align 1
203  %v243 = getelementptr inbounds i8, ptr %v50, i32 447
204  store i8 -65, ptr %v243, align 1
205  %v244 = getelementptr inbounds i8, ptr %v50, i32 448
206  store i8 -64, ptr %v244, align 1
207  %v245 = getelementptr inbounds i8, ptr %v50, i32 449
208  store i8 -63, ptr %v245, align 1
209  %v246 = getelementptr inbounds i8, ptr %v50, i32 450
210  store i8 -62, ptr %v246, align 1
211  %v247 = getelementptr inbounds i8, ptr %v50, i32 451
212  store i8 -61, ptr %v247, align 1
213  %v248 = getelementptr inbounds i8, ptr %v50, i32 452
214  store i8 -60, ptr %v248, align 1
215  %v249 = getelementptr inbounds i8, ptr %v50, i32 453
216  store i8 -59, ptr %v249, align 1
217  %v250 = getelementptr inbounds i8, ptr %v50, i32 454
218  store i8 -58, ptr %v250, align 1
219  %v251 = getelementptr inbounds i8, ptr %v50, i32 455
220  store i8 -57, ptr %v251, align 1
221  %v252 = getelementptr inbounds i8, ptr %v50, i32 456
222  store i8 -56, ptr %v252, align 1
223  %v253 = getelementptr inbounds i8, ptr %v50, i32 457
224  store i8 -55, ptr %v253, align 1
225  %v254 = getelementptr inbounds i8, ptr %v50, i32 458
226  store i8 -54, ptr %v254, align 1
227  %v255 = getelementptr inbounds i8, ptr %v50, i32 459
228  store i8 -53, ptr %v255, align 1
229  %v256 = getelementptr inbounds i8, ptr %v50, i32 460
230  store i8 -52, ptr %v256, align 1
231  %v257 = getelementptr inbounds i8, ptr %v50, i32 461
232  store i8 -51, ptr %v257, align 1
233  %v258 = getelementptr inbounds i8, ptr %v50, i32 462
234  store i8 -50, ptr %v258, align 1
235  %v259 = getelementptr inbounds i8, ptr %v50, i32 463
236  store i8 -49, ptr %v259, align 1
237  %v260 = getelementptr inbounds i8, ptr %v50, i32 464
238  store i8 -48, ptr %v260, align 1
239  %v261 = getelementptr inbounds i8, ptr %v50, i32 465
240  store i8 -47, ptr %v261, align 1
241  %v262 = getelementptr inbounds i8, ptr %v50, i32 466
242  store i8 -46, ptr %v262, align 1
243  %v263 = getelementptr inbounds i8, ptr %v50, i32 467
244  store i8 -45, ptr %v263, align 1
245  %v264 = getelementptr inbounds i8, ptr %v50, i32 468
246  store i8 -44, ptr %v264, align 1
247  %v265 = getelementptr inbounds i8, ptr %v50, i32 469
248  store i8 -43, ptr %v265, align 1
249  %v266 = getelementptr inbounds i8, ptr %v50, i32 470
250  store i8 -42, ptr %v266, align 1
251  %v267 = getelementptr inbounds i8, ptr %v50, i32 471
252  store i8 -41, ptr %v267, align 1
253  %v268 = getelementptr inbounds i8, ptr %v50, i32 472
254  store i8 -40, ptr %v268, align 1
255  %v269 = getelementptr inbounds i8, ptr %v50, i32 473
256  store i8 -39, ptr %v269, align 1
257  %v270 = getelementptr inbounds i8, ptr %v50, i32 474
258  store i8 -38, ptr %v270, align 1
259  %v271 = getelementptr inbounds i8, ptr %v50, i32 475
260  store i8 -37, ptr %v271, align 1
261  %v272 = getelementptr inbounds i8, ptr %v50, i32 476
262  store i8 -36, ptr %v272, align 1
263  %v273 = getelementptr inbounds i8, ptr %v50, i32 477
264  store i8 -35, ptr %v273, align 1
265  %v274 = getelementptr inbounds i8, ptr %v50, i32 478
266  store i8 -34, ptr %v274, align 1
267  %v275 = getelementptr inbounds i8, ptr %v50, i32 479
268  store i8 -33, ptr %v275, align 1
269  %v276 = getelementptr inbounds i8, ptr %v50, i32 480
270  store i8 -32, ptr %v276, align 1
271  %v277 = getelementptr inbounds i8, ptr %v50, i32 481
272  store i8 -31, ptr %v277, align 1
273  %v278 = getelementptr inbounds i8, ptr %v50, i32 482
274  store i8 -30, ptr %v278, align 1
275  %v279 = getelementptr inbounds i8, ptr %v50, i32 483
276  store i8 -29, ptr %v279, align 1
277  %v280 = getelementptr inbounds i8, ptr %v50, i32 484
278  store i8 -28, ptr %v280, align 1
279  %v281 = getelementptr inbounds i8, ptr %v50, i32 485
280  store i8 -27, ptr %v281, align 1
281  %v282 = getelementptr inbounds i8, ptr %v50, i32 486
282  store i8 -26, ptr %v282, align 1
283  %v283 = getelementptr inbounds i8, ptr %v50, i32 487
284  store i8 -25, ptr %v283, align 1
285  %v284 = getelementptr inbounds i8, ptr %v50, i32 488
286  store i8 -24, ptr %v284, align 1
287  %v285 = getelementptr inbounds i8, ptr %v50, i32 489
288  store i8 -23, ptr %v285, align 1
289  %v286 = getelementptr inbounds i8, ptr %v50, i32 490
290  store i8 -22, ptr %v286, align 1
291  %v287 = getelementptr inbounds i8, ptr %v50, i32 491
292  store i8 -21, ptr %v287, align 1
293  %v288 = getelementptr inbounds i8, ptr %v50, i32 492
294  store i8 -20, ptr %v288, align 1
295  %v289 = getelementptr inbounds i8, ptr %v50, i32 493
296  store i8 -19, ptr %v289, align 1
297  %v290 = getelementptr inbounds i8, ptr %v50, i32 494
298  store i8 -18, ptr %v290, align 1
299  %v291 = getelementptr inbounds i8, ptr %v50, i32 495
300  store i8 -17, ptr %v291, align 1
301  %v292 = getelementptr inbounds i8, ptr %v50, i32 496
302  store i8 -16, ptr %v292, align 1
303  %v293 = getelementptr inbounds i8, ptr %v50, i32 497
304  store i8 -15, ptr %v293, align 1
305  %v294 = getelementptr inbounds i8, ptr %v50, i32 498
306  store i8 -14, ptr %v294, align 1
307  %v295 = getelementptr inbounds i8, ptr %v50, i32 499
308  store i8 -13, ptr %v295, align 1
309  %v296 = getelementptr inbounds i8, ptr %v50, i32 500
310  store i8 -12, ptr %v296, align 1
311  %v297 = getelementptr inbounds i8, ptr %v50, i32 501
312  store i8 -11, ptr %v297, align 1
313  %v298 = getelementptr inbounds i8, ptr %v50, i32 502
314  store i8 -10, ptr %v298, align 1
315  %v299 = getelementptr inbounds i8, ptr %v50, i32 503
316  store i8 -9, ptr %v299, align 1
317  %v300 = getelementptr inbounds i8, ptr %v50, i32 504
318  store i8 -8, ptr %v300, align 1
319  %v301 = getelementptr inbounds i8, ptr %v50, i32 505
320  store i8 -7, ptr %v301, align 1
321  %v302 = getelementptr inbounds i8, ptr %v50, i32 506
322  store i8 -6, ptr %v302, align 1
323  %v303 = getelementptr inbounds i8, ptr %v50, i32 507
324  store i8 -5, ptr %v303, align 1
325  %v304 = getelementptr inbounds i8, ptr %v50, i32 508
326  store i8 -4, ptr %v304, align 1
327  %v305 = getelementptr inbounds i8, ptr %v50, i32 509
328  store i8 -3, ptr %v305, align 1
329  %v306 = getelementptr inbounds i8, ptr %v50, i32 510
330  store i8 -2, ptr %v306, align 1
331  %v307 = getelementptr inbounds i8, ptr %v50, i32 511
332  store i8 -1, ptr %v307, align 1
333  ret void
334  }
335
336