1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // This input was created by taking the instruction productions in
6 // the old assembler's (7a's) grammar and hand-writing complete
7 // instructions for each rule, to guarantee we cover the same space.
8
9 #include "../../../../../runtime/textflag.h"
10
11 TEXT foo(SB), DUPOK|NOSPLIT, $-8
12
13 // arithmetic operations
14 ADDW $1, R2, R3
15 ADDW R1, R2, R3
16 ADDW R1, ZR, R3
17 ADD $1, R2, R3
18 ADD R1, R2, R3
19 ADD R1, ZR, R3
20 ADD $1, R2, R3
21 ADDW $1, R2
22 ADDW R1, R2
23 ADD $1, R2
24 ADD R1, R2
25 ADD R1>>11, R2
26 ADD R1<<22, R2
27 ADD R1->33, R2
28 ADD $0x000aaa, R2, R3 // ADD $2730, R2, R3 // 43a82a91
29 ADD $0x000aaa, R2 // ADD $2730, R2 // 42a82a91
30 ADD $0xaaa000, R2, R3 // ADD $11182080, R2, R3 // 43a86a91
31 ADD $0xaaa000, R2 // ADD $11182080, R2 // 42a86a91
32 ADD $0xaaaaaa, R2, R3 // ADD $11184810, R2, R3 // 43a82a9163a86a91
33 ADD $0xaaaaaa, R2 // ADD $11184810, R2 // 42a82a9142a86a91
34 SUB $0x000aaa, R2, R3 // SUB $2730, R2, R3 // 43a82ad1
35 SUB $0x000aaa, R2 // SUB $2730, R2 // 42a82ad1
36 SUB $0xaaa000, R2, R3 // SUB $11182080, R2, R3 // 43a86ad1
37 SUB $0xaaa000, R2 // SUB $11182080, R2 // 42a86ad1
38 SUB $0xaaaaaa, R2, R3 // SUB $11184810, R2, R3 // 43a82ad163a86ad1
39 SUB $0xaaaaaa, R2 // SUB $11184810, R2 // 42a82ad142a86ad1
40 ADDW $0x60060, R2 // ADDW $393312, R2 // 4280011142804111
41 ADD $0x186a0, R2, R5 // ADD $100000, R2, R5 // 45801a91a5604091
42 SUB $0xe7791f700, R3, R1 // SUB $62135596800, R3, R1 // 1be09ed23bf2aef2db01c0f261001bcb
43 ADD $0x3fffffffc000, R5 // ADD $70368744161280, R5 // fb7f72b2a5001b8b
44 ADD R1>>11, R2, R3
45 ADD R1<<22, R2, R3
46 ADD R1->33, R2, R3
47 AND R1@>33, R2, R3
48 ADD R1.UXTB, R2, R3 // 4300218b
49 ADD R1.UXTB<<4, R2, R3 // 4310218b
50 ADD R2, RSP, RSP // ff63228b
51 ADD R2.SXTX<<1, RSP, RSP // ffe7228b
52 ADD ZR.SXTX<<1, R2, R3 // 43e43f8b
53 ADDW R2.SXTW, R10, R12 // 4cc1220b
54 ADD R19.UXTX, R14, R17 // d161338b
55 ADDSW R19.UXTW, R14, R17 // d141332b
56 ADDS R12.SXTX, R3, R1 // 61e02cab
57 SUB R19.UXTH<<4, R2, R21 // 553033cb
58 SUBW R1.UXTX<<1, R3, R2 // 6264214b
59 SUBS R3.UXTX, R8, R9 // 096123eb
60 SUBSW R17.UXTH, R15, R21 // f521316b
61 SUBW ZR<<14, R19, R13 // 6d3a1f4b
62 CMP R2.SXTH, R13 // bfa122eb
63 CMN R1.SXTX<<2, R10 // 5fe921ab
64 CMPW R2.UXTH<<3, R11 // 7f2d226b
65 CMNW R1.SXTB, R9 // 3f81212b
66 ADD R1<<1, RSP, R3 // e367218b
67 ADDW R1<<2, R3, RSP // 7f48210b
68 SUB R1<<3, RSP // ff6f21cb
69 SUBS R1<<4, RSP, R3 // e37321eb
70 ADDS R1<<1, RSP, R4 // e46721ab
71 CMP R1<<2, RSP // ff6b21eb
72 CMN R1<<3, RSP // ff6f21ab
73 ADDS R1<<1, ZR, R4 // e40701ab
74 ADD R3<<50, ZR, ZR // ffcb038b
75 CMP R4<<24, ZR // ff6304eb
76 CMPW $0x60060, R2 // CMPW $393312, R2 // 1b0c8052db00a0725f001b6b
77 CMPW $40960, R0 // 1f284071
78 CMPW $27745, R2 // 3b8c8d525f001b6b
79 CMNW $0x3fffffc0, R2 // CMNW $1073741760, R2 // fb5f1a325f001b2b
80 CMPW $0xffff0, R1 // CMPW $1048560, R1 // fb3f1c323f001b6b
81 CMP $0xffffffffffa0, R3 // CMP $281474976710560, R3 // fb0b80921b00e0f27f001beb
82 CMP $0xf4240, R1 // CMP $1000000, R1 // 1b4888d2fb01a0f23f001beb
83 CMP $3343198598084851058, R3 // 5bae8ed2db8daef23badcdf2bbcce5f27f001beb
84 CMP $3, R2
85 CMP R1, R2
86 CMP R1->11, R2
87 CMP R1>>22, R2
88 CMP R1<<33, R2
89 CMP R22.SXTX, RSP // ffe336eb
90 CMP $0x22220000, RSP // CMP $572653568, RSP // 5b44a4d2ff633beb
91 CMPW $0x22220000, RSP // CMPW $572653568, RSP // 5b44a452ff433b6b
92 CCMN MI, ZR, R1, $4 // e44341ba
93 // MADD Rn,Rm,Ra,Rd
94 MADD R1, R2, R3, R4 // 6408019b
95 // CLS
96 CLSW R1, R2
97 CLS R1, R2
98 SBC $0, R1 // 21001fda
99 SBCW $0, R1 // 21001f5a
100 SBCS $0, R1 // 21001ffa
101 SBCSW $0, R1 // 21001f7a
102 ADC $0, R1 // 21001f9a
103 ADCW $0, R1 // 21001f1a
104 ADCS $0, R1 // 21001fba
105 ADCSW $0, R1 // 21001f3a
106
107 // fp/simd instructions.
108 VADDP V1.B16, V2.B16, V3.B16 // 43bc214e
109 VADDP V1.S4, V2.S4, V3.S4 // 43bca14e
110 VADDP V1.D2, V2.D2, V3.D2 // 43bce14e
111 VAND V21.B8, V12.B8, V3.B8 // 831d350e
112 VCMEQ V1.H4, V2.H4, V3.H4 // 438c612e
113 VORR V5.B16, V4.B16, V3.B16 // 831ca54e
114 VADD V16.S4, V5.S4, V9.S4 // a984b04e
115 VEOR V0.B16, V1.B16, V0.B16 // 201c206e
116 VADDV V0.S4, V0 // 00b8b14e
117 VMOVI $82, V0.B16 // 40e6024f
118 VUADDLV V6.B16, V6 // c638306e
119 VADD V1, V2, V3 // 4384e15e
120 VADD V1, V3, V3 // 6384e15e
121 VSUB V12, V30, V30 // de87ec7e
122 VSUB V12, V20, V30 // 9e86ec7e
123 VFMLA V1.D2, V12.D2, V1.D2 // 81cd614e
124 VFMLA V1.S2, V12.S2, V1.S2 // 81cd210e
125 VFMLA V1.S4, V12.S4, V1.S4 // 81cd214e
126 VFMLS V1.D2, V12.D2, V1.D2 // 81cde14e
127 VFMLS V1.S2, V12.S2, V1.S2 // 81cda10e
128 VFMLS V1.S4, V12.S4, V1.S4 // 81cda14e
129 VEXT $4, V2.B8, V1.B8, V3.B8 // 2320022e
130 VEXT $8, V2.B16, V1.B16, V3.B16 // 2340026e
131 VRBIT V24.B16, V24.B16 // 185b606e
132 VRBIT V24.B8, V24.B8 // 185b602e
133 VUSHR $56, V1.D2, V2.D2 // 2204486f
134 VUSHR $24, V1.S4, V2.S4 // 2204286f
135 VUSHR $24, V1.S2, V2.S2 // 2204282f
136 VUSHR $8, V1.H4, V2.H4 // 2204182f
137 VUSHR $8, V1.H8, V2.H8 // 2204186f
138 VUSHR $2, V1.B8, V2.B8 // 22040e2f
139 VUSHR $2, V1.B16, V2.B16 // 22040e6f
140 VSHL $56, V1.D2, V2.D2 // 2254784f
141 VSHL $24, V1.S4, V2.S4 // 2254384f
142 VSHL $24, V1.S2, V2.S2 // 2254380f
143 VSHL $8, V1.H4, V2.H4 // 2254180f
144 VSHL $8, V1.H8, V2.H8 // 2254184f
145 VSHL $2, V1.B8, V2.B8 // 22540a0f
146 VSHL $2, V1.B16, V2.B16 // 22540a4f
147 VSRI $56, V1.D2, V2.D2 // 2244486f
148 VSRI $24, V1.S4, V2.S4 // 2244286f
149 VSRI $24, V1.S2, V2.S2 // 2244282f
150 VSRI $8, V1.H4, V2.H4 // 2244182f
151 VSRI $8, V1.H8, V2.H8 // 2244186f
152 VSRI $2, V1.B8, V2.B8 // 22440e2f
153 VSRI $2, V1.B16, V2.B16 // 22440e6f
154 VSLI $7, V2.B16, V3.B16 // 43540f6f
155 VSLI $15, V3.H4, V4.H4 // 64541f2f
156 VSLI $31, V5.S4, V6.S4 // a6543f6f
157 VSLI $63, V7.D2, V8.D2 // e8547f6f
158 VUSRA $8, V2.B16, V3.B16 // 4314086f
159 VUSRA $16, V3.H4, V4.H4 // 6414102f
160 VUSRA $32, V5.S4, V6.S4 // a614206f
161 VUSRA $64, V7.D2, V8.D2 // e814406f
162 VTBL V22.B16, [V28.B16, V29.B16], V11.B16 // 8b23164e
163 VTBL V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8 // 3642120e
164 VTBL V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8 // cf611f0e
165 VTBL V14.B16, [V16.B16], V11.B16 // 0b020e4e
166 VTBL V28.B16, [V25.B16, V26.B16], V5.B16 // 25231c4e
167 VTBL V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8 // 8c40100e
168 VTBL V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8 // 0462040e
169 VTBL V15.B8, [V1.B16], V20.B8 // 34000f0e
170 VTBL V26.B16, [V2.B16, V3.B16], V26.B16 // 5a201a4e
171 VTBL V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8 // c2400f0e
172 VTBL V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16 // 7263024e
173 VTBL V11.B16, [V13.B16], V27.B16 // bb010b4e
174 VTBL V3.B8, [V7.B16, V8.B16], V25.B8 // f920030e
175 VTBL V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16 // 71400e4e
176 VTBL V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16 // bc630d4e
177 VTBL V3.B8, [V27.B16], V8.B8 // 6803030e
178 VTBX V22.B16, [V28.B16, V29.B16], V11.B16 // 8b33164e
179 VTBX V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8 // 3652120e
180 VTBX V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8 // cf711f0e
181 VTBX V14.B16, [V16.B16], V11.B16 // 0b120e4e
182 VTBX V28.B16, [V25.B16, V26.B16], V5.B16 // 25331c4e
183 VTBX V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8 // 8c50100e
184 VTBX V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8 // 0472040e
185 VTBX V15.B8, [V1.B16], V20.B8 // 34100f0e
186 VTBX V26.B16, [V2.B16, V3.B16], V26.B16 // 5a301a4e
187 VTBX V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8 // c2500f0e
188 VTBX V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16 // 7273024e
189 VTBX V11.B16, [V13.B16], V27.B16 // bb110b4e
190 VTBX V3.B8, [V7.B16, V8.B16], V25.B8 // f930030e
191 VTBX V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16 // 71500e4e
192 VTBX V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16 // bc730d4e
193 VTBX V3.B8, [V27.B16], V8.B8 // 6813030e
194 VZIP1 V16.H8, V3.H8, V19.H8 // 7338504e
195 VZIP2 V22.D2, V25.D2, V21.D2 // 357bd64e
196 VZIP1 V6.D2, V9.D2, V11.D2 // 2b39c64e
197 VZIP2 V10.D2, V13.D2, V3.D2 // a379ca4e
198 VZIP1 V17.S2, V4.S2, V26.S2 // 9a38910e
199 VZIP2 V25.S2, V14.S2, V25.S2 // d979990e
200 VUXTL V30.B8, V30.H8 // dea7082f
201 VUXTL V30.H4, V29.S4 // dda7102f
202 VUXTL V29.S2, V2.D2 // a2a7202f
203 VUXTL2 V30.H8, V30.S4 // dea7106f
204 VUXTL2 V29.S4, V2.D2 // a2a7206f
205 VUXTL2 V30.B16, V2.H8 // c2a7086f
206 VBIT V21.B16, V25.B16, V4.B16 // 241fb56e
207 VBSL V23.B16, V3.B16, V7.B16 // 671c776e
208 VCMTST V2.B8, V29.B8, V2.B8 // a28f220e
209 VCMTST V2.D2, V23.D2, V3.D2 // e38ee24e
210 VSUB V2.B8, V30.B8, V30.B8 // de87222e
211 VUZP1 V0.B8, V30.B8, V1.B8 // c11b000e
212 VUZP1 V1.B16, V29.B16, V2.B16 // a21b014e
213 VUZP1 V2.H4, V28.H4, V3.H4 // 831b420e
214 VUZP1 V3.H8, V27.H8, V4.H8 // 641b434e
215 VUZP1 V28.S2, V2.S2, V5.S2 // 45189c0e
216 VUZP1 V29.S4, V1.S4, V6.S4 // 26189d4e
217 VUZP1 V30.D2, V0.D2, V7.D2 // 0718de4e
218 VUZP2 V0.D2, V30.D2, V1.D2 // c15bc04e
219 VUZP2 V30.D2, V0.D2, V29.D2 // 1d58de4e
220 VUSHLL $0, V30.B8, V30.H8 // dea7082f
221 VUSHLL $0, V30.H4, V29.S4 // dda7102f
222 VUSHLL $0, V29.S2, V2.D2 // a2a7202f
223 VUSHLL2 $0, V30.B16, V2.H8 // c2a7086f
224 VUSHLL2 $0, V30.H8, V30.S4 // dea7106f
225 VUSHLL2 $0, V29.S4, V2.D2 // a2a7206f
226 VUSHLL $7, V30.B8, V30.H8 // dea70f2f
227 VUSHLL $15, V30.H4, V29.S4 // dda71f2f
228 VUSHLL2 $31, V30.S4, V2.D2 // c2a73f6f
229 VBIF V0.B8, V30.B8, V1.B8 // c11fe02e
230 VBIF V30.B16, V0.B16, V2.B16 // 021cfe6e
231 FMOVS $(4.0), F0 // 0010221e
232 FMOVD $(4.0), F0 // 0010621e
233 FMOVS $(0.265625), F1 // 01302a1e
234 FMOVD $(0.1796875), F2 // 02f0681e
235 FMOVS $(0.96875), F3 // 03f02d1e
236 FMOVD $(28.0), F4 // 0490671e
237 FMOVD $0, F0 // e003679e
238 FMOVS $0, F0 // e003271e
239 FMOVD ZR, F0 // e003679e
240 FMOVS ZR, F0 // e003271e
241 FMOVD F1, ZR // 3f00669e
242 FMOVS F1, ZR // 3f00261e
243 VUADDW V9.B8, V12.H8, V14.H8 // 8e11292e
244 VUADDW V13.H4, V10.S4, V11.S4 // 4b116d2e
245 VUADDW V21.S2, V24.D2, V29.D2 // 1d13b52e
246 VUADDW2 V9.B16, V12.H8, V14.H8 // 8e11296e
247 VUADDW2 V13.H8, V20.S4, V30.S4 // 9e126d6e
248 VUADDW2 V21.S4, V24.D2, V29.D2 // 1d13b56e
249 VUMAX V3.B8, V2.B8, V1.B8 // 4164232e
250 VUMAX V3.B16, V2.B16, V1.B16 // 4164236e
251 VUMAX V3.H4, V2.H4, V1.H4 // 4164632e
252 VUMAX V3.H8, V2.H8, V1.H8 // 4164636e
253 VUMAX V3.S2, V2.S2, V1.S2 // 4164a32e
254 VUMAX V3.S4, V2.S4, V1.S4 // 4164a36e
255 VUMIN V3.B8, V2.B8, V1.B8 // 416c232e
256 VUMIN V3.B16, V2.B16, V1.B16 // 416c236e
257 VUMIN V3.H4, V2.H4, V1.H4 // 416c632e
258 VUMIN V3.H8, V2.H8, V1.H8 // 416c636e
259 VUMIN V3.S2, V2.S2, V1.S2 // 416ca32e
260 VUMIN V3.S4, V2.S4, V1.S4 // 416ca36e
261 FCCMPS LT, F1, F2, $1 // 41b4211e
262 FMADDS F1, F3, F2, F4 // 440c011f
263 FMADDD F4, F5, F4, F4 // 8414441f
264 FMSUBS F13, F21, F13, F19 // b3d50d1f
265 FMSUBD F11, F7, F15, F31 // ff9d4b1f
266 FNMADDS F1, F3, F2, F4 // 440c211f
267 FNMADDD F1, F3, F2, F4 // 440c611f
268 FNMSUBS F1, F3, F2, F4 // 448c211f
269 FNMSUBD F1, F3, F2, F4 // 448c611f
270 FADDS F2, F3, F4 // 6428221e
271 FADDD F1, F2 // 4228611e
272 VDUP V19.S[0], V17.S4 // 7106044e
273 VTRN1 V3.D2, V2.D2, V20.D2 // 5428c34e
274 VTRN2 V3.D2, V2.D2, V21.D2 // 5568c34e
275 VTRN1 V5.D2, V4.D2, V22.D2 // 9628c54e
276 VTRN2 V5.D2, V4.D2, V23.D2 // 9768c54e
277
278
279 // special
280 PRFM (R2), PLDL1KEEP // 400080f9
281 PRFM 16(R2), PLDL1KEEP // 400880f9
282 PRFM 48(R6), PSTL2STRM // d31880f9
283 PRFM 8(R12), PLIL3STRM // 8d0580f9
284 PRFM (R8), $25 // 190180f9
285 PRFM 8(R9), $30 // 3e0580f9
286 NOOP // 1f2003d5
287 HINT $0 // 1f2003d5
288 DMB $1
289 SVC
290
291 // encryption
292 SHA256H V9.S4, V3, V2 // 6240095e
293 SHA256H2 V9.S4, V4, V3 // 8350095e
294 SHA256SU0 V8.S4, V7.S4 // 0729285e
295 SHA256SU1 V6.S4, V5.S4, V7.S4 // a760065e
296 SHA1SU0 V11.S4, V8.S4, V6.S4 // 06310b5e
297 SHA1SU1 V5.S4, V1.S4 // a118285e
298 SHA1C V1.S4, V2, V3 // 4300015e
299 SHA1H V5, V4 // a408285e
300 SHA1M V8.S4, V7, V6 // e620085e
301 SHA1P V11.S4, V10, V9 // 49110b5e
302 SHA512H V2.D2, V1, V0 // 208062ce
303 SHA512H2 V4.D2, V3, V2 // 628464ce
304 SHA512SU0 V9.D2, V8.D2 // 2881c0ce
305 SHA512SU1 V7.D2, V6.D2, V5.D2 // c58867ce
306 VRAX1 V26.D2, V29.D2, V30.D2 // be8f7ace
307 VXAR $63, V27.D2, V21.D2, V26.D2 // bafe9bce
308 VPMULL V2.D1, V1.D1, V3.Q1 // 23e0e20e
309 VPMULL2 V2.D2, V1.D2, V4.Q1 // 24e0e24e
310 VPMULL V2.B8, V1.B8, V3.H8 // 23e0220e
311 VPMULL2 V2.B16, V1.B16, V4.H8 // 24e0224e
312 VEOR3 V2.B16, V7.B16, V12.B16, V25.B16 // 990907ce
313 VBCAX V1.B16, V2.B16, V26.B16, V31.B16 // 5f0722ce
314 VREV32 V5.B16, V5.B16 // a508206e
315 VREV64 V2.S2, V3.S2 // 4308a00e
316 VREV64 V2.S4, V3.S4 // 4308a04e
317
318 // logical ops
319 //
320 // make sure constants get encoded into an instruction when it could
321 AND R1@>33, R2
322 AND $(1<<63), R1 // AND $-9223372036854775808, R1 // 21004192
323 AND $(1<<63-1), R1 // AND $9223372036854775807, R1 // 21f84092
324 ORR $(1<<63), R1 // ORR $-9223372036854775808, R1 // 210041b2
325 ORR $(1<<63-1), R1 // ORR $9223372036854775807, R1 // 21f840b2
326 EOR $(1<<63), R1 // EOR $-9223372036854775808, R1 // 210041d2
327 EOR $(1<<63-1), R1 // EOR $9223372036854775807, R1 // 21f840d2
328 ANDW $0x3ff00000, R2 // ANDW $1072693248, R2 // 42240c12
329 BICW $0x3ff00000, R2 // BICW $1072693248, R2 // 42540212
330 ORRW $0x3ff00000, R2 // ORRW $1072693248, R2 // 42240c32
331 ORNW $0x3ff00000, R2 // ORNW $1072693248, R2 // 42540232
332 EORW $0x3ff00000, R2 // EORW $1072693248, R2 // 42240c52
333 EONW $0x3ff00000, R2 // EONW $1072693248, R2 // 42540252
334 AND $0x22220000, R3, R4 // AND $572653568, R3, R4 // 5b44a4d264001b8a
335 ORR $0x22220000, R3, R4 // ORR $572653568, R3, R4 // 5b44a4d264001baa
336 EOR $0x22220000, R3, R4 // EOR $572653568, R3, R4 // 5b44a4d264001bca
337 BIC $0x22220000, R3, R4 // BIC $572653568, R3, R4 // 5b44a4d264003b8a
338 ORN $0x22220000, R3, R4 // ORN $572653568, R3, R4 // 5b44a4d264003baa
339 EON $0x22220000, R3, R4 // EON $572653568, R3, R4 // 5b44a4d264003bca
340 ANDS $0x22220000, R3, R4 // ANDS $572653568, R3, R4 // 5b44a4d264001bea
341 BICS $0x22220000, R3, R4 // BICS $572653568, R3, R4 // 5b44a4d264003bea
342 EOR $0xe03fffffffffffff, R20, R22 // EOR $-2287828610704211969, R20, R22 // 96e243d2
343 TSTW $0x600000006, R1 // TSTW $25769803782, R1 // 3f041f72
344 TST $0x4900000049, R0 // TST $313532612681, R0 // 3b0980d23b09c0f21f001bea
345 ORR $0x170000, R2, R1 // ORR $1507328, R2, R1 // fb02a0d241001baa
346 AND $0xff00ff, R2 // AND $16711935, R2 // fb1f80d2fb1fa0f242001b8a
347 AND $0xff00ffff, R1 // AND $4278255615, R1 // fbff9fd21be0bff221001b8a
348 ANDS $0xffff, R2 // ANDS $65535, R2 // 423c40f2
349 AND $0x7fffffff, R3 // AND $2147483647, R3 // 63784092
350 ANDS $0x0ffffffff80000000, R2 // ANDS $-2147483648, R2 // 428061f2
351 AND $0xfffff, R2 // AND $1048575, R2 // 424c4092
352 ANDW $0xf00fffff, R1 // ANDW $4027580415, R1 // 215c0412
353 ANDSW $0xff00ffff, R1 // ANDSW $4278255615, R1 // 215c0872
354 TST $0x11223344, R2 // TST $287454020, R2 // 9b6886d25b24a2f25f001bea
355 TSTW $0xa000, R3 // TSTW $40960, R3 // 1b0094527f001b6a
356 BICW $0xa000, R3 // BICW $40960, R3 // 1b00945263003b0a
357 ORRW $0x1b000, R2, R3 // ORRW $110592, R2, R3 // 1b0096523b00a07243001b2a
358 TSTW $0x500000, R1 // TSTW $5242880, R1 // 1b0aa0523f001b6a
359 TSTW $0xff00ff, R1 // TSTW $16711935, R1 // 3f9c0072
360 TSTW $0x60060, R5 // TSTW $393312, R5 // 1b0c8052db00a072bf001b6a
361 TSTW $0x6006000060060, R5 // TSTW $1689262177517664, R5 // 1b0c8052db00a072bf001b6a
362 ANDW $0x6006000060060, R5 // ANDW $1689262177517664, R5 // 1b0c8052db00a072a5001b0a
363 ANDSW $0x6006000060060, R5 // ANDSW $1689262177517664, R5 // 1b0c8052db00a072a5001b6a
364 EORW $0x6006000060060, R5 // EORW $1689262177517664, R5 // 1b0c8052db00a072a5001b4a
365 ORRW $0x6006000060060, R5 // ORRW $1689262177517664, R5 // 1b0c8052db00a072a5001b2a
366 BICW $0x6006000060060, R5 // BICW $1689262177517664, R5 // 1b0c8052db00a072a5003b0a
367 EONW $0x6006000060060, R5 // EONW $1689262177517664, R5 // 1b0c8052db00a072a5003b4a
368 ORNW $0x6006000060060, R5 // ORNW $1689262177517664, R5 // 1b0c8052db00a072a5003b2a
369 BICSW $0x6006000060060, R5 // BICSW $1689262177517664, R5 // 1b0c8052db00a072a5003b6a
370 AND $1, ZR // fb0340b2ff031b8a
371 ANDW $1, ZR // fb030032ff031b0a
372 // TODO: this could have better encoding
373 ANDW $-1, R10 // 1b0080124a011b0a
374 AND $8, R0, RSP // 1f007d92
375 ORR $8, R0, RSP // 1f007db2
376 EOR $8, R0, RSP // 1f007dd2
377 BIC $8, R0, RSP // 1ff87c92
378 ORN $8, R0, RSP // 1ff87cb2
379 EON $8, R0, RSP // 1ff87cd2
380 TST $15, R2 // 5f0c40f2
381 TST R1, R2 // 5f0001ea
382 TST R1->11, R2 // 5f2c81ea
383 TST R1>>22, R2 // 5f5841ea
384 TST R1<<33, R2 // 5f8401ea
385 TST $0x22220000, R3 // TST $572653568, R3 // 5b44a4d27f001bea
386
387 // move an immediate to a Rn.
388 MOVD $0x3fffffffc000, R0 // MOVD $70368744161280, R0 // e07f72b2
389 MOVW $1000000, R4 // 04488852e401a072
390 MOVW $0xaaaa0000, R1 // MOVW $2863267840, R1 // 4155b552
391 MOVW $0xaaaaffff, R1 // MOVW $2863333375, R1 // a1aaaa12
392 MOVW $0xaaaa, R1 // MOVW $43690, R1 // 41559552
393 MOVW $0xffffaaaa, R1 // MOVW $4294945450, R1 // a1aa8a12
394 MOVW $0xffff0000, R1 // MOVW $4294901760, R1 // e1ffbf52
395 MOVD $0xffff00000000000, R1 // MOVD $1152903912420802560, R1 // e13f54b2
396 MOVD $0x1111000000001111, R1 // MOVD $1229764173248860433, R1 // 212282d22122e2f2
397 MOVD $0x1111ffff1111ffff, R1 // MOVD $1230045644216991743, R1 // c1ddbd922122e2f2
398 MOVD $0x1111222233334444, R1 // MOVD $1229801703532086340, R1 // 818888d26166a6f24144c4f22122e2f2
399 MOVD $0xaaaaffff, R1 // MOVD $2863333375, R1 // e1ff9fd24155b5f2
400 MOVD $0x11110000, R1 // MOVD $286326784, R1 // 2122a2d2
401 MOVD $0xaaaa0000aaaa1111, R1 // MOVD $-6149102338357718767, R1 // 212282d24155b5f24155f5f2
402 MOVD $0x1111ffff1111aaaa, R1 // MOVD $1230045644216969898, R1 // a1aa8a922122a2f22122e2f2
403 MOVD $0, R1 // e1031faa
404 MOVD $-1, R1 // 01008092
405 MOVD $0x210000, R0 // MOVD $2162688, R0 // 2004a0d2
406 MOVD $0xffffffffffffaaaa, R1 // MOVD $-21846, R1 // a1aa8a92
407 MOVW $1, ZR // 3f008052
408 MOVW $1, R1
409 MOVD $1, ZR // 3f0080d2
410 MOVD $1, R1
411 MOVK $1, R1
412 MOVD $0x1000100010001000, RSP // MOVD $1152939097061330944, RSP // ff8304b2
413 MOVW $0x10001000, RSP // MOVW $268439552, RSP // ff830432
414 ADDW $0x10001000, R1 // ADDW $268439552, R1 // fb83043221001b0b
415 ADDW $0x22220000, RSP, R3 // ADDW $572653568, RSP, R3 // 5b44a452e3433b0b
416
417 // move a large constant to a Vd.
418 VMOVS $0x80402010, V11 // VMOVS $2151686160, V11
419 VMOVD $0x8040201008040201, V20 // VMOVD $-9205322385119247871, V20
420 VMOVQ $0x7040201008040201, $0x8040201008040201, V10 // VMOVQ $8088500183983456769, $-9205322385119247871, V10
421 VMOVQ $0x8040201008040202, $0x7040201008040201, V20 // VMOVQ $-9205322385119247870, $8088500183983456769, V20
422
423 // mov(to/from sp)
424 MOVD $0x1002(RSP), R1 // MOVD $4098(RSP), R1 // e107409121080091
425 MOVD $0x1708(RSP), RSP // MOVD $5896(RSP), RSP // ff074091ff231c91
426 MOVD $0x2001(R7), R1 // MOVD $8193(R7), R1 // e108409121040091
427 MOVD $0xffffff(R7), R1 // MOVD $16777215(R7), R1 // e1fc7f9121fc3f91
428 MOVD $-0x1(R7), R1 // MOVD $-1(R7), R1 // e10400d1
429 MOVD $-0x30(R7), R1 // MOVD $-48(R7), R1 // e1c000d1
430 MOVD $-0x708(R7), R1 // MOVD $-1800(R7), R1 // e1201cd1
431 MOVD $-0x2000(RSP), R1 // MOVD $-8192(RSP), R1 // e10b40d1
432 MOVD $-0x10000(RSP), RSP // MOVD $-65536(RSP), RSP // ff4340d1
433 MOVW R1, R2
434 MOVW ZR, R1
435 MOVW R1, ZR
436 MOVD R1, R2
437 MOVD ZR, R1
438
439 // store and load
440 //
441 // LD1/ST1
442 VLD1 (R8), [V1.B16, V2.B16] // 01a1404c
443 VLD1.P (R3), [V31.H8, V0.H8] // 7fa4df4c
444 VLD1.P (R8)(R20), [V21.B16, V22.B16] // 15a1d44c
445 VLD1.P 64(R1), [V5.B16, V6.B16, V7.B16, V8.B16] // 2520df4c
446 VLD1.P 1(R0), V4.B[15] // 041cdf4d
447 VLD1.P 2(R0), V4.H[7] // 0458df4d
448 VLD1.P 4(R0), V4.S[3] // 0490df4d
449 VLD1.P 8(R0), V4.D[1] // 0484df4d
450 VLD1.P (R0)(R1), V4.D[1] // 0484c14d
451 VLD1 (R0), V4.D[1] // 0484404d
452 VST1.P [V4.S4, V5.S4], 32(R1) // 24a89f4c
453 VST1 [V0.S4, V1.S4], (R0) // 00a8004c
454 VLD1 (R30), [V15.S2, V16.S2] // cfab400c
455 VLD1.P 24(R30), [V3.S2,V4.S2,V5.S2] // c36bdf0c
456 VLD2 (R29), [V23.H8, V24.H8] // b787404c
457 VLD2.P 16(R0), [V18.B8, V19.B8] // 1280df0c
458 VLD2.P (R1)(R2), [V15.S2, V16.S2] // 2f88c20c
459 VLD3 (R27), [V11.S4, V12.S4, V13.S4] // 6b4b404c
460 VLD3.P 48(RSP), [V11.S4, V12.S4, V13.S4] // eb4bdf4c
461 VLD3.P (R30)(R2), [V14.D2, V15.D2, V16.D2] // ce4fc24c
462 VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4] // ea05400c
463 VLD4.P 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8] // 1f03df0c
464 VLD4.P (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2] // ae09c90c
465 VLD1R (R1), [V9.B8] // 29c0400d
466 VLD1R.P (R1), [V9.B8] // 29c0df0d
467 VLD1R.P 1(R1), [V2.B8] // 22c0df0d
468 VLD1R.P 2(R1), [V2.H4] // 22c4df0d
469 VLD1R (R0), [V0.B16] // 00c0404d
470 VLD1R.P (R0), [V0.B16] // 00c0df4d
471 VLD1R.P (R15)(R1), [V15.H4] // efc5c10d
472 VLD2R (R15), [V15.H4, V16.H4] // efc5600d
473 VLD2R.P 16(R0), [V0.D2, V1.D2] // 00ccff4d
474 VLD2R.P (R0)(R5), [V31.D1, V0.D1] // 1fcce50d
475 VLD3R (RSP), [V31.S2, V0.S2, V1.S2] // ffeb400d
476 VLD3R.P 6(R15), [V15.H4, V16.H4, V17.H4] // efe5df0d
477 VLD3R.P (R15)(R6), [V15.H8, V16.H8, V17.H8] // efe5c64d
478 VLD4R (R0), [V0.B8, V1.B8, V2.B8, V3.B8] // 00e0600d
479 VLD4R.P 16(RSP), [V31.S4, V0.S4, V1.S4, V2.S4] // ffebff4d
480 VLD4R.P (R15)(R9), [V15.H4, V16.H4, V17.H4, V18.H4] // efe5e90d
481 VST1.P [V24.S2], 8(R2) // 58789f0c
482 VST1 [V29.S2, V30.S2], (R29) // bdab000c
483 VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c
484 VST1.P V4.B[15], 1(R0) // 041c9f4d
485 VST1.P V4.H[7], 2(R0) // 04589f4d
486 VST1.P V4.S[3], 4(R0) // 04909f4d
487 VST1.P V4.D[1], 8(R0) // 04849f4d
488 VST1.P V4.D[1], (R0)(R1) // 0484814d
489 VST1 V4.D[1], (R0) // 0484004d
490 VST2 [V22.H8, V23.H8], (R23) // f686004c
491 VST2.P [V14.H4, V15.H4], 16(R17) // 2e869f0c
492 VST2.P [V14.H4, V15.H4], (R3)(R17) // 6e84910c
493 VST3 [V1.D2, V2.D2, V3.D2], (R11) // 614d004c
494 VST3.P [V18.S4, V19.S4, V20.S4], 48(R25) // 324b9f4c
495 VST3.P [V19.B8, V20.B8, V21.B8], (R3)(R7) // 7340870c
496 VST4 [V22.D2, V23.D2, V24.D2, V25.D2], (R3) // 760c004c
497 VST4.P [V14.D2, V15.D2, V16.D2, V17.D2], 64(R15) // ee0d9f4c
498 VST4.P [V24.B8, V25.B8, V26.B8, V27.B8], (R3)(R23) // 7800970c
499
500 // pre/post-indexed
501 FMOVS.P F20, 4(R0) // 144400bc
502 FMOVS.W F20, 4(R0) // 144c00bc
503 FMOVD.P F20, 8(R1) // 348400fc
504 FMOVQ.P F13, 11(R10) // 4db5803c
505 FMOVQ.W F15, 11(R20) // 8fbe803c
506
507 FMOVS.P 8(R0), F20 // 148440bc
508 FMOVS.W 8(R0), F20 // 148c40bc
509 FMOVD.W 8(R1), F20 // 348c40fc
510 FMOVQ.P 11(R10), F13 // 4db5c03c
511 FMOVQ.W 11(R20), F15 // 8fbec03c
512
513 // storing $0 to memory, $0 will be replaced with ZR.
514 MOVD $0, (R1) // 3f0000f9
515 MOVW $0, (R1) // 3f0000b9
516 MOVWU $0, (R1) // 3f0000b9
517 MOVH $0, (R1) // 3f000079
518 MOVHU $0, (R1) // 3f000079
519 MOVB $0, (R1) // 3f000039
520 MOVBU $0, (R1) // 3f000039
521
522 // small offset fits into instructions
523 MOVB R1, 1(R2) // 41040039
524 MOVH R1, 1(R2) // 41100078
525 MOVH R1, 2(R2) // 41040079
526 MOVW R1, 1(R2) // 411000b8
527 MOVW R1, 4(R2) // 410400b9
528 MOVD R1, 1(R2) // 411000f8
529 MOVD R1, 8(R2) // 410400f9
530 MOVD ZR, (R1)
531 MOVW ZR, (R1)
532 FMOVS F1, 1(R2) // 411000bc
533 FMOVS F1, 4(R2) // 410400bd
534 FMOVS F20, (R0) // 140000bd
535 FMOVD F1, 1(R2) // 411000fc
536 FMOVD F1, 8(R2) // 410400fd
537 FMOVD F20, (R2) // 540000fd
538 FMOVQ F0, 32(R5)// a008803d
539 FMOVQ F10, 65520(R10) // 4afdbf3d
540 FMOVQ F11, 64(RSP) // eb13803d
541 FMOVQ F11, 8(R20) // 8b82803c
542 FMOVQ F11, 4(R20) // 8b42803c
543
544 MOVB 1(R1), R2 // 22048039
545 MOVH 1(R1), R2 // 22108078
546 MOVH 2(R1), R2 // 22048079
547 MOVW 1(R1), R2 // 221080b8
548 MOVW 4(R1), R2 // 220480b9
549 MOVD 1(R1), R2 // 221040f8
550 MOVD 8(R1), R2 // 220440f9
551 FMOVS (R0), F20 // 140040bd
552 FMOVS 1(R1), F2 // 221040bc
553 FMOVS 4(R1), F2 // 220440bd
554 FMOVD 1(R1), F2 // 221040fc
555 FMOVD 8(R1), F2 // 220440fd
556 FMOVQ 32(R5), F2 // a208c03d
557 FMOVQ 65520(R10), F10 // 4afdff3d
558 FMOVQ 64(RSP), F11 // eb13c03d
559
560 // medium offsets that either fit a single instruction or can use add+ldr/str
561 MOVD -4095(R17), R3 // 3bfe3fd1630340f9
562 MOVD -391(R17), R3 // 3b1e06d1630340f9
563 MOVD -257(R17), R3 // 3b0604d1630340f9
564 MOVD -256(R17), R3 // 230250f8
565 MOVD 255(R17), R3 // 23f24ff8
566 MOVD 256(R17), R3 // 238240f9
567 MOVD 257(R17), R3 // 3b060491630340f9
568 MOVD 391(R17), R3 // 3b1e0691630340f9
569 MOVD 4095(R17), R3 // 3bfe3f91630340f9
570
571 MOVD R0, -4095(R17) // 3bfe3fd1600300f9
572 MOVD R0, -391(R17) // 3b1e06d1600300f9
573 MOVD R0, -257(R17) // 3b0604d1600300f9
574 MOVD R0, -256(R17) // 200210f8
575 MOVD R0, 255(R17) // 20f20ff8
576 MOVD R0, 256(R17) // 208200f9
577 MOVD R0, 257(R17) // 3b060491600300f9
578 MOVD R0, 391(R17) // 3b1e0691600300f9
579 MOVD R0, 4095(R17) // 3bfe3f91600300f9
580 MOVD R0, 4096(R17) // 200208f9
581 MOVD R3, -4095(R17) // 3bfe3fd1630300f9
582 MOVD R3, -391(R17) // 3b1e06d1630300f9
583 MOVD R3, -257(R17) // 3b0604d1630300f9
584 MOVD R3, -256(R17) // 230210f8
585 MOVD R3, 255(R17) // 23f20ff8
586 MOVD R3, 256(R17) // 238200f9
587 MOVD R3, 257(R17) // 3b060491630300f9
588 MOVD R3, 391(R17) // 3b1e0691630300f9
589 MOVD R3, 4095(R17) // 3bfe3f91630300f9
590
591 // large aligned offset, use two instructions(add+ldr/str).
592 MOVB R1, 0x1001(R2) // MOVB R1, 4097(R2) // 5b04409161070039
593 MOVB R1, 0xffffff(R2) // MOVB R1, 16777215(R2) // 5bfc7f9161ff3f39
594 MOVH R1, 0x2002(R2) // MOVH R1, 8194(R2) // 5b08409161070079
595 MOVH R1, 0x1000ffe(R2) // MOVH R1, 16781310(R2) // 5bfc7f9161ff3f79
596 MOVW R1, 0x4004(R2) // MOVW R1, 16388(R2) // 5b104091610700b9
597 MOVW R1, 0x1002ffc(R2) // MOVW R1, 16789500(R2) // 5bfc7f9161ff3fb9
598 MOVD R1, 0x8008(R2) // MOVD R1, 32776(R2) // 5b204091610700f9
599 MOVD R1, 0x1006ff8(R2) // MOVD R1, 16805880(R2) // 5bfc7f9161ff3ff9
600 FMOVS F1, 0x4004(R2) // FMOVS F1, 16388(R2) // 5b104091610700bd
601 FMOVS F1, 0x1002ffc(R2) // FMOVS F1, 16789500(R2) // 5bfc7f9161ff3fbd
602 FMOVD F1, 0x8008(R2) // FMOVD F1, 32776(R2) // 5b204091610700fd
603 FMOVD F1, 0x1006ff8(R2) // FMOVD F1, 16805880(R2) // 5bfc7f9161ff3ffd
604
605 MOVB 0x1001(R1), R2 // MOVB 4097(R1), R2 // 3b04409162078039
606 MOVB 0xffffff(R1), R2 // MOVB 16777215(R1), R2 // 3bfc7f9162ffbf39
607 MOVH 0x2002(R1), R2 // MOVH 8194(R1), R2 // 3b08409162078079
608 MOVH 0x1000ffe(R1), R2 // MOVH 16781310(R1), R2 // 3bfc7f9162ffbf79
609 MOVW 0x4004(R1), R2 // MOVW 16388(R1), R2 // 3b104091620780b9
610 MOVW 0x1002ffc(R1), R2 // MOVW 16789500(R1), R2 // 3bfc7f9162ffbfb9
611 MOVD 0x8008(R1), R2 // MOVD 32776(R1), R2 // 3b204091620740f9
612 MOVD 0x1006ff8(R1), R2 // MOVD 16805880(R1), R2 // 3bfc7f9162ff7ff9
613 FMOVS 0x4004(R1), F2 // FMOVS 16388(R1), F2 // 3b104091620740bd
614 FMOVS 0x1002ffc(R1), F2 // FMOVS 16789500(R1), F2 // 3bfc7f9162ff7fbd
615 FMOVD 0x8008(R1), F2 // FMOVD 32776(R1), F2 // 3b204091620740fd
616 FMOVD 0x1006ff8(R1), F2 // FMOVD 16805880(R1), F2 // 3bfc7f9162ff7ffd
617
618 // very large or unaligned offset uses constant pool.
619 // the encoding cannot be checked as the address of the constant pool is unknown.
620 // here we only test that they can be assembled.
621 MOVB R1, 0x1000000(R2) // MOVB R1, 16777216(R2)
622 MOVB R1, 0x44332211(R2) // MOVB R1, 1144201745(R2)
623 MOVH R1, 0x1001000(R2) // MOVH R1, 16781312(R2)
624 MOVH R1, 0x44332211(R2) // MOVH R1, 1144201745(R2)
625 MOVW R1, 0x1003000(R2) // MOVW R1, 16789504(R2)
626 MOVW R1, 0x44332211(R2) // MOVW R1, 1144201745(R2)
627 MOVD R1, 0x1007000(R2) // MOVD R1, 16805888(R2)
628 MOVD R1, 0x44332211(R2) // MOVD R1, 1144201745(R2)
629 FMOVS F1, 0x1003000(R2) // FMOVS F1, 16789504(R2)
630 FMOVS F1, 0x44332211(R2) // FMOVS F1, 1144201745(R2)
631 FMOVD F1, 0x1007000(R2) // FMOVD F1, 16805888(R2)
632 FMOVD F1, 0x44332211(R2) // FMOVD F1, 1144201745(R2)
633
634 MOVB 0x1000000(R1), R2 // MOVB 16777216(R1), R2
635 MOVB 0x44332211(R1), R2 // MOVB 1144201745(R1), R2
636 MOVH 0x1000000(R1), R2 // MOVH 16777216(R1), R2
637 MOVH 0x44332211(R1), R2 // MOVH 1144201745(R1), R2
638 MOVW 0x1000000(R1), R2 // MOVW 16777216(R1), R2
639 MOVW 0x44332211(R1), R2 // MOVW 1144201745(R1), R2
640 MOVD 0x1000000(R1), R2 // MOVD 16777216(R1), R2
641 MOVD 0x44332211(R1), R2 // MOVD 1144201745(R1), R2
642 FMOVS 0x1000000(R1), F2 // FMOVS 16777216(R1), F2
643 FMOVS 0x44332211(R1), F2 // FMOVS 1144201745(R1), F2
644 FMOVD 0x1000000(R1), F2 // FMOVD 16777216(R1), F2
645 FMOVD 0x44332211(R1), F2 // FMOVD 1144201745(R1), F2
646
647 // shifted or extended register offset.
648 MOVD (R2)(R6.SXTW), R4 // 44c866f8
649 MOVD (R3)(R6), R5 // 656866f8
650 MOVD (R3)(R6*1), R5 // 656866f8
651 MOVD (R2)(R6), R4 // 446866f8
652 MOVWU (R19)(R20<<2), R20 // 747a74b8
653 MOVD (R2)(R3<<0), R1 // 416863f8
654 MOVD (R2)(R6<<3), R4 // 447866f8
655 MOVD (R3)(R7.SXTX<<3), R8 // 68f867f8
656 MOVWU (R5)(R4.UXTW), R10 // aa4864b8
657 MOVBU (R3)(R9.UXTW), R8 // 68486938
658 MOVBU (R5)(R8), R10 // aa686838
659 MOVHU (R2)(R7.SXTW<<1), R11 // 4bd86778
660 MOVHU (R1)(R2<<1), R5 // 25786278
661 MOVB (R9)(R3.UXTW), R6 // 2649a338
662 MOVB (R10)(R6), R15 // 4f69a638
663 MOVB (R29)(R30<<0), R14 // ae6bbe38
664 MOVB (R29)(R30), R14 // ae6bbe38
665 MOVH (R5)(R7.SXTX<<1), R19 // b3f8a778
666 MOVH (R8)(R4<<1), R10 // 0a79a478
667 MOVW (R9)(R8.SXTW<<2), R19 // 33d9a8b8
668 MOVW (R1)(R4.SXTX), R11 // 2be8a4b8
669 MOVW (R1)(R4.SXTX), ZR // 3fe8a4b8
670 MOVW (R2)(R5), R12 // 4c68a5b8
671 FMOVS (R2)(R6), F4 // 446866bc
672 FMOVS (R2)(R6<<2), F4 // 447866bc
673 FMOVD (R2)(R6), F4 // 446866fc
674 FMOVD (R2)(R6<<3), F4 // 447866fc
675
676 MOVD R5, (R2)(R6<<3) // 457826f8
677 MOVD R9, (R6)(R7.SXTX<<3) // c9f827f8
678 MOVD ZR, (R6)(R7.SXTX<<3) // dff827f8
679 MOVW R8, (R2)(R3.UXTW<<2) // 485823b8
680 MOVW R7, (R3)(R4.SXTW) // 67c824b8
681 MOVB R4, (R2)(R6.SXTX) // 44e82638
682 MOVB R8, (R3)(R9.UXTW) // 68482938
683 MOVB R10, (R5)(R8) // aa682838
684 MOVB R10, (R5)(R8*1) // aa682838
685 MOVH R11, (R2)(R7.SXTW<<1) // 4bd82778
686 MOVH R5, (R1)(R2<<1) // 25782278
687 MOVH R7, (R2)(R5.SXTX<<1) // 47f82578
688 MOVH R8, (R3)(R6.UXTW) // 68482678
689 MOVB R4, (R2)(R6.SXTX) // 44e82638
690 FMOVS F4, (R2)(R6) // 446826bc
691 FMOVS F4, (R2)(R6<<2) // 447826bc
692 FMOVD F4, (R2)(R6) // 446826fc
693 FMOVD F4, (R2)(R6<<3) // 447826fc
694
695 // vmov
696 VMOV V8.S[1], R1 // 013d0c0e
697 VMOV V0.D[0], R11 // 0b3c084e
698 VMOV V0.D[1], R11 // 0b3c184e
699 VMOV R20, V1.S[0] // 811e044e
700 VMOV R20, V1.S[1] // 811e0c4e
701 VMOV R1, V9.H4 // 290c020e
702 VDUP R1, V9.H4 // 290c020e
703 VMOV R22, V11.D2 // cb0e084e
704 VDUP R22, V11.D2 // cb0e084e
705 VMOV V2.B16, V4.B16 // 441ca24e
706 VMOV V20.S[0], V20 // 9406045e
707 VDUP V20.S[0], V20 // 9406045e
708 VMOV V12.D[0], V12.D[1] // 8c05186e
709 VMOV V10.S[0], V12.S[1] // 4c050c6e
710 VMOV V9.H[0], V12.H[1] // 2c05066e
711 VMOV V8.B[0], V12.B[1] // 0c05036e
712 VMOV V8.B[7], V4.B[8] // 043d116e
713
714 // CBZ
715 again:
716 CBZ R1, again // CBZ R1
717
718 // conditional operations
719 CSET GT, R1 // e1d79f9a
720 CSETW HI, R2 // e2979f1a
721 CSEL LT, R1, R2, ZR // 3fb0829a
722 CSELW LT, R2, R3, R4 // 44b0831a
723 CSINC GT, R1, ZR, R3 // 23c49f9a
724 CSNEG MI, R1, R2, R3 // 234482da
725 CSINV CS, R1, R2, R3 // CSINV HS, R1, R2, R3 // 232082da
726 CSINV HS, R1, R2, R3 // 232082da
727 CSINVW MI, R2, ZR, R2 // 42409f5a
728 CINC EQ, R4, R9 // 8914849a
729 CINCW PL, R2, ZR // 5f44821a
730 CINV PL, R11, R22 // 76418bda
731 CINVW LS, R7, R13 // ed80875a
732 CNEG LS, R13, R7 // a7858dda
733 CNEGW EQ, R8, R13 // 0d15885a
734
735 // atomic ops
736 LDARB (R25), R2 // 22ffdf08
737 LDARH (R5), R7 // a7fcdf48
738 LDAXPW (R10), (R20, R16) // 54c17f88
739 LDAXP (R25), (R30, R11) // 3eaf7fc8
740 LDAXRW (R0), R2 // 02fc5f88
741 LDXPW (R24), (R23, R11) // 172f7f88
742 LDXP (R0), (R16, R13) // 10347fc8
743 STLRB R11, (R22) // cbfe9f08
744 STLRH R16, (R23) // f0fe9f48
745 STLXP (R6, R3), (R10), R2 // 468d22c8
746 STLXPW (R6, R11), (R22), R21 // c6ae3588
747 STLXRW R1, (R0), R3 // 01fc0388
748 STXP (R1, R2), (R3), R10 // 61082ac8
749 STXP (R1, R2), (RSP), R10 // e10b2ac8
750 STXPW (R1, R2), (R3), R10 // 61082a88
751 STXPW (R1, R2), (RSP), R10 // e10b2a88
752 SWPAD R5, (R6), R7 // c780a5f8
753 SWPAD R5, (RSP), R7 // e783a5f8
754 SWPAW R5, (R6), R7 // c780a5b8
755 SWPAW R5, (RSP), R7 // e783a5b8
756 SWPAH R5, (R6), R7 // c780a578
757 SWPAH R5, (RSP), R7 // e783a578
758 SWPAB R5, (R6), R7 // c780a538
759 SWPAB R5, (RSP), R7 // e783a538
760 SWPALD R5, (R6), R7 // c780e5f8
761 SWPALD R5, (RSP), R7 // e783e5f8
762 SWPALW R5, (R6), R7 // c780e5b8
763 SWPALW R5, (RSP), R7 // e783e5b8
764 SWPALH R5, (R6), R7 // c780e578
765 SWPALH R5, (RSP), R7 // e783e578
766 SWPALB R5, (R6), R7 // c780e538
767 SWPALB R5, (RSP), R7 // e783e538
768 SWPD R5, (R6), R7 // c78025f8
769 SWPD R5, (RSP), R7 // e78325f8
770 SWPW R5, (R6), R7 // c78025b8
771 SWPW R5, (RSP), R7 // e78325b8
772 SWPH R5, (R6), R7 // c7802578
773 SWPH R5, (RSP), R7 // e7832578
774 SWPB R5, (R6), R7 // c7802538
775 SWPB R5, (RSP), R7 // e7832538
776 SWPLD R5, (R6), R7 // c78065f8
777 SWPLD R5, (RSP), R7 // e78365f8
778 SWPLW R5, (R6), R7 // c78065b8
779 SWPLW R5, (RSP), R7 // e78365b8
780 SWPLH R5, (R6), R7 // c7806578
781 SWPLH R5, (RSP), R7 // e7836578
782 SWPLB R5, (R6), R7 // c7806538
783 SWPLB R5, (RSP), R7 // e7836538
784 LDADDAD R5, (R6), R7 // c700a5f8
785 LDADDAD R5, (RSP), R7 // e703a5f8
786 LDADDAW R5, (R6), R7 // c700a5b8
787 LDADDAW R5, (RSP), R7 // e703a5b8
788 LDADDAH R5, (R6), R7 // c700a578
789 LDADDAH R5, (RSP), R7 // e703a578
790 LDADDAB R5, (R6), R7 // c700a538
791 LDADDAB R5, (RSP), R7 // e703a538
792 LDADDALD R5, (R6), R7 // c700e5f8
793 LDADDALD R5, (RSP), R7 // e703e5f8
794 LDADDALW R5, (R6), R7 // c700e5b8
795 LDADDALW R5, (RSP), R7 // e703e5b8
796 LDADDALH R5, (R6), R7 // c700e578
797 LDADDALH R5, (RSP), R7 // e703e578
798 LDADDALB R5, (R6), R7 // c700e538
799 LDADDALB R5, (RSP), R7 // e703e538
800 LDADDD R5, (R6), R7 // c70025f8
801 LDADDD R5, (RSP), R7 // e70325f8
802 LDADDW R5, (R6), R7 // c70025b8
803 LDADDW R5, (RSP), R7 // e70325b8
804 LDADDH R5, (R6), R7 // c7002578
805 LDADDH R5, (RSP), R7 // e7032578
806 LDADDB R5, (R6), R7 // c7002538
807 LDADDB R5, (RSP), R7 // e7032538
808 LDADDLD R5, (R6), R7 // c70065f8
809 LDADDLD R5, (RSP), R7 // e70365f8
810 LDADDLW R5, (R6), R7 // c70065b8
811 LDADDLW R5, (RSP), R7 // e70365b8
812 LDADDLH R5, (R6), R7 // c7006578
813 LDADDLH R5, (RSP), R7 // e7036578
814 LDADDLB R5, (R6), R7 // c7006538
815 LDADDLB R5, (RSP), R7 // e7036538
816 LDCLRAD R5, (R6), R7 // c710a5f8
817 LDCLRAD R5, (RSP), R7 // e713a5f8
818 LDCLRAW R5, (R6), R7 // c710a5b8
819 LDCLRAW R5, (RSP), R7 // e713a5b8
820 LDCLRAH R5, (R6), R7 // c710a578
821 LDCLRAH R5, (RSP), R7 // e713a578
822 LDCLRAB R5, (R6), R7 // c710a538
823 LDCLRAB R5, (RSP), R7 // e713a538
824 LDCLRALD R5, (R6), R7 // c710e5f8
825 LDCLRALD R5, (RSP), R7 // e713e5f8
826 LDCLRALW R5, (R6), R7 // c710e5b8
827 LDCLRALW R5, (RSP), R7 // e713e5b8
828 LDCLRALH R5, (R6), R7 // c710e578
829 LDCLRALH R5, (RSP), R7 // e713e578
830 LDCLRALB R5, (R6), R7 // c710e538
831 LDCLRALB R5, (RSP), R7 // e713e538
832 LDCLRD R5, (R6), R7 // c71025f8
833 LDCLRD R5, (RSP), R7 // e71325f8
834 LDCLRW R5, (R6), R7 // c71025b8
835 LDCLRW R5, (RSP), R7 // e71325b8
836 LDCLRH R5, (R6), R7 // c7102578
837 LDCLRH R5, (RSP), R7 // e7132578
838 LDCLRB R5, (R6), R7 // c7102538
839 LDCLRB R5, (RSP), R7 // e7132538
840 LDCLRLD R5, (R6), R7 // c71065f8
841 LDCLRLD R5, (RSP), R7 // e71365f8
842 LDCLRLW R5, (R6), R7 // c71065b8
843 LDCLRLW R5, (RSP), R7 // e71365b8
844 LDCLRLH R5, (R6), R7 // c7106578
845 LDCLRLH R5, (RSP), R7 // e7136578
846 LDCLRLB R5, (R6), R7 // c7106538
847 LDCLRLB R5, (RSP), R7 // e7136538
848 LDEORAD R5, (R6), R7 // c720a5f8
849 LDEORAD R5, (RSP), R7 // e723a5f8
850 LDEORAW R5, (R6), R7 // c720a5b8
851 LDEORAW R5, (RSP), R7 // e723a5b8
852 LDEORAH R5, (R6), R7 // c720a578
853 LDEORAH R5, (RSP), R7 // e723a578
854 LDEORAB R5, (R6), R7 // c720a538
855 LDEORAB R5, (RSP), R7 // e723a538
856 LDEORALD R5, (R6), R7 // c720e5f8
857 LDEORALD R5, (RSP), R7 // e723e5f8
858 LDEORALW R5, (R6), R7 // c720e5b8
859 LDEORALW R5, (RSP), R7 // e723e5b8
860 LDEORALH R5, (R6), R7 // c720e578
861 LDEORALH R5, (RSP), R7 // e723e578
862 LDEORALB R5, (R6), R7 // c720e538
863 LDEORALB R5, (RSP), R7 // e723e538
864 LDEORD R5, (R6), R7 // c72025f8
865 LDEORD R5, (RSP), R7 // e72325f8
866 LDEORW R5, (R6), R7 // c72025b8
867 LDEORW R5, (RSP), R7 // e72325b8
868 LDEORH R5, (R6), R7 // c7202578
869 LDEORH R5, (RSP), R7 // e7232578
870 LDEORB R5, (R6), R7 // c7202538
871 LDEORB R5, (RSP), R7 // e7232538
872 LDEORLD R5, (R6), R7 // c72065f8
873 LDEORLD R5, (RSP), R7 // e72365f8
874 LDEORLW R5, (R6), R7 // c72065b8
875 LDEORLW R5, (RSP), R7 // e72365b8
876 LDEORLH R5, (R6), R7 // c7206578
877 LDEORLH R5, (RSP), R7 // e7236578
878 LDEORLB R5, (R6), R7 // c7206538
879 LDEORLB R5, (RSP), R7 // e7236538
880 LDADDD R5, (R6), ZR // df0025f8
881 LDADDW R5, (R6), ZR // df0025b8
882 LDADDH R5, (R6), ZR // df002578
883 LDADDB R5, (R6), ZR // df002538
884 LDADDLD R5, (R6), ZR // df0065f8
885 LDADDLW R5, (R6), ZR // df0065b8
886 LDADDLH R5, (R6), ZR // df006578
887 LDADDLB R5, (R6), ZR // df006538
888 LDCLRD R5, (R6), ZR // df1025f8
889 LDCLRW R5, (R6), ZR // df1025b8
890 LDCLRH R5, (R6), ZR // df102578
891 LDCLRB R5, (R6), ZR // df102538
892 LDCLRLD R5, (R6), ZR // df1065f8
893 LDCLRLW R5, (R6), ZR // df1065b8
894 LDCLRLH R5, (R6), ZR // df106578
895 LDCLRLB R5, (R6), ZR // df106538
896 LDEORD R5, (R6), ZR // df2025f8
897 LDEORW R5, (R6), ZR // df2025b8
898 LDEORH R5, (R6), ZR // df202578
899 LDEORB R5, (R6), ZR // df202538
900 LDEORLD R5, (R6), ZR // df2065f8
901 LDEORLW R5, (R6), ZR // df2065b8
902 LDEORLH R5, (R6), ZR // df206578
903 LDEORLB R5, (R6), ZR // df206538
904 LDORD R5, (R6), ZR // df3025f8
905 LDORW R5, (R6), ZR // df3025b8
906 LDORH R5, (R6), ZR // df302578
907 LDORB R5, (R6), ZR // df302538
908 LDORLD R5, (R6), ZR // df3065f8
909 LDORLW R5, (R6), ZR // df3065b8
910 LDORLH R5, (R6), ZR // df306578
911 LDORLB R5, (R6), ZR // df306538
912 LDORAD R5, (R6), R7 // c730a5f8
913 LDORAD R5, (RSP), R7 // e733a5f8
914 LDORAW R5, (R6), R7 // c730a5b8
915 LDORAW R5, (RSP), R7 // e733a5b8
916 LDORAH R5, (R6), R7 // c730a578
917 LDORAH R5, (RSP), R7 // e733a578
918 LDORAB R5, (R6), R7 // c730a538
919 LDORAB R5, (RSP), R7 // e733a538
920 LDORALD R5, (R6), R7 // c730e5f8
921 LDORALD R5, (RSP), R7 // e733e5f8
922 LDORALW R5, (R6), R7 // c730e5b8
923 LDORALW R5, (RSP), R7 // e733e5b8
924 LDORALH R5, (R6), R7 // c730e578
925 LDORALH R5, (RSP), R7 // e733e578
926 LDORALB R5, (R6), R7 // c730e538
927 LDORALB R5, (RSP), R7 // e733e538
928 LDORD R5, (R6), R7 // c73025f8
929 LDORD R5, (RSP), R7 // e73325f8
930 LDORW R5, (R6), R7 // c73025b8
931 LDORW R5, (RSP), R7 // e73325b8
932 LDORH R5, (R6), R7 // c7302578
933 LDORH R5, (RSP), R7 // e7332578
934 LDORB R5, (R6), R7 // c7302538
935 LDORB R5, (RSP), R7 // e7332538
936 LDORLD R5, (R6), R7 // c73065f8
937 LDORLD R5, (RSP), R7 // e73365f8
938 LDORLW R5, (R6), R7 // c73065b8
939 LDORLW R5, (RSP), R7 // e73365b8
940 LDORLH R5, (R6), R7 // c7306578
941 LDORLH R5, (RSP), R7 // e7336578
942 LDORLB R5, (R6), R7 // c7306538
943 LDORLB R5, (RSP), R7 // e7336538
944 CASD R1, (R2), ZR // 5f7ca1c8
945 CASW R1, (RSP), ZR // ff7fa188
946 CASB ZR, (R5), R3 // a37cbf08
947 CASH R3, (RSP), ZR // ff7fa348
948 CASW R5, (R7), R6 // e67ca588
949 CASLD ZR, (RSP), R8 // e8ffbfc8
950 CASLW R9, (R10), ZR // 5ffda988
951 CASAD R7, (R11), R15 // 6f7de7c8
952 CASAW R10, (RSP), R19 // f37fea88
953 CASALD R5, (R6), R7 // c7fce5c8
954 CASALD R5, (RSP), R7 // e7ffe5c8
955 CASALW R5, (R6), R7 // c7fce588
956 CASALW R5, (RSP), R7 // e7ffe588
957 CASALH ZR, (R5), R8 // a8fcff48
958 CASALB R8, (R9), ZR // 3ffde808
959 CASPD (R30, ZR), (RSP), (R8, R9) // e87f3e48
960 CASPW (R6, R7), (R8), (R4, R5) // 047d2608
961 CASPD (R2, R3), (R2), (R8, R9) // 487c2248
962
963 // RET
964 RET
965 RET foo(SB)
966
967 // B/BL/B.cond cases, and canonical names JMP, CALL.
968 BL 1(PC) // CALL 1(PC)
969 BL (R2) // CALL (R2)
970 BL foo(SB) // CALL foo(SB)
971 BL bar<>(SB) // CALL bar<>(SB)
972 B foo(SB) // JMP foo(SB)
973 BEQ 1(PC)
974 BEQ 2(PC)
975 TBZ $1, R1, 2(PC)
976 TBNZ $2, R2, 2(PC)
977 JMP foo(SB)
978 CALL foo(SB)
979
980 // ADR
981 ADR next, R11 // ADR R11 // 2b000010
982 next:
983 NOP
984 ADR -2(PC), R10 // 0a000010
985 ADR 2(PC), R16 // 10000010
986 ADR -26(PC), R1 // 01000010
987 ADR 12(PC), R2 // 02000010
988 ADRP -2(PC), R10 // 0a000090
989 ADRP 2(PC), R16 // 10000090
990 ADRP -26(PC), R1 // 01000090
991 ADRP 12(PC), R2 // 02000090
992
993 // LDP/STP
994 LDP (R0), (R0, R1) // 000440a9
995 LDP (R0), (R1, R2) // 010840a9
996 LDP 8(R0), (R1, R2) // 018840a9
997 LDP -8(R0), (R1, R2) // 01887fa9
998 LDP 11(R0), (R1, R2) // 1b2c0091610b40a9
999 LDP 1024(R0), (R1, R2) // 1b001091610b40a9
1000 LDP.W 8(R0), (R1, R2) // 0188c0a9
1001 LDP.P 8(R0), (R1, R2) // 0188c0a8
1002 LDP (RSP), (R1, R2) // e10b40a9
1003 LDP 8(RSP), (R1, R2) // e18b40a9
1004 LDP -8(RSP), (R1, R2) // e18b7fa9
1005 LDP 11(RSP), (R1, R2) // fb2f0091610b40a9
1006 LDP 1024(RSP), (R1, R2) // fb031091610b40a9
1007 LDP.W 8(RSP), (R1, R2) // e18bc0a9
1008 LDP.P 8(RSP), (R1, R2) // e18bc0a8
1009 LDP -31(R0), (R1, R2) // 1b7c00d1610b40a9
1010 LDP -4(R0), (R1, R2) // 1b1000d1610b40a9
1011 LDP -8(R0), (R1, R2) // 01887fa9
1012 LDP x(SB), (R1, R2)
1013 LDP x+8(SB), (R1, R2)
1014 LDP 8(R1), (ZR, R2) // 3f8840a9
1015 LDPW -5(R0), (R1, R2) // 1b1400d1610b4029
1016 LDPW (R0), (R1, R2) // 01084029
1017 LDPW 4(R0), (R1, R2) // 01884029
1018 LDPW -4(R0), (R1, R2) // 01887f29
1019 LDPW.W 4(R0), (R1, R2) // 0188c029
1020 LDPW.P 4(R0), (R1, R2) // 0188c028
1021 LDPW 11(R0), (R1, R2) // 1b2c0091610b4029
1022 LDPW 1024(R0), (R1, R2) // 1b001091610b4029
1023 LDPW (RSP), (R1, R2) // e10b4029
1024 LDPW 4(RSP), (R1, R2) // e18b4029
1025 LDPW -4(RSP), (R1, R2) // e18b7f29
1026 LDPW.W 4(RSP), (R1, R2) // e18bc029
1027 LDPW.P 4(RSP), (R1, R2) // e18bc028
1028 LDPW 11(RSP), (R1, R2) // fb2f0091610b4029
1029 LDPW 1024(RSP), (R1, R2) // fb031091610b4029
1030 LDPW x(SB), (R1, R2)
1031 LDPW x+8(SB), (R1, R2)
1032 LDPW 8(R1), (ZR, R2) // 3f084129
1033 LDPSW (R0), (R1, R2) // 01084069
1034 LDPSW 4(R0), (R1, R2) // 01884069
1035 LDPSW -4(R0), (R1, R2) // 01887f69
1036 LDPSW.W 4(R0), (R1, R2) // 0188c069
1037 LDPSW.P 4(R0), (R1, R2) // 0188c068
1038 LDPSW 11(R0), (R1, R2) // 1b2c0091610b4069
1039 LDPSW 1024(R0), (R1, R2) // 1b001091610b4069
1040 LDPSW (RSP), (R1, R2) // e10b4069
1041 LDPSW 4(RSP), (R1, R2) // e18b4069
1042 LDPSW -4(RSP), (R1, R2) // e18b7f69
1043 LDPSW.W 4(RSP), (R1, R2) // e18bc069
1044 LDPSW.P 4(RSP), (R1, R2) // e18bc068
1045 LDPSW 11(RSP), (R1, R2) // fb2f0091610b4069
1046 LDPSW 1024(RSP), (R1, R2) // fb031091610b4069
1047 LDPSW x(SB), (R1, R2)
1048 LDPSW x+8(SB), (R1, R2)
1049 LDPSW 8(R1), (ZR, R2) // 3f084169
1050 STP (R3, R4), (R5) // a31000a9
1051 STP (R3, R4), 8(R5) // a39000a9
1052 STP.W (R3, R4), 8(R5) // a39080a9
1053 STP.P (R3, R4), 8(R5) // a39080a8
1054 STP (R3, R4), -8(R5) // a3903fa9
1055 STP (R3, R4), -4(R5) // bb1000d1631300a9
1056 STP (R3, R4), 11(R0) // 1b2c0091631300a9
1057 STP (R3, R4), 1024(R0) // 1b001091631300a9
1058 STP (R3, R4), (RSP) // e31300a9
1059 STP (R3, R4), 8(RSP) // e39300a9
1060 STP.W (R3, R4), 8(RSP) // e39380a9
1061 STP.P (R3, R4), 8(RSP) // e39380a8
1062 STP (R3, R4), -8(RSP) // e3933fa9
1063 STP (R3, R4), 11(RSP) // fb2f0091631300a9
1064 STP (R3, R4), 1024(RSP) // fb031091631300a9
1065 STP (R3, R4), x(SB)
1066 STP (R3, R4), x+8(SB)
1067 STPW (R3, R4), (R5) // a3100029
1068 STPW (R3, R4), 4(R5) // a3900029
1069 STPW.W (R3, R4), 4(R5) // a3908029
1070 STPW.P (R3, R4), 4(R5) // a3908028
1071 STPW (R3, R4), -4(R5) // a3903f29
1072 STPW (R3, R4), -5(R5) // bb1400d163130029
1073 STPW (R3, R4), 11(R0) // 1b2c009163130029
1074 STPW (R3, R4), 1024(R0) // 1b00109163130029
1075 STPW (R3, R4), (RSP) // e3130029
1076 STPW (R3, R4), 4(RSP) // e3930029
1077 STPW.W (R3, R4), 4(RSP) // e3938029
1078 STPW.P (R3, R4), 4(RSP) // e3938028
1079 STPW (R3, R4), -4(RSP) // e3933f29
1080 STPW (R3, R4), 11(RSP) // fb2f009163130029
1081 STPW (R3, R4), 1024(RSP) // fb03109163130029
1082 STPW (R3, R4), x(SB)
1083 STPW (R3, R4), x+8(SB)
1084
1085 // bit field operation
1086 BFI $0, R1, $1, R2 // 220040b3
1087 BFIW $0, R1, $1, R2 // 22000033
1088 SBFIZ $0, R1, $1, R2 // 22004093
1089 SBFIZW $0, R1, $1, R2 // 22000013
1090 UBFIZ $0, R1, $1, R2 // 220040d3
1091 UBFIZW $0, R1, $1, R2 // 22000053
1092
1093 // FSTPD/FSTPS/FLDPD/FLDPS
1094 FLDPD (R0), (F1, F2) // 0108406d
1095 FLDPD 8(R0), (F1, F2) // 0188406d
1096 FLDPD -8(R0), (F1, F2) // 01887f6d
1097 FLDPD 11(R0), (F1, F2) // 1b2c0091610b406d
1098 FLDPD 1024(R0), (F1, F2) // 1b001091610b406d
1099 FLDPD.W 8(R0), (F1, F2) // 0188c06d
1100 FLDPD.P 8(R0), (F1, F2) // 0188c06c
1101 FLDPD (RSP), (F1, F2) // e10b406d
1102 FLDPD 8(RSP), (F1, F2) // e18b406d
1103 FLDPD -8(RSP), (F1, F2) // e18b7f6d
1104 FLDPD 11(RSP), (F1, F2) // fb2f0091610b406d
1105 FLDPD 1024(RSP), (F1, F2) // fb031091610b406d
1106 FLDPD.W 8(RSP), (F1, F2) // e18bc06d
1107 FLDPD.P 8(RSP), (F1, F2) // e18bc06c
1108 FLDPD -31(R0), (F1, F2) // 1b7c00d1610b406d
1109 FLDPD -4(R0), (F1, F2) // 1b1000d1610b406d
1110 FLDPD -8(R0), (F1, F2) // 01887f6d
1111 FLDPD x(SB), (F1, F2)
1112 FLDPD x+8(SB), (F1, F2)
1113 FLDPS -5(R0), (F1, F2) // 1b1400d1610b402d
1114 FLDPS (R0), (F1, F2) // 0108402d
1115 FLDPS 4(R0), (F1, F2) // 0188402d
1116 FLDPS -4(R0), (F1, F2) // 01887f2d
1117 FLDPS.W 4(R0), (F1, F2) // 0188c02d
1118 FLDPS.P 4(R0), (F1, F2) // 0188c02c
1119 FLDPS 11(R0), (F1, F2) // 1b2c0091610b402d
1120 FLDPS 1024(R0), (F1, F2) // 1b001091610b402d
1121 FLDPS (RSP), (F1, F2) // e10b402d
1122 FLDPS 4(RSP), (F1, F2) // e18b402d
1123 FLDPS -4(RSP), (F1, F2) // e18b7f2d
1124 FLDPS.W 4(RSP), (F1, F2) // e18bc02d
1125 FLDPS.P 4(RSP), (F1, F2) // e18bc02c
1126 FLDPS 11(RSP), (F1, F2) // fb2f0091610b402d
1127 FLDPS 1024(RSP), (F1, F2) // fb031091610b402d
1128 FLDPS x(SB), (F1, F2)
1129 FLDPS x+8(SB), (F1, F2)
1130 FSTPD (F3, F4), (R5) // a310006d
1131 FSTPD (F3, F4), 8(R5) // a390006d
1132 FSTPD.W (F3, F4), 8(R5) // a390806d
1133 FSTPD.P (F3, F4), 8(R5) // a390806c
1134 FSTPD (F3, F4), -8(R5) // a3903f6d
1135 FSTPD (F3, F4), -4(R5) // bb1000d16313006d
1136 FSTPD (F3, F4), 11(R0) // 1b2c00916313006d
1137 FSTPD (F3, F4), 1024(R0) // 1b0010916313006d
1138 FSTPD (F3, F4), (RSP) // e313006d
1139 FSTPD (F3, F4), 8(RSP) // e393006d
1140 FSTPD.W (F3, F4), 8(RSP) // e393806d
1141 FSTPD.P (F3, F4), 8(RSP) // e393806c
1142 FSTPD (F3, F4), -8(RSP) // e3933f6d
1143 FSTPD (F3, F4), 11(RSP) // fb2f00916313006d
1144 FSTPD (F3, F4), 1024(RSP) // fb0310916313006d
1145 FSTPD (F3, F4), x(SB)
1146 FSTPD (F3, F4), x+8(SB)
1147 FSTPS (F3, F4), (R5) // a310002d
1148 FSTPS (F3, F4), 4(R5) // a390002d
1149 FSTPS.W (F3, F4), 4(R5) // a390802d
1150 FSTPS.P (F3, F4), 4(R5) // a390802c
1151 FSTPS (F3, F4), -4(R5) // a3903f2d
1152 FSTPS (F3, F4), -5(R5) // bb1400d16313002d
1153 FSTPS (F3, F4), 11(R0) // 1b2c00916313002d
1154 FSTPS (F3, F4), 1024(R0) // 1b0010916313002d
1155 FSTPS (F3, F4), (RSP) // e313002d
1156 FSTPS (F3, F4), 4(RSP) // e393002d
1157 FSTPS.W (F3, F4), 4(RSP) // e393802d
1158 FSTPS.P (F3, F4), 4(RSP) // e393802c
1159 FSTPS (F3, F4), -4(RSP) // e3933f2d
1160 FSTPS (F3, F4), 11(RSP) // fb2f00916313002d
1161 FSTPS (F3, F4), 1024(RSP) // fb0310916313002d
1162 FSTPS (F3, F4), x(SB)
1163 FSTPS (F3, F4), x+8(SB)
1164
1165 // FLDPQ/FSTPQ
1166 FLDPQ -4000(R0), (F1, F2) // 1b803ed1610b40ad
1167 FLDPQ -1024(R0), (F1, F2) // 010860ad
1168 FLDPQ (R0), (F1, F2) // 010840ad
1169 FLDPQ 16(R0), (F1, F2) // 018840ad
1170 FLDPQ -16(R0), (F1, F2) // 01887fad
1171 FLDPQ.W 32(R0), (F1, F2) // 0108c1ad
1172 FLDPQ.P 32(R0), (F1, F2) // 0108c1ac
1173 FLDPQ 11(R0), (F1, F2) // 1b2c0091610b40ad
1174 FLDPQ 1024(R0), (F1, F2) // 1b001091610b40ad
1175 FLDPQ 4104(R0), (F1, F2)
1176 FLDPQ -4000(RSP), (F1, F2) // fb833ed1610b40ad
1177 FLDPQ -1024(RSP), (F1, F2) // e10b60ad
1178 FLDPQ (RSP), (F1, F2) // e10b40ad
1179 FLDPQ 16(RSP), (F1, F2) // e18b40ad
1180 FLDPQ -16(RSP), (F1, F2) // e18b7fad
1181 FLDPQ.W 32(RSP), (F1, F2) // e10bc1ad
1182 FLDPQ.P 32(RSP), (F1, F2) // e10bc1ac
1183 FLDPQ 11(RSP), (F1, F2) // fb2f0091610b40ad
1184 FLDPQ 1024(RSP), (F1, F2) // fb031091610b40ad
1185 FLDPQ 4104(RSP), (F1, F2)
1186 FLDPQ -31(R0), (F1, F2) // 1b7c00d1610b40ad
1187 FLDPQ -4(R0), (F1, F2) // 1b1000d1610b40ad
1188 FLDPQ x(SB), (F1, F2)
1189 FLDPQ x+8(SB), (F1, F2)
1190 FSTPQ (F3, F4), -4000(R5) // bb803ed1631300ad
1191 FSTPQ (F3, F4), -1024(R5) // a31020ad
1192 FSTPQ (F3, F4), (R5) // a31000ad
1193 FSTPQ (F3, F4), 16(R5) // a39000ad
1194 FSTPQ (F3, F4), -16(R5) // a3903fad
1195 FSTPQ.W (F3, F4), 32(R5) // a31081ad
1196 FSTPQ.P (F3, F4), 32(R5) // a31081ac
1197 FSTPQ (F3, F4), 11(R5) // bb2c0091631300ad
1198 FSTPQ (F3, F4), 1024(R5) // bb001091631300ad
1199 FSTPQ (F3, F4), 4104(R5)
1200 FSTPQ (F3, F4), -4000(RSP) // fb833ed1631300ad
1201 FSTPQ (F3, F4), -1024(RSP) // e31320ad
1202 FSTPQ (F3, F4), (RSP) // e31300ad
1203 FSTPQ (F3, F4), 16(RSP) // e39300ad
1204 FSTPQ (F3, F4), -16(RSP) // e3933fad
1205 FSTPQ.W (F3, F4), 32(RSP) // e31381ad
1206 FSTPQ.P (F3, F4), 32(RSP) // e31381ac
1207 FSTPQ (F3, F4), 11(RSP) // fb2f0091631300ad
1208 FSTPQ (F3, F4), 1024(RSP) // fb031091631300ad
1209 FSTPQ (F3, F4), 4104(RSP)
1210 FSTPQ (F3, F4), x(SB)
1211 FSTPQ (F3, F4), x+8(SB)
1212
1213 // System Register
1214 MSR $1, SPSel // bf4100d5
1215 MSR $9, DAIFSet // df4903d5
1216 MSR $6, DAIFClr // ff4603d5
1217 MSR $0, CPACR_EL1 // 5f1018d5
1218 MRS ELR_EL1, R8 // 284038d5
1219 MSR R16, ELR_EL1 // 304018d5
1220 MSR R2, ACTLR_EL1 // 221018d5
1221 MRS TCR_EL1, R5 // 452038d5
1222 MRS PMEVCNTR15_EL0, R12 // ece93bd5
1223 MSR R20, PMEVTYPER26_EL0 // 54ef1bd5
1224 MSR R10, DBGBCR15_EL1 // aa0f10d5
1225 MRS ACTLR_EL1, R3 // 231038d5
1226 MSR R9, ACTLR_EL1 // 291018d5
1227 MRS AFSR0_EL1, R10 // 0a5138d5
1228 MSR R1, AFSR0_EL1 // 015118d5
1229 MRS AFSR0_EL1, R9 // 095138d5
1230 MSR R30, AFSR0_EL1 // 1e5118d5
1231 MRS AFSR1_EL1, R0 // 205138d5
1232 MSR R1, AFSR1_EL1 // 215118d5
1233 MRS AFSR1_EL1, R8 // 285138d5
1234 MSR R19, AFSR1_EL1 // 335118d5
1235 MRS AIDR_EL1, R11 // eb0039d5
1236 MRS AMAIR_EL1, R0 // 00a338d5
1237 MSR R22, AMAIR_EL1 // 16a318d5
1238 MRS AMAIR_EL1, R14 // 0ea338d5
1239 MSR R0, AMAIR_EL1 // 00a318d5
1240 MRS APDAKeyHi_EL1, R16 // 302238d5
1241 MSR R26, APDAKeyHi_EL1 // 3a2218d5
1242 MRS APDAKeyLo_EL1, R21 // 152238d5
1243 MSR R22, APDAKeyLo_EL1 // 162218d5
1244 MRS APDBKeyHi_EL1, R2 // 622238d5
1245 MSR R6, APDBKeyHi_EL1 // 662218d5
1246 MRS APDBKeyLo_EL1, R5 // 452238d5
1247 MSR R22, APDBKeyLo_EL1 // 562218d5
1248 MRS APGAKeyHi_EL1, R22 // 362338d5
1249 MSR R5, APGAKeyHi_EL1 // 252318d5
1250 MRS APGAKeyLo_EL1, R16 // 102338d5
1251 MSR R22, APGAKeyLo_EL1 // 162318d5
1252 MRS APIAKeyHi_EL1, R23 // 372138d5
1253 MSR R17, APIAKeyHi_EL1 // 312118d5
1254 MRS APIAKeyLo_EL1, R16 // 102138d5
1255 MSR R6, APIAKeyLo_EL1 // 062118d5
1256 MRS APIBKeyHi_EL1, R10 // 6a2138d5
1257 MSR R11, APIBKeyHi_EL1 // 6b2118d5
1258 MRS APIBKeyLo_EL1, R25 // 592138d5
1259 MSR R22, APIBKeyLo_EL1 // 562118d5
1260 MRS CCSIDR_EL1, R25 // 190039d5
1261 MRS CLIDR_EL1, R16 // 300039d5
1262 MRS CNTFRQ_EL0, R20 // 14e03bd5
1263 MSR R16, CNTFRQ_EL0 // 10e01bd5
1264 MRS CNTKCTL_EL1, R26 // 1ae138d5
1265 MSR R0, CNTKCTL_EL1 // 00e118d5
1266 MRS CNTP_CTL_EL0, R14 // 2ee23bd5
1267 MSR R17, CNTP_CTL_EL0 // 31e21bd5
1268 MRS CNTP_CVAL_EL0, R15 // 4fe23bd5
1269 MSR R8, CNTP_CVAL_EL0 // 48e21bd5
1270 MRS CNTP_TVAL_EL0, R6 // 06e23bd5
1271 MSR R29, CNTP_TVAL_EL0 // 1de21bd5
1272 MRS CNTP_CTL_EL0, R22 // 36e23bd5
1273 MSR R0, CNTP_CTL_EL0 // 20e21bd5
1274 MRS CNTP_CVAL_EL0, R9 // 49e23bd5
1275 MSR R4, CNTP_CVAL_EL0 // 44e21bd5
1276 MRS CNTP_TVAL_EL0, R27 // 1be23bd5
1277 MSR R17, CNTP_TVAL_EL0 // 11e21bd5
1278 MRS CNTV_CTL_EL0, R27 // 3be33bd5
1279 MSR R2, CNTV_CTL_EL0 // 22e31bd5
1280 MRS CNTV_CVAL_EL0, R16 // 50e33bd5
1281 MSR R27, CNTV_CVAL_EL0 // 5be31bd5
1282 MRS CNTV_TVAL_EL0, R12 // 0ce33bd5
1283 MSR R19, CNTV_TVAL_EL0 // 13e31bd5
1284 MRS CNTV_CTL_EL0, R14 // 2ee33bd5
1285 MSR R2, CNTV_CTL_EL0 // 22e31bd5
1286 MRS CNTV_CVAL_EL0, R8 // 48e33bd5
1287 MSR R26, CNTV_CVAL_EL0 // 5ae31bd5
1288 MRS CNTV_TVAL_EL0, R6 // 06e33bd5
1289 MSR R19, CNTV_TVAL_EL0 // 13e31bd5
1290 MRS CNTKCTL_EL1, R16 // 10e138d5
1291 MSR R26, CNTKCTL_EL1 // 1ae118d5
1292 MRS CNTPCT_EL0, R9 // 29e03bd5
1293 MRS CNTPS_CTL_EL1, R30 // 3ee23fd5
1294 MSR R26, CNTPS_CTL_EL1 // 3ae21fd5
1295 MRS CNTPS_CVAL_EL1, R8 // 48e23fd5
1296 MSR R26, CNTPS_CVAL_EL1 // 5ae21fd5
1297 MRS CNTPS_TVAL_EL1, R7 // 07e23fd5
1298 MSR R13, CNTPS_TVAL_EL1 // 0de21fd5
1299 MRS CNTP_CTL_EL0, R2 // 22e23bd5
1300 MSR R10, CNTP_CTL_EL0 // 2ae21bd5
1301 MRS CNTP_CVAL_EL0, R6 // 46e23bd5
1302 MSR R21, CNTP_CVAL_EL0 // 55e21bd5
1303 MRS CNTP_TVAL_EL0, R27 // 1be23bd5
1304 MSR R29, CNTP_TVAL_EL0 // 1de21bd5
1305 MRS CNTVCT_EL0, R13 // 4de03bd5
1306 MRS CNTV_CTL_EL0, R30 // 3ee33bd5
1307 MSR R19, CNTV_CTL_EL0 // 33e31bd5
1308 MRS CNTV_CVAL_EL0, R27 // 5be33bd5
1309 MSR R24, CNTV_CVAL_EL0 // 58e31bd5
1310 MRS CNTV_TVAL_EL0, R24 // 18e33bd5
1311 MSR R5, CNTV_TVAL_EL0 // 05e31bd5
1312 MRS CONTEXTIDR_EL1, R15 // 2fd038d5
1313 MSR R27, CONTEXTIDR_EL1 // 3bd018d5
1314 MRS CONTEXTIDR_EL1, R29 // 3dd038d5
1315 MSR R24, CONTEXTIDR_EL1 // 38d018d5
1316 MRS CPACR_EL1, R10 // 4a1038d5
1317 MSR R14, CPACR_EL1 // 4e1018d5
1318 MRS CPACR_EL1, R27 // 5b1038d5
1319 MSR R22, CPACR_EL1 // 561018d5
1320 MRS CSSELR_EL1, R3 // 03003ad5
1321 MSR R4, CSSELR_EL1 // 04001ad5
1322 MRS CTR_EL0, R15 // 2f003bd5
1323 MRS CurrentEL, R1 // 414238d5
1324 MRS DAIF, R24 // 38423bd5
1325 MSR R9, DAIF // 29421bd5
1326 MRS DBGAUTHSTATUS_EL1, R5 // c57e30d5
1327 MRS DBGBCR0_EL1, R29 // bd0030d5
1328 MRS DBGBCR1_EL1, R13 // ad0130d5
1329 MRS DBGBCR2_EL1, R22 // b60230d5
1330 MRS DBGBCR3_EL1, R8 // a80330d5
1331 MRS DBGBCR4_EL1, R2 // a20430d5
1332 MRS DBGBCR5_EL1, R4 // a40530d5
1333 MRS DBGBCR6_EL1, R2 // a20630d5
1334 MRS DBGBCR7_EL1, R6 // a60730d5
1335 MRS DBGBCR8_EL1, R1 // a10830d5
1336 MRS DBGBCR9_EL1, R16 // b00930d5
1337 MRS DBGBCR10_EL1, R23 // b70a30d5
1338 MRS DBGBCR11_EL1, R3 // a30b30d5
1339 MRS DBGBCR12_EL1, R6 // a60c30d5
1340 MRS DBGBCR13_EL1, R16 // b00d30d5
1341 MRS DBGBCR14_EL1, R4 // a40e30d5
1342 MRS DBGBCR15_EL1, R9 // a90f30d5
1343 MSR R4, DBGBCR0_EL1 // a40010d5
1344 MSR R14, DBGBCR1_EL1 // ae0110d5
1345 MSR R7, DBGBCR2_EL1 // a70210d5
1346 MSR R12, DBGBCR3_EL1 // ac0310d5
1347 MSR R6, DBGBCR4_EL1 // a60410d5
1348 MSR R11, DBGBCR5_EL1 // ab0510d5
1349 MSR R6, DBGBCR6_EL1 // a60610d5
1350 MSR R13, DBGBCR7_EL1 // ad0710d5
1351 MSR R17, DBGBCR8_EL1 // b10810d5
1352 MSR R17, DBGBCR9_EL1 // b10910d5
1353 MSR R22, DBGBCR10_EL1 // b60a10d5
1354 MSR R16, DBGBCR11_EL1 // b00b10d5
1355 MSR R24, DBGBCR12_EL1 // b80c10d5
1356 MSR R29, DBGBCR13_EL1 // bd0d10d5
1357 MSR R1, DBGBCR14_EL1 // a10e10d5
1358 MSR R10, DBGBCR15_EL1 // aa0f10d5
1359 MRS DBGBVR0_EL1, R16 // 900030d5
1360 MRS DBGBVR1_EL1, R21 // 950130d5
1361 MRS DBGBVR2_EL1, R13 // 8d0230d5
1362 MRS DBGBVR3_EL1, R12 // 8c0330d5
1363 MRS DBGBVR4_EL1, R20 // 940430d5
1364 MRS DBGBVR5_EL1, R21 // 950530d5
1365 MRS DBGBVR6_EL1, R27 // 9b0630d5
1366 MRS DBGBVR7_EL1, R6 // 860730d5
1367 MRS DBGBVR8_EL1, R14 // 8e0830d5
1368 MRS DBGBVR9_EL1, R5 // 850930d5
1369 MRS DBGBVR10_EL1, R9 // 890a30d5
1370 MRS DBGBVR11_EL1, R25 // 990b30d5
1371 MRS DBGBVR12_EL1, R30 // 9e0c30d5
1372 MRS DBGBVR13_EL1, R1 // 810d30d5
1373 MRS DBGBVR14_EL1, R17 // 910e30d5
1374 MRS DBGBVR15_EL1, R25 // 990f30d5
1375 MSR R15, DBGBVR0_EL1 // 8f0010d5
1376 MSR R6, DBGBVR1_EL1 // 860110d5
1377 MSR R24, DBGBVR2_EL1 // 980210d5
1378 MSR R17, DBGBVR3_EL1 // 910310d5
1379 MSR R3, DBGBVR4_EL1 // 830410d5
1380 MSR R21, DBGBVR5_EL1 // 950510d5
1381 MSR R5, DBGBVR6_EL1 // 850610d5
1382 MSR R6, DBGBVR7_EL1 // 860710d5
1383 MSR R25, DBGBVR8_EL1 // 990810d5
1384 MSR R4, DBGBVR9_EL1 // 840910d5
1385 MSR R25, DBGBVR10_EL1 // 990a10d5
1386 MSR R17, DBGBVR11_EL1 // 910b10d5
1387 MSR R0, DBGBVR12_EL1 // 800c10d5
1388 MSR R5, DBGBVR13_EL1 // 850d10d5
1389 MSR R9, DBGBVR14_EL1 // 890e10d5
1390 MSR R12, DBGBVR15_EL1 // 8c0f10d5
1391 MRS DBGCLAIMCLR_EL1, R27 // db7930d5
1392 MSR R0, DBGCLAIMCLR_EL1 // c07910d5
1393 MRS DBGCLAIMSET_EL1, R7 // c77830d5
1394 MSR R13, DBGCLAIMSET_EL1 // cd7810d5
1395 MRS DBGDTRRX_EL0, R0 // 000533d5
1396 MSR R29, DBGDTRTX_EL0 // 1d0513d5
1397 MRS DBGDTR_EL0, R27 // 1b0433d5
1398 MSR R30, DBGDTR_EL0 // 1e0413d5
1399 MRS DBGPRCR_EL1, R4 // 841430d5
1400 MSR R0, DBGPRCR_EL1 // 801410d5
1401 MRS DBGWCR0_EL1, R24 // f80030d5
1402 MRS DBGWCR1_EL1, R19 // f30130d5
1403 MRS DBGWCR2_EL1, R25 // f90230d5
1404 MRS DBGWCR3_EL1, R0 // e00330d5
1405 MRS DBGWCR4_EL1, R13 // ed0430d5
1406 MRS DBGWCR5_EL1, R8 // e80530d5
1407 MRS DBGWCR6_EL1, R22 // f60630d5
1408 MRS DBGWCR7_EL1, R11 // eb0730d5
1409 MRS DBGWCR8_EL1, R11 // eb0830d5
1410 MRS DBGWCR9_EL1, R3 // e30930d5
1411 MRS DBGWCR10_EL1, R17 // f10a30d5
1412 MRS DBGWCR11_EL1, R21 // f50b30d5
1413 MRS DBGWCR12_EL1, R10 // ea0c30d5
1414 MRS DBGWCR13_EL1, R22 // f60d30d5
1415 MRS DBGWCR14_EL1, R11 // eb0e30d5
1416 MRS DBGWCR15_EL1, R0 // e00f30d5
1417 MSR R24, DBGWCR0_EL1 // f80010d5
1418 MSR R8, DBGWCR1_EL1 // e80110d5
1419 MSR R17, DBGWCR2_EL1 // f10210d5
1420 MSR R29, DBGWCR3_EL1 // fd0310d5
1421 MSR R13, DBGWCR4_EL1 // ed0410d5
1422 MSR R22, DBGWCR5_EL1 // f60510d5
1423 MSR R3, DBGWCR6_EL1 // e30610d5
1424 MSR R4, DBGWCR7_EL1 // e40710d5
1425 MSR R7, DBGWCR8_EL1 // e70810d5
1426 MSR R29, DBGWCR9_EL1 // fd0910d5
1427 MSR R3, DBGWCR10_EL1 // e30a10d5
1428 MSR R11, DBGWCR11_EL1 // eb0b10d5
1429 MSR R20, DBGWCR12_EL1 // f40c10d5
1430 MSR R6, DBGWCR13_EL1 // e60d10d5
1431 MSR R22, DBGWCR14_EL1 // f60e10d5
1432 MSR R25, DBGWCR15_EL1 // f90f10d5
1433 MRS DBGWVR0_EL1, R14 // ce0030d5
1434 MRS DBGWVR1_EL1, R16 // d00130d5
1435 MRS DBGWVR2_EL1, R15 // cf0230d5
1436 MRS DBGWVR3_EL1, R1 // c10330d5
1437 MRS DBGWVR4_EL1, R26 // da0430d5
1438 MRS DBGWVR5_EL1, R14 // ce0530d5
1439 MRS DBGWVR6_EL1, R17 // d10630d5
1440 MRS DBGWVR7_EL1, R22 // d60730d5
1441 MRS DBGWVR8_EL1, R4 // c40830d5
1442 MRS DBGWVR9_EL1, R3 // c30930d5
1443 MRS DBGWVR10_EL1, R16 // d00a30d5
1444 MRS DBGWVR11_EL1, R2 // c20b30d5
1445 MRS DBGWVR12_EL1, R5 // c50c30d5
1446 MRS DBGWVR13_EL1, R23 // d70d30d5
1447 MRS DBGWVR14_EL1, R5 // c50e30d5
1448 MRS DBGWVR15_EL1, R6 // c60f30d5
1449 MSR R24, DBGWVR0_EL1 // d80010d5
1450 MSR R6, DBGWVR1_EL1 // c60110d5
1451 MSR R1, DBGWVR2_EL1 // c10210d5
1452 MSR R24, DBGWVR3_EL1 // d80310d5
1453 MSR R24, DBGWVR4_EL1 // d80410d5
1454 MSR R0, DBGWVR5_EL1 // c00510d5
1455 MSR R10, DBGWVR6_EL1 // ca0610d5
1456 MSR R17, DBGWVR7_EL1 // d10710d5
1457 MSR R7, DBGWVR8_EL1 // c70810d5
1458 MSR R8, DBGWVR9_EL1 // c80910d5
1459 MSR R15, DBGWVR10_EL1 // cf0a10d5
1460 MSR R8, DBGWVR11_EL1 // c80b10d5
1461 MSR R7, DBGWVR12_EL1 // c70c10d5
1462 MSR R14, DBGWVR13_EL1 // ce0d10d5
1463 MSR R16, DBGWVR14_EL1 // d00e10d5
1464 MSR R5, DBGWVR15_EL1 // c50f10d5
1465 MRS DCZID_EL0, R21 // f5003bd5
1466 MRS DISR_EL1, R8 // 28c138d5
1467 MSR R5, DISR_EL1 // 25c118d5
1468 MRS DIT, R29 // bd423bd5
1469 MSR R22, DIT // b6421bd5
1470 MRS DLR_EL0, R25 // 39453bd5
1471 MSR R9, DLR_EL0 // 29451bd5
1472 MRS DSPSR_EL0, R3 // 03453bd5
1473 MSR R10, DSPSR_EL0 // 0a451bd5
1474 MRS ELR_EL1, R24 // 384038d5
1475 MSR R3, ELR_EL1 // 234018d5
1476 MRS ELR_EL1, R13 // 2d4038d5
1477 MSR R27, ELR_EL1 // 3b4018d5
1478 MRS ERRIDR_EL1, R30 // 1e5338d5
1479 MRS ERRSELR_EL1, R21 // 355338d5
1480 MSR R22, ERRSELR_EL1 // 365318d5
1481 MRS ERXADDR_EL1, R30 // 7e5438d5
1482 MSR R0, ERXADDR_EL1 // 605418d5
1483 MRS ERXCTLR_EL1, R6 // 265438d5
1484 MSR R9, ERXCTLR_EL1 // 295418d5
1485 MRS ERXFR_EL1, R19 // 135438d5
1486 MRS ERXMISC0_EL1, R20 // 145538d5
1487 MSR R24, ERXMISC0_EL1 // 185518d5
1488 MRS ERXMISC1_EL1, R15 // 2f5538d5
1489 MSR R10, ERXMISC1_EL1 // 2a5518d5
1490 MRS ERXSTATUS_EL1, R30 // 5e5438d5
1491 MSR R3, ERXSTATUS_EL1 // 435418d5
1492 MRS ESR_EL1, R6 // 065238d5
1493 MSR R21, ESR_EL1 // 155218d5
1494 MRS ESR_EL1, R17 // 115238d5
1495 MSR R12, ESR_EL1 // 0c5218d5
1496 MRS FAR_EL1, R3 // 036038d5
1497 MSR R17, FAR_EL1 // 116018d5
1498 MRS FAR_EL1, R9 // 096038d5
1499 MSR R25, FAR_EL1 // 196018d5
1500 MRS FPCR, R1 // 01443bd5
1501 MSR R27, FPCR // 1b441bd5
1502 MRS FPSR, R5 // 25443bd5
1503 MSR R15, FPSR // 2f441bd5
1504 MRS ID_AA64AFR0_EL1, R19 // 930538d5
1505 MRS ID_AA64AFR1_EL1, R24 // b80538d5
1506 MRS ID_AA64DFR0_EL1, R21 // 150538d5
1507 MRS ID_AA64DFR1_EL1, R20 // 340538d5
1508 MRS ID_AA64ISAR0_EL1, R4 // 040638d5
1509 MRS ID_AA64ISAR1_EL1, R6 // 260638d5
1510 MRS ID_AA64MMFR0_EL1, R0 // 000738d5
1511 MRS ID_AA64MMFR1_EL1, R17 // 310738d5
1512 MRS ID_AA64MMFR2_EL1, R23 // 570738d5
1513 MRS ID_AA64PFR0_EL1, R20 // 140438d5
1514 MRS ID_AA64PFR1_EL1, R26 // 3a0438d5
1515 MRS ID_AA64ZFR0_EL1, R26 // 9a0438d5
1516 MRS ID_AFR0_EL1, R21 // 750138d5
1517 MRS ID_DFR0_EL1, R15 // 4f0138d5
1518 MRS ID_ISAR0_EL1, R11 // 0b0238d5
1519 MRS ID_ISAR1_EL1, R16 // 300238d5
1520 MRS ID_ISAR2_EL1, R10 // 4a0238d5
1521 MRS ID_ISAR3_EL1, R13 // 6d0238d5
1522 MRS ID_ISAR4_EL1, R24 // 980238d5
1523 MRS ID_ISAR5_EL1, R29 // bd0238d5
1524 MRS ID_MMFR0_EL1, R10 // 8a0138d5
1525 MRS ID_MMFR1_EL1, R29 // bd0138d5
1526 MRS ID_MMFR2_EL1, R16 // d00138d5
1527 MRS ID_MMFR3_EL1, R10 // ea0138d5
1528 MRS ID_MMFR4_EL1, R23 // d70238d5
1529 MRS ID_PFR0_EL1, R4 // 040138d5
1530 MRS ID_PFR1_EL1, R12 // 2c0138d5
1531 MRS ISR_EL1, R24 // 18c138d5
1532 MRS MAIR_EL1, R20 // 14a238d5
1533 MSR R21, MAIR_EL1 // 15a218d5
1534 MRS MAIR_EL1, R20 // 14a238d5
1535 MSR R5, MAIR_EL1 // 05a218d5
1536 MRS MDCCINT_EL1, R23 // 170230d5
1537 MSR R27, MDCCINT_EL1 // 1b0210d5
1538 MRS MDCCSR_EL0, R19 // 130133d5
1539 MRS MDRAR_EL1, R12 // 0c1030d5
1540 MRS MDSCR_EL1, R15 // 4f0230d5
1541 MSR R15, MDSCR_EL1 // 4f0210d5
1542 MRS MIDR_EL1, R26 // 1a0038d5
1543 MRS MPIDR_EL1, R25 // b90038d5
1544 MRS MVFR0_EL1, R29 // 1d0338d5
1545 MRS MVFR1_EL1, R7 // 270338d5
1546 MRS MVFR2_EL1, R19 // 530338d5
1547 MRS NZCV, R11 // 0b423bd5
1548 MSR R10, NZCV // 0a421bd5
1549 MRS OSDLR_EL1, R16 // 901330d5
1550 MSR R21, OSDLR_EL1 // 951310d5
1551 MRS OSDTRRX_EL1, R5 // 450030d5
1552 MSR R30, OSDTRRX_EL1 // 5e0010d5
1553 MRS OSDTRTX_EL1, R3 // 430330d5
1554 MSR R13, OSDTRTX_EL1 // 4d0310d5
1555 MRS OSECCR_EL1, R2 // 420630d5
1556 MSR R17, OSECCR_EL1 // 510610d5
1557 MSR R3, OSLAR_EL1 // 831010d5
1558 MRS OSLSR_EL1, R15 // 8f1130d5
1559 MRS PAN, R14 // 6e4238d5
1560 MSR R0, PAN // 604218d5
1561 MRS PAR_EL1, R27 // 1b7438d5
1562 MSR R3, PAR_EL1 // 037418d5
1563 MRS PMCCFILTR_EL0, R10 // eaef3bd5
1564 MSR R16, PMCCFILTR_EL0 // f0ef1bd5
1565 MRS PMCCNTR_EL0, R17 // 119d3bd5
1566 MSR R13, PMCCNTR_EL0 // 0d9d1bd5
1567 MRS PMCEID0_EL0, R8 // c89c3bd5
1568 MRS PMCEID1_EL0, R30 // fe9c3bd5
1569 MRS PMCNTENCLR_EL0, R11 // 4b9c3bd5
1570 MSR R21, PMCNTENCLR_EL0 // 559c1bd5
1571 MRS PMCNTENSET_EL0, R25 // 399c3bd5
1572 MSR R13, PMCNTENSET_EL0 // 2d9c1bd5
1573 MRS PMCR_EL0, R23 // 179c3bd5
1574 MSR R11, PMCR_EL0 // 0b9c1bd5
1575 MRS PMEVCNTR0_EL0, R27 // 1be83bd5
1576 MRS PMEVCNTR1_EL0, R23 // 37e83bd5
1577 MRS PMEVCNTR2_EL0, R26 // 5ae83bd5
1578 MRS PMEVCNTR3_EL0, R11 // 6be83bd5
1579 MRS PMEVCNTR4_EL0, R14 // 8ee83bd5
1580 MRS PMEVCNTR5_EL0, R9 // a9e83bd5
1581 MRS PMEVCNTR6_EL0, R30 // dee83bd5
1582 MRS PMEVCNTR7_EL0, R19 // f3e83bd5
1583 MRS PMEVCNTR8_EL0, R5 // 05e93bd5
1584 MRS PMEVCNTR9_EL0, R27 // 3be93bd5
1585 MRS PMEVCNTR10_EL0, R23 // 57e93bd5
1586 MRS PMEVCNTR11_EL0, R27 // 7be93bd5
1587 MRS PMEVCNTR12_EL0, R0 // 80e93bd5
1588 MRS PMEVCNTR13_EL0, R13 // ade93bd5
1589 MRS PMEVCNTR14_EL0, R27 // dbe93bd5
1590 MRS PMEVCNTR15_EL0, R16 // f0e93bd5
1591 MRS PMEVCNTR16_EL0, R16 // 10ea3bd5
1592 MRS PMEVCNTR17_EL0, R14 // 2eea3bd5
1593 MRS PMEVCNTR18_EL0, R10 // 4aea3bd5
1594 MRS PMEVCNTR19_EL0, R12 // 6cea3bd5
1595 MRS PMEVCNTR20_EL0, R5 // 85ea3bd5
1596 MRS PMEVCNTR21_EL0, R26 // baea3bd5
1597 MRS PMEVCNTR22_EL0, R19 // d3ea3bd5
1598 MRS PMEVCNTR23_EL0, R5 // e5ea3bd5
1599 MRS PMEVCNTR24_EL0, R17 // 11eb3bd5
1600 MRS PMEVCNTR25_EL0, R0 // 20eb3bd5
1601 MRS PMEVCNTR26_EL0, R20 // 54eb3bd5
1602 MRS PMEVCNTR27_EL0, R12 // 6ceb3bd5
1603 MRS PMEVCNTR28_EL0, R29 // 9deb3bd5
1604 MRS PMEVCNTR29_EL0, R22 // b6eb3bd5
1605 MRS PMEVCNTR30_EL0, R22 // d6eb3bd5
1606 MSR R30, PMEVCNTR0_EL0 // 1ee81bd5
1607 MSR R1, PMEVCNTR1_EL0 // 21e81bd5
1608 MSR R20, PMEVCNTR2_EL0 // 54e81bd5
1609 MSR R9, PMEVCNTR3_EL0 // 69e81bd5
1610 MSR R8, PMEVCNTR4_EL0 // 88e81bd5
1611 MSR R2, PMEVCNTR5_EL0 // a2e81bd5
1612 MSR R30, PMEVCNTR6_EL0 // dee81bd5
1613 MSR R14, PMEVCNTR7_EL0 // eee81bd5
1614 MSR R1, PMEVCNTR8_EL0 // 01e91bd5
1615 MSR R15, PMEVCNTR9_EL0 // 2fe91bd5
1616 MSR R15, PMEVCNTR10_EL0 // 4fe91bd5
1617 MSR R14, PMEVCNTR11_EL0 // 6ee91bd5
1618 MSR R15, PMEVCNTR12_EL0 // 8fe91bd5
1619 MSR R25, PMEVCNTR13_EL0 // b9e91bd5
1620 MSR R26, PMEVCNTR14_EL0 // dae91bd5
1621 MSR R21, PMEVCNTR15_EL0 // f5e91bd5
1622 MSR R29, PMEVCNTR16_EL0 // 1dea1bd5
1623 MSR R11, PMEVCNTR17_EL0 // 2bea1bd5
1624 MSR R16, PMEVCNTR18_EL0 // 50ea1bd5
1625 MSR R2, PMEVCNTR19_EL0 // 62ea1bd5
1626 MSR R19, PMEVCNTR20_EL0 // 93ea1bd5
1627 MSR R17, PMEVCNTR21_EL0 // b1ea1bd5
1628 MSR R7, PMEVCNTR22_EL0 // c7ea1bd5
1629 MSR R23, PMEVCNTR23_EL0 // f7ea1bd5
1630 MSR R15, PMEVCNTR24_EL0 // 0feb1bd5
1631 MSR R27, PMEVCNTR25_EL0 // 3beb1bd5
1632 MSR R13, PMEVCNTR26_EL0 // 4deb1bd5
1633 MSR R2, PMEVCNTR27_EL0 // 62eb1bd5
1634 MSR R15, PMEVCNTR28_EL0 // 8feb1bd5
1635 MSR R14, PMEVCNTR29_EL0 // aeeb1bd5
1636 MSR R23, PMEVCNTR30_EL0 // d7eb1bd5
1637 MRS PMEVTYPER0_EL0, R23 // 17ec3bd5
1638 MRS PMEVTYPER1_EL0, R30 // 3eec3bd5
1639 MRS PMEVTYPER2_EL0, R12 // 4cec3bd5
1640 MRS PMEVTYPER3_EL0, R13 // 6dec3bd5
1641 MRS PMEVTYPER4_EL0, R25 // 99ec3bd5
1642 MRS PMEVTYPER5_EL0, R23 // b7ec3bd5
1643 MRS PMEVTYPER6_EL0, R8 // c8ec3bd5
1644 MRS PMEVTYPER7_EL0, R2 // e2ec3bd5
1645 MRS PMEVTYPER8_EL0, R23 // 17ed3bd5
1646 MRS PMEVTYPER9_EL0, R25 // 39ed3bd5
1647 MRS PMEVTYPER10_EL0, R0 // 40ed3bd5
1648 MRS PMEVTYPER11_EL0, R30 // 7eed3bd5
1649 MRS PMEVTYPER12_EL0, R0 // 80ed3bd5
1650 MRS PMEVTYPER13_EL0, R9 // a9ed3bd5
1651 MRS PMEVTYPER14_EL0, R15 // cfed3bd5
1652 MRS PMEVTYPER15_EL0, R13 // eded3bd5
1653 MRS PMEVTYPER16_EL0, R11 // 0bee3bd5
1654 MRS PMEVTYPER17_EL0, R19 // 33ee3bd5
1655 MRS PMEVTYPER18_EL0, R3 // 43ee3bd5
1656 MRS PMEVTYPER19_EL0, R17 // 71ee3bd5
1657 MRS PMEVTYPER20_EL0, R8 // 88ee3bd5
1658 MRS PMEVTYPER21_EL0, R2 // a2ee3bd5
1659 MRS PMEVTYPER22_EL0, R5 // c5ee3bd5
1660 MRS PMEVTYPER23_EL0, R17 // f1ee3bd5
1661 MRS PMEVTYPER24_EL0, R22 // 16ef3bd5
1662 MRS PMEVTYPER25_EL0, R3 // 23ef3bd5
1663 MRS PMEVTYPER26_EL0, R23 // 57ef3bd5
1664 MRS PMEVTYPER27_EL0, R19 // 73ef3bd5
1665 MRS PMEVTYPER28_EL0, R24 // 98ef3bd5
1666 MRS PMEVTYPER29_EL0, R3 // a3ef3bd5
1667 MRS PMEVTYPER30_EL0, R1 // c1ef3bd5
1668 MSR R20, PMEVTYPER0_EL0 // 14ec1bd5
1669 MSR R20, PMEVTYPER1_EL0 // 34ec1bd5
1670 MSR R14, PMEVTYPER2_EL0 // 4eec1bd5
1671 MSR R26, PMEVTYPER3_EL0 // 7aec1bd5
1672 MSR R11, PMEVTYPER4_EL0 // 8bec1bd5
1673 MSR R16, PMEVTYPER5_EL0 // b0ec1bd5
1674 MSR R29, PMEVTYPER6_EL0 // ddec1bd5
1675 MSR R3, PMEVTYPER7_EL0 // e3ec1bd5
1676 MSR R30, PMEVTYPER8_EL0 // 1eed1bd5
1677 MSR R17, PMEVTYPER9_EL0 // 31ed1bd5
1678 MSR R10, PMEVTYPER10_EL0 // 4aed1bd5
1679 MSR R19, PMEVTYPER11_EL0 // 73ed1bd5
1680 MSR R13, PMEVTYPER12_EL0 // 8ded1bd5
1681 MSR R23, PMEVTYPER13_EL0 // b7ed1bd5
1682 MSR R13, PMEVTYPER14_EL0 // cded1bd5
1683 MSR R9, PMEVTYPER15_EL0 // e9ed1bd5
1684 MSR R1, PMEVTYPER16_EL0 // 01ee1bd5
1685 MSR R19, PMEVTYPER17_EL0 // 33ee1bd5
1686 MSR R22, PMEVTYPER18_EL0 // 56ee1bd5
1687 MSR R23, PMEVTYPER19_EL0 // 77ee1bd5
1688 MSR R30, PMEVTYPER20_EL0 // 9eee1bd5
1689 MSR R9, PMEVTYPER21_EL0 // a9ee1bd5
1690 MSR R3, PMEVTYPER22_EL0 // c3ee1bd5
1691 MSR R1, PMEVTYPER23_EL0 // e1ee1bd5
1692 MSR R16, PMEVTYPER24_EL0 // 10ef1bd5
1693 MSR R12, PMEVTYPER25_EL0 // 2cef1bd5
1694 MSR R7, PMEVTYPER26_EL0 // 47ef1bd5
1695 MSR R9, PMEVTYPER27_EL0 // 69ef1bd5
1696 MSR R10, PMEVTYPER28_EL0 // 8aef1bd5
1697 MSR R5, PMEVTYPER29_EL0 // a5ef1bd5
1698 MSR R12, PMEVTYPER30_EL0 // ccef1bd5
1699 MRS PMINTENCLR_EL1, R24 // 589e38d5
1700 MSR R15, PMINTENCLR_EL1 // 4f9e18d5
1701 MRS PMINTENSET_EL1, R1 // 219e38d5
1702 MSR R4, PMINTENSET_EL1 // 249e18d5
1703 MRS PMOVSCLR_EL0, R6 // 669c3bd5
1704 MSR R30, PMOVSCLR_EL0 // 7e9c1bd5
1705 MRS PMOVSSET_EL0, R16 // 709e3bd5
1706 MSR R12, PMOVSSET_EL0 // 6c9e1bd5
1707 MRS PMSELR_EL0, R30 // be9c3bd5
1708 MSR R5, PMSELR_EL0 // a59c1bd5
1709 MSR R27, PMSWINC_EL0 // 9b9c1bd5
1710 MRS PMUSERENR_EL0, R8 // 089e3bd5
1711 MSR R6, PMUSERENR_EL0 // 069e1bd5
1712 MRS PMXEVCNTR_EL0, R26 // 5a9d3bd5
1713 MSR R10, PMXEVCNTR_EL0 // 4a9d1bd5
1714 MRS PMXEVTYPER_EL0, R4 // 249d3bd5
1715 MSR R4, PMXEVTYPER_EL0 // 249d1bd5
1716 MRS REVIDR_EL1, R29 // dd0038d5
1717 MRS RMR_EL1, R4 // 44c038d5
1718 MSR R0, RMR_EL1 // 40c018d5
1719 MRS RVBAR_EL1, R7 // 27c038d5
1720 MRS SCTLR_EL1, R8 // 081038d5
1721 MSR R0, SCTLR_EL1 // 001018d5
1722 MRS SCTLR_EL1, R30 // 1e1038d5
1723 MSR R13, SCTLR_EL1 // 0d1018d5
1724 MRS SPSR_EL1, R1 // 014038d5
1725 MSR R2, SPSR_EL1 // 024018d5
1726 MRS SPSR_EL1, R3 // 034038d5
1727 MSR R14, SPSR_EL1 // 0e4018d5
1728 MRS SPSR_abt, R12 // 2c433cd5
1729 MSR R4, SPSR_abt // 24431cd5
1730 MRS SPSR_fiq, R17 // 71433cd5
1731 MSR R9, SPSR_fiq // 69431cd5
1732 MRS SPSR_irq, R12 // 0c433cd5
1733 MSR R23, SPSR_irq // 17431cd5
1734 MRS SPSR_und, R29 // 5d433cd5
1735 MSR R3, SPSR_und // 43431cd5
1736 MRS SPSel, R29 // 1d4238d5
1737 MSR R1, SPSel // 014218d5
1738 MRS SP_EL0, R10 // 0a4138d5
1739 MSR R4, SP_EL0 // 044118d5
1740 MRS SP_EL1, R22 // 16413cd5
1741 MSR R17, SP_EL1 // 11411cd5
1742 MRS TCR_EL1, R17 // 512038d5
1743 MSR R23, TCR_EL1 // 572018d5
1744 MRS TCR_EL1, R14 // 4e2038d5
1745 MSR R29, TCR_EL1 // 5d2018d5
1746 MRS TPIDRRO_EL0, R26 // 7ad03bd5
1747 MSR R16, TPIDRRO_EL0 // 70d01bd5
1748 MRS TPIDR_EL0, R23 // 57d03bd5
1749 MSR R5, TPIDR_EL0 // 45d01bd5
1750 MRS TPIDR_EL1, R17 // 91d038d5
1751 MSR R22, TPIDR_EL1 // 96d018d5
1752 MRS TTBR0_EL1, R30 // 1e2038d5
1753 MSR R29, TTBR0_EL1 // 1d2018d5
1754 MRS TTBR0_EL1, R23 // 172038d5
1755 MSR R15, TTBR0_EL1 // 0f2018d5
1756 MRS TTBR1_EL1, R5 // 252038d5
1757 MSR R26, TTBR1_EL1 // 3a2018d5
1758 MRS TTBR1_EL1, R19 // 332038d5
1759 MSR R23, TTBR1_EL1 // 372018d5
1760 MRS UAO, R22 // 964238d5
1761 MSR R4, UAO // 844218d5
1762 MRS VBAR_EL1, R23 // 17c038d5
1763 MSR R2, VBAR_EL1 // 02c018d5
1764 MRS VBAR_EL1, R6 // 06c038d5
1765 MSR R3, VBAR_EL1 // 03c018d5
1766 MRS DISR_EL1, R12 // 2cc138d5
1767 MSR R24, DISR_EL1 // 38c118d5
1768 MRS MPIDR_EL1, R1 // a10038d5
1769 MRS MIDR_EL1, R13 // 0d0038d5
1770 MRS ZCR_EL1, R24 // 181238d5
1771 MSR R13, ZCR_EL1 // 0d1218d5
1772 MRS ZCR_EL1, R23 // 171238d5
1773 MSR R17, ZCR_EL1 // 111218d5
1774 SYS $32768, R1 // 018008d5
1775 SYS $32768 // 1f8008d5
1776
1777 // TLBI instruction
1778 TLBI VMALLE1IS // 1f8308d5
1779 TLBI VMALLE1 // 1f8708d5
1780 TLBI ALLE2IS // 1f830cd5
1781 TLBI ALLE1IS // 9f830cd5
1782 TLBI VMALLS12E1IS // df830cd5
1783 TLBI ALLE2 // 1f870cd5
1784 TLBI ALLE1 // 9f870cd5
1785 TLBI VMALLS12E1 // df870cd5
1786 TLBI ALLE3IS // 1f830ed5
1787 TLBI ALLE3 // 1f870ed5
1788 TLBI VMALLE1OS // 1f8108d5
1789 TLBI ALLE2OS // 1f810cd5
1790 TLBI ALLE1OS // 9f810cd5
1791 TLBI VMALLS12E1OS // df810cd5
1792 TLBI ALLE3OS // 1f810ed5
1793 TLBI VAE1IS, R0 // 208308d5
1794 TLBI ASIDE1IS, R1 // 418308d5
1795 TLBI VAAE1IS, R2 // 628308d5
1796 TLBI VALE1IS, R3 // a38308d5
1797 TLBI VAALE1IS, R4 // e48308d5
1798 TLBI VAE1, R5 // 258708d5
1799 TLBI ASIDE1, R6 // 468708d5
1800 TLBI VAAE1, R7 // 678708d5
1801 TLBI VALE1, R8 // a88708d5
1802 TLBI VAALE1, R9 // e98708d5
1803 TLBI IPAS2E1IS, R10 // 2a800cd5
1804 TLBI IPAS2LE1IS, R11 // ab800cd5
1805 TLBI VAE2IS, R12 // 2c830cd5
1806 TLBI VALE2IS, R13 // ad830cd5
1807 TLBI IPAS2E1, R14 // 2e840cd5
1808 TLBI IPAS2LE1, R15 // af840cd5
1809 TLBI VAE2, R16 // 30870cd5
1810 TLBI VALE2, R17 // b1870cd5
1811 TLBI VAE3IS, ZR // 3f830ed5
1812 TLBI VALE3IS, R19 // b3830ed5
1813 TLBI VAE3, R20 // 34870ed5
1814 TLBI VALE3, R21 // b5870ed5
1815 TLBI VAE1OS, R22 // 368108d5
1816 TLBI ASIDE1OS, R23 // 578108d5
1817 TLBI VAAE1OS, R24 // 788108d5
1818 TLBI VALE1OS, R25 // b98108d5
1819 TLBI VAALE1OS, R26 // fa8108d5
1820 TLBI RVAE1IS, R27 // 3b8208d5
1821 TLBI RVAAE1IS, ZR // 7f8208d5
1822 TLBI RVALE1IS, R29 // bd8208d5
1823 TLBI RVAALE1IS, R30 // fe8208d5
1824 TLBI RVAE1OS, ZR // 3f8508d5
1825 TLBI RVAAE1OS, R0 // 608508d5
1826 TLBI RVALE1OS, R1 // a18508d5
1827 TLBI RVAALE1OS, R2 // e28508d5
1828 TLBI RVAE1, R3 // 238608d5
1829 TLBI RVAAE1, R4 // 648608d5
1830 TLBI RVALE1, R5 // a58608d5
1831 TLBI RVAALE1, R6 // e68608d5
1832 TLBI RIPAS2E1IS, R7 // 47800cd5
1833 TLBI RIPAS2LE1IS, R8 // c8800cd5
1834 TLBI VAE2OS, R9 // 29810cd5
1835 TLBI VALE2OS, R10 // aa810cd5
1836 TLBI RVAE2IS, R11 // 2b820cd5
1837 TLBI RVALE2IS, R12 // ac820cd5
1838 TLBI IPAS2E1OS, R13 // 0d840cd5
1839 TLBI RIPAS2E1, R14 // 4e840cd5
1840 TLBI RIPAS2E1OS, R15 // 6f840cd5
1841 TLBI IPAS2LE1OS, R16 // 90840cd5
1842 TLBI RIPAS2LE1, R17 // d1840cd5
1843 TLBI RIPAS2LE1OS, ZR // ff840cd5
1844 TLBI RVAE2OS, R19 // 33850cd5
1845 TLBI RVALE2OS, R20 // b4850cd5
1846 TLBI RVAE2, R21 // 35860cd5
1847 TLBI RVALE2, R22 // b6860cd5
1848 TLBI VAE3OS, R23 // 37810ed5
1849 TLBI VALE3OS, R24 // b8810ed5
1850 TLBI RVAE3IS, R25 // 39820ed5
1851 TLBI RVALE3IS, R26 // ba820ed5
1852 TLBI RVAE3OS, R27 // 3b850ed5
1853 TLBI RVALE3OS, ZR // bf850ed5
1854 TLBI RVAE3, R29 // 3d860ed5
1855 TLBI RVALE3, R30 // be860ed5
1856
1857 // DC instruction
1858 DC IVAC, R0 // 207608d5
1859 DC ISW, R1 // 417608d5
1860 DC CSW, R2 // 427a08d5
1861 DC CISW, R3 // 437e08d5
1862 DC ZVA, R4 // 24740bd5
1863 DC CVAC, R5 // 257a0bd5
1864 DC CVAU, R6 // 267b0bd5
1865 DC CIVAC, R7 // 277e0bd5
1866 DC IGVAC, R8 // 687608d5
1867 DC IGSW, R9 // 897608d5
1868 DC IGDVAC, R10 // aa7608d5
1869 DC IGDSW, R11 // cb7608d5
1870 DC CGSW, R12 // 8c7a08d5
1871 DC CGDSW, R13 // cd7a08d5
1872 DC CIGSW, R14 // 8e7e08d5
1873 DC CIGDSW, R15 // cf7e08d5
1874 DC GVA, R16 // 70740bd5
1875 DC GZVA, R17 // 91740bd5
1876 DC CGVAC, ZR // 7f7a0bd5
1877 DC CGDVAC, R19 // b37a0bd5
1878 DC CGVAP, R20 // 747c0bd5
1879 DC CGDVAP, R21 // b57c0bd5
1880 DC CGVADP, R22 // 767d0bd5
1881 DC CGDVADP, R23 // b77d0bd5
1882 DC CIGVAC, R24 // 787e0bd5
1883 DC CIGDVAC, R25 // b97e0bd5
1884 DC CVAP, R26 // 3a7c0bd5
1885 DC CVADP, R27 // 3b7d0bd5
1886 END
1887
View as plain text