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