annotate lld/test/ELF/aarch64-cortex-a53-843419-recognize.s @ 192:d7606dcf6fce

Added tag llvm10 for changeset 0572611fdcc8
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 14 Dec 2020 18:01:34 +0900
parents 0572611fdcc8
children 2e18cbf3894f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // REQUIRES: aarch64
anatofuz
parents:
diff changeset
2 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux %s -o %t.o
anatofuz
parents:
diff changeset
3 // RUN: ld.lld -fix-cortex-a53-843419 -z separate-code -verbose %t.o -o %t2 2>&1 | FileCheck -check-prefix CHECK-PRINT %s
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
4 // RUN: llvm-objdump --triple=aarch64-linux-gnu -d %t2 | FileCheck %s --check-prefixes=CHECK,CHECK-FIX
150
anatofuz
parents:
diff changeset
5 // RUN: ld.lld %t.o -z separate-code -o %t3
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
6 // RUN: llvm-objdump --triple=aarch64-linux-gnu -d %t3 | FileCheck %s --check-prefixes=CHECK,CHECK-NOFIX
150
anatofuz
parents:
diff changeset
7 // RUN: ld.lld -fix-cortex-a53-843419 -r -z separate-code %t.o -o %t4
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
8 // RUN: llvm-objdump --triple=aarch64-linux-gnu -d %t4 | FileCheck %s --check-prefixes=CHECK-RELOCATABLE
150
anatofuz
parents:
diff changeset
9 // Test cases for Cortex-A53 Erratum 843419
anatofuz
parents:
diff changeset
10 // See ARM-EPM-048406 Cortex_A53_MPCore_Software_Developers_Errata_Notice.pdf
anatofuz
parents:
diff changeset
11 // for full erratum details.
anatofuz
parents:
diff changeset
12 // In Summary
anatofuz
parents:
diff changeset
13 // 1.)
anatofuz
parents:
diff changeset
14 // ADRP (0xff8 or 0xffc).
anatofuz
parents:
diff changeset
15 // 2.)
anatofuz
parents:
diff changeset
16 // - load or store single register or either integer or vector registers.
anatofuz
parents:
diff changeset
17 // - STP or STNP of either vector or vector registers.
anatofuz
parents:
diff changeset
18 // - Advanced SIMD ST1 store instruction.
anatofuz
parents:
diff changeset
19 // - Must not write Rn.
anatofuz
parents:
diff changeset
20 // 3.) optional instruction, can't be a branch, must not write Rn, may read Rn.
anatofuz
parents:
diff changeset
21 // 4.) A load or store instruction from the Load/Store register unsigned
anatofuz
parents:
diff changeset
22 // immediate class using Rn as the base register.
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 // Each section contains a sequence of instructions that should be recognized
anatofuz
parents:
diff changeset
25 // as erratum 843419. The test cases cover the major variations such as:
anatofuz
parents:
diff changeset
26 // - adrp starts at 0xfff8 or 0xfffc.
anatofuz
parents:
diff changeset
27 // - Variations in instruction class for instruction 2.
anatofuz
parents:
diff changeset
28 // - Optional instruction 3 present or not.
anatofuz
parents:
diff changeset
29 // - Load or store for instruction 4.
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 211FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
32 // CHECK: <t3_ff8_ldr>:
150
anatofuz
parents:
diff changeset
33 // CHECK-NEXT: 211ff8: 60 02 00 f0 adrp x0, #323584
anatofuz
parents:
diff changeset
34 // CHECK-NEXT: 211ffc: 21 00 40 f9 ldr x1, [x1]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
35 // CHECK-FIX: 212000: 03 c8 00 14 b 0x24400c
150
anatofuz
parents:
diff changeset
36 // CHECK-NOFIX: 212000: 00 00 40 f9 ldr x0, [x0]
anatofuz
parents:
diff changeset
37 // CHECK-NEXT: 212004: c0 03 5f d6 ret
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
38 // CHECK-RELOCATABLE: <t3_ff8_ldr>:
150
anatofuz
parents:
diff changeset
39 // CHECK-RELOCATABLE-NEXT: ff8: 00 00 00 90 adrp x0, #0
anatofuz
parents:
diff changeset
40 // CHECK-RELOCATABLE-NEXT: ffc: 21 00 40 f9 ldr x1, [x1]
anatofuz
parents:
diff changeset
41 // CHECK-RELOCATABLE-NEXT: 1000: 00 00 40 f9 ldr x0, [x0]
anatofuz
parents:
diff changeset
42 // CHECK-RELOCATABLE-NEXT: 1004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
43
anatofuz
parents:
diff changeset
44 .section .text.01, "ax", %progbits
anatofuz
parents:
diff changeset
45 .balign 4096
anatofuz
parents:
diff changeset
46 .globl t3_ff8_ldr
anatofuz
parents:
diff changeset
47 .type t3_ff8_ldr, %function
anatofuz
parents:
diff changeset
48 .space 4096 - 8
anatofuz
parents:
diff changeset
49 t3_ff8_ldr:
anatofuz
parents:
diff changeset
50 adrp x0, dat1
anatofuz
parents:
diff changeset
51 ldr x1, [x1, #0]
anatofuz
parents:
diff changeset
52 ldr x0, [x0, :got_lo12:dat1]
anatofuz
parents:
diff changeset
53 ret
anatofuz
parents:
diff changeset
54
anatofuz
parents:
diff changeset
55 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 213FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
56 // CHECK: <t3_ff8_ldrsimd>:
150
anatofuz
parents:
diff changeset
57 // CHECK-NEXT: 213ff8: 60 02 00 b0 adrp x0, #315392
anatofuz
parents:
diff changeset
58 // CHECK-NEXT: 213ffc: 21 00 40 bd ldr s1, [x1]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
59 // CHECK-FIX: 214000: 05 c0 00 14 b 0x244014
150
anatofuz
parents:
diff changeset
60 // CHECK-NOFIX: 214000: 02 04 40 f9 ldr x2, [x0, #8]
anatofuz
parents:
diff changeset
61 // CHECK-NEXT: 214004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
62 .section .text.02, "ax", %progbits
anatofuz
parents:
diff changeset
63 .balign 4096
anatofuz
parents:
diff changeset
64 .globl t3_ff8_ldrsimd
anatofuz
parents:
diff changeset
65 .type t3_ff8_ldrsimd, %function
anatofuz
parents:
diff changeset
66 .space 4096 - 8
anatofuz
parents:
diff changeset
67 t3_ff8_ldrsimd:
anatofuz
parents:
diff changeset
68 adrp x0, dat2
anatofuz
parents:
diff changeset
69 ldr s1, [x1, #0]
anatofuz
parents:
diff changeset
70 ldr x2, [x0, :got_lo12:dat2]
anatofuz
parents:
diff changeset
71 ret
anatofuz
parents:
diff changeset
72
anatofuz
parents:
diff changeset
73 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 215FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
74 // CHECK: <t3_ffc_ldrpost>:
150
anatofuz
parents:
diff changeset
75 // CHECK-NEXT: 215ffc: 40 02 00 f0 adrp x0, #307200
anatofuz
parents:
diff changeset
76 // CHECK-NEXT: 216000: 21 84 40 bc ldr s1, [x1], #8
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
77 // CHECK-FIX: 216004: 06 b8 00 14 b 0x24401c
150
anatofuz
parents:
diff changeset
78 // CHECK-NOFIX: 216004: 03 08 40 f9 ldr x3, [x0, #16]
anatofuz
parents:
diff changeset
79 // CHECK-NEXT: 216008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
80 .section .text.03, "ax", %progbits
anatofuz
parents:
diff changeset
81 .balign 4096
anatofuz
parents:
diff changeset
82 .globl t3_ffc_ldrpost
anatofuz
parents:
diff changeset
83 .type t3_ffc_ldrpost, %function
anatofuz
parents:
diff changeset
84 .space 4096 - 4
anatofuz
parents:
diff changeset
85 t3_ffc_ldrpost:
anatofuz
parents:
diff changeset
86 adrp x0, dat3
anatofuz
parents:
diff changeset
87 ldr s1, [x1], #8
anatofuz
parents:
diff changeset
88 ldr x3, [x0, :got_lo12:dat3]
anatofuz
parents:
diff changeset
89 ret
anatofuz
parents:
diff changeset
90
anatofuz
parents:
diff changeset
91 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 217FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
92 // CHECK: <t3_ff8_strpre>:
150
anatofuz
parents:
diff changeset
93 // CHECK-NEXT: 217ff8: 40 02 00 b0 adrp x0, #299008
anatofuz
parents:
diff changeset
94 // CHECK-NEXT: 217ffc: 21 8c 00 bc str s1, [x1, #8]!
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
95 // CHECK-FIX: 218000: 09 b0 00 14 b 0x244024
150
anatofuz
parents:
diff changeset
96 // CHECK-NOFIX: 218000: 02 0c 40 f9 ldr x2, [x0, #24]
anatofuz
parents:
diff changeset
97 // CHECK-NEXT: 218004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
98 .section .text.04, "ax", %progbits
anatofuz
parents:
diff changeset
99 .balign 4096
anatofuz
parents:
diff changeset
100 .globl t3_ff8_strpre
anatofuz
parents:
diff changeset
101 .type t3_ff8_strpre, %function
anatofuz
parents:
diff changeset
102 .space 4096 - 8
anatofuz
parents:
diff changeset
103 t3_ff8_strpre:
anatofuz
parents:
diff changeset
104 adrp x0, dat1
anatofuz
parents:
diff changeset
105 str s1, [x1, #8]!
anatofuz
parents:
diff changeset
106 ldr x2, [x0, :lo12:dat1]
anatofuz
parents:
diff changeset
107 ret
anatofuz
parents:
diff changeset
108
anatofuz
parents:
diff changeset
109 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 219FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
110 // CHECK: <t3_ffc_str>:
150
anatofuz
parents:
diff changeset
111 // CHECK-NEXT: 219ffc: 3c 02 00 f0 adrp x28, #290816
anatofuz
parents:
diff changeset
112 // CHECK-NEXT: 21a000: 42 00 00 f9 str x2, [x2]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
113 // CHECK-FIX: 21a004: 0a a8 00 14 b 0x24402c
150
anatofuz
parents:
diff changeset
114 // CHECK-NOFIX: 21a004: 9c 13 00 f9 str x28, [x28, #32]
anatofuz
parents:
diff changeset
115 // CHECK-NEXT: 21a008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
116 .section .text.05, "ax", %progbits
anatofuz
parents:
diff changeset
117 .balign 4096
anatofuz
parents:
diff changeset
118 .globl t3_ffc_str
anatofuz
parents:
diff changeset
119 .type t3_ffc_str, %function
anatofuz
parents:
diff changeset
120 .space 4096 - 4
anatofuz
parents:
diff changeset
121 t3_ffc_str:
anatofuz
parents:
diff changeset
122 adrp x28, dat2
anatofuz
parents:
diff changeset
123 str x2, [x2, #0]
anatofuz
parents:
diff changeset
124 str x28, [x28, :lo12:dat2]
anatofuz
parents:
diff changeset
125 ret
anatofuz
parents:
diff changeset
126
anatofuz
parents:
diff changeset
127 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21BFFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
128 // CHECK: <t3_ffc_strsimd>:
150
anatofuz
parents:
diff changeset
129 // CHECK-NEXT: 21bffc: 3c 02 00 b0 adrp x28, #282624
anatofuz
parents:
diff changeset
130 // CHECK-NEXT: 21c000: 44 00 00 b9 str w4, [x2]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
131 // CHECK-FIX: 21c004: 0c a0 00 14 b 0x244034
150
anatofuz
parents:
diff changeset
132 // CHECK-NOFIX: 21c004: 84 17 00 f9 str x4, [x28, #40]
anatofuz
parents:
diff changeset
133 // CHECK-NEXT: 21c008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
134 .section .text.06, "ax", %progbits
anatofuz
parents:
diff changeset
135 .balign 4096
anatofuz
parents:
diff changeset
136 .globl t3_ffc_strsimd
anatofuz
parents:
diff changeset
137 .type t3_ffc_strsimd, %function
anatofuz
parents:
diff changeset
138 .space 4096 - 4
anatofuz
parents:
diff changeset
139 t3_ffc_strsimd:
anatofuz
parents:
diff changeset
140 adrp x28, dat3
anatofuz
parents:
diff changeset
141 str w4, [x2, #0]
anatofuz
parents:
diff changeset
142 str x4, [x28, :lo12:dat3]
anatofuz
parents:
diff changeset
143 ret
anatofuz
parents:
diff changeset
144
anatofuz
parents:
diff changeset
145 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21DFF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
146 // CHECK: <t3_ff8_ldrunpriv>:
150
anatofuz
parents:
diff changeset
147 // CHECK-NEXT: 21dff8: 1d 02 00 f0 adrp x29, #274432
anatofuz
parents:
diff changeset
148 // CHECK-NEXT: 21dffc: 41 08 40 38 ldtrb w1, [x2]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
149 // CHECK-FIX: 21e000: 0f 98 00 14 b 0x24403c
150
anatofuz
parents:
diff changeset
150 // CHECK-NOFIX: 21e000: bd 03 40 f9 ldr x29, [x29]
anatofuz
parents:
diff changeset
151 // CHECK-NEXT: 21e004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
152 .section .text.07, "ax", %progbits
anatofuz
parents:
diff changeset
153 .balign 4096
anatofuz
parents:
diff changeset
154 .globl t3_ff8_ldrunpriv
anatofuz
parents:
diff changeset
155 .type t3_ff8_ldrunpriv, %function
anatofuz
parents:
diff changeset
156 .space 4096 - 8
anatofuz
parents:
diff changeset
157 t3_ff8_ldrunpriv:
anatofuz
parents:
diff changeset
158 adrp x29, dat1
anatofuz
parents:
diff changeset
159 ldtrb w1, [x2, #0]
anatofuz
parents:
diff changeset
160 ldr x29, [x29, :got_lo12:dat1]
anatofuz
parents:
diff changeset
161 ret
anatofuz
parents:
diff changeset
162
anatofuz
parents:
diff changeset
163 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 21FFFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
164 // CHECK: <t3_ffc_ldur>:
150
anatofuz
parents:
diff changeset
165 // CHECK-NEXT: 21fffc: 1d 02 00 b0 adrp x29, #266240
anatofuz
parents:
diff changeset
166 // CHECK-NEXT: 220000: 42 40 40 b8 ldur w2, [x2, #4]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
167 // CHECK-FIX: 220004: 10 90 00 14 b 0x244044
150
anatofuz
parents:
diff changeset
168 // CHECK-NOFIX: 220004: bd 07 40 f9 ldr x29, [x29, #8]
anatofuz
parents:
diff changeset
169 // CHECK-NEXT: 220008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
170 .balign 4096
anatofuz
parents:
diff changeset
171 .globl t3_ffc_ldur
anatofuz
parents:
diff changeset
172 .type t3_ffc_ldur, %function
anatofuz
parents:
diff changeset
173 .space 4096 - 4
anatofuz
parents:
diff changeset
174 t3_ffc_ldur:
anatofuz
parents:
diff changeset
175 adrp x29, dat2
anatofuz
parents:
diff changeset
176 ldur w2, [x2, #4]
anatofuz
parents:
diff changeset
177 ldr x29, [x29, :got_lo12:dat2]
anatofuz
parents:
diff changeset
178 ret
anatofuz
parents:
diff changeset
179
anatofuz
parents:
diff changeset
180 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 221FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
181 // CHECK: <t3_ffc_sturh>:
150
anatofuz
parents:
diff changeset
182 // CHECK-NEXT: 221ffc: f2 01 00 f0 adrp x18, #258048
anatofuz
parents:
diff changeset
183 // CHECK-NEXT: 222000: 43 40 00 78 sturh w3, [x2, #4]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
184 // CHECK-FIX: 222004: 12 88 00 14 b 0x24404c
150
anatofuz
parents:
diff changeset
185 // CHECK-NOFIX: 222004: 41 0a 40 f9 ldr x1, [x18, #16]
anatofuz
parents:
diff changeset
186 // CHECK-NEXT: 222008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
187 .section .text.09, "ax", %progbits
anatofuz
parents:
diff changeset
188 .balign 4096
anatofuz
parents:
diff changeset
189 .globl t3_ffc_sturh
anatofuz
parents:
diff changeset
190 .type t3_ffc_sturh, %function
anatofuz
parents:
diff changeset
191 .space 4096 - 4
anatofuz
parents:
diff changeset
192 t3_ffc_sturh:
anatofuz
parents:
diff changeset
193 adrp x18, dat3
anatofuz
parents:
diff changeset
194 sturh w3, [x2, #4]
anatofuz
parents:
diff changeset
195 ldr x1, [x18, :got_lo12:dat3]
anatofuz
parents:
diff changeset
196 ret
anatofuz
parents:
diff changeset
197
anatofuz
parents:
diff changeset
198 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 223FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
199 // CHECK: <t3_ff8_literal>:
150
anatofuz
parents:
diff changeset
200 // CHECK-NEXT: 223ff8: f2 01 00 b0 adrp x18, #249856
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
201 // CHECK-NEXT: 223ffc: e3 ff ff 58 ldr x3, 0x223ff8
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
202 // CHECK-FIX: 224000: 15 80 00 14 b 0x244054
150
anatofuz
parents:
diff changeset
203 // CHECK-NOFIX: 224000: 52 0e 40 f9 ldr x18, [x18, #24]
anatofuz
parents:
diff changeset
204 // CHECK-NEXT: 224004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
205 .section .text.10, "ax", %progbits
anatofuz
parents:
diff changeset
206 .balign 4096
anatofuz
parents:
diff changeset
207 .globl t3_ff8_literal
anatofuz
parents:
diff changeset
208 .type t3_ff8_literal, %function
anatofuz
parents:
diff changeset
209 .space 4096 - 8
anatofuz
parents:
diff changeset
210 t3_ff8_literal:
anatofuz
parents:
diff changeset
211 adrp x18, dat1
anatofuz
parents:
diff changeset
212 ldr x3, t3_ff8_literal
anatofuz
parents:
diff changeset
213 ldr x18, [x18, :lo12:dat1]
anatofuz
parents:
diff changeset
214 ret
anatofuz
parents:
diff changeset
215
anatofuz
parents:
diff changeset
216 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 225FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
217 // CHECK: <t3_ffc_register>:
150
anatofuz
parents:
diff changeset
218 // CHECK-NEXT: 225ffc: cf 01 00 f0 adrp x15, #241664
anatofuz
parents:
diff changeset
219 // CHECK-NEXT: 226000: 43 68 61 f8 ldr x3, [x2, x1]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
220 // CHECK-FIX: 226004: 16 78 00 14 b 0x24405c
150
anatofuz
parents:
diff changeset
221 // CHECK-NOFIX: 226004: ea 11 40 f9 ldr x10, [x15, #32]
anatofuz
parents:
diff changeset
222 // CHECK-NEXT: 226008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
223 .section .text.11, "ax", %progbits
anatofuz
parents:
diff changeset
224 .balign 4096
anatofuz
parents:
diff changeset
225 .globl t3_ffc_register
anatofuz
parents:
diff changeset
226 .type t3_ffc_register, %function
anatofuz
parents:
diff changeset
227 .space 4096 - 4
anatofuz
parents:
diff changeset
228 t3_ffc_register:
anatofuz
parents:
diff changeset
229 adrp x15, dat2
anatofuz
parents:
diff changeset
230 ldr x3, [x2, x1]
anatofuz
parents:
diff changeset
231 ldr x10, [x15, :lo12:dat2]
anatofuz
parents:
diff changeset
232 ret
anatofuz
parents:
diff changeset
233
anatofuz
parents:
diff changeset
234 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 227FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
235 // CHECK: <t3_ff8_stp>:
150
anatofuz
parents:
diff changeset
236 // CHECK-NEXT: 227ff8: d0 01 00 b0 adrp x16, #233472
anatofuz
parents:
diff changeset
237 // CHECK-NEXT: 227ffc: 61 08 00 a9 stp x1, x2, [x3]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
238 // CHECK-FIX: 228000: 19 70 00 14 b 0x244064
150
anatofuz
parents:
diff changeset
239 // CHECK-NOFIX: 228000: 0d 16 40 f9 ldr x13, [x16, #40]
anatofuz
parents:
diff changeset
240 // CHECK-NEXT: 228004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
241 .section .text.12, "ax", %progbits
anatofuz
parents:
diff changeset
242 .balign 4096
anatofuz
parents:
diff changeset
243 .globl t3_ff8_stp
anatofuz
parents:
diff changeset
244 .type t3_ff8_stp, %function
anatofuz
parents:
diff changeset
245 .space 4096 - 8
anatofuz
parents:
diff changeset
246 t3_ff8_stp:
anatofuz
parents:
diff changeset
247 adrp x16, dat3
anatofuz
parents:
diff changeset
248 stp x1,x2, [x3, #0]
anatofuz
parents:
diff changeset
249 ldr x13, [x16, :lo12:dat3]
anatofuz
parents:
diff changeset
250 ret
anatofuz
parents:
diff changeset
251
anatofuz
parents:
diff changeset
252 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 229FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
253 // CHECK: <t3_ffc_stnp>:
150
anatofuz
parents:
diff changeset
254 // CHECK-NEXT: 229ffc: a7 01 00 f0 adrp x7, #225280
anatofuz
parents:
diff changeset
255 // CHECK-NEXT: 22a000: 61 08 00 a8 stnp x1, x2, [x3]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
256 // CHECK-FIX: 22a004: 1a 68 00 14 b 0x24406c
150
anatofuz
parents:
diff changeset
257 // CHECK-NOFIX: 22a004: e9 0c 40 f9 ldr x9, [x7, #24]
anatofuz
parents:
diff changeset
258 // CHECK-NEXT: 22a008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
259 .section .text.13, "ax", %progbits
anatofuz
parents:
diff changeset
260 .balign 4096
anatofuz
parents:
diff changeset
261 .globl t3_ffc_stnp
anatofuz
parents:
diff changeset
262 .type t3_ffc_stnp, %function
anatofuz
parents:
diff changeset
263 .space 4096 - 4
anatofuz
parents:
diff changeset
264 t3_ffc_stnp:
anatofuz
parents:
diff changeset
265 adrp x7, dat1
anatofuz
parents:
diff changeset
266 stnp x1,x2, [x3, #0]
anatofuz
parents:
diff changeset
267 ldr x9, [x7, :lo12:dat1]
anatofuz
parents:
diff changeset
268 ret
anatofuz
parents:
diff changeset
269
anatofuz
parents:
diff changeset
270 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22BFFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
271 // CHECK: <t3_ffc_st1singlepost>:
150
anatofuz
parents:
diff changeset
272 // CHECK-NEXT: 22bffc: b7 01 00 b0 adrp x23, #217088
anatofuz
parents:
diff changeset
273 // CHECK-NEXT: 22c000: 20 04 82 0d st1 { v0.b }[1], [x1], x2
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
274 // CHECK-FIX: 22c004: 1c 60 00 14 b 0x244074
150
anatofuz
parents:
diff changeset
275 // CHECK-NOFIX: 22c004: f6 12 40 f9 ldr x22, [x23, #32]
anatofuz
parents:
diff changeset
276 // CHECK-NEXT: 22c008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
277 .section .text.14, "ax", %progbits
anatofuz
parents:
diff changeset
278 .balign 4096
anatofuz
parents:
diff changeset
279 .globl t3_ffc_st1singlepost
anatofuz
parents:
diff changeset
280 .type t3_ffc_st1singlepost, %function
anatofuz
parents:
diff changeset
281 .space 4096 - 4
anatofuz
parents:
diff changeset
282 t3_ffc_st1singlepost:
anatofuz
parents:
diff changeset
283 adrp x23, dat2
anatofuz
parents:
diff changeset
284 st1 { v0.b }[1], [x1], x2
anatofuz
parents:
diff changeset
285 ldr x22, [x23, :lo12:dat2]
anatofuz
parents:
diff changeset
286 ret
anatofuz
parents:
diff changeset
287
anatofuz
parents:
diff changeset
288 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22DFF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
289 // CHECK: <t3_ff8_st1multiple>:
150
anatofuz
parents:
diff changeset
290 // CHECK-NEXT: 22dff8: 97 01 00 f0 adrp x23, #208896
anatofuz
parents:
diff changeset
291 // CHECK-NEXT: 22dffc: 20 a0 00 4c st1 { v0.16b, v1.16b }, [x1]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
292 // CHECK-FIX: 22e000: 1f 58 00 14 b 0x24407c
150
anatofuz
parents:
diff changeset
293 // CHECK-NOFIX: 22e000: f8 16 40 f9 ldr x24, [x23, #40]
anatofuz
parents:
diff changeset
294 // CHECK-NEXT: 22e004: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
295 .section .text.15, "ax", %progbits
anatofuz
parents:
diff changeset
296 .balign 4096
anatofuz
parents:
diff changeset
297 .globl t3_ff8_st1multiple
anatofuz
parents:
diff changeset
298 .type t3_ff8_st1muliple, %function
anatofuz
parents:
diff changeset
299 .space 4096 - 8
anatofuz
parents:
diff changeset
300 t3_ff8_st1multiple:
anatofuz
parents:
diff changeset
301 adrp x23, dat3
anatofuz
parents:
diff changeset
302 st1 { v0.16b, v1.16b }, [x1]
anatofuz
parents:
diff changeset
303 ldr x24, [x23, :lo12:dat3]
anatofuz
parents:
diff changeset
304 ret
anatofuz
parents:
diff changeset
305
anatofuz
parents:
diff changeset
306 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 22FFF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
307 // CHECK: <t4_ff8_ldr>:
150
anatofuz
parents:
diff changeset
308 // CHECK-NEXT: 22fff8: 80 01 00 b0 adrp x0, #200704
anatofuz
parents:
diff changeset
309 // CHECK-NEXT: 22fffc: 21 00 40 f9 ldr x1, [x1]
anatofuz
parents:
diff changeset
310 // CHECK-NEXT: 230000: 42 00 00 8b add x2, x2, x0
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
311 // CHECK-FIX: 230004: 20 50 00 14 b 0x244084
150
anatofuz
parents:
diff changeset
312 // CHECK-NOFIX: 230004: 02 00 40 f9 ldr x2, [x0]
anatofuz
parents:
diff changeset
313 // CHECK-NEXT: 230008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
314 .section .text.16, "ax", %progbits
anatofuz
parents:
diff changeset
315 .balign 4096
anatofuz
parents:
diff changeset
316 .globl t4_ff8_ldr
anatofuz
parents:
diff changeset
317 .type t4_ff8_ldr, %function
anatofuz
parents:
diff changeset
318 .space 4096 - 8
anatofuz
parents:
diff changeset
319 t4_ff8_ldr:
anatofuz
parents:
diff changeset
320 adrp x0, dat1
anatofuz
parents:
diff changeset
321 ldr x1, [x1, #0]
anatofuz
parents:
diff changeset
322 add x2, x2, x0
anatofuz
parents:
diff changeset
323 ldr x2, [x0, :got_lo12:dat1]
anatofuz
parents:
diff changeset
324 ret
anatofuz
parents:
diff changeset
325
anatofuz
parents:
diff changeset
326 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 231FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
327 // CHECK: <t4_ffc_str>:
150
anatofuz
parents:
diff changeset
328 // CHECK-NEXT: 231ffc: 7c 01 00 f0 adrp x28, #192512
anatofuz
parents:
diff changeset
329 // CHECK-NEXT: 232000: 42 00 00 f9 str x2, [x2]
anatofuz
parents:
diff changeset
330 // CHECK-NEXT: 232004: 20 00 02 cb sub x0, x1, x2
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
331 // CHECK-FIX: 232008: 21 48 00 14 b 0x24408c
150
anatofuz
parents:
diff changeset
332 // CHECK-NOFIX: 232008: 9b 07 00 f9 str x27, [x28, #8]
anatofuz
parents:
diff changeset
333 // CHECK-NEXT: 23200c: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
334 .section .text.17, "ax", %progbits
anatofuz
parents:
diff changeset
335 .balign 4096
anatofuz
parents:
diff changeset
336 .globl t4_ffc_str
anatofuz
parents:
diff changeset
337 .type t4_ffc_str, %function
anatofuz
parents:
diff changeset
338 .space 4096 - 4
anatofuz
parents:
diff changeset
339 t4_ffc_str:
anatofuz
parents:
diff changeset
340 adrp x28, dat2
anatofuz
parents:
diff changeset
341 str x2, [x2, #0]
anatofuz
parents:
diff changeset
342 sub x0, x1, x2
anatofuz
parents:
diff changeset
343 str x27, [x28, :got_lo12:dat2]
anatofuz
parents:
diff changeset
344 ret
anatofuz
parents:
diff changeset
345
anatofuz
parents:
diff changeset
346 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 233FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
347 // CHECK: <t4_ff8_stp>:
150
anatofuz
parents:
diff changeset
348 // CHECK-NEXT: 233ff8: 70 01 00 b0 adrp x16, #184320
anatofuz
parents:
diff changeset
349 // CHECK-NEXT: 233ffc: 61 08 00 a9 stp x1, x2, [x3]
anatofuz
parents:
diff changeset
350 // CHECK-NEXT: 234000: 03 7e 10 9b mul x3, x16, x16
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
351 // CHECK-FIX: 234004: 24 40 00 14 b 0x244094
150
anatofuz
parents:
diff changeset
352 // CHECK-NOFIX: 234004: 0e 0a 40 f9 ldr x14, [x16, #16]
anatofuz
parents:
diff changeset
353 // CHECK-NEXT: 234008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
354 .section .text.18, "ax", %progbits
anatofuz
parents:
diff changeset
355 .balign 4096
anatofuz
parents:
diff changeset
356 .globl t4_ff8_stp
anatofuz
parents:
diff changeset
357 .type t4_ff8_stp, %function
anatofuz
parents:
diff changeset
358 .space 4096 - 8
anatofuz
parents:
diff changeset
359 t4_ff8_stp:
anatofuz
parents:
diff changeset
360 adrp x16, dat3
anatofuz
parents:
diff changeset
361 stp x1,x2, [x3, #0]
anatofuz
parents:
diff changeset
362 mul x3, x16, x16
anatofuz
parents:
diff changeset
363 ldr x14, [x16, :got_lo12:dat3]
anatofuz
parents:
diff changeset
364 ret
anatofuz
parents:
diff changeset
365
anatofuz
parents:
diff changeset
366 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 235FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
367 // CHECK: <t4_ff8_stppre>:
150
anatofuz
parents:
diff changeset
368 // CHECK-NEXT: 235ff8: 50 01 00 f0 adrp x16, #176128
anatofuz
parents:
diff changeset
369 // CHECK-NEXT: 235ffc: 61 08 81 a9 stp x1, x2, [x3, #16]!
anatofuz
parents:
diff changeset
370 // CHECK-NEXT: 236000: 03 7e 10 9b mul x3, x16, x16
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
371 // CHECK-FIX: 236004: 26 38 00 14 b 0x24409c
150
anatofuz
parents:
diff changeset
372 // CHECK-NOFIX: 236004: 0e 06 40 f9 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
373 // CHECK-NEXT: 236008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
374 .section .text.19, "ax", %progbits
anatofuz
parents:
diff changeset
375 .balign 4096
anatofuz
parents:
diff changeset
376 .globl t4_ff8_stppre
anatofuz
parents:
diff changeset
377 .type t4_ff8_stppre, %function
anatofuz
parents:
diff changeset
378 .space 4096 - 8
anatofuz
parents:
diff changeset
379 t4_ff8_stppre:
anatofuz
parents:
diff changeset
380 adrp x16, dat1
anatofuz
parents:
diff changeset
381 stp x1,x2, [x3, #16]!
anatofuz
parents:
diff changeset
382 mul x3, x16, x16
anatofuz
parents:
diff changeset
383 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
384 ret
anatofuz
parents:
diff changeset
385
anatofuz
parents:
diff changeset
386 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 237FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
387 // CHECK: <t4_ff8_stppost>:
150
anatofuz
parents:
diff changeset
388 // CHECK-NEXT: 237ff8: 50 01 00 b0 adrp x16, #167936
anatofuz
parents:
diff changeset
389 // CHECK-NEXT: 237ffc: 61 08 81 a8 stp x1, x2, [x3], #16
anatofuz
parents:
diff changeset
390 // CHECK-NEXT: 238000: 03 7e 10 9b mul x3, x16, x16
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
391 // CHECK-FIX: 238004: 28 30 00 14 b 0x2440a4
150
anatofuz
parents:
diff changeset
392 // CHECK-NOFIX: 238004: 0e 06 40 f9 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
393 // CHECK-NEXT: 238008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
394 .section .text.20, "ax", %progbits
anatofuz
parents:
diff changeset
395 .balign 4096
anatofuz
parents:
diff changeset
396 .globl t4_ff8_stppost
anatofuz
parents:
diff changeset
397 .type t4_ff8_stppost, %function
anatofuz
parents:
diff changeset
398 .space 4096 - 8
anatofuz
parents:
diff changeset
399 t4_ff8_stppost:
anatofuz
parents:
diff changeset
400 adrp x16, dat2
anatofuz
parents:
diff changeset
401 stp x1,x2, [x3], #16
anatofuz
parents:
diff changeset
402 mul x3, x16, x16
anatofuz
parents:
diff changeset
403 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
404 ret
anatofuz
parents:
diff changeset
405
anatofuz
parents:
diff changeset
406 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 239FFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
407 // CHECK: <t4_ffc_stpsimd>:
150
anatofuz
parents:
diff changeset
408 // CHECK-NEXT: 239ffc: 30 01 00 f0 adrp x16, #159744
anatofuz
parents:
diff changeset
409 // CHECK-NEXT: 23a000: 61 08 00 ad stp q1, q2, [x3]
anatofuz
parents:
diff changeset
410 // CHECK-NEXT: 23a004: 03 7e 10 9b mul x3, x16, x16
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
411 // CHECK-FIX: 23a008: 29 28 00 14 b 0x2440ac
150
anatofuz
parents:
diff changeset
412 // CHECK-NOFIX: 23a008: 0e 06 40 f9 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
413 // CHECK-NEXT: 23a00c: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
414 .section .text.21, "ax", %progbits
anatofuz
parents:
diff changeset
415 .balign 4096
anatofuz
parents:
diff changeset
416 .globl t4_ffc_stpsimd
anatofuz
parents:
diff changeset
417 .type t4_ffc_stpsimd, %function
anatofuz
parents:
diff changeset
418 .space 4096 - 4
anatofuz
parents:
diff changeset
419 t4_ffc_stpsimd:
anatofuz
parents:
diff changeset
420 adrp x16, dat3
anatofuz
parents:
diff changeset
421 stp q1,q2, [x3, #0]
anatofuz
parents:
diff changeset
422 mul x3, x16, x16
anatofuz
parents:
diff changeset
423 ldr x14, [x16, #8]
anatofuz
parents:
diff changeset
424 ret
anatofuz
parents:
diff changeset
425
anatofuz
parents:
diff changeset
426 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23BFFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
427 // CHECK: <t4_ffc_stnp>:
150
anatofuz
parents:
diff changeset
428 // CHECK-NEXT: 23bffc: 27 01 00 b0 adrp x7, #151552
anatofuz
parents:
diff changeset
429 // CHECK-NEXT: 23c000: 61 08 00 a8 stnp x1, x2, [x3]
anatofuz
parents:
diff changeset
430 // CHECK-NEXT: 23c004: 1f 20 03 d5 nop
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
431 // CHECK-FIX: 23c008: 2b 20 00 14 b 0x2440b4
150
anatofuz
parents:
diff changeset
432 // CHECK-NOFIX: 23c008: ea 00 40 f9 ldr x10, [x7]
anatofuz
parents:
diff changeset
433 // CHECK-NEXT: 23c00c: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
434 .section .text.22, "ax", %progbits
anatofuz
parents:
diff changeset
435 .balign 4096
anatofuz
parents:
diff changeset
436 .globl t4_ffc_stnp
anatofuz
parents:
diff changeset
437 .type t4_ffc_stnp, %function
anatofuz
parents:
diff changeset
438 .space 4096 - 4
anatofuz
parents:
diff changeset
439 t4_ffc_stnp:
anatofuz
parents:
diff changeset
440 adrp x7, dat1
anatofuz
parents:
diff changeset
441 stnp x1,x2, [x3, #0]
anatofuz
parents:
diff changeset
442 nop
anatofuz
parents:
diff changeset
443 ldr x10, [x7, :got_lo12:dat1]
anatofuz
parents:
diff changeset
444 ret
anatofuz
parents:
diff changeset
445
anatofuz
parents:
diff changeset
446 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23DFFC in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
447 // CHECK: <t4_ffc_st1>:
150
anatofuz
parents:
diff changeset
448 // CHECK-NEXT: 23dffc: 18 01 00 f0 adrp x24, #143360
anatofuz
parents:
diff changeset
449 // CHECK-NEXT: 23e000: 20 80 00 4d st1 { v0.s }[2], [x1]
anatofuz
parents:
diff changeset
450 // CHECK-NEXT: 23e004: f6 06 40 f9 ldr x22, [x23, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
451 // CHECK-FIX: 23e008: 2d 18 00 14 b 0x2440bc
150
anatofuz
parents:
diff changeset
452 // CHECK-NOFIX: 23e008: 18 ff 3f f9 str x24, [x24, #32760]
anatofuz
parents:
diff changeset
453 // CHECK-NEXT: 23e00c: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
454 .section .text.23, "ax", %progbits
anatofuz
parents:
diff changeset
455 .balign 4096
anatofuz
parents:
diff changeset
456 .globl t4_ffc_st1
anatofuz
parents:
diff changeset
457 .type t4_ffc_st1, %function
anatofuz
parents:
diff changeset
458 .space 4096 - 4
anatofuz
parents:
diff changeset
459 t4_ffc_st1:
anatofuz
parents:
diff changeset
460 adrp x24, dat2
anatofuz
parents:
diff changeset
461 st1 { v0.s }[2], [x1]
anatofuz
parents:
diff changeset
462 ldr x22, [x23, :got_lo12:dat2]
anatofuz
parents:
diff changeset
463 str x24, [x24, #32760]
anatofuz
parents:
diff changeset
464 ret
anatofuz
parents:
diff changeset
465
anatofuz
parents:
diff changeset
466 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 23FFF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
467 // CHECK: <t3_ff8_ldr_once>:
150
anatofuz
parents:
diff changeset
468 // CHECK-NEXT: 23fff8: 00 01 00 b0 adrp x0, #135168
anatofuz
parents:
diff changeset
469 // CHECK-NEXT: 23fffc: 20 70 82 4c st1 { v0.16b }, [x1], x2
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
470 // CHECK-FIX: 240000: 31 10 00 14 b 0x2440c4
150
anatofuz
parents:
diff changeset
471 // CHECK-NOFIX: 240000: 01 08 40 f9 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
472 // CHECK-NEXT: 240004: 02 08 40 f9 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
473 // CHECK-NEXT: 240008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
474 .section .text.24, "ax", %progbits
anatofuz
parents:
diff changeset
475 .balign 4096
anatofuz
parents:
diff changeset
476 .globl t3_ff8_ldr_once
anatofuz
parents:
diff changeset
477 .type t3_ff8_ldr_once, %function
anatofuz
parents:
diff changeset
478 .space 4096 - 8
anatofuz
parents:
diff changeset
479 t3_ff8_ldr_once:
anatofuz
parents:
diff changeset
480 adrp x0, dat3
anatofuz
parents:
diff changeset
481 st1 { v0.16b }, [x1], x2
anatofuz
parents:
diff changeset
482 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
483 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
484 ret
anatofuz
parents:
diff changeset
485
anatofuz
parents:
diff changeset
486 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 241FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
487 // CHECK: <t3_ff8_ldxr>:
150
anatofuz
parents:
diff changeset
488 // CHECK-NEXT: 241ff8: e0 00 00 f0 adrp x0, #126976
anatofuz
parents:
diff changeset
489 // CHECK-NEXT: 241ffc: 03 7c 5f c8 ldxr x3, [x0]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
490 // CHECK-FIX: 242000: 33 08 00 14 b 0x2440cc
150
anatofuz
parents:
diff changeset
491 // CHECK-NOFIX: 242000: 01 08 40 f9 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
492 // CHECK: 242004: 02 08 40 f9 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
493 // CHECK-NEXT: 242008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
494 .section .text.25, "ax", %progbits
anatofuz
parents:
diff changeset
495 .balign 4096
anatofuz
parents:
diff changeset
496 .globl t3_ff8_ldxr
anatofuz
parents:
diff changeset
497 .type t3_ff8_ldxr, %function
anatofuz
parents:
diff changeset
498 .space 4096 - 8
anatofuz
parents:
diff changeset
499 t3_ff8_ldxr:
anatofuz
parents:
diff changeset
500 adrp x0, dat3
anatofuz
parents:
diff changeset
501 ldxr x3, [x0]
anatofuz
parents:
diff changeset
502 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
503 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
504 ret
anatofuz
parents:
diff changeset
505
anatofuz
parents:
diff changeset
506 // CHECK-PRINT: detected cortex-a53-843419 erratum sequence starting at 243FF8 in unpatched output.
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
507 // CHECK: <t3_ff8_stxr>:
150
anatofuz
parents:
diff changeset
508 // CHECK-NEXT: 243ff8: e0 00 00 b0 adrp x0, #118784
anatofuz
parents:
diff changeset
509 // CHECK-NEXT: 243ffc: 03 7c 04 c8 stxr w4, x3, [x0]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
510 // CHECK-FIX: 244000: 35 00 00 14 b 0x2440d4
150
anatofuz
parents:
diff changeset
511 // CHECK-NOFIX: 244000: 01 08 40 f9 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
512 // CHECK: 244004: 02 08 40 f9 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
513 // CHECK-NEXT: 244008: c0 03 5f d6 ret
anatofuz
parents:
diff changeset
514 .section .text.26, "ax", %progbits
anatofuz
parents:
diff changeset
515 .balign 4096
anatofuz
parents:
diff changeset
516 .globl t3_ff8_stxr
anatofuz
parents:
diff changeset
517 .type t3_ff8_stxr, %function
anatofuz
parents:
diff changeset
518 .space 4096 - 8
anatofuz
parents:
diff changeset
519 t3_ff8_stxr:
anatofuz
parents:
diff changeset
520 adrp x0, dat3
anatofuz
parents:
diff changeset
521 stxr w4, x3, [x0]
anatofuz
parents:
diff changeset
522 ldr x1, [x0, #16]
anatofuz
parents:
diff changeset
523 ldr x2, [x0, #16]
anatofuz
parents:
diff changeset
524 ret
anatofuz
parents:
diff changeset
525
anatofuz
parents:
diff changeset
526 .text
anatofuz
parents:
diff changeset
527 .globl _start
anatofuz
parents:
diff changeset
528 .type _start, %function
anatofuz
parents:
diff changeset
529 _start:
anatofuz
parents:
diff changeset
530 ret
anatofuz
parents:
diff changeset
531
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
532 // CHECK-FIX: <__CortexA53843419_212000>:
150
anatofuz
parents:
diff changeset
533 // CHECK-FIX-NEXT: 24400c: 00 00 40 f9 ldr x0, [x0]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
534 // CHECK-FIX-NEXT: 244010: fd 37 ff 17 b 0x212004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
535 // CHECK-FIX: <__CortexA53843419_214000>:
150
anatofuz
parents:
diff changeset
536 // CHECK-FIX-NEXT: 244014: 02 04 40 f9 ldr x2, [x0, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
537 // CHECK-FIX-NEXT: 244018: fb 3f ff 17 b 0x214004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
538 // CHECK-FIX: <__CortexA53843419_216004>:
150
anatofuz
parents:
diff changeset
539 // CHECK-FIX-NEXT: 24401c: 03 08 40 f9 ldr x3, [x0, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
540 // CHECK-FIX-NEXT: 244020: fa 47 ff 17 b 0x216008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
541 // CHECK-FIX: <__CortexA53843419_218000>:
150
anatofuz
parents:
diff changeset
542 // CHECK-FIX-NEXT: 244024: 02 0c 40 f9 ldr x2, [x0, #24]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
543 // CHECK-FIX-NEXT: 244028: f7 4f ff 17 b 0x218004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
544 // CHECK-FIX: <__CortexA53843419_21A004>:
150
anatofuz
parents:
diff changeset
545 // CHECK-FIX-NEXT: 24402c: 9c 13 00 f9 str x28, [x28, #32]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
546 // CHECK-FIX-NEXT: 244030: f6 57 ff 17 b 0x21a008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
547 // CHECK-FIX: <__CortexA53843419_21C004>:
150
anatofuz
parents:
diff changeset
548 // CHECK-FIX-NEXT: 244034: 84 17 00 f9 str x4, [x28, #40]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
549 // CHECK-FIX-NEXT: 244038: f4 5f ff 17 b 0x21c008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
550 // CHECK-FIX: <__CortexA53843419_21E000>:
150
anatofuz
parents:
diff changeset
551 // CHECK-FIX-NEXT: 24403c: bd 03 40 f9 ldr x29, [x29]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
552 // CHECK-FIX-NEXT: 244040: f1 67 ff 17 b 0x21e004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
553 // CHECK-FIX: <__CortexA53843419_220004>:
150
anatofuz
parents:
diff changeset
554 // CHECK-FIX-NEXT: 244044: bd 07 40 f9 ldr x29, [x29, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
555 // CHECK-FIX-NEXT: 244048: f0 6f ff 17 b 0x220008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
556 // CHECK-FIX: <__CortexA53843419_222004>:
150
anatofuz
parents:
diff changeset
557 // CHECK-FIX-NEXT: 24404c: 41 0a 40 f9 ldr x1, [x18, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
558 // CHECK-FIX-NEXT: 244050: ee 77 ff 17 b 0x222008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
559 // CHECK-FIX: <__CortexA53843419_224000>:
150
anatofuz
parents:
diff changeset
560 // CHECK-FIX-NEXT: 244054: 52 0e 40 f9 ldr x18, [x18, #24]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
561 // CHECK-FIX-NEXT: 244058: eb 7f ff 17 b 0x224004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
562 // CHECK-FIX: <__CortexA53843419_226004>:
150
anatofuz
parents:
diff changeset
563 // CHECK-FIX-NEXT: 24405c: ea 11 40 f9 ldr x10, [x15, #32]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
564 // CHECK-FIX-NEXT: 244060: ea 87 ff 17 b 0x226008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
565 // CHECK-FIX: <__CortexA53843419_228000>:
150
anatofuz
parents:
diff changeset
566 // CHECK-FIX-NEXT: 244064: 0d 16 40 f9 ldr x13, [x16, #40]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
567 // CHECK-FIX-NEXT: 244068: e7 8f ff 17 b 0x228004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
568 // CHECK-FIX: <__CortexA53843419_22A004>:
150
anatofuz
parents:
diff changeset
569 // CHECK-FIX-NEXT: 24406c: e9 0c 40 f9 ldr x9, [x7, #24]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
570 // CHECK-FIX-NEXT: 244070: e6 97 ff 17 b 0x22a008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
571 // CHECK-FIX: <__CortexA53843419_22C004>:
150
anatofuz
parents:
diff changeset
572 // CHECK-FIX-NEXT: 244074: f6 12 40 f9 ldr x22, [x23, #32]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
573 // CHECK-FIX-NEXT: 244078: e4 9f ff 17 b 0x22c008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
574 // CHECK-FIX: <__CortexA53843419_22E000>:
150
anatofuz
parents:
diff changeset
575 // CHECK-FIX-NEXT: 24407c: f8 16 40 f9 ldr x24, [x23, #40]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
576 // CHECK-FIX-NEXT: 244080: e1 a7 ff 17 b 0x22e004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
577 // CHECK-FIX: <__CortexA53843419_230004>:
150
anatofuz
parents:
diff changeset
578 // CHECK-FIX-NEXT: 244084: 02 00 40 f9 ldr x2, [x0]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
579 // CHECK-FIX-NEXT: 244088: e0 af ff 17 b 0x230008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
580 // CHECK-FIX: <__CortexA53843419_232008>:
150
anatofuz
parents:
diff changeset
581 // CHECK-FIX-NEXT: 24408c: 9b 07 00 f9 str x27, [x28, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
582 // CHECK-FIX-NEXT: 244090: df b7 ff 17 b 0x23200c
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
583 // CHECK-FIX: <__CortexA53843419_234004>:
150
anatofuz
parents:
diff changeset
584 // CHECK-FIX-NEXT: 244094: 0e 0a 40 f9 ldr x14, [x16, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
585 // CHECK-FIX-NEXT: 244098: dc bf ff 17 b 0x234008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
586 // CHECK-FIX: <__CortexA53843419_236004>:
150
anatofuz
parents:
diff changeset
587 // CHECK-FIX-NEXT: 24409c: 0e 06 40 f9 ldr x14, [x16, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
588 // CHECK-FIX-NEXT: 2440a0: da c7 ff 17 b 0x236008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
589 // CHECK-FIX: <__CortexA53843419_238004>:
150
anatofuz
parents:
diff changeset
590 // CHECK-FIX-NEXT: 2440a4: 0e 06 40 f9 ldr x14, [x16, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
591 // CHECK-FIX-NEXT: 2440a8: d8 cf ff 17 b 0x238008
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
592 // CHECK-FIX: <__CortexA53843419_23A008>:
150
anatofuz
parents:
diff changeset
593 // CHECK-FIX-NEXT: 2440ac: 0e 06 40 f9 ldr x14, [x16, #8]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
594 // CHECK-FIX-NEXT: 2440b0: d7 d7 ff 17 b 0x23a00c
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
595 // CHECK-FIX: <__CortexA53843419_23C008>:
150
anatofuz
parents:
diff changeset
596 // CHECK-FIX-NEXT: 2440b4: ea 00 40 f9 ldr x10, [x7]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
597 // CHECK-FIX-NEXT: 2440b8: d5 df ff 17 b 0x23c00c
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
598 // CHECK-FIX: <__CortexA53843419_23E008>:
150
anatofuz
parents:
diff changeset
599 // CHECK-FIX-NEXT: 2440bc: 18 ff 3f f9 str x24, [x24, #32760]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
600 // CHECK-FIX-NEXT: 2440c0: d3 e7 ff 17 b 0x23e00c
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
601 // CHECK-FIX: <__CortexA53843419_240000>:
150
anatofuz
parents:
diff changeset
602 // CHECK-FIX-NEXT: 2440c4: 01 08 40 f9 ldr x1, [x0, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
603 // CHECK-FIX-NEXT: 2440c8: cf ef ff 17 b 0x240004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
604 // CHECK-FIX: <__CortexA53843419_242000>:
150
anatofuz
parents:
diff changeset
605 // CHECK-FIX-NEXT: 2440cc: 01 08 40 f9 ldr x1, [x0, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
606 // CHECK-FIX-NEXT: 2440d0: cd f7 ff 17 b 0x242004
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
607 // CHECK-FIX: <__CortexA53843419_244000>:
150
anatofuz
parents:
diff changeset
608 // CHECK-FIX-NEXT: 2440d4: 01 08 40 f9 ldr x1, [x0, #16]
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
609 // CHECK-FIX-NEXT: 2440d8: cb ff ff 17 b 0x244004
150
anatofuz
parents:
diff changeset
610 .data
anatofuz
parents:
diff changeset
611 .globl dat
anatofuz
parents:
diff changeset
612 .globl dat2
anatofuz
parents:
diff changeset
613 .globl dat3
anatofuz
parents:
diff changeset
614 dat1: .quad 1
anatofuz
parents:
diff changeset
615 dat2: .quad 2
anatofuz
parents:
diff changeset
616 dat3: .quad 3