2 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64-none-linux
%s
-o
%t.o
3 // RUN
: ld.lld
-fix-cortex-a53-
843419 -z separate-code
-verbose
%t.o
-o
%t2
2>&1 | FileCheck
-check-prefix CHECK-PRINT
%s
4 // RUN
: llvm-objdump
--no-print-imm-hex
--triple
=aarch64-linux-gnu
-d
%t2 | FileCheck
%s
--check-prefixes
=CHECK
,CHECK-FIX
5 // RUN
: ld.lld
%t.o
-z separate-code
-o
%t3
6 // RUN
: llvm-objdump
--no-print-imm-hex
--triple
=aarch64-linux-gnu
-d
%t3 | FileCheck
%s
--check-prefixes
=CHECK
,CHECK-NOFIX
7 // RUN
: ld.lld
-fix-cortex-a53-
843419 -r
-z separate-code
%t.o
-o
%t4
8 // RUN
: llvm-objdump
--no-print-imm-hex
--triple
=aarch64-linux-gnu
-d
%t4 | FileCheck
%s
--check-prefixes
=CHECK-RELOCATABLE
9 // Test cases for Cortex-A53 Erratum
843419
10 // See ARM-EPM-
048406 Cortex_A53_MPCore_Software_Developers_Errata_Notice.pdf
11 // for full erratum details.
14 // ADRP
(0xff8 or 0xffc).
16 // - load
or store single register
or either integer
or vector registers.
17 // - STP
or STNP of either vector
or vector registers.
18 // - Advanced SIMD ST1 store instruction.
19 // - Must
not write Rn.
20 // 3.) optional instruction, can't be a branch, must not write Rn, may read Rn.
21 // 4.) A load or store instruction from the Load/Store register unsigned
22 // immediate class using Rn as the base register.
24 // Each section contains a sequence of instructions that should be recognized
25 // as erratum 843419. The test cases cover the major variations such as:
26 // - adrp starts at 0xfff8 or 0xfffc.
27 // - Variations in instruction class for instruction 2.
28 // - Optional instruction 3 present or not.
29 // - Load or store for instruction 4.
31 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 211FF8 in unpatched output.
32 // CHECK: <t3_ff8_ldr>:
33 // CHECK-NEXT: 211ff8: f0000260 adrp x0, 0x260000
34 // CHECK-NEXT: 211ffc: f9400021 ldr x1, [x1]
35 // CHECK-FIX: 212000: 1400c803 b 0x24400c
36 // CHECK-NOFIX: 212000: f9400000 ldr x0, [x0]
37 // CHECK-NEXT: 212004: d65f03c0 ret
38 // CHECK-RELOCATABLE: <t3_ff8_ldr>:
39 // CHECK-RELOCATABLE-NEXT: ff8: 90000000 adrp x0, 0x0
40 // CHECK-RELOCATABLE-NEXT: ffc: f9400021 ldr x1, [x1]
41 // CHECK-RELOCATABLE-NEXT: 1000: f9400000 ldr x0, [x0]
42 // CHECK-RELOCATABLE-NEXT: 1004: d65f03c0 ret
44 .section .text.01, "ax", %progbits
47 .type t3_ff8_ldr, %function
52 ldr x0, [x0, :got_lo12:dat1]
55 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 213FF8 in unpatched output.
56 // CHECK: <t3_ff8_ldrsimd>:
57 // CHECK-NEXT: 213ff8: b0000260 adrp x0, 0x260000
58 // CHECK-NEXT: 213ffc: bd400021 ldr s1, [x1]
59 // CHECK-FIX: 214000: 1400c005 b 0x244014
60 // CHECK-NOFIX: 214000: f9400402 ldr x2, [x0, #8]
61 // CHECK-NEXT: 214004: d65f03c0 ret
62 .section .text.02, "ax", %progbits
65 .type t3_ff8_ldrsimd, %function
70 ldr x2, [x0, :got_lo12:dat2]
73 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 215FFC in unpatched output.
74 // CHECK: <t3_ffc_ldrpost>:
75 // CHECK-NEXT: 215ffc: f0000240 adrp x0, 0x260000
76 // CHECK-NEXT: 216000: bc408421 ldr s1, [x1], #8
77 // CHECK-FIX: 216004: 1400b806 b 0x24401c
78 // CHECK-NOFIX: 216004: f9400803 ldr x3, [x0, #16]
79 // CHECK-NEXT: 216008: d65f03c0 ret
80 .section .text.03, "ax", %progbits
83 .type t3_ffc_ldrpost, %function
88 ldr x3, [x0, :got_lo12:dat3]
91 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 217FF8 in unpatched output.
92 // CHECK: <t3_ff8_strpre>:
93 // CHECK-NEXT: 217ff8: b0000240 adrp x0, 0x260000
94 // CHECK-NEXT: 217ffc: bc008c21 str s1, [x1, #8]!
95 // CHECK-FIX: 218000: 1400b009 b 0x244024
96 // CHECK-NOFIX: 218000: f9400c02 ldr x2, [x0, #24]
97 // CHECK-NEXT: 218004: d65f03c0 ret
98 .section .text.04, "ax", %progbits
101 .type t3_ff8_strpre, %function
106 ldr x2, [x0, :lo12:dat1]
109 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 219FFC in unpatched output.
110 // CHECK: <t3_ffc_str>:
111 // CHECK-NEXT: 219ffc: f000023c adrp x28, 0x260000
112 // CHECK-NEXT: 21a000: f9000042 str x2, [x2]
113 // CHECK-FIX: 21a004: 1400a80a b 0x24402c
114 // CHECK-NOFIX: 21a004: f900139c str x28, [x28, #32]
115 // CHECK-NEXT: 21a008: d65f03c0 ret
116 .section .text.05, "ax", %progbits
119 .type t3_ffc_str, %function
124 str x28, [x28, :lo12:dat2]
127 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21BFFC in unpatched output.
128 // CHECK: <t3_ffc_strsimd>:
129 // CHECK-NEXT: 21bffc: b000023c adrp x28, 0x260000
130 // CHECK-NEXT: 21c000: b9000044 str w4, [x2]
131 // CHECK-FIX: 21c004: 1400a00c b 0x244034
132 // CHECK-NOFIX: 21c004: f9001784 str x4, [x28, #40]
133 // CHECK-NEXT: 21c008: d65f03c0 ret
134 .section .text.06, "ax", %progbits
136 .globl t3_ffc_strsimd
137 .type t3_ffc_strsimd, %function
142 str x4, [x28, :lo12:dat3]
145 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21DFF8 in unpatched output.
146 // CHECK: <t3_ff8_ldrunpriv>:
147 // CHECK-NEXT: 21dff8: f000021d adrp x29, 0x260000
148 // CHECK-NEXT: 21dffc: 38400841 ldtrb w1, [x2]
149 // CHECK-FIX: 21e000: 1400980f b 0x24403c
150 // CHECK-NOFIX: 21e000: f94003bd ldr x29, [x29]
151 // CHECK-NEXT: 21e004: d65f03c0 ret
152 .section .text.07, "ax", %progbits
154 .globl t3_ff8_ldrunpriv
155 .type t3_ff8_ldrunpriv, %function
160 ldr x29, [x29, :got_lo12:dat1]
163 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21FFFC in unpatched output.
164 // CHECK: <t3_ffc_ldur>:
165 // CHECK-NEXT: 21fffc: b000021d adrp x29, 0x260000
166 // CHECK-NEXT: 220000: b8404042 ldur w2, [x2, #4]
167 // CHECK-FIX: 220004: 14009010 b 0x244044
168 // CHECK-NOFIX: 220004: f94007bd ldr x29, [x29, #8]
169 // CHECK-NEXT: 220008: d65f03c0 ret
172 .type t3_ffc_ldur, %function
177 ldr x29, [x29, :got_lo12:dat2]
180 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 221FFC in unpatched output.
181 // CHECK: <t3_ffc_sturh>:
182 // CHECK-NEXT: 221ffc: f00001f2 adrp x18, 0x260000
183 // CHECK-NEXT: 222000: 78004043 sturh w3, [x2, #4]
184 // CHECK-FIX: 222004: 14008812 b 0x24404c
185 // CHECK-NOFIX: 222004: f9400a41 ldr x1, [x18, #16]
186 // CHECK-NEXT: 222008: d65f03c0 ret
187 .section .text.09, "ax", %progbits
190 .type t3_ffc_sturh, %function
195 ldr x1, [x18, :got_lo12:dat3]
198 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 223FF8 in unpatched output.
199 // CHECK: <t3_ff8_literal>:
200 // CHECK-NEXT: 223ff8: b00001f2 adrp x18, 0x260000
201 // CHECK-NEXT: 223ffc: 58ffffe3 ldr x3, 0x223ff8
202 // CHECK-FIX: 224000: 14008015 b 0x244054
203 // CHECK-NOFIX: 224000: f9400e52 ldr x18, [x18, #24]
204 // CHECK-NEXT: 224004: d65f03c0 ret
205 .section .text.10, "ax", %progbits
207 .globl t3_ff8_literal
208 .type t3_ff8_literal, %function
212 ldr x3, t3_ff8_literal
213 ldr x18, [x18, :lo12:dat1]
216 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 225FFC in unpatched output.
217 // CHECK: <t3_ffc_register>:
218 // CHECK-NEXT: 225ffc: f00001cf adrp x15, 0x260000
219 // CHECK-NEXT: 226000: f8616843 ldr x3, [x2, x1]
220 // CHECK-FIX: 226004: 14007816 b 0x24405c
221 // CHECK-NOFIX: 226004: f94011ea ldr x10, [x15, #32]
222 // CHECK-NEXT: 226008: d65f03c0 ret
223 .section .text.11, "ax", %progbits
225 .globl t3_ffc_register
226 .type t3_ffc_register, %function
231 ldr x10, [x15, :lo12:dat2]
234 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 227FF8 in unpatched output.
235 // CHECK: <t3_ff8_stp>:
236 // CHECK-NEXT: 227ff8: b00001d0 adrp x16, 0x260000
237 // CHECK-NEXT: 227ffc: a9000861 stp x1, x2, [x3]
238 // CHECK-FIX: 228000: 14007019 b 0x244064
239 // CHECK-NOFIX: 228000: f940160d ldr x13, [x16, #40]
240 // CHECK-NEXT: 228004: d65f03c0 ret
241 .section .text.12, "ax", %progbits
244 .type t3_ff8_stp, %function
249 ldr x13, [x16, :lo12:dat3]
252 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 229FFC in unpatched output.
253 // CHECK: <t3_ffc_stnp>:
254 // CHECK-NEXT: 229ffc: f00001a7 adrp x7, 0x260000
255 // CHECK-NEXT: 22a000: a8000861 stnp x1, x2, [x3]
256 // CHECK-FIX: 22a004: 1400681a b 0x24406c
257 // CHECK-NOFIX: 22a004: f9400ce9 ldr x9, [x7, #24]
258 // CHECK-NEXT: 22a008: d65f03c0 ret
259 .section .text.13, "ax", %progbits
262 .type t3_ffc_stnp, %function
267 ldr x9, [x7, :lo12:dat1]
270 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22BFFC in unpatched output.
271 // CHECK: <t3_ffc_st1singlepost>:
272 // CHECK-NEXT: 22bffc: b00001b7 adrp x23, 0x260000
273 // CHECK-NEXT: 22c000: 0d820420 st1 { v0.b }[1], [x1], x2
274 // CHECK-FIX: 22c004: 1400601c b 0x244074
275 // CHECK-NOFIX: 22c004: f94012f6 ldr x22, [x23, #32]
276 // CHECK-NEXT: 22c008: d65f03c0 ret
277 .section .text.14, "ax", %progbits
279 .globl t3_ffc_st1singlepost
280 .type t3_ffc_st1singlepost, %function
282 t3_ffc_st1singlepost:
284 st1 { v0.b }[1], [x1], x2
285 ldr x22, [x23, :lo12:dat2]
288 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22DFF8 in unpatched output.
289 // CHECK: <t3_ff8_st1multiple>:
290 // CHECK-NEXT: 22dff8: f0000197 adrp x23, 0x260000
291 // CHECK-NEXT: 22dffc: 4c00a020 st1 { v0.16b, v1.16b }, [x1]
292 // CHECK-FIX: 22e000: 1400581f b 0x24407c
293 // CHECK-NOFIX: 22e000: f94016f8 ldr x24, [x23, #40]
294 // CHECK-NEXT: 22e004: d65f03c0 ret
295 .section .text.15, "ax", %progbits
297 .globl t3_ff8_st1multiple
298 .type t3_ff8_st1muliple, %function
302 st1 { v0.16b, v1.16b }, [x1]
303 ldr x24, [x23, :lo12:dat3]
306 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22FFF8 in unpatched output.
307 // CHECK: <t4_ff8_ldr>:
308 // CHECK-NEXT: 22fff8: b0000180 adrp x0, 0x260000
309 // CHECK-NEXT: 22fffc: f9400021 ldr x1, [x1]
310 // CHECK-NEXT: 230000: 8b000042 add x2, x2, x0
311 // CHECK-FIX: 230004: 14005020 b 0x244084
312 // CHECK-NOFIX: 230004: f9400002 ldr x2, [x0]
313 // CHECK-NEXT: 230008: d65f03c0 ret
314 .section .text.16, "ax", %progbits
317 .type t4_ff8_ldr, %function
323 ldr x2, [x0, :got_lo12:dat1]
326 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 231FFC in unpatched output.
327 // CHECK: <t4_ffc_str>:
328 // CHECK-NEXT: 231ffc: f000017c adrp x28, 0x260000
329 // CHECK-NEXT: 232000: f9000042 str x2, [x2]
330 // CHECK-NEXT: 232004: cb020020 sub x0, x1, x2
331 // CHECK-FIX: 232008: 14004821 b 0x24408c
332 // CHECK-NOFIX: 232008: f900079b str x27, [x28, #8]
333 // CHECK-NEXT: 23200c: d65f03c0 ret
334 .section .text.17, "ax", %progbits
337 .type t4_ffc_str, %function
343 str x27, [x28, :got_lo12:dat2]
346 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 233FF8 in unpatched output.
347 // CHECK: <t4_ff8_stp>:
348 // CHECK-NEXT: 233ff8: b0000170 adrp x16, 0x260000
349 // CHECK-NEXT: 233ffc: a9000861 stp x1, x2, [x3]
350 // CHECK-NEXT: 234000: 9b107e03 mul x3, x16, x16
351 // CHECK-FIX: 234004: 14004024 b 0x244094
352 // CHECK-NOFIX: 234004: f9400a0e ldr x14, [x16, #16]
353 // CHECK-NEXT: 234008: d65f03c0 ret
354 .section .text.18, "ax", %progbits
357 .type t4_ff8_stp, %function
363 ldr x14, [x16, :got_lo12:dat3]
366 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 235FF8 in unpatched output.
367 // CHECK: <t4_ff8_stppre>:
368 // CHECK-NEXT: 235ff8: f0000150 adrp x16, 0x260000
369 // CHECK-NEXT: 235ffc: a9810861 stp x1, x2, [x3, #16]!
370 // CHECK-NEXT: 236000: 9b107e03 mul x3, x16, x16
371 // CHECK-FIX: 236004: 14003826 b 0x24409c
372 // CHECK-NOFIX: 236004: f940060e ldr x14, [x16, #8]
373 // CHECK-NEXT: 236008: d65f03c0 ret
374 .section .text.19, "ax", %progbits
377 .type t4_ff8_stppre, %function
381 stp x1,x2, [x3, #16]!
386 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 237FF8 in unpatched output.
387 // CHECK: <t4_ff8_stppost>:
388 // CHECK-NEXT: 237ff8: b0000150 adrp x16, 0x260000
389 // CHECK-NEXT: 237ffc: a8810861 stp x1, x2, [x3], #16
390 // CHECK-NEXT: 238000: 9b107e03 mul x3, x16, x16
391 // CHECK-FIX: 238004: 14003028 b 0x2440a4
392 // CHECK-NOFIX: 238004: f940060e ldr x14, [x16, #8]
393 // CHECK-NEXT: 238008: d65f03c0 ret
394 .section .text.20, "ax", %progbits
396 .globl t4_ff8_stppost
397 .type t4_ff8_stppost, %function
406 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 239FFC in unpatched output.
407 // CHECK: <t4_ffc_stpsimd>:
408 // CHECK-NEXT: 239ffc: f0000130 adrp x16, 0x260000
409 // CHECK-NEXT: 23a000: ad000861 stp q1, q2, [x3]
410 // CHECK-NEXT: 23a004: 9b107e03 mul x3, x16, x16
411 // CHECK-FIX: 23a008: 14002829 b 0x2440ac
412 // CHECK-NOFIX: 23a008: f940060e ldr x14, [x16, #8]
413 // CHECK-NEXT: 23a00c: d65f03c0 ret
414 .section .text.21, "ax", %progbits
416 .globl t4_ffc_stpsimd
417 .type t4_ffc_stpsimd, %function
426 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23BFFC in unpatched output.
427 // CHECK: <t4_ffc_stnp>:
428 // CHECK-NEXT: 23bffc: b0000127 adrp x7, 0x260000
429 // CHECK-NEXT: 23c000: a8000861 stnp x1, x2, [x3]
430 // CHECK-NEXT: 23c004: d503201f nop
431 // CHECK-FIX: 23c008: 1400202b b 0x2440b4
432 // CHECK-NOFIX: 23c008: f94000ea ldr x10, [x7]
433 // CHECK-NEXT: 23c00c: d65f03c0 ret
434 .section .text.22, "ax", %progbits
437 .type t4_ffc_stnp, %function
443 ldr x10, [x7, :got_lo12:dat1]
446 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23DFFC in unpatched output.
447 // CHECK: <t4_ffc_st1>:
448 // CHECK-NEXT: 23dffc: f0000118 adrp x24, 0x260000
449 // CHECK-NEXT: 23e000: 4d008020 st1 { v0.s }[2], [x1]
450 // CHECK-NEXT: 23e004: f94006f6 ldr x22, [x23, #8]
451 // CHECK-FIX: 23e008: 1400182d b 0x2440bc
452 // CHECK-NOFIX: 23e008: f93fff18 str x24, [x24, #32760]
453 // CHECK-NEXT: 23e00c: d65f03c0 ret
454 .section .text.23, "ax", %progbits
457 .type t4_ffc_st1, %function
461 st1 { v0.s }[2], [x1]
462 ldr x22, [x23, :got_lo12:dat2]
463 str x24, [x24, #32760]
466 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23FFF8 in unpatched output.
467 // CHECK: <t3_ff8_ldr_once>:
468 // CHECK-NEXT: 23fff8: b0000100 adrp x0, 0x260000
469 // CHECK-NEXT: 23fffc: 4c827020 st1 { v0.16b }, [x1], x2
470 // CHECK-FIX: 240000: 14001031 b 0x2440c4
471 // CHECK-NOFIX: 240000: f9400801 ldr x1, [x0, #16]
472 // CHECK-NEXT: 240004: f9400802 ldr x2, [x0, #16]
473 // CHECK-NEXT: 240008: d65f03c0 ret
474 .section .text.24, "ax", %progbits
476 .globl t3_ff8_ldr_once
477 .type t3_ff8_ldr_once, %function
481 st1 { v0.16b }, [x1], x2
486 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 241FF8 in unpatched output.
487 // CHECK: <t3_ff8_ldxr>:
488 // CHECK-NEXT: 241ff8: f00000e0 adrp x0, 0x260000
489 // CHECK-NEXT: 241ffc: c85f7c03 ldxr x3, [x0]
490 // CHECK-FIX: 242000: 14000833 b 0x2440cc
491 // CHECK-NOFIX: 242000: f9400801 ldr x1, [x0, #16]
492 // CHECK: 242004: f9400802 ldr x2, [x0, #16]
493 // CHECK-NEXT: 242008: d65f03c0 ret
494 .section .text.25, "ax", %progbits
497 .type t3_ff8_ldxr, %function
506 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 243FF8 in unpatched output.
507 // CHECK: <t3_ff8_stxr>:
508 // CHECK-NEXT: 243ff8: b00000e0 adrp x0, 0x260000
509 // CHECK-NEXT: 243ffc: c8047c03 stxr w4, x3, [x0]
510 // CHECK-FIX: 244000: 14000035 b 0x2440d4
511 // CHECK-NOFIX: 244000: f9400801 ldr x1, [x0, #16]
512 // CHECK: 244004: f9400802 ldr x2, [x0, #16]
513 // CHECK-NEXT: 244008: d65f03c0 ret
514 .section .text.26, "ax", %progbits
517 .type t3_ff8_stxr, %function
528 .type _start, %function
532 // CHECK-FIX: <__CortexA53843419_212000>:
533 // CHECK-FIX-NEXT: 24400c: f9400000 ldr x0, [x0]
534 // CHECK-FIX-NEXT: 244010: 17ff37fd b 0x212004
535 // CHECK-FIX: <__CortexA53843419_214000>:
536 // CHECK-FIX-NEXT: 244014: f9400402 ldr x2, [x0, #8]
537 // CHECK-FIX-NEXT: 244018: 17ff3ffb b 0x214004
538 // CHECK-FIX: <__CortexA53843419_216004>:
539 // CHECK-FIX-NEXT: 24401c: f9400803 ldr x3, [x0, #16]
540 // CHECK-FIX-NEXT: 244020: 17ff47fa b 0x216008
541 // CHECK-FIX: <__CortexA53843419_218000>:
542 // CHECK-FIX-NEXT: 244024: f9400c02 ldr x2, [x0, #24]
543 // CHECK-FIX-NEXT: 244028: 17ff4ff7 b 0x218004
544 // CHECK-FIX: <__CortexA53843419_21A004>:
545 // CHECK-FIX-NEXT: 24402c: f900139c str x28, [x28, #32]
546 // CHECK-FIX-NEXT: 244030: 17ff57f6 b 0x21a008
547 // CHECK-FIX: <__CortexA53843419_21C004>:
548 // CHECK-FIX-NEXT: 244034: f9001784 str x4, [x28, #40]
549 // CHECK-FIX-NEXT: 244038: 17ff5ff4 b 0x21c008
550 // CHECK-FIX: <__CortexA53843419_21E000>:
551 // CHECK-FIX-NEXT: 24403c: f94003bd ldr x29, [x29]
552 // CHECK-FIX-NEXT: 244040: 17ff67f1 b 0x21e004
553 // CHECK-FIX: <__CortexA53843419_220004>:
554 // CHECK-FIX-NEXT: 244044: f94007bd ldr x29, [x29, #8]
555 // CHECK-FIX-NEXT: 244048: 17ff6ff0 b 0x220008
556 // CHECK-FIX: <__CortexA53843419_222004>:
557 // CHECK-FIX-NEXT: 24404c: f9400a41 ldr x1, [x18, #16]
558 // CHECK-FIX-NEXT: 244050: 17ff77ee b 0x222008
559 // CHECK-FIX: <__CortexA53843419_224000>:
560 // CHECK-FIX-NEXT: 244054: f9400e52 ldr x18, [x18, #24]
561 // CHECK-FIX-NEXT: 244058: 17ff7feb b 0x224004
562 // CHECK-FIX: <__CortexA53843419_226004>:
563 // CHECK-FIX-NEXT: 24405c: f94011ea ldr x10, [x15, #32]
564 // CHECK-FIX-NEXT: 244060: 17ff87ea b 0x226008
565 // CHECK-FIX: <__CortexA53843419_228000>:
566 // CHECK-FIX-NEXT: 244064: f940160d ldr x13, [x16, #40]
567 // CHECK-FIX-NEXT: 244068: 17ff8fe7 b 0x228004
568 // CHECK-FIX: <__CortexA53843419_22A004>:
569 // CHECK-FIX-NEXT: 24406c: f9400ce9 ldr x9, [x7, #24]
570 // CHECK-FIX-NEXT: 244070: 17ff97e6 b 0x22a008
571 // CHECK-FIX: <__CortexA53843419_22C004>:
572 // CHECK-FIX-NEXT: 244074: f94012f6 ldr x22, [x23, #32]
573 // CHECK-FIX-NEXT: 244078: 17ff9fe4 b 0x22c008
574 // CHECK-FIX: <__CortexA53843419_22E000>:
575 // CHECK-FIX-NEXT: 24407c: f94016f8 ldr x24, [x23, #40]
576 // CHECK-FIX-NEXT: 244080: 17ffa7e1 b 0x22e004
577 // CHECK-FIX: <__CortexA53843419_230004>:
578 // CHECK-FIX-NEXT: 244084: f9400002 ldr x2, [x0]
579 // CHECK-FIX-NEXT: 244088: 17ffafe0 b 0x230008
580 // CHECK-FIX: <__CortexA53843419_232008>:
581 // CHECK-FIX-NEXT: 24408c: f900079b str x27, [x28, #8]
582 // CHECK-FIX-NEXT: 244090: 17ffb7df b 0x23200c
583 // CHECK-FIX: <__CortexA53843419_234004>:
584 // CHECK-FIX-NEXT: 244094: f9400a0e ldr x14, [x16, #16]
585 // CHECK-FIX-NEXT: 244098: 17ffbfdc b 0x234008
586 // CHECK-FIX: <__CortexA53843419_236004>:
587 // CHECK-FIX-NEXT: 24409c: f940060e ldr x14, [x16, #8]
588 // CHECK-FIX-NEXT: 2440a0: 17ffc7da b 0x236008
589 // CHECK-FIX: <__CortexA53843419_238004>:
590 // CHECK-FIX-NEXT: 2440a4: f940060e ldr x14, [x16, #8]
591 // CHECK-FIX-NEXT: 2440a8: 17ffcfd8 b 0x238008
592 // CHECK-FIX: <__CortexA53843419_23A008>:
593 // CHECK-FIX-NEXT: 2440ac: f940060e ldr x14, [x16, #8]
594 // CHECK-FIX-NEXT: 2440b0: 17ffd7d7 b 0x23a00c
595 // CHECK-FIX: <__CortexA53843419_23C008>:
596 // CHECK-FIX-NEXT: 2440b4: f94000ea ldr x10, [x7]
597 // CHECK-FIX-NEXT: 2440b8: 17ffdfd5 b 0x23c00c
598 // CHECK-FIX: <__CortexA53843419_23E008>:
599 // CHECK-FIX-NEXT: 2440bc: f93fff18 str x24, [x24, #32760]
600 // CHECK-FIX-NEXT: 2440c0: 17ffe7d3 b 0x23e00c
601 // CHECK-FIX: <__CortexA53843419_240000>:
602 // CHECK-FIX-NEXT: 2440c4: f9400801 ldr x1, [x0, #16]
603 // CHECK-FIX-NEXT: 2440c8: 17ffefcf b 0x240004
604 // CHECK-FIX: <__CortexA53843419_242000>:
605 // CHECK-FIX-NEXT: 2440cc: f9400801 ldr x1, [x0, #16]
606 // CHECK-FIX-NEXT: 2440d0: 17fff7cd b 0x242004
607 // CHECK-FIX: <__CortexA53843419_244000>:
608 // CHECK-FIX-NEXT: 2440d4: f9400801 ldr x1, [x0, #16]
609 // CHECK-FIX-NEXT: 2440d8: 17ffffcb b 0x244004