1// Copyright 2015 The Go Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.45// This input was created by taking the instruction productions in6// the old assembler's (7a's) grammar and hand-writing complete7// instructions for each rule, to guarantee we cover the same space.89#include "../../../../../runtime/textflag.h"1011TEXT foo(SB), DUPOK|NOSPLIT, $-81213// arithmetic operations14 ADDW $1, R2, R315 ADDW R1, R2, R316 ADDW R1, ZR, R317 ADD $1, R2, R318 ADD R1, R2, R319 ADD R1, ZR, R320 ADD $1, R2, R321 ADDW $1, R222 ADDW R1, R223 ADD $1, R224 ADD R1, R225 ADD R1>>11, R226 ADD R1<<22, R227 ADD R1->33, R228 ADD $0x000aaa, R2, R3 // ADD $2730, R2, R3 // 43a82a9129 ADD $0x000aaa, R2 // ADD $2730, R2 // 42a82a9130 ADD $0xaaa000, R2, R3 // ADD $11182080, R2, R3 // 43a86a9131 ADD $0xaaa000, R2 // ADD $11182080, R2 // 42a86a9132 ADD $0xaaaaaa, R2, R3 // ADD $11184810, R2, R3 // 43a82a9163a86a9133 ADD $0xaaaaaa, R2 // ADD $11184810, R2 // 42a82a9142a86a9134 SUB $0x000aaa, R2, R3 // SUB $2730, R2, R3 // 43a82ad135 SUB $0x000aaa, R2 // SUB $2730, R2 // 42a82ad136 SUB $0xaaa000, R2, R3 // SUB $11182080, R2, R3 // 43a86ad137 SUB $0xaaa000, R2 // SUB $11182080, R2 // 42a86ad138 SUB $0xaaaaaa, R2, R3 // SUB $11184810, R2, R3 // 43a82ad163a86ad139 SUB $0xaaaaaa, R2 // SUB $11184810, R2 // 42a82ad142a86ad140 ADDW $0x60060, R2 // ADDW $393312, R2 // 428001114280411141 ADD $0x186a0, R2, R5 // ADD $100000, R2, R5 // 45801a91a560409142 SUB $0xe7791f700, R3, R1 // SUB $62135596800, R3, R1 // 1be09ed23bf2aef2db01c0f261001bcb43 ADD $0x3fffffffc000, R5 // ADD $70368744161280, R5 // fb7f72b2a5001b8b44 ADD R1>>11, R2, R345 ADD R1<<22, R2, R346 ADD R1->33, R2, R347 AND R1@>33, R2, R348 ADD R1.UXTB, R2, R3 // 4300218b49 ADD R1.UXTB<<4, R2, R3 // 4310218b50 ADD R2, RSP, RSP // ff63228b51 ADD R2.SXTX<<1, RSP, RSP // ffe7228b52 ADD ZR.SXTX<<1, R2, R3 // 43e43f8b53 ADDW R2.SXTW, R10, R12 // 4cc1220b54 ADD R19.UXTX, R14, R17 // d161338b55 ADDSW R19.UXTW, R14, R17 // d141332b56 ADDS R12.SXTX, R3, R1 // 61e02cab57 SUB R19.UXTH<<4, R2, R21 // 553033cb58 SUBW R1.UXTX<<1, R3, R2 // 6264214b59 SUBS R3.UXTX, R8, R9 // 096123eb60 SUBSW R17.UXTH, R15, R21 // f521316b61 SUBW ZR<<14, R19, R13 // 6d3a1f4b62 CMP R2.SXTH, R13 // bfa122eb63 CMN R1.SXTX<<2, R10 // 5fe921ab64 CMPW R2.UXTH<<3, R11 // 7f2d226b65 CMNW R1.SXTB, R9 // 3f81212b66 ADD R1<<1, RSP, R3 // e367218b67 ADDW R1<<2, R3, RSP // 7f48210b68 SUB R1<<3, RSP // ff6f21cb69 SUBS R1<<4, RSP, R3 // e37321eb70 ADDS R1<<1, RSP, R4 // e46721ab71 CMP R1<<2, RSP // ff6b21eb72 CMN R1<<3, RSP // ff6f21ab73 ADDS R1<<1, ZR, R4 // e40701ab74 ADD R3<<50, ZR, ZR // ffcb038b75 CMP R4<<24, ZR // ff6304eb76 CMPW $0x60060, R2 // CMPW $393312, R2 // 1b0c8052db00a0725f001b6b77 CMPW $40960, R0 // 1f28407178 CMPW $27745, R2 // 3b8c8d525f001b6b79 CMNW $0x3fffffc0, R2 // CMNW $1073741760, R2 // fb5f1a325f001b2b80 CMPW $0xffff0, R1 // CMPW $1048560, R1 // fb3f1c323f001b6b81 CMP $0xffffffffffa0, R3 // CMP $281474976710560, R3 // fb0b80921b00e0f27f001beb82 CMP $0xf4240, R1 // CMP $1000000, R1 // 1b4888d2fb01a0f23f001beb83 CMP $3343198598084851058, R3 // 5bae8ed2db8daef23badcdf2bbcce5f27f001beb84 CMP $3, R285 CMP R1, R286 CMP R1->11, R287 CMP R1>>22, R288 CMP R1<<33, R289 CMP R22.SXTX, RSP // ffe336eb90 CMP $0x22220000, RSP // CMP $572653568, RSP // 5b44a4d2ff633beb91 CMPW $0x22220000, RSP // CMPW $572653568, RSP // 5b44a452ff433b6b92 CCMN MI, ZR, R1, $4 // e44341ba93 // MADD Rn,Rm,Ra,Rd94 MADD R1, R2, R3, R4 // 6408019b95 // CLS96 CLSW R1, R297 CLS R1, R298 SBC $0, R1 // 21001fda99 SBCW $0, R1 // 21001f5a100 SBCS $0, R1 // 21001ffa101 SBCSW $0, R1 // 21001f7a102 ADC $0, R1 // 21001f9a103 ADCW $0, R1 // 21001f1a104 ADCS $0, R1 // 21001fba105 ADCSW $0, R1 // 21001f3a106107// fp/simd instructions.108 VADDP V1.B16, V2.B16, V3.B16 // 43bc214e109 VADDP V1.S4, V2.S4, V3.S4 // 43bca14e110 VADDP V1.D2, V2.D2, V3.D2 // 43bce14e111 VAND V21.B8, V12.B8, V3.B8 // 831d350e112 VCMEQ V1.H4, V2.H4, V3.H4 // 438c612e113 VCMEQ $0, V2.H4, V3.H4 // 4398600e114 VCMGE V1.H4, V2.H4, V3.H4 // 433c610e115 VCMGE $0, V2.H4, V3.H4 // 4388602e116 VCMGT V1.H4, V2.H4, V3.H4 // 4334610e117 VCMGT $0, V2.H4, V3.H4 // 4388600e118 VCMHI V1.H4, V2.H4, V3.H4 // 4334612e119 VCMHS V1.H4, V2.H4, V3.H4 // 433c612e120 VCMLE $0, V2.H4, V3.H4 // 4398602e121 VCMLT $0, V2.H4, V3.H4 // 43a8600e122 VFCMEQ V1.S4, V2.S4, V3.S4 // 43e4214e123 VFCMEQ $(0.0), V2.S4, V3.S4 // 43d8a04e124 VFCMGE V1.S4, V2.S4, V3.S4 // 43e4216e125 VFCMGE $(0.0), V2.S4, V3.S4 // 43c8a06e126 VFCMGT V1.S4, V2.S4, V3.S4 // 43e4a16e127 VFCMGT $(0.0), V2.S4, V3.S4 // 43c8a04e128 VFCMLE $(0.0), V2.S4, V3.S4 // 43d8a06e129 VFCMLT $(0.0), V2.S4, V3.S4 // 43e8a04e130 VFADD V0.S4, V0.S4, V1.S4 // 01d4204e131 VFADD V0.D2, V0.D2, V1.D2 // 01d4604e132 VFSUB V0.S4, V0.S4, V1.S4 // 01d4a04e133 VFSUB V0.D2, V0.D2, V1.D2 // 01d4e04e134 VFMUL V0.S4, V0.S4, V1.S4 // 01dc206e135 VFMUL V0.D2, V0.D2, V1.D2 // 01dc606e136 VFDIV V0.S4, V0.S4, V1.S4 // 01fc206e137 VFDIV V0.D2, V0.D2, V1.D2 // 01fc606e138 VSQADD V0.S4, V0.S4, V1.S4 // 010ca04e139 VSQADD V0.D2, V0.D2, V1.D2 // 010ce04e140 VUQADD V0.S4, V0.S4, V1.S4 // 010ca06e141 VUQADD V0.D2, V0.D2, V1.D2 // 010ce06e142 VSQSUB V0.S4, V0.S4, V1.S4 // 012ca04e143 VSQSUB V0.D2, V0.D2, V1.D2 // 012ce04e144 VUQSUB V0.S4, V0.S4, V1.S4 // 012ca06e145 VUQSUB V0.D2, V0.D2, V1.D2 // 012ce06e146 VMUL V0.S4, V0.S4, V1.S4 // 019ca04e147 VMLA V0.S4, V0.S4, V1.S4 // 0194a04e148 VMLS V0.S4, V0.S4, V1.S4 // 0194a06e149 VORR V5.B16, V4.B16, V3.B16 // 831ca54e150 VBIC V0.B8, V1.B8, V2.B8 // 221c600e151 VORN V0.B16, V1.B16, V2.B16 // 221ce04e152 VADD V16.S4, V5.S4, V9.S4 // a984b04e153 VSHADD V0.S4, V1.S4, V2.S4 // 2204a04e154 VSRHADD V0.S4, V1.S4, V2.S4 // 2214a04e155 VUHADD V0.S4, V1.S4, V2.S4 // 2204a06e156 VURHADD V0.S4, V1.S4, V2.S4 // 2214a06e157 VEOR V0.B16, V1.B16, V0.B16 // 201c206e158 VADDV V0.S4, V0 // 00b8b14e159 VMOVI $82, V0.B16 // 40e6024f160 VUADDLV V6.B16, V6 // c638306e161 VADD V1, V2, V3 // 4384e15e162 VADD V1, V3, V3 // 6384e15e163 VSUB V12, V30, V30 // de87ec7e164 VSUB V12, V20, V30 // 9e86ec7e165 VFMLA V1.D2, V12.D2, V1.D2 // 81cd614e166 VFMLA V1.S2, V12.S2, V1.S2 // 81cd210e167 VFMLA V1.S4, V12.S4, V1.S4 // 81cd214e168 VFMLS V1.D2, V12.D2, V1.D2 // 81cde14e169 VFMLS V1.S2, V12.S2, V1.S2 // 81cda10e170 VFMLS V1.S4, V12.S4, V1.S4 // 81cda14e171 VEXT $4, V2.B8, V1.B8, V3.B8 // 2320022e172 VEXT $8, V2.B16, V1.B16, V3.B16 // 2340026e173 VRBIT V24.B16, V24.B16 // 185b606e174 VRBIT V24.B8, V24.B8 // 185b602e175 VUSHR $56, V1.D2, V2.D2 // 2204486f176 VUSHR $24, V1.S4, V2.S4 // 2204286f177 VUSHR $24, V1.S2, V2.S2 // 2204282f178 VUSHR $8, V1.H4, V2.H4 // 2204182f179 VUSHR $8, V1.H8, V2.H8 // 2204186f180 VUSHR $2, V1.B8, V2.B8 // 22040e2f181 VUSHR $2, V1.B16, V2.B16 // 22040e6f182 VSHRN $7, V1.H8, V0.B8 // 2084090f183 VSHRN $15, V1.S4, V0.H4 // 2084110f184 VSHRN $31, V1.D2, V0.S2 // 2084210f185 VSHRN2 $7, V1.H8, V0.B16 // 2084094f186 VSHRN2 $15, V1.S4, V0.H8 // 2084114f187 VSHRN2 $31, V1.D2, V0.S4 // 2084214f188 VSSHR $2, V0.B8, V1.B8 // 01040e0f189 VSSHR $2, V0.B16, V1.B16 // 01040e4f190 VSSHR $8, V0.H4, V1.H4 // 0104180f191 VSSHR $8, V0.H8, V1.H8 // 0104184f192 VSSHR $16, V0.S2, V1.S2 // 0104300f193 VSSHR $16, V0.S4, V1.S4 // 0104304f194 VSSHR $32, V0.D2, V1.D2 // 0104604f195 VSRSHR $2, V0.B8, V1.B8 // 01240e0f196 VSRSHR $2, V0.B16, V1.B16 // 01240e4f197 VSRSHR $8, V0.H4, V1.H4 // 0124180f198 VSRSHR $8, V0.H8, V1.H8 // 0124184f199 VSRSHR $16, V0.S2, V1.S2 // 0124300f200 VSRSHR $16, V0.S4, V1.S4 // 0124304f201 VSRSHR $32, V0.D2, V1.D2 // 0124604f202 VFSQRT V0.S2, V1.S2 // 01f8a12e203 VFSQRT V0.S4, V1.S4 // 01f8a16e204 VFSQRT V0.D2, V1.D2 // 01f8e16e205 VFRINTN V0.S2, V1.S2 // 0188210e206 VFRINTN V0.S4, V1.S4 // 0188214e207 VFRINTN V0.D2, V1.D2 // 0188614e208 VFRINTP V0.S2, V1.S2 // 0188a10e209 VFRINTP V0.S4, V1.S4 // 0188a14e210 VFRINTP V0.D2, V1.D2 // 0188e14e211 VFRINTM V0.S2, V1.S2 // 0198210e212 VFRINTM V0.S4, V1.S4 // 0198214e213 VFRINTM V0.D2, V1.D2 // 0198614e214 VFRINTZ V0.S2, V1.S2 // 0198a10e215 VFRINTZ V0.S4, V1.S4 // 0198a14e216 VFRINTZ V0.D2, V1.D2 // 0198e14e217 VSHL $56, V1.D2, V2.D2 // 2254784f218 VSHL $24, V1.S4, V2.S4 // 2254384f219 VSHL $24, V1.S2, V2.S2 // 2254380f220 VSHL $8, V1.H4, V2.H4 // 2254180f221 VSHL $8, V1.H8, V2.H8 // 2254184f222 VSHL $2, V1.B8, V2.B8 // 22540a0f223 VSHL $2, V1.B16, V2.B16 // 22540a4f224 VSQSHL $56, V1.D2, V2.D2 // 2274784f225 VSQSHL $24, V1.S4, V2.S4 // 2274384f226 VSQSHL $24, V1.S2, V2.S2 // 2274380f227 VSQSHL $8, V1.H4, V2.H4 // 2274180f228 VSQSHL $8, V1.H8, V2.H8 // 2274184f229 VSQSHL $2, V1.B8, V2.B8 // 22740a0f230 VSQSHL $2, V1.B16, V2.B16 // 22740a4f231 VUQSHL $56, V1.D2, V2.D2 // 2274786f232 VUQSHL $24, V1.S4, V2.S4 // 2274386f233 VUQSHL $24, V1.S2, V2.S2 // 2274382f234 VUQSHL $8, V1.H4, V2.H4 // 2274182f235 VUQSHL $8, V1.H8, V2.H8 // 2274186f236 VUQSHL $2, V1.B8, V2.B8 // 22740a2f237 VUQSHL $2, V1.B16, V2.B16 // 22740a6f238 VSSHL V1.D2, V2.D2, V3.D2 // 4344e14e239 VSSHL V1.S4, V2.S4, V3.S4 // 4344a14e240 VSSHL V1.S2, V2.S2, V3.S2 // 4344a10e241 VSSHL V1.H4, V2.H4, V3.H4 // 4344610e242 VSSHL V1.H8, V2.H8, V3.H8 // 4344614e243 VSSHL V1.B8, V2.B8, V3.B8 // 4344210e244 VSSHL V1.B16, V2.B16, V3.B16 // 4344214e245 VUSHL V1.D2, V2.D2, V3.D2 // 4344e16e246 VUSHL V1.S4, V2.S4, V3.S4 // 4344a16e247 VUSHL V1.S2, V2.S2, V3.S2 // 4344a12e248 VUSHL V1.H4, V2.H4, V3.H4 // 4344612e249 VUSHL V1.H8, V2.H8, V3.H8 // 4344616e250 VUSHL V1.B8, V2.B8, V3.B8 // 4344212e251 VUSHL V1.B16, V2.B16, V3.B16 // 4344216e252 VSQSHL V1.D2, V2.D2, V3.D2 // 434ce14e253 VSQSHL V1.S4, V2.S4, V3.S4 // 434ca14e254 VSQSHL V1.S2, V2.S2, V3.S2 // 434ca10e255 VSQSHL V1.H4, V2.H4, V3.H4 // 434c610e256 VSQSHL V1.H8, V2.H8, V3.H8 // 434c614e257 VSQSHL V1.B8, V2.B8, V3.B8 // 434c210e258 VSQSHL V1.B16, V2.B16, V3.B16 // 434c214e259 VUQSHL V1.D2, V2.D2, V3.D2 // 434ce16e260 VUQSHL V1.S4, V2.S4, V3.S4 // 434ca16e261 VUQSHL V1.S2, V2.S2, V3.S2 // 434ca12e262 VUQSHL V1.H4, V2.H4, V3.H4 // 434c612e263 VUQSHL V1.H8, V2.H8, V3.H8 // 434c616e264 VUQSHL V1.B8, V2.B8, V3.B8 // 434c212e265 VUQSHL V1.B16, V2.B16, V3.B16 // 434c216e266 VSRI $56, V1.D2, V2.D2 // 2244486f267 VSRI $24, V1.S4, V2.S4 // 2244286f268 VSRI $24, V1.S2, V2.S2 // 2244282f269 VSRI $8, V1.H4, V2.H4 // 2244182f270 VSRI $8, V1.H8, V2.H8 // 2244186f271 VSRI $2, V1.B8, V2.B8 // 22440e2f272 VSRI $2, V1.B16, V2.B16 // 22440e6f273 VSLI $7, V2.B16, V3.B16 // 43540f6f274 VSLI $15, V3.H4, V4.H4 // 64541f2f275 VSLI $31, V5.S4, V6.S4 // a6543f6f276 VSLI $63, V7.D2, V8.D2 // e8547f6f277 VUSRA $8, V2.B16, V3.B16 // 4314086f278 VUSRA $16, V3.H4, V4.H4 // 6414102f279 VUSRA $32, V5.S4, V6.S4 // a614206f280 VUSRA $64, V7.D2, V8.D2 // e814406f281 VTBL V22.B16, [V28.B16, V29.B16], V11.B16 // 8b23164e282 VTBL V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8 // 3642120e283 VTBL V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8 // cf611f0e284 VTBL V14.B16, [V16.B16], V11.B16 // 0b020e4e285 VTBL V28.B16, [V25.B16, V26.B16], V5.B16 // 25231c4e286 VTBL V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8 // 8c40100e287 VTBL V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8 // 0462040e288 VTBL V15.B8, [V1.B16], V20.B8 // 34000f0e289 VTBL V26.B16, [V2.B16, V3.B16], V26.B16 // 5a201a4e290 VTBL V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8 // c2400f0e291 VTBL V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16 // 7263024e292 VTBL V11.B16, [V13.B16], V27.B16 // bb010b4e293 VTBL V3.B8, [V7.B16, V8.B16], V25.B8 // f920030e294 VTBL V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16 // 71400e4e295 VTBL V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16 // bc630d4e296 VTBL V3.B8, [V27.B16], V8.B8 // 6803030e297 VTBX V22.B16, [V28.B16, V29.B16], V11.B16 // 8b33164e298 VTBX V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8 // 3652120e299 VTBX V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8 // cf711f0e300 VTBX V14.B16, [V16.B16], V11.B16 // 0b120e4e301 VTBX V28.B16, [V25.B16, V26.B16], V5.B16 // 25331c4e302 VTBX V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8 // 8c50100e303 VTBX V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8 // 0472040e304 VTBX V15.B8, [V1.B16], V20.B8 // 34100f0e305 VTBX V26.B16, [V2.B16, V3.B16], V26.B16 // 5a301a4e306 VTBX V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8 // c2500f0e307 VTBX V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16 // 7273024e308 VTBX V11.B16, [V13.B16], V27.B16 // bb110b4e309 VTBX V3.B8, [V7.B16, V8.B16], V25.B8 // f930030e310 VTBX V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16 // 71500e4e311 VTBX V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16 // bc730d4e312 VTBX V3.B8, [V27.B16], V8.B8 // 6813030e313 VZIP1 V16.H8, V3.H8, V19.H8 // 7338504e314 VZIP2 V22.D2, V25.D2, V21.D2 // 357bd64e315 VZIP1 V6.D2, V9.D2, V11.D2 // 2b39c64e316 VZIP2 V10.D2, V13.D2, V3.D2 // a379ca4e317 VZIP1 V17.S2, V4.S2, V26.S2 // 9a38910e318 VZIP2 V25.S2, V14.S2, V25.S2 // d979990e319 VUXTL V30.B8, V30.H8 // dea7082f320 VUXTL V30.H4, V29.S4 // dda7102f321 VUXTL V29.S2, V2.D2 // a2a7202f322 VUXTL2 V30.H8, V30.S4 // dea7106f323 VUXTL2 V29.S4, V2.D2 // a2a7206f324 VUXTL2 V30.B16, V2.H8 // c2a7086f325 VSXTL V1.B8, V2.H8 // 22a4080f326 VSXTL V1.H4, V2.S4 // 22a4100f327 VSXTL V1.S2, V2.D2 // 22a4200f328 VSXTL2 V1.B16, V2.H8 // 22a4084f329 VSXTL2 V1.H8, V2.S4 // 22a4104f330 VSXTL2 V1.S4, V2.D2 // 22a4204f331 VXTN V1.H8, V2.B8 // 2228210e332 VXTN V1.S4, V2.H4 // 2228610e333 VXTN V1.D2, V2.S2 // 2228a10e334 VXTN2 V1.H8, V2.B16 // 2228214e335 VXTN2 V1.S4, V2.H8 // 2228614e336 VXTN2 V1.D2, V2.S4 // 2228a14e337 VSQXTN V1.H8, V2.B8 // 2248210e338 VSQXTN V1.S4, V2.H4 // 2248610e339 VSQXTN V1.D2, V2.S2 // 2248a10e340 VSQXTN2 V1.H8, V2.B16 // 2248214e341 VSQXTN2 V1.S4, V2.H8 // 2248614e342 VSQXTN2 V1.D2, V2.S4 // 2248a14e343 VSQXTUN V1.H8, V2.B8 // 2228212e344 VSQXTUN V1.S4, V2.H4 // 2228612e345 VSQXTUN V1.D2, V2.S2 // 2228a12e346 VSQXTUN2 V1.H8, V2.B16 // 2228216e347 VSQXTUN2 V1.S4, V2.H8 // 2228616e348 VSQXTUN2 V1.D2, V2.S4 // 2228a16e349 VUQXTN V1.H8, V2.B8 // 2248212e350 VUQXTN V1.S4, V2.H4 // 2248612e351 VUQXTN V1.D2, V2.S2 // 2248a12e352 VUQXTN2 V1.H8, V2.B16 // 2248216e353 VUQXTN2 V1.S4, V2.H8 // 2248616e354 VUQXTN2 V1.D2, V2.S4 // 2248a16e355 VBIT V21.B16, V25.B16, V4.B16 // 241fb56e356 VBSL V23.B16, V3.B16, V7.B16 // 671c776e357 VCMTST V2.B8, V29.B8, V2.B8 // a28f220e358 VCMTST V2.D2, V23.D2, V3.D2 // e38ee24e359 VSUB V2.B8, V30.B8, V30.B8 // de87222e360 VUZP1 V0.B8, V30.B8, V1.B8 // c11b000e361 VUZP1 V1.B16, V29.B16, V2.B16 // a21b014e362 VUZP1 V2.H4, V28.H4, V3.H4 // 831b420e363 VUZP1 V3.H8, V27.H8, V4.H8 // 641b434e364 VUZP1 V28.S2, V2.S2, V5.S2 // 45189c0e365 VUZP1 V29.S4, V1.S4, V6.S4 // 26189d4e366 VUZP1 V30.D2, V0.D2, V7.D2 // 0718de4e367 VUZP2 V0.D2, V30.D2, V1.D2 // c15bc04e368 VUZP2 V30.D2, V0.D2, V29.D2 // 1d58de4e369 VUSHLL $0, V30.B8, V30.H8 // dea7082f370 VUSHLL $0, V30.H4, V29.S4 // dda7102f371 VUSHLL $0, V29.S2, V2.D2 // a2a7202f372 VUSHLL2 $0, V30.B16, V2.H8 // c2a7086f373 VUSHLL2 $0, V30.H8, V30.S4 // dea7106f374 VUSHLL2 $0, V29.S4, V2.D2 // a2a7206f375 VUSHLL $7, V30.B8, V30.H8 // dea70f2f376 VUSHLL $15, V30.H4, V29.S4 // dda71f2f377 VUSHLL2 $31, V30.S4, V2.D2 // c2a73f6f378 VSSHLL $0, V1.B8, V2.H8 // 22a4080f379 VSSHLL $0, V1.H4, V2.S4 // 22a4100f380 VSSHLL $0, V1.S2, V2.D2 // 22a4200f381 VSSHLL2 $0, V1.B16, V2.H8 // 22a4084f382 VSSHLL2 $0, V1.H8, V2.S4 // 22a4104f383 VSSHLL2 $0, V1.S4, V2.D2 // 22a4204f384 VSSHLL $7, V1.B8, V2.H8 // 22a40f0f385 VSSHLL $15, V1.H4, V2.S4 // 22a41f0f386 VSSHLL2 $31, V1.S4, V2.D2 // 22a43f4f387 VBIF V0.B8, V30.B8, V1.B8 // c11fe02e388 VBIF V30.B16, V0.B16, V2.B16 // 021cfe6e389 FMOVS $(4.0), F0 // 0010221e390 FMOVD $(4.0), F0 // 0010621e391 FMOVS $(0.265625), F1 // 01302a1e392 FMOVD $(0.1796875), F2 // 02f0681e393 FMOVS $(0.96875), F3 // 03f02d1e394 FMOVD $(28.0), F4 // 0490671e395 FMOVD $0, F0 // e003679e396 FMOVS $0, F0 // e003271e397 FMOVD ZR, F0 // e003679e398 FMOVS ZR, F0 // e003271e399 FMOVD F1, ZR // 3f00669e400 FMOVS F1, ZR // 3f00261e401 VUADDW V9.B8, V12.H8, V14.H8 // 8e11292e402 VUADDW V13.H4, V10.S4, V11.S4 // 4b116d2e403 VUADDW V21.S2, V24.D2, V29.D2 // 1d13b52e404 VUADDW2 V9.B16, V12.H8, V14.H8 // 8e11296e405 VUADDW2 V13.H8, V20.S4, V30.S4 // 9e126d6e406 VUADDW2 V21.S4, V24.D2, V29.D2 // 1d13b56e407 VUMAX V3.B8, V2.B8, V1.B8 // 4164232e408 VUMAX V3.B16, V2.B16, V1.B16 // 4164236e409 VUMAX V3.H4, V2.H4, V1.H4 // 4164632e410 VUMAX V3.H8, V2.H8, V1.H8 // 4164636e411 VUMAX V3.S2, V2.S2, V1.S2 // 4164a32e412 VUMAX V3.S4, V2.S4, V1.S4 // 4164a36e413 VUMIN V3.B8, V2.B8, V1.B8 // 416c232e414 VUMIN V3.B16, V2.B16, V1.B16 // 416c236e415 VUMIN V3.H4, V2.H4, V1.H4 // 416c632e416 VUMIN V3.H8, V2.H8, V1.H8 // 416c636e417 VUMIN V3.S2, V2.S2, V1.S2 // 416ca32e418 VUMIN V3.S4, V2.S4, V1.S4 // 416ca36e419 VSMAX V3.S4, V2.S4, V1.S4 // 4164a34e420 VSMIN V3.S4, V2.S4, V1.S4 // 416ca34e421 VSMAXP V3.S4, V2.S4, V1.S4 // 41a4a34e422 VSMINP V3.S4, V2.S4, V1.S4 // 41aca34e423 VUMAXP V3.S4, V2.S4, V1.S4 // 41a4a36e424 VUMINP V3.S4, V2.S4, V1.S4 // 41aca36e425 VFMAX V3.S4, V2.S4, V1.S4 // 41f4234e426 VFMIN V3.S4, V2.S4, V1.S4 // 41f4a34e427 VFMAXNM V3.S4, V2.S4, V1.S4 // 41c4234e428 VFMINNM V3.S4, V2.S4, V1.S4 // 41c4a34e429 VFMAXP V3.S4, V2.S4, V1.S4 // 41f4236e430 VFADDP V3.S4, V2.S4, V1.S4 // 41d4236e431 VFADDP V3.S2, V2.S2, V1.S2 // 41d4232e432 VFADDP V3.D2, V2.D2, V1.D2 // 41d4636e433 VFMINP V3.S4, V2.S4, V1.S4 // 41f4a36e434 VFMAXNMP V3.S4, V2.S4, V1.S4 // 41c4236e435 VFMINNMP V3.S4, V2.S4, V1.S4 // 41c4a36e436 FCCMPS LT, F1, F2, $1 // 41b4211e437 FMADDS F1, F3, F2, F4 // 440c011f438 FMADDD F4, F5, F4, F4 // 8414441f439 FMSUBS F13, F21, F13, F19 // b3d50d1f440 FMSUBD F11, F7, F15, F31 // ff9d4b1f441 FNMADDS F1, F3, F2, F4 // 440c211f442 FNMADDD F1, F3, F2, F4 // 440c611f443 FNMSUBS F1, F3, F2, F4 // 448c211f444 FNMSUBD F1, F3, F2, F4 // 448c611f445 FADDS F2, F3, F4 // 6428221e446 FADDD F1, F2 // 4228611e447 VDUP V19.S[0], V17.S4 // 7106044e448 VTRN1 V3.D2, V2.D2, V20.D2 // 5428c34e449 VTRN2 V3.D2, V2.D2, V21.D2 // 5568c34e450 VTRN1 V5.D2, V4.D2, V22.D2 // 9628c54e451 VTRN2 V5.D2, V4.D2, V23.D2 // 9768c54e452453454// special455 PRFM (R2), PLDL1KEEP // 400080f9456 PRFM 16(R2), PLDL1KEEP // 400880f9457 PRFM 48(R6), PSTL2STRM // d31880f9458 PRFM 8(R12), PLIL3STRM // 8d0580f9459 PRFM (R8), $25 // 190180f9460 PRFM 8(R9), $30 // 3e0580f9461 RPRFM (R1), R2, PLDKEEP // 3848a2f8462 RPRFM (RSP), R4, PSTSTRM // fd4ba4f8463 RPRFM (R6), R12, $25 // d978acf8464 NOOP // 1f2003d5465 HINT $0 // 1f2003d5466 DMB $1467 SVC468 SB // ff3003d5469470// encryption471 SHA256H V9.S4, V3, V2 // 6240095e472 SHA256H2 V9.S4, V4, V3 // 8350095e473 SHA256SU0 V8.S4, V7.S4 // 0729285e474 SHA256SU1 V6.S4, V5.S4, V7.S4 // a760065e475 SHA1SU0 V11.S4, V8.S4, V6.S4 // 06310b5e476 SHA1SU1 V5.S4, V1.S4 // a118285e477 SHA1C V1.S4, V2, V3 // 4300015e478 SHA1H V5, V4 // a408285e479 SHA1M V8.S4, V7, V6 // e620085e480 SHA1P V11.S4, V10, V9 // 49110b5e481 SHA512H V2.D2, V1, V0 // 208062ce482 SHA512H2 V4.D2, V3, V2 // 628464ce483 SHA512SU0 V9.D2, V8.D2 // 2881c0ce484 SHA512SU1 V7.D2, V6.D2, V5.D2 // c58867ce485 VRAX1 V26.D2, V29.D2, V30.D2 // be8f7ace486 VXAR $63, V27.D2, V21.D2, V26.D2 // bafe9bce487 VPMULL V2.D1, V1.D1, V3.Q1 // 23e0e20e488 VPMULL2 V2.D2, V1.D2, V4.Q1 // 24e0e24e489 VPMULL V2.B8, V1.B8, V3.H8 // 23e0220e490 VPMULL2 V2.B16, V1.B16, V4.H8 // 24e0224e491 VUMULL V0.H4, V1.H4, V21.S4 // 35c0602e492 VUMULL2 V0.H8, V1.H8, V22.S4 // 36c0606e493 VUMULL V22.H4, V31.H4, V23.S4 // f7c3762e494 VUMULL2 V22.H8, V31.H8, V24.S4 // f8c3766e495 VUMLAL V0.H4, V1.H4, V21.S4 // 3580602e496 VUMLAL2 V0.H8, V1.H8, V22.S4 // 3680606e497 VUMLSL V0.H4, V1.H4, V21.S4 // 35a0602e498 VUMLSL2 V0.H8, V1.H8, V22.S4 // 36a0606e499 VSMULL V0.B8, V1.B8, V5.H8 // 25c0200e500 VSMULL2 V0.B16, V1.B16, V6.H8 // 26c0204e501 VSMULL V0.S2, V1.S2, V7.D2 // 27c0a00e502 VSMULL2 V0.S4, V1.S4, V8.D2 // 28c0a04e503 VSMLAL V0.H4, V1.H4, V21.S4 // 3580600e504 VSMLAL2 V0.H8, V1.H8, V22.S4 // 3680604e505 VSMLSL V0.H4, V1.H4, V21.S4 // 35a0600e506 VSMLSL2 V0.H8, V1.H8, V22.S4 // 36a0604e507 VEOR3 V2.B16, V7.B16, V12.B16, V25.B16 // 990907ce508 VBCAX V1.B16, V2.B16, V26.B16, V31.B16 // 5f0722ce509 VREV32 V5.B16, V5.B16 // a508206e510 VREV64 V2.S2, V3.S2 // 4308a00e511 VREV64 V2.S4, V3.S4 // 4308a04e512 VREV16 V7.B16, V5.B16 // e518204e513 VREV16 V7.B8, V5.B8 // e518200e514515 VABS V0.B8, V1.B8 // 01b8200e516 VABS V0.B16, V1.B16 // 01b8204e517 VABS V0.H4, V1.H4 // 01b8600e518 VABS V0.H8, V1.H8 // 01b8604e519 VABS V0.S2, V1.S2 // 01b8a00e520 VABS V0.S4, V1.S4 // 01b8a04e521 VABS V0.D2, V1.D2 // 01b8e04e522 VCLS V0.B8, V1.B8 // 0148200e523 VCLS V0.B16, V1.B16 // 0148204e524 VCLS V0.H4, V1.H4 // 0148600e525 VCLS V0.H8, V1.H8 // 0148604e526 VCLS V0.S2, V1.S2 // 0148a00e527 VCLS V0.S4, V1.S4 // 0148a04e528 VCLZ V0.B8, V1.B8 // 0148202e529 VCLZ V0.B16, V1.B16 // 0148206e530 VCLZ V0.H4, V1.H4 // 0148602e531 VCLZ V0.H8, V1.H8 // 0148606e532 VCLZ V0.S2, V1.S2 // 0148a02e533 VCLZ V0.S4, V1.S4 // 0148a06e534 VNEG V0.B8, V1.B8 // 01b8202e535 VNEG V0.B16, V1.B16 // 01b8206e536 VNEG V0.H4, V1.H4 // 01b8602e537 VNEG V0.H8, V1.H8 // 01b8606e538 VNEG V0.S2, V1.S2 // 01b8a02e539 VNEG V0.S4, V1.S4 // 01b8a06e540 VNEG V0.D2, V1.D2 // 01b8e06e541 VFABS V0.S2, V1.S2 // 01f8a00e542 VFABS V0.S4, V1.S4 // 01f8a04e543 VFABS V0.D2, V1.D2 // 01f8e04e544 VFNEG V0.S2, V1.S2 // 01f8a02e545 VFNEG V0.S4, V1.S4 // 01f8a06e546 VFNEG V0.D2, V1.D2 // 01f8e06e547 VSQABS V0.B8, V1.B8 // 0178200e548 VSQABS V0.B16, V1.B16 // 0178204e549 VSQABS V0.H4, V1.H4 // 0178600e550 VSQABS V0.H8, V1.H8 // 0178604e551 VSQABS V0.S2, V1.S2 // 0178a00e552 VSQABS V0.S4, V1.S4 // 0178a04e553 VSQNEG V0.B8, V1.B8 // 0178202e554 VSQNEG V0.B16, V1.B16 // 0178206e555 VSQNEG V0.H4, V1.H4 // 0178602e556 VSQNEG V0.H8, V1.H8 // 0178606e557 VSQNEG V0.S2, V1.S2 // 0178a02e558 VSQNEG V0.S4, V1.S4 // 0178a06e559 VNOT V0.B8, V1.B8 // 0158202e560 VNOT V0.B16, V1.B16 // 0158206e561562// logical ops563//564// make sure constants get encoded into an instruction when it could565 AND R1@>33, R2566 AND $(1<<63), R1 // AND $-9223372036854775808, R1 // 21004192567 AND $(1<<63-1), R1 // AND $9223372036854775807, R1 // 21f84092568 ORR $(1<<63), R1 // ORR $-9223372036854775808, R1 // 210041b2569 ORR $(1<<63-1), R1 // ORR $9223372036854775807, R1 // 21f840b2570 EOR $(1<<63), R1 // EOR $-9223372036854775808, R1 // 210041d2571 EOR $(1<<63-1), R1 // EOR $9223372036854775807, R1 // 21f840d2572 ANDW $0x3ff00000, R2 // ANDW $1072693248, R2 // 42240c12573 BICW $0x3ff00000, R2 // BICW $1072693248, R2 // 42540212574 ORRW $0x3ff00000, R2 // ORRW $1072693248, R2 // 42240c32575 ORNW $0x3ff00000, R2 // ORNW $1072693248, R2 // 42540232576 EORW $0x3ff00000, R2 // EORW $1072693248, R2 // 42240c52577 EONW $0x3ff00000, R2 // EONW $1072693248, R2 // 42540252578 AND $0x22220000, R3, R4 // AND $572653568, R3, R4 // 5b44a4d264001b8a579 ORR $0x22220000, R3, R4 // ORR $572653568, R3, R4 // 5b44a4d264001baa580 EOR $0x22220000, R3, R4 // EOR $572653568, R3, R4 // 5b44a4d264001bca581 BIC $0x22220000, R3, R4 // BIC $572653568, R3, R4 // 5b44a4d264003b8a582 ORN $0x22220000, R3, R4 // ORN $572653568, R3, R4 // 5b44a4d264003baa583 EON $0x22220000, R3, R4 // EON $572653568, R3, R4 // 5b44a4d264003bca584 ANDS $0x22220000, R3, R4 // ANDS $572653568, R3, R4 // 5b44a4d264001bea585 BICS $0x22220000, R3, R4 // BICS $572653568, R3, R4 // 5b44a4d264003bea586 EOR $0xe03fffffffffffff, R20, R22 // EOR $-2287828610704211969, R20, R22 // 96e243d2587 TSTW $0x600000006, R1 // TSTW $25769803782, R1 // 3f041f72588 TST $0x4900000049, R0 // TST $313532612681, R0 // 3b0980d23b09c0f21f001bea589 ORR $0x170000, R2, R1 // ORR $1507328, R2, R1 // fb02a0d241001baa590 AND $0xff00ff, R2 // AND $16711935, R2 // fb1f80d2fb1fa0f242001b8a591 AND $0xff00ffff, R1 // AND $4278255615, R1 // fbff9fd21be0bff221001b8a592 ANDS $0xffff, R2 // ANDS $65535, R2 // 423c40f2593 AND $0x7fffffff, R3 // AND $2147483647, R3 // 63784092594 ANDS $0x0ffffffff80000000, R2 // ANDS $-2147483648, R2 // 428061f2595 AND $0xfffff, R2 // AND $1048575, R2 // 424c4092596 ANDW $0xf00fffff, R1 // ANDW $4027580415, R1 // 215c0412597 ANDSW $0xff00ffff, R1 // ANDSW $4278255615, R1 // 215c0872598 TST $0x11223344, R2 // TST $287454020, R2 // 9b6886d25b24a2f25f001bea599 TSTW $0xa000, R3 // TSTW $40960, R3 // 1b0094527f001b6a600 BICW $0xa000, R3 // BICW $40960, R3 // 1b00945263003b0a601 ORRW $0x1b000, R2, R3 // ORRW $110592, R2, R3 // 1b0096523b00a07243001b2a602 TSTW $0x500000, R1 // TSTW $5242880, R1 // 1b0aa0523f001b6a603 TSTW $0xff00ff, R1 // TSTW $16711935, R1 // 3f9c0072604 TSTW $0x60060, R5 // TSTW $393312, R5 // 1b0c8052db00a072bf001b6a605 TSTW $0x6006000060060, R5 // TSTW $1689262177517664, R5 // 1b0c8052db00a072bf001b6a606 ANDW $0x6006000060060, R5 // ANDW $1689262177517664, R5 // 1b0c8052db00a072a5001b0a607 ANDSW $0x6006000060060, R5 // ANDSW $1689262177517664, R5 // 1b0c8052db00a072a5001b6a608 EORW $0x6006000060060, R5 // EORW $1689262177517664, R5 // 1b0c8052db00a072a5001b4a609 ORRW $0x6006000060060, R5 // ORRW $1689262177517664, R5 // 1b0c8052db00a072a5001b2a610 BICW $0x6006000060060, R5 // BICW $1689262177517664, R5 // 1b0c8052db00a072a5003b0a611 EONW $0x6006000060060, R5 // EONW $1689262177517664, R5 // 1b0c8052db00a072a5003b4a612 ORNW $0x6006000060060, R5 // ORNW $1689262177517664, R5 // 1b0c8052db00a072a5003b2a613 BICSW $0x6006000060060, R5 // BICSW $1689262177517664, R5 // 1b0c8052db00a072a5003b6a614 AND $1, ZR // fb0340b2ff031b8a615 ANDW $1, ZR // fb030032ff031b0a616 // TODO: this could have better encoding617 ANDW $-1, R10 // 1b0080124a011b0a618 AND $8, R0, RSP // 1f007d92619 ORR $8, R0, RSP // 1f007db2620 EOR $8, R0, RSP // 1f007dd2621 BIC $8, R0, RSP // 1ff87c92622 ORN $8, R0, RSP // 1ff87cb2623 EON $8, R0, RSP // 1ff87cd2624 TST $15, R2 // 5f0c40f2625 TST R1, R2 // 5f0001ea626 TST R1->11, R2 // 5f2c81ea627 TST R1>>22, R2 // 5f5841ea628 TST R1<<33, R2 // 5f8401ea629 TST $0x22220000, R3 // TST $572653568, R3 // 5b44a4d27f001bea630631// move an immediate to a Rn.632 MOVD $0x3fffffffc000, R0 // MOVD $70368744161280, R0 // e07f72b2633 MOVW $1000000, R4 // 04488852e401a072634 MOVW $0xaaaa0000, R1 // MOVW $2863267840, R1 // 4155b552635 MOVW $0xaaaaffff, R1 // MOVW $2863333375, R1 // a1aaaa12636 MOVW $0xaaaa, R1 // MOVW $43690, R1 // 41559552637 MOVW $0xffffaaaa, R1 // MOVW $4294945450, R1 // a1aa8a12638 MOVW $0xffff0000, R1 // MOVW $4294901760, R1 // e1ffbf52639 MOVD $0xffff00000000000, R1 // MOVD $1152903912420802560, R1 // e13f54b2640 MOVD $0x1111000000001111, R1 // MOVD $1229764173248860433, R1 // 212282d22122e2f2641 MOVD $0x1111ffff1111ffff, R1 // MOVD $1230045644216991743, R1 // c1ddbd922122e2f2642 MOVD $0x1111222233334444, R1 // MOVD $1229801703532086340, R1 // 818888d26166a6f24144c4f22122e2f2643 MOVD $0xaaaaffff, R1 // MOVD $2863333375, R1 // e1ff9fd24155b5f2644 MOVD $0x11110000, R1 // MOVD $286326784, R1 // 2122a2d2645 MOVD $0xaaaa0000aaaa1111, R1 // MOVD $-6149102338357718767, R1 // 212282d24155b5f24155f5f2646 MOVD $0x1111ffff1111aaaa, R1 // MOVD $1230045644216969898, R1 // a1aa8a922122a2f22122e2f2647 MOVD $0xaaaaaaaaaaaaaaab, R1 // MOVD $-6148914691236517205, R1 // e1f301b2615595f2648 MOVD $0x0ff019940ff00ff0, R1 // MOVD $1148446028692721648, R1 // e19f0cb28132c3f2649 MOVD $0, R1 // e1031faa650 MOVD $-1, R1 // 01008092651 MOVD $0x210000, R0 // MOVD $2162688, R0 // 2004a0d2652 MOVD $0xffffffffffffaaaa, R1 // MOVD $-21846, R1 // a1aa8a92653 MOVW $1, ZR // 3f008052654 MOVW $1, R1655 MOVD $1, ZR // 3f0080d2656 MOVD $1, R1657 MOVK $1, R1658 MOVD $0x1000100010001000, RSP // MOVD $1152939097061330944, RSP // ff8304b2659 MOVW $0x10001000, RSP // MOVW $268439552, RSP // ff830432660 ADDW $0x10001000, R1 // ADDW $268439552, R1 // fb83043221001b0b661 ADDW $0x22220000, RSP, R3 // ADDW $572653568, RSP, R3 // 5b44a452e3433b0b662663// move a large constant to a Vd.664 VMOVS $0x80402010, V11 // VMOVS $2151686160, V11665 VMOVD $0x8040201008040201, V20 // VMOVD $-9205322385119247871, V20666 VMOVQ $0x7040201008040201, $0x8040201008040201, V10 // VMOVQ $8088500183983456769, $-9205322385119247871, V10667 VMOVQ $0x8040201008040202, $0x7040201008040201, V20 // VMOVQ $-9205322385119247870, $8088500183983456769, V20668669// mov(to/from sp)670 MOVD $0x1002(RSP), R1 // MOVD $4098(RSP), R1 // e107409121080091671 MOVD $0x1708(RSP), RSP // MOVD $5896(RSP), RSP // ff074091ff231c91672 MOVD $0x2001(R7), R1 // MOVD $8193(R7), R1 // e108409121040091673 MOVD $0xffffff(R7), R1 // MOVD $16777215(R7), R1 // e1fc7f9121fc3f91674 MOVD $-0x1(R7), R1 // MOVD $-1(R7), R1 // e10400d1675 MOVD $-0x30(R7), R1 // MOVD $-48(R7), R1 // e1c000d1676 MOVD $-0x708(R7), R1 // MOVD $-1800(R7), R1 // e1201cd1677 MOVD $-0x2000(RSP), R1 // MOVD $-8192(RSP), R1 // e10b40d1678 MOVD $-0x10000(RSP), RSP // MOVD $-65536(RSP), RSP // ff4340d1679 MOVW R1, R2680 MOVW ZR, R1681 MOVW R1, ZR682 MOVD R1, R2683 MOVD ZR, R1684685// store and load686//687// LD1/ST1688 VLD1 (R8), [V1.B16, V2.B16] // 01a1404c689 VLD1.P (R3), [V31.H8, V0.H8] // 7fa4df4c690 VLD1.P (R8)(R20), [V21.B16, V22.B16] // 15a1d44c691 VLD1.P 64(R1), [V5.B16, V6.B16, V7.B16, V8.B16] // 2520df4c692 VLD1.P 1(R0), V4.B[15] // 041cdf4d693 VLD1.P 2(R0), V4.H[7] // 0458df4d694 VLD1.P 4(R0), V4.S[3] // 0490df4d695 VLD1.P 8(R0), V4.D[1] // 0484df4d696 VLD1.P (R0)(R1), V4.D[1] // 0484c14d697 VLD1 (R0), V4.D[1] // 0484404d698 VST1.P [V4.S4, V5.S4], 32(R1) // 24a89f4c699 VST1 [V0.S4, V1.S4], (R0) // 00a8004c700 VLD1 (R30), [V15.S2, V16.S2] // cfab400c701 VLD1.P 24(R30), [V3.S2,V4.S2,V5.S2] // c36bdf0c702 VLD2 (R29), [V23.H8, V24.H8] // b787404c703 VLD2.P 16(R0), [V18.B8, V19.B8] // 1280df0c704 VLD2.P (R1)(R2), [V15.S2, V16.S2] // 2f88c20c705 VLD3 (R27), [V11.S4, V12.S4, V13.S4] // 6b4b404c706 VLD3.P 48(RSP), [V11.S4, V12.S4, V13.S4] // eb4bdf4c707 VLD3.P (R30)(R2), [V14.D2, V15.D2, V16.D2] // ce4fc24c708 VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4] // ea05400c709 VLD4.P 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8] // 1f03df0c710 VLD4.P (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2] // ae09c90c711 VLD1R (R1), [V9.B8] // 29c0400d712 VLD1R.P (R1), [V9.B8] // 29c0df0d713 VLD1R.P 1(R1), [V2.B8] // 22c0df0d714 VLD1R.P 2(R1), [V2.H4] // 22c4df0d715 VLD1R (R0), [V0.B16] // 00c0404d716 VLD1R.P (R0), [V0.B16] // 00c0df4d717 VLD1R.P (R15)(R1), [V15.H4] // efc5c10d718 VLD2R (R15), [V15.H4, V16.H4] // efc5600d719 VLD2R.P 16(R0), [V0.D2, V1.D2] // 00ccff4d720 VLD2R.P (R0)(R5), [V31.D1, V0.D1] // 1fcce50d721 VLD3R (RSP), [V31.S2, V0.S2, V1.S2] // ffeb400d722 VLD3R.P 6(R15), [V15.H4, V16.H4, V17.H4] // efe5df0d723 VLD3R.P (R15)(R6), [V15.H8, V16.H8, V17.H8] // efe5c64d724 VLD4R (R0), [V0.B8, V1.B8, V2.B8, V3.B8] // 00e0600d725 VLD4R.P 16(RSP), [V31.S4, V0.S4, V1.S4, V2.S4] // ffebff4d726 VLD4R.P (R15)(R9), [V15.H4, V16.H4, V17.H4, V18.H4] // efe5e90d727 VST1.P [V24.S2], 8(R2) // 58789f0c728 VST1 [V29.S2, V30.S2], (R29) // bdab000c729 VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c730 VST1.P V4.B[15], 1(R0) // 041c9f4d731 VST1.P V4.H[7], 2(R0) // 04589f4d732 VST1.P V4.S[3], 4(R0) // 04909f4d733 VST1.P V4.D[1], 8(R0) // 04849f4d734 VST1.P V4.D[1], (R0)(R1) // 0484814d735 VST1 V4.D[1], (R0) // 0484004d736 VST2 [V22.H8, V23.H8], (R23) // f686004c737 VST2.P [V14.H4, V15.H4], 16(R17) // 2e869f0c738 VST2.P [V14.H4, V15.H4], (R3)(R17) // 6e84910c739 VST3 [V1.D2, V2.D2, V3.D2], (R11) // 614d004c740 VST3.P [V18.S4, V19.S4, V20.S4], 48(R25) // 324b9f4c741 VST3.P [V19.B8, V20.B8, V21.B8], (R3)(R7) // 7340870c742 VST4 [V22.D2, V23.D2, V24.D2, V25.D2], (R3) // 760c004c743 VST4.P [V14.D2, V15.D2, V16.D2, V17.D2], 64(R15) // ee0d9f4c744 VST4.P [V24.B8, V25.B8, V26.B8, V27.B8], (R3)(R23) // 7800970c745746// pre/post-indexed747 FMOVS.P F20, 4(R0) // 144400bc748 FMOVS.W F20, 4(R0) // 144c00bc749 FMOVD.P F20, 8(R1) // 348400fc750 FMOVQ.P F13, 11(R10) // 4db5803c751 FMOVQ.W F15, 11(R20) // 8fbe803c752753 FMOVS.P 8(R0), F20 // 148440bc754 FMOVS.W 8(R0), F20 // 148c40bc755 FMOVD.W 8(R1), F20 // 348c40fc756 FMOVQ.P 11(R10), F13 // 4db5c03c757 FMOVQ.W 11(R20), F15 // 8fbec03c758759// storing $0 to memory, $0 will be replaced with ZR.760 MOVD $0, (R1) // 3f0000f9761 MOVW $0, (R1) // 3f0000b9762 MOVWU $0, (R1) // 3f0000b9763 MOVH $0, (R1) // 3f000079764 MOVHU $0, (R1) // 3f000079765 MOVB $0, (R1) // 3f000039766 MOVBU $0, (R1) // 3f000039767768// small offset fits into instructions769 MOVB R1, 1(R2) // 41040039770 MOVH R1, 1(R2) // 41100078771 MOVH R1, 2(R2) // 41040079772 MOVW R1, 1(R2) // 411000b8773 MOVW R1, 4(R2) // 410400b9774 MOVD R1, 1(R2) // 411000f8775 MOVD R1, 8(R2) // 410400f9776 MOVD ZR, (R1)777 MOVW ZR, (R1)778 FMOVS F1, 1(R2) // 411000bc779 FMOVS F1, 4(R2) // 410400bd780 FMOVS F20, (R0) // 140000bd781 FMOVD F1, 1(R2) // 411000fc782 FMOVD F1, 8(R2) // 410400fd783 FMOVD F20, (R2) // 540000fd784 FMOVQ F0, 32(R5)// a008803d785 FMOVQ F10, 65520(R10) // 4afdbf3d786 FMOVQ F11, 64(RSP) // eb13803d787 FMOVQ F11, 8(R20) // 8b82803c788 FMOVQ F11, 4(R20) // 8b42803c789790 MOVB 1(R1), R2 // 22048039791 MOVH 1(R1), R2 // 22108078792 MOVH 2(R1), R2 // 22048079793 MOVW 1(R1), R2 // 221080b8794 MOVW 4(R1), R2 // 220480b9795 MOVD 1(R1), R2 // 221040f8796 MOVD 8(R1), R2 // 220440f9797 FMOVS (R0), F20 // 140040bd798 FMOVS 1(R1), F2 // 221040bc799 FMOVS 4(R1), F2 // 220440bd800 FMOVD 1(R1), F2 // 221040fc801 FMOVD 8(R1), F2 // 220440fd802 FMOVQ 32(R5), F2 // a208c03d803 FMOVQ 65520(R10), F10 // 4afdff3d804 FMOVQ 64(RSP), F11 // eb13c03d805806// medium offsets that either fit a single instruction or can use add+ldr/str807 MOVD -4095(R17), R3 // 3bfe3fd1630340f9808 MOVD -391(R17), R3 // 3b1e06d1630340f9809 MOVD -257(R17), R3 // 3b0604d1630340f9810 MOVD -256(R17), R3 // 230250f8811 MOVD 255(R17), R3 // 23f24ff8812 MOVD 256(R17), R3 // 238240f9813 MOVD 257(R17), R3 // 3b060491630340f9814 MOVD 391(R17), R3 // 3b1e0691630340f9815 MOVD 4095(R17), R3 // 3bfe3f91630340f9816817 MOVD R0, -4095(R17) // 3bfe3fd1600300f9818 MOVD R0, -391(R17) // 3b1e06d1600300f9819 MOVD R0, -257(R17) // 3b0604d1600300f9820 MOVD R0, -256(R17) // 200210f8821 MOVD R0, 255(R17) // 20f20ff8822 MOVD R0, 256(R17) // 208200f9823 MOVD R0, 257(R17) // 3b060491600300f9824 MOVD R0, 391(R17) // 3b1e0691600300f9825 MOVD R0, 4095(R17) // 3bfe3f91600300f9826 MOVD R0, 4096(R17) // 200208f9827 MOVD R3, -4095(R17) // 3bfe3fd1630300f9828 MOVD R3, -391(R17) // 3b1e06d1630300f9829 MOVD R3, -257(R17) // 3b0604d1630300f9830 MOVD R3, -256(R17) // 230210f8831 MOVD R3, 255(R17) // 23f20ff8832 MOVD R3, 256(R17) // 238200f9833 MOVD R3, 257(R17) // 3b060491630300f9834 MOVD R3, 391(R17) // 3b1e0691630300f9835 MOVD R3, 4095(R17) // 3bfe3f91630300f9836837// large aligned offset, use two instructions(add+ldr/str).838 MOVB R1, 0x1001(R2) // MOVB R1, 4097(R2) // 5b08009161ff3f39839 MOVB R1, 0xffffff(R2) // MOVB R1, 16777215(R2) // 5bfc7f9161ff3f39840 MOVH R1, 0x2002(R2) // MOVH R1, 8194(R2) // 5b10009161ff3f79841 MOVH R1, 0x1000ffe(R2) // MOVH R1, 16781310(R2) // 5bfc7f9161ff3f79842 MOVW R1, 0x4004(R2) // MOVW R1, 16388(R2) // 5b20009161ff3fb9843 MOVW R1, 0x1002ffc(R2) // MOVW R1, 16789500(R2) // 5bfc7f9161ff3fb9844 MOVD R1, 0x8008(R2) // MOVD R1, 32776(R2) // 5b40009161ff3ff9845 MOVD R1, 0x1006ff8(R2) // MOVD R1, 16805880(R2) // 5bfc7f9161ff3ff9846 FMOVS F1, 0x4004(R2) // FMOVS F1, 16388(R2) // 5b20009161ff3fbd847 FMOVS F1, 0x1002ffc(R2) // FMOVS F1, 16789500(R2) // 5bfc7f9161ff3fbd848 FMOVD F1, 0x8008(R2) // FMOVD F1, 32776(R2) // 5b40009161ff3ffd849 FMOVD F1, 0x1006ff8(R2) // FMOVD F1, 16805880(R2) // 5bfc7f9161ff3ffd850851 MOVB 0x1001(R1), R2 // MOVB 4097(R1), R2 // 3b08009162ffbf39852 MOVB 0xffffff(R1), R2 // MOVB 16777215(R1), R2 // 3bfc7f9162ffbf39853 MOVH 0x2002(R1), R2 // MOVH 8194(R1), R2 // 3b10009162ffbf79854 MOVH 0x1000ffe(R1), R2 // MOVH 16781310(R1), R2 // 3bfc7f9162ffbf79855 MOVW 0x4004(R1), R2 // MOVW 16388(R1), R2 // 3b20009162ffbfb9856 MOVW 0x1002ffc(R1), R2 // MOVW 16789500(R1), R2 // 3bfc7f9162ffbfb9857 MOVD 0x8008(R1), R2 // MOVD 32776(R1), R2 // 3b40009162ff7ff9858 MOVD 0x1006ff8(R1), R2 // MOVD 16805880(R1), R2 // 3bfc7f9162ff7ff9859 FMOVS 0x4004(R1), F2 // FMOVS 16388(R1), F2 // 3b20009162ff7fbd860 FMOVS 0x1002ffc(R1), F2 // FMOVS 16789500(R1), F2 // 3bfc7f9162ff7fbd861 FMOVD 0x8008(R1), F2 // FMOVD 32776(R1), F2 // 3b40009162ff7ffd862 FMOVD 0x1006ff8(R1), F2 // FMOVD 16805880(R1), F2 // 3bfc7f9162ff7ffd863864// very large or unaligned offset uses constant pool.865// the encoding cannot be checked as the address of the constant pool is unknown.866// here we only test that they can be assembled.867 MOVB R1, 0x1000000(R2) // MOVB R1, 16777216(R2)868 MOVB R1, 0x44332211(R2) // MOVB R1, 1144201745(R2)869 MOVH R1, 0x1001000(R2) // MOVH R1, 16781312(R2)870 MOVH R1, 0x44332211(R2) // MOVH R1, 1144201745(R2)871 MOVW R1, 0x1003000(R2) // MOVW R1, 16789504(R2)872 MOVW R1, 0x44332211(R2) // MOVW R1, 1144201745(R2)873 MOVD R1, 0x1007000(R2) // MOVD R1, 16805888(R2)874 MOVD R1, 0x44332211(R2) // MOVD R1, 1144201745(R2)875 FMOVS F1, 0x1003000(R2) // FMOVS F1, 16789504(R2)876 FMOVS F1, 0x44332211(R2) // FMOVS F1, 1144201745(R2)877 FMOVD F1, 0x1007000(R2) // FMOVD F1, 16805888(R2)878 FMOVD F1, 0x44332211(R2) // FMOVD F1, 1144201745(R2)879 FMOVQ F1, 0x1003000(R2) // FMOVQ F1, 16789504(R2)880 FMOVQ F1, 0x44332211(R2) // FMOVQ F1, 1144201745(R2)881882 MOVB 0x1000000(R1), R2 // MOVB 16777216(R1), R2883 MOVB 0x44332211(R1), R2 // MOVB 1144201745(R1), R2884 MOVH 0x1000000(R1), R2 // MOVH 16777216(R1), R2885 MOVH 0x44332211(R1), R2 // MOVH 1144201745(R1), R2886 MOVW 0x1000000(R1), R2 // MOVW 16777216(R1), R2887 MOVW 0x44332211(R1), R2 // MOVW 1144201745(R1), R2888 MOVD 0x1000000(R1), R2 // MOVD 16777216(R1), R2889 MOVD 0x44332211(R1), R2 // MOVD 1144201745(R1), R2890 FMOVS 0x1000000(R1), F2 // FMOVS 16777216(R1), F2891 FMOVS 0x44332211(R1), F2 // FMOVS 1144201745(R1), F2892 FMOVD 0x1000000(R1), F2 // FMOVD 16777216(R1), F2893 FMOVD 0x44332211(R1), F2 // FMOVD 1144201745(R1), F2894 FMOVQ 0x1000000(R1), F2 // FMOVQ 16777216(R1), F2895 FMOVQ 0x44332211(R1), F2 // FMOVQ 1144201745(R1), F2896897// shifted or extended register offset.898 MOVD (R2)(R6.SXTW), R4 // 44c866f8899 MOVD (R3)(R6), R5 // 656866f8900 MOVD (R3)(R6*1), R5 // 656866f8901 MOVD (R2)(R6), R4 // 446866f8902 MOVWU (R19)(R20<<2), R20 // 747a74b8903 MOVD (R2)(R3<<0), R1 // 416863f8904 MOVD (R2)(R6<<3), R4 // 447866f8905 MOVD (R3)(R7.SXTX<<3), R8 // 68f867f8906 MOVWU (R5)(R4.UXTW), R10 // aa4864b8907 MOVBU (R3)(R9.UXTW), R8 // 68486938908 MOVBU (R5)(R8), R10 // aa686838909 MOVHU (R2)(R7.SXTW<<1), R11 // 4bd86778910 MOVHU (R1)(R2<<1), R5 // 25786278911 MOVB (R9)(R3.UXTW), R6 // 2649a338912 MOVB (R10)(R6), R15 // 4f69a638913 MOVB (R29)(R30<<0), R14 // ae6bbe38914 MOVB (R29)(R30), R14 // ae6bbe38915 MOVH (R5)(R7.SXTX<<1), R19 // b3f8a778916 MOVH (R8)(R4<<1), R10 // 0a79a478917 MOVW (R9)(R8.SXTW<<2), R19 // 33d9a8b8918 MOVW (R1)(R4.SXTX), R11 // 2be8a4b8919 MOVW (R1)(R4.SXTX), ZR // 3fe8a4b8920 MOVW (R2)(R5), R12 // 4c68a5b8921 FMOVS (R2)(R6), F4 // 446866bc922 FMOVS (R2)(R6<<2), F4 // 447866bc923 FMOVD (R2)(R6), F4 // 446866fc924 FMOVD (R2)(R6<<3), F4 // 447866fc925926 MOVD R5, (R2)(R6<<3) // 457826f8927 MOVD R9, (R6)(R7.SXTX<<3) // c9f827f8928 MOVD ZR, (R6)(R7.SXTX<<3) // dff827f8929 MOVW R8, (R2)(R3.UXTW<<2) // 485823b8930 MOVW R7, (R3)(R4.SXTW) // 67c824b8931 MOVB R4, (R2)(R6.SXTX) // 44e82638932 MOVB R8, (R3)(R9.UXTW) // 68482938933 MOVB R10, (R5)(R8) // aa682838934 MOVB R10, (R5)(R8*1) // aa682838935 MOVH R11, (R2)(R7.SXTW<<1) // 4bd82778936 MOVH R5, (R1)(R2<<1) // 25782278937 MOVH R7, (R2)(R5.SXTX<<1) // 47f82578938 MOVH R8, (R3)(R6.UXTW) // 68482678939 MOVB R4, (R2)(R6.SXTX) // 44e82638940 FMOVS F4, (R2)(R6) // 446826bc941 FMOVS F4, (R2)(R6<<2) // 447826bc942 FMOVD F4, (R2)(R6) // 446826fc943 FMOVD F4, (R2)(R6<<3) // 447826fc944945// global address946 FMOVQ F5, x+8(SB)947 FMOVQ F5, x(SB)948 FMOVQ x+8(SB), F5949 FMOVQ x(SB), F5950951// vmov952 VMOV V8.S[1], R1 // 013d0c0e953 VMOV V0.D[0], R11 // 0b3c084e954 VMOV V0.D[1], R11 // 0b3c184e955 VMOV R20, V1.S[0] // 811e044e956 VMOV R20, V1.S[1] // 811e0c4e957 VMOV R1, V9.H4 // 290c020e958 VDUP R1, V9.H4 // 290c020e959 VMOV R22, V11.D2 // cb0e084e960 VDUP R22, V11.D2 // cb0e084e961 VMOV V2.B16, V4.B16 // 441ca24e962 VMOV V20.S[0], V20 // 9406045e963 VDUP V20.S[0], V20 // 9406045e964 VMOV V12.D[0], V12.D[1] // 8c05186e965 VMOV V10.S[0], V12.S[1] // 4c050c6e966 VMOV V9.H[0], V12.H[1] // 2c05066e967 VMOV V8.B[0], V12.B[1] // 0c05036e968 VMOV V8.B[7], V4.B[8] // 043d116e969970// CBZ971again:972 CBZ R1, again // CBZ R1973974// conditional operations975 CSET GT, R1 // e1d79f9a976 CSETW HI, R2 // e2979f1a977 CSEL LT, R1, R2, ZR // 3fb0829a978 CSELW LT, R2, R3, R4 // 44b0831a979 CSINC GT, R1, ZR, R3 // 23c49f9a980 CSNEG MI, R1, R2, R3 // 234482da981 CSINV CS, R1, R2, R3 // CSINV HS, R1, R2, R3 // 232082da982 CSINV HS, R1, R2, R3 // 232082da983 CSINVW MI, R2, ZR, R2 // 42409f5a984 CINC EQ, R4, R9 // 8914849a985 CINCW PL, R2, ZR // 5f44821a986 CINV PL, R11, R22 // 76418bda987 CINVW LS, R7, R13 // ed80875a988 CNEG LS, R13, R7 // a7858dda989 CNEGW EQ, R8, R13 // 0d15885a990991// atomic ops992 LDARB (R25), R2 // 22ffdf08993 LDARH (R5), R7 // a7fcdf48994 LDAXPW (R10), (R20, R16) // 54c17f88995 LDAXP (R25), (R30, R11) // 3eaf7fc8996 LDAXRW (R0), R2 // 02fc5f88997 LDXPW (R24), (R23, R11) // 172f7f88998 LDXP (R0), (R16, R13) // 10347fc8999 STLRB R11, (R22) // cbfe9f081000 STLRH R16, (R23) // f0fe9f481001 STLXP (R6, R3), (R10), R2 // 468d22c81002 STLXPW (R6, R11), (R22), R21 // c6ae35881003 STLXRW R1, (R0), R3 // 01fc03881004 STXP (R1, R2), (R3), R10 // 61082ac81005 STXP (R1, R2), (RSP), R10 // e10b2ac81006 STXPW (R1, R2), (R3), R10 // 61082a881007 STXPW (R1, R2), (RSP), R10 // e10b2a881008 SWPAD R5, (R6), R7 // c780a5f81009 SWPAD R5, (RSP), R7 // e783a5f81010 SWPAW R5, (R6), R7 // c780a5b81011 SWPAW R5, (RSP), R7 // e783a5b81012 SWPAH R5, (R6), R7 // c780a5781013 SWPAH R5, (RSP), R7 // e783a5781014 SWPAB R5, (R6), R7 // c780a5381015 SWPAB R5, (RSP), R7 // e783a5381016 SWPALD R5, (R6), R7 // c780e5f81017 SWPALD R5, (RSP), R7 // e783e5f81018 SWPALW R5, (R6), R7 // c780e5b81019 SWPALW R5, (RSP), R7 // e783e5b81020 SWPALH R5, (R6), R7 // c780e5781021 SWPALH R5, (RSP), R7 // e783e5781022 SWPALB R5, (R6), R7 // c780e5381023 SWPALB R5, (RSP), R7 // e783e5381024 SWPD R5, (R6), R7 // c78025f81025 SWPD R5, (RSP), R7 // e78325f81026 SWPW R5, (R6), R7 // c78025b81027 SWPW R5, (RSP), R7 // e78325b81028 SWPH R5, (R6), R7 // c78025781029 SWPH R5, (RSP), R7 // e78325781030 SWPB R5, (R6), R7 // c78025381031 SWPB R5, (RSP), R7 // e78325381032 SWPLD R5, (R6), R7 // c78065f81033 SWPLD R5, (RSP), R7 // e78365f81034 SWPLW R5, (R6), R7 // c78065b81035 SWPLW R5, (RSP), R7 // e78365b81036 SWPLH R5, (R6), R7 // c78065781037 SWPLH R5, (RSP), R7 // e78365781038 SWPLB R5, (R6), R7 // c78065381039 SWPLB R5, (RSP), R7 // e78365381040 LDADDAD R5, (R6), R7 // c700a5f81041 LDADDAD R5, (RSP), R7 // e703a5f81042 LDADDAW R5, (R6), R7 // c700a5b81043 LDADDAW R5, (RSP), R7 // e703a5b81044 LDADDAH R5, (R6), R7 // c700a5781045 LDADDAH R5, (RSP), R7 // e703a5781046 LDADDAB R5, (R6), R7 // c700a5381047 LDADDAB R5, (RSP), R7 // e703a5381048 LDADDALD R5, (R6), R7 // c700e5f81049 LDADDALD R5, (RSP), R7 // e703e5f81050 LDADDALW R5, (R6), R7 // c700e5b81051 LDADDALW R5, (RSP), R7 // e703e5b81052 LDADDALH R5, (R6), R7 // c700e5781053 LDADDALH R5, (RSP), R7 // e703e5781054 LDADDALB R5, (R6), R7 // c700e5381055 LDADDALB R5, (RSP), R7 // e703e5381056 LDADDD R5, (R6), R7 // c70025f81057 LDADDD R5, (RSP), R7 // e70325f81058 LDADDW R5, (R6), R7 // c70025b81059 LDADDW R5, (RSP), R7 // e70325b81060 LDADDH R5, (R6), R7 // c70025781061 LDADDH R5, (RSP), R7 // e70325781062 LDADDB R5, (R6), R7 // c70025381063 LDADDB R5, (RSP), R7 // e70325381064 LDADDLD R5, (R6), R7 // c70065f81065 LDADDLD R5, (RSP), R7 // e70365f81066 LDADDLW R5, (R6), R7 // c70065b81067 LDADDLW R5, (RSP), R7 // e70365b81068 LDADDLH R5, (R6), R7 // c70065781069 LDADDLH R5, (RSP), R7 // e70365781070 LDADDLB R5, (R6), R7 // c70065381071 LDADDLB R5, (RSP), R7 // e70365381072 LDCLRAD R5, (R6), R7 // c710a5f81073 LDCLRAD R5, (RSP), R7 // e713a5f81074 LDCLRAW R5, (R6), R7 // c710a5b81075 LDCLRAW R5, (RSP), R7 // e713a5b81076 LDCLRAH R5, (R6), R7 // c710a5781077 LDCLRAH R5, (RSP), R7 // e713a5781078 LDCLRAB R5, (R6), R7 // c710a5381079 LDCLRAB R5, (RSP), R7 // e713a5381080 LDCLRALD R5, (R6), R7 // c710e5f81081 LDCLRALD R5, (RSP), R7 // e713e5f81082 LDCLRALW R5, (R6), R7 // c710e5b81083 LDCLRALW R5, (RSP), R7 // e713e5b81084 LDCLRALH R5, (R6), R7 // c710e5781085 LDCLRALH R5, (RSP), R7 // e713e5781086 LDCLRALB R5, (R6), R7 // c710e5381087 LDCLRALB R5, (RSP), R7 // e713e5381088 LDCLRD R5, (R6), R7 // c71025f81089 LDCLRD R5, (RSP), R7 // e71325f81090 LDCLRW R5, (R6), R7 // c71025b81091 LDCLRW R5, (RSP), R7 // e71325b81092 LDCLRH R5, (R6), R7 // c71025781093 LDCLRH R5, (RSP), R7 // e71325781094 LDCLRB R5, (R6), R7 // c71025381095 LDCLRB R5, (RSP), R7 // e71325381096 LDCLRLD R5, (R6), R7 // c71065f81097 LDCLRLD R5, (RSP), R7 // e71365f81098 LDCLRLW R5, (R6), R7 // c71065b81099 LDCLRLW R5, (RSP), R7 // e71365b81100 LDCLRLH R5, (R6), R7 // c71065781101 LDCLRLH R5, (RSP), R7 // e71365781102 LDCLRLB R5, (R6), R7 // c71065381103 LDCLRLB R5, (RSP), R7 // e71365381104 LDEORAD R5, (R6), R7 // c720a5f81105 LDEORAD R5, (RSP), R7 // e723a5f81106 LDEORAW R5, (R6), R7 // c720a5b81107 LDEORAW R5, (RSP), R7 // e723a5b81108 LDEORAH R5, (R6), R7 // c720a5781109 LDEORAH R5, (RSP), R7 // e723a5781110 LDEORAB R5, (R6), R7 // c720a5381111 LDEORAB R5, (RSP), R7 // e723a5381112 LDEORALD R5, (R6), R7 // c720e5f81113 LDEORALD R5, (RSP), R7 // e723e5f81114 LDEORALW R5, (R6), R7 // c720e5b81115 LDEORALW R5, (RSP), R7 // e723e5b81116 LDEORALH R5, (R6), R7 // c720e5781117 LDEORALH R5, (RSP), R7 // e723e5781118 LDEORALB R5, (R6), R7 // c720e5381119 LDEORALB R5, (RSP), R7 // e723e5381120 LDEORD R5, (R6), R7 // c72025f81121 LDEORD R5, (RSP), R7 // e72325f81122 LDEORW R5, (R6), R7 // c72025b81123 LDEORW R5, (RSP), R7 // e72325b81124 LDEORH R5, (R6), R7 // c72025781125 LDEORH R5, (RSP), R7 // e72325781126 LDEORB R5, (R6), R7 // c72025381127 LDEORB R5, (RSP), R7 // e72325381128 LDEORLD R5, (R6), R7 // c72065f81129 LDEORLD R5, (RSP), R7 // e72365f81130 LDEORLW R5, (R6), R7 // c72065b81131 LDEORLW R5, (RSP), R7 // e72365b81132 LDEORLH R5, (R6), R7 // c72065781133 LDEORLH R5, (RSP), R7 // e72365781134 LDEORLB R5, (R6), R7 // c72065381135 LDEORLB R5, (RSP), R7 // e72365381136 LDADDD R5, (R6), ZR // df0025f81137 LDADDW R5, (R6), ZR // df0025b81138 LDADDH R5, (R6), ZR // df0025781139 LDADDB R5, (R6), ZR // df0025381140 LDADDLD R5, (R6), ZR // df0065f81141 LDADDLW R5, (R6), ZR // df0065b81142 LDADDLH R5, (R6), ZR // df0065781143 LDADDLB R5, (R6), ZR // df0065381144 LDCLRD R5, (R6), ZR // df1025f81145 LDCLRW R5, (R6), ZR // df1025b81146 LDCLRH R5, (R6), ZR // df1025781147 LDCLRB R5, (R6), ZR // df1025381148 LDCLRLD R5, (R6), ZR // df1065f81149 LDCLRLW R5, (R6), ZR // df1065b81150 LDCLRLH R5, (R6), ZR // df1065781151 LDCLRLB R5, (R6), ZR // df1065381152 LDEORD R5, (R6), ZR // df2025f81153 LDEORW R5, (R6), ZR // df2025b81154 LDEORH R5, (R6), ZR // df2025781155 LDEORB R5, (R6), ZR // df2025381156 LDEORLD R5, (R6), ZR // df2065f81157 LDEORLW R5, (R6), ZR // df2065b81158 LDEORLH R5, (R6), ZR // df2065781159 LDEORLB R5, (R6), ZR // df2065381160 LDORD R5, (R6), ZR // df3025f81161 LDORW R5, (R6), ZR // df3025b81162 LDORH R5, (R6), ZR // df3025781163 LDORB R5, (R6), ZR // df3025381164 LDORLD R5, (R6), ZR // df3065f81165 LDORLW R5, (R6), ZR // df3065b81166 LDORLH R5, (R6), ZR // df3065781167 LDORLB R5, (R6), ZR // df3065381168 LDORAD R5, (R6), R7 // c730a5f81169 LDORAD R5, (RSP), R7 // e733a5f81170 LDORAW R5, (R6), R7 // c730a5b81171 LDORAW R5, (RSP), R7 // e733a5b81172 LDORAH R5, (R6), R7 // c730a5781173 LDORAH R5, (RSP), R7 // e733a5781174 LDORAB R5, (R6), R7 // c730a5381175 LDORAB R5, (RSP), R7 // e733a5381176 LDORALD R5, (R6), R7 // c730e5f81177 LDORALD R5, (RSP), R7 // e733e5f81178 LDORALW R5, (R6), R7 // c730e5b81179 LDORALW R5, (RSP), R7 // e733e5b81180 LDORALH R5, (R6), R7 // c730e5781181 LDORALH R5, (RSP), R7 // e733e5781182 LDORALB R5, (R6), R7 // c730e5381183 LDORALB R5, (RSP), R7 // e733e5381184 LDORD R5, (R6), R7 // c73025f81185 LDORD R5, (RSP), R7 // e73325f81186 LDORW R5, (R6), R7 // c73025b81187 LDORW R5, (RSP), R7 // e73325b81188 LDORH R5, (R6), R7 // c73025781189 LDORH R5, (RSP), R7 // e73325781190 LDORB R5, (R6), R7 // c73025381191 LDORB R5, (RSP), R7 // e73325381192 LDORLD R5, (R6), R7 // c73065f81193 LDORLD R5, (RSP), R7 // e73365f81194 LDORLW R5, (R6), R7 // c73065b81195 LDORLW R5, (RSP), R7 // e73365b81196 LDORLH R5, (R6), R7 // c73065781197 LDORLH R5, (RSP), R7 // e73365781198 LDORLB R5, (R6), R7 // c73065381199 LDORLB R5, (RSP), R7 // e73365381200 CASD R1, (R2), ZR // 5f7ca1c81201 CASW R1, (RSP), ZR // ff7fa1881202 CASB ZR, (R5), R3 // a37cbf081203 CASH R3, (RSP), ZR // ff7fa3481204 CASW R5, (R7), R6 // e67ca5881205 CASLD ZR, (RSP), R8 // e8ffbfc81206 CASLW R9, (R10), ZR // 5ffda9881207 CASAD R7, (R11), R15 // 6f7de7c81208 CASAW R10, (RSP), R19 // f37fea881209 CASALD R5, (R6), R7 // c7fce5c81210 CASALD R5, (RSP), R7 // e7ffe5c81211 CASALW R5, (R6), R7 // c7fce5881212 CASALW R5, (RSP), R7 // e7ffe5881213 CASALH ZR, (R5), R8 // a8fcff481214 CASALB R8, (R9), ZR // 3ffde8081215 CASPD (R30, ZR), (RSP), (R8, R9) // e87f3e481216 CASPW (R6, R7), (R8), (R4, R5) // 047d26081217 CASPD (R2, R3), (R2), (R8, R9) // 487c22481218 CASPAD (R2, R3), (R2), (R8, R9) // 487c62481219 CASPAW (R6, R7), (R8), (R4, R5) // 047d66081220 CASPALD (R2, R3), (R2), (R8, R9) // 48fc62481221 CASPALW (R6, R7), (R8), (R4, R5) // 04fd66081222 CASPLD (R2, R3), (R2), (R8, R9) // 48fc22481223 CASPLW (R6, R7), (R8), (R4, R5) // 04fd260812241225// RET1226 RET // c0035fd61227 RET R0 // 00005fd61228 RET R6 // c0005fd61229 RET R27 // 60035fd61230 RET R30 // c0035fd61231 RET foo(SB)12321233// B/BL/B.cond cases, and canonical names JMP, CALL.1234 BL 1(PC) // CALL 1(PC)1235 BL (R2) // CALL (R2)1236 BL foo(SB) // CALL foo(SB)1237 BL bar<>(SB) // CALL bar<>(SB)1238 B foo(SB) // JMP foo(SB)1239 BEQ 1(PC)1240 BEQ 2(PC)1241 TBZ $1, R1, 2(PC)1242 TBNZ $2, R2, 2(PC)1243 JMP foo(SB)1244 CALL foo(SB)12451246// ADR1247 ADR next, R11 // ADR R11 // 2b0000101248next:1249 NOP1250 ADR -2(PC), R10 // 0a0000101251 ADR 2(PC), R16 // 100000101252 ADR -26(PC), R1 // 010000101253 ADR 12(PC), R2 // 020000101254 ADRP -2(PC), R10 // 0a0000901255 ADRP 2(PC), R16 // 100000901256 ADRP -26(PC), R1 // 010000901257 ADRP 12(PC), R2 // 0200009012581259// LDP/STP1260 LDP (R0), (R0, R1) // 000440a91261 LDP (R0), (R1, R2) // 010840a91262 LDP 8(R0), (R1, R2) // 018840a91263 LDP -8(R0), (R1, R2) // 01887fa91264 LDP 11(R0), (R1, R2) // 1b2c0091610b40a91265 LDP 1024(R0), (R1, R2) // 1b001091610b40a91266 LDP.W 8(R0), (R1, R2) // 0188c0a91267 LDP.P 8(R0), (R1, R2) // 0188c0a81268 LDP (RSP), (R1, R2) // e10b40a91269 LDP 8(RSP), (R1, R2) // e18b40a91270 LDP -8(RSP), (R1, R2) // e18b7fa91271 LDP 11(RSP), (R1, R2) // fb2f0091610b40a91272 LDP 1024(RSP), (R1, R2) // fb031091610b40a91273 LDP.W 8(RSP), (R1, R2) // e18bc0a91274 LDP.P 8(RSP), (R1, R2) // e18bc0a81275 LDP -31(R0), (R1, R2) // 1b7c00d1610b40a91276 LDP -4(R0), (R1, R2) // 1b1000d1610b40a91277 LDP -8(R0), (R1, R2) // 01887fa91278 LDP x(SB), (R1, R2)1279 LDP x+8(SB), (R1, R2)1280 LDP 8(R1), (ZR, R2) // 3f8840a91281 LDPW -5(R0), (R1, R2) // 1b1400d1610b40291282 LDPW (R0), (R1, R2) // 010840291283 LDPW 4(R0), (R1, R2) // 018840291284 LDPW -4(R0), (R1, R2) // 01887f291285 LDPW.W 4(R0), (R1, R2) // 0188c0291286 LDPW.P 4(R0), (R1, R2) // 0188c0281287 LDPW 11(R0), (R1, R2) // 1b2c0091610b40291288 LDPW 1024(R0), (R1, R2) // 1b001091610b40291289 LDPW (RSP), (R1, R2) // e10b40291290 LDPW 4(RSP), (R1, R2) // e18b40291291 LDPW -4(RSP), (R1, R2) // e18b7f291292 LDPW.W 4(RSP), (R1, R2) // e18bc0291293 LDPW.P 4(RSP), (R1, R2) // e18bc0281294 LDPW 11(RSP), (R1, R2) // fb2f0091610b40291295 LDPW 1024(RSP), (R1, R2) // fb031091610b40291296 LDPW x(SB), (R1, R2)1297 LDPW x+8(SB), (R1, R2)1298 LDPW 8(R1), (ZR, R2) // 3f0841291299 LDPSW (R0), (R1, R2) // 010840691300 LDPSW 4(R0), (R1, R2) // 018840691301 LDPSW -4(R0), (R1, R2) // 01887f691302 LDPSW.W 4(R0), (R1, R2) // 0188c0691303 LDPSW.P 4(R0), (R1, R2) // 0188c0681304 LDPSW 11(R0), (R1, R2) // 1b2c0091610b40691305 LDPSW 1024(R0), (R1, R2) // 1b001091610b40691306 LDPSW (RSP), (R1, R2) // e10b40691307 LDPSW 4(RSP), (R1, R2) // e18b40691308 LDPSW -4(RSP), (R1, R2) // e18b7f691309 LDPSW.W 4(RSP), (R1, R2) // e18bc0691310 LDPSW.P 4(RSP), (R1, R2) // e18bc0681311 LDPSW 11(RSP), (R1, R2) // fb2f0091610b40691312 LDPSW 1024(RSP), (R1, R2) // fb031091610b40691313 LDPSW x(SB), (R1, R2)1314 LDPSW x+8(SB), (R1, R2)1315 LDPSW 8(R1), (ZR, R2) // 3f0841691316 STP (R3, R4), (R5) // a31000a91317 STP (R3, R4), 8(R5) // a39000a91318 STP.W (R3, R4), 8(R5) // a39080a91319 STP.P (R3, R4), 8(R5) // a39080a81320 STP (R3, R4), -8(R5) // a3903fa91321 STP (R3, R4), -4(R5) // bb1000d1631300a91322 STP (R3, R4), 11(R0) // 1b2c0091631300a91323 STP (R3, R4), 1024(R0) // 1b001091631300a91324 STP (R3, R4), (RSP) // e31300a91325 STP (R3, R4), 8(RSP) // e39300a91326 STP.W (R3, R4), 8(RSP) // e39380a91327 STP.P (R3, R4), 8(RSP) // e39380a81328 STP (R3, R4), -8(RSP) // e3933fa91329 STP (R3, R4), 11(RSP) // fb2f0091631300a91330 STP (R3, R4), 1024(RSP) // fb031091631300a91331 STP (R3, R4), x(SB)1332 STP (R3, R4), x+8(SB)1333 STPW (R3, R4), (R5) // a31000291334 STPW (R3, R4), 4(R5) // a39000291335 STPW.W (R3, R4), 4(R5) // a39080291336 STPW.P (R3, R4), 4(R5) // a39080281337 STPW (R3, R4), -4(R5) // a3903f291338 STPW (R3, R4), -5(R5) // bb1400d1631300291339 STPW (R3, R4), 11(R0) // 1b2c0091631300291340 STPW (R3, R4), 1024(R0) // 1b001091631300291341 STPW (R3, R4), (RSP) // e31300291342 STPW (R3, R4), 4(RSP) // e39300291343 STPW.W (R3, R4), 4(RSP) // e39380291344 STPW.P (R3, R4), 4(RSP) // e39380281345 STPW (R3, R4), -4(RSP) // e3933f291346 STPW (R3, R4), 11(RSP) // fb2f0091631300291347 STPW (R3, R4), 1024(RSP) // fb031091631300291348 STPW (R3, R4), x(SB)1349 STPW (R3, R4), x+8(SB)13501351// bit field operation1352 BFI $0, R1, $1, R2 // 220040b31353 BFIW $0, R1, $1, R2 // 220000331354 SBFIZ $0, R1, $1, R2 // 220040931355 SBFIZW $0, R1, $1, R2 // 220000131356 UBFIZ $0, R1, $1, R2 // 220040d31357 UBFIZW $0, R1, $1, R2 // 2200005313581359// FSTPD/FSTPS/FLDPD/FLDPS1360 FLDPD (R0), (F1, F2) // 0108406d1361 FLDPD 8(R0), (F1, F2) // 0188406d1362 FLDPD -8(R0), (F1, F2) // 01887f6d1363 FLDPD 11(R0), (F1, F2) // 1b2c0091610b406d1364 FLDPD 1024(R0), (F1, F2) // 1b001091610b406d1365 FLDPD.W 8(R0), (F1, F2) // 0188c06d1366 FLDPD.P 8(R0), (F1, F2) // 0188c06c1367 FLDPD (RSP), (F1, F2) // e10b406d1368 FLDPD 8(RSP), (F1, F2) // e18b406d1369 FLDPD -8(RSP), (F1, F2) // e18b7f6d1370 FLDPD 11(RSP), (F1, F2) // fb2f0091610b406d1371 FLDPD 1024(RSP), (F1, F2) // fb031091610b406d1372 FLDPD.W 8(RSP), (F1, F2) // e18bc06d1373 FLDPD.P 8(RSP), (F1, F2) // e18bc06c1374 FLDPD -31(R0), (F1, F2) // 1b7c00d1610b406d1375 FLDPD -4(R0), (F1, F2) // 1b1000d1610b406d1376 FLDPD -8(R0), (F1, F2) // 01887f6d1377 FLDPD x(SB), (F1, F2)1378 FLDPD x+8(SB), (F1, F2)1379 FLDPS -5(R0), (F1, F2) // 1b1400d1610b402d1380 FLDPS (R0), (F1, F2) // 0108402d1381 FLDPS 4(R0), (F1, F2) // 0188402d1382 FLDPS -4(R0), (F1, F2) // 01887f2d1383 FLDPS.W 4(R0), (F1, F2) // 0188c02d1384 FLDPS.P 4(R0), (F1, F2) // 0188c02c1385 FLDPS 11(R0), (F1, F2) // 1b2c0091610b402d1386 FLDPS 1024(R0), (F1, F2) // 1b001091610b402d1387 FLDPS (RSP), (F1, F2) // e10b402d1388 FLDPS 4(RSP), (F1, F2) // e18b402d1389 FLDPS -4(RSP), (F1, F2) // e18b7f2d1390 FLDPS.W 4(RSP), (F1, F2) // e18bc02d1391 FLDPS.P 4(RSP), (F1, F2) // e18bc02c1392 FLDPS 11(RSP), (F1, F2) // fb2f0091610b402d1393 FLDPS 1024(RSP), (F1, F2) // fb031091610b402d1394 FLDPS x(SB), (F1, F2)1395 FLDPS x+8(SB), (F1, F2)1396 FSTPD (F3, F4), (R5) // a310006d1397 FSTPD (F3, F4), 8(R5) // a390006d1398 FSTPD.W (F3, F4), 8(R5) // a390806d1399 FSTPD.P (F3, F4), 8(R5) // a390806c1400 FSTPD (F3, F4), -8(R5) // a3903f6d1401 FSTPD (F3, F4), -4(R5) // bb1000d16313006d1402 FSTPD (F3, F4), 11(R0) // 1b2c00916313006d1403 FSTPD (F3, F4), 1024(R0) // 1b0010916313006d1404 FSTPD (F3, F4), (RSP) // e313006d1405 FSTPD (F3, F4), 8(RSP) // e393006d1406 FSTPD.W (F3, F4), 8(RSP) // e393806d1407 FSTPD.P (F3, F4), 8(RSP) // e393806c1408 FSTPD (F3, F4), -8(RSP) // e3933f6d1409 FSTPD (F3, F4), 11(RSP) // fb2f00916313006d1410 FSTPD (F3, F4), 1024(RSP) // fb0310916313006d1411 FSTPD (F3, F4), x(SB)1412 FSTPD (F3, F4), x+8(SB)1413 FSTPS (F3, F4), (R5) // a310002d1414 FSTPS (F3, F4), 4(R5) // a390002d1415 FSTPS.W (F3, F4), 4(R5) // a390802d1416 FSTPS.P (F3, F4), 4(R5) // a390802c1417 FSTPS (F3, F4), -4(R5) // a3903f2d1418 FSTPS (F3, F4), -5(R5) // bb1400d16313002d1419 FSTPS (F3, F4), 11(R0) // 1b2c00916313002d1420 FSTPS (F3, F4), 1024(R0) // 1b0010916313002d1421 FSTPS (F3, F4), (RSP) // e313002d1422 FSTPS (F3, F4), 4(RSP) // e393002d1423 FSTPS.W (F3, F4), 4(RSP) // e393802d1424 FSTPS.P (F3, F4), 4(RSP) // e393802c1425 FSTPS (F3, F4), -4(RSP) // e3933f2d1426 FSTPS (F3, F4), 11(RSP) // fb2f00916313002d1427 FSTPS (F3, F4), 1024(RSP) // fb0310916313002d1428 FSTPS (F3, F4), x(SB)1429 FSTPS (F3, F4), x+8(SB)14301431// FLDPQ/FSTPQ1432 FLDPQ -4000(R0), (F1, F2) // 1b803ed1610b40ad1433 FLDPQ -1024(R0), (F1, F2) // 010860ad1434 FLDPQ (R0), (F1, F2) // 010840ad1435 FLDPQ 16(R0), (F1, F2) // 018840ad1436 FLDPQ -16(R0), (F1, F2) // 01887fad1437 FLDPQ.W 32(R0), (F1, F2) // 0108c1ad1438 FLDPQ.P 32(R0), (F1, F2) // 0108c1ac1439 FLDPQ 11(R0), (F1, F2) // 1b2c0091610b40ad1440 FLDPQ 1024(R0), (F1, F2) // 1b001091610b40ad1441 FLDPQ 4104(R0), (F1, F2)1442 FLDPQ -4000(RSP), (F1, F2) // fb833ed1610b40ad1443 FLDPQ -1024(RSP), (F1, F2) // e10b60ad1444 FLDPQ (RSP), (F1, F2) // e10b40ad1445 FLDPQ 16(RSP), (F1, F2) // e18b40ad1446 FLDPQ -16(RSP), (F1, F2) // e18b7fad1447 FLDPQ.W 32(RSP), (F1, F2) // e10bc1ad1448 FLDPQ.P 32(RSP), (F1, F2) // e10bc1ac1449 FLDPQ 11(RSP), (F1, F2) // fb2f0091610b40ad1450 FLDPQ 1024(RSP), (F1, F2) // fb031091610b40ad1451 FLDPQ 4104(RSP), (F1, F2)1452 FLDPQ -31(R0), (F1, F2) // 1b7c00d1610b40ad1453 FLDPQ -4(R0), (F1, F2) // 1b1000d1610b40ad1454 FLDPQ x(SB), (F1, F2)1455 FLDPQ x+8(SB), (F1, F2)1456 FSTPQ (F3, F4), -4000(R5) // bb803ed1631300ad1457 FSTPQ (F3, F4), -1024(R5) // a31020ad1458 FSTPQ (F3, F4), (R5) // a31000ad1459 FSTPQ (F3, F4), 16(R5) // a39000ad1460 FSTPQ (F3, F4), -16(R5) // a3903fad1461 FSTPQ.W (F3, F4), 32(R5) // a31081ad1462 FSTPQ.P (F3, F4), 32(R5) // a31081ac1463 FSTPQ (F3, F4), 11(R5) // bb2c0091631300ad1464 FSTPQ (F3, F4), 1024(R5) // bb001091631300ad1465 FSTPQ (F3, F4), 4104(R5)1466 FSTPQ (F3, F4), -4000(RSP) // fb833ed1631300ad1467 FSTPQ (F3, F4), -1024(RSP) // e31320ad1468 FSTPQ (F3, F4), (RSP) // e31300ad1469 FSTPQ (F3, F4), 16(RSP) // e39300ad1470 FSTPQ (F3, F4), -16(RSP) // e3933fad1471 FSTPQ.W (F3, F4), 32(RSP) // e31381ad1472 FSTPQ.P (F3, F4), 32(RSP) // e31381ac1473 FSTPQ (F3, F4), 11(RSP) // fb2f0091631300ad1474 FSTPQ (F3, F4), 1024(RSP) // fb031091631300ad1475 FSTPQ (F3, F4), 4104(RSP)1476 FSTPQ (F3, F4), x(SB)1477 FSTPQ (F3, F4), x+8(SB)14781479// System Register1480 MSR $1, SPSel // bf4100d51481 MSR $9, DAIFSet // df4903d51482 MSR $6, DAIFClr // ff4603d51483 MSR $0, CPACR_EL1 // 5f1018d51484 MRS ELR_EL1, R8 // 284038d51485 MSR R16, ELR_EL1 // 304018d51486 MSR R2, ACTLR_EL1 // 221018d51487 MRS TCR_EL1, R5 // 452038d51488 MRS PMEVCNTR15_EL0, R12 // ece93bd51489 MSR R20, PMEVTYPER26_EL0 // 54ef1bd51490 MSR R10, DBGBCR15_EL1 // aa0f10d51491 MRS ACTLR_EL1, R3 // 231038d51492 MSR R9, ACTLR_EL1 // 291018d51493 MRS AFSR0_EL1, R10 // 0a5138d51494 MSR R1, AFSR0_EL1 // 015118d51495 MRS AFSR0_EL1, R9 // 095138d51496 MSR R30, AFSR0_EL1 // 1e5118d51497 MRS AFSR1_EL1, R0 // 205138d51498 MSR R1, AFSR1_EL1 // 215118d51499 MRS AFSR1_EL1, R8 // 285138d51500 MSR R19, AFSR1_EL1 // 335118d51501 MRS AIDR_EL1, R11 // eb0039d51502 MRS AMAIR_EL1, R0 // 00a338d51503 MSR R22, AMAIR_EL1 // 16a318d51504 MRS AMAIR_EL1, R14 // 0ea338d51505 MSR R0, AMAIR_EL1 // 00a318d51506 MRS APDAKeyHi_EL1, R16 // 302238d51507 MSR R26, APDAKeyHi_EL1 // 3a2218d51508 MRS APDAKeyLo_EL1, R21 // 152238d51509 MSR R22, APDAKeyLo_EL1 // 162218d51510 MRS APDBKeyHi_EL1, R2 // 622238d51511 MSR R6, APDBKeyHi_EL1 // 662218d51512 MRS APDBKeyLo_EL1, R5 // 452238d51513 MSR R22, APDBKeyLo_EL1 // 562218d51514 MRS APGAKeyHi_EL1, R22 // 362338d51515 MSR R5, APGAKeyHi_EL1 // 252318d51516 MRS APGAKeyLo_EL1, R16 // 102338d51517 MSR R22, APGAKeyLo_EL1 // 162318d51518 MRS APIAKeyHi_EL1, R23 // 372138d51519 MSR R17, APIAKeyHi_EL1 // 312118d51520 MRS APIAKeyLo_EL1, R16 // 102138d51521 MSR R6, APIAKeyLo_EL1 // 062118d51522 MRS APIBKeyHi_EL1, R10 // 6a2138d51523 MSR R11, APIBKeyHi_EL1 // 6b2118d51524 MRS APIBKeyLo_EL1, R25 // 592138d51525 MSR R22, APIBKeyLo_EL1 // 562118d51526 MRS CCSIDR_EL1, R25 // 190039d51527 MRS CLIDR_EL1, R16 // 300039d51528 MRS CNTFRQ_EL0, R20 // 14e03bd51529 MSR R16, CNTFRQ_EL0 // 10e01bd51530 MRS CNTKCTL_EL1, R26 // 1ae138d51531 MSR R0, CNTKCTL_EL1 // 00e118d51532 MRS CNTP_CTL_EL0, R14 // 2ee23bd51533 MSR R17, CNTP_CTL_EL0 // 31e21bd51534 MRS CNTP_CVAL_EL0, R15 // 4fe23bd51535 MSR R8, CNTP_CVAL_EL0 // 48e21bd51536 MRS CNTP_TVAL_EL0, R6 // 06e23bd51537 MSR R29, CNTP_TVAL_EL0 // 1de21bd51538 MRS CNTP_CTL_EL0, R22 // 36e23bd51539 MSR R0, CNTP_CTL_EL0 // 20e21bd51540 MRS CNTP_CVAL_EL0, R9 // 49e23bd51541 MSR R4, CNTP_CVAL_EL0 // 44e21bd51542 MRS CNTP_TVAL_EL0, R27 // 1be23bd51543 MSR R17, CNTP_TVAL_EL0 // 11e21bd51544 MRS CNTV_CTL_EL0, R27 // 3be33bd51545 MSR R2, CNTV_CTL_EL0 // 22e31bd51546 MRS CNTV_CVAL_EL0, R16 // 50e33bd51547 MSR R27, CNTV_CVAL_EL0 // 5be31bd51548 MRS CNTV_TVAL_EL0, R12 // 0ce33bd51549 MSR R19, CNTV_TVAL_EL0 // 13e31bd51550 MRS CNTV_CTL_EL0, R14 // 2ee33bd51551 MSR R2, CNTV_CTL_EL0 // 22e31bd51552 MRS CNTV_CVAL_EL0, R8 // 48e33bd51553 MSR R26, CNTV_CVAL_EL0 // 5ae31bd51554 MRS CNTV_TVAL_EL0, R6 // 06e33bd51555 MSR R19, CNTV_TVAL_EL0 // 13e31bd51556 MRS CNTKCTL_EL1, R16 // 10e138d51557 MSR R26, CNTKCTL_EL1 // 1ae118d51558 MRS CNTPCT_EL0, R9 // 29e03bd51559 MRS CNTPS_CTL_EL1, R30 // 3ee23fd51560 MSR R26, CNTPS_CTL_EL1 // 3ae21fd51561 MRS CNTPS_CVAL_EL1, R8 // 48e23fd51562 MSR R26, CNTPS_CVAL_EL1 // 5ae21fd51563 MRS CNTPS_TVAL_EL1, R7 // 07e23fd51564 MSR R13, CNTPS_TVAL_EL1 // 0de21fd51565 MRS CNTP_CTL_EL0, R2 // 22e23bd51566 MSR R10, CNTP_CTL_EL0 // 2ae21bd51567 MRS CNTP_CVAL_EL0, R6 // 46e23bd51568 MSR R21, CNTP_CVAL_EL0 // 55e21bd51569 MRS CNTP_TVAL_EL0, R27 // 1be23bd51570 MSR R29, CNTP_TVAL_EL0 // 1de21bd51571 MRS CNTVCT_EL0, R13 // 4de03bd51572 MRS CNTV_CTL_EL0, R30 // 3ee33bd51573 MSR R19, CNTV_CTL_EL0 // 33e31bd51574 MRS CNTV_CVAL_EL0, R27 // 5be33bd51575 MSR R24, CNTV_CVAL_EL0 // 58e31bd51576 MRS CNTV_TVAL_EL0, R24 // 18e33bd51577 MSR R5, CNTV_TVAL_EL0 // 05e31bd51578 MRS CONTEXTIDR_EL1, R15 // 2fd038d51579 MSR R27, CONTEXTIDR_EL1 // 3bd018d51580 MRS CONTEXTIDR_EL1, R29 // 3dd038d51581 MSR R24, CONTEXTIDR_EL1 // 38d018d51582 MRS CPACR_EL1, R10 // 4a1038d51583 MSR R14, CPACR_EL1 // 4e1018d51584 MRS CPACR_EL1, R27 // 5b1038d51585 MSR R22, CPACR_EL1 // 561018d51586 MRS CSSELR_EL1, R3 // 03003ad51587 MSR R4, CSSELR_EL1 // 04001ad51588 MRS CTR_EL0, R15 // 2f003bd51589 MRS CurrentEL, R1 // 414238d51590 MRS DAIF, R24 // 38423bd51591 MSR R9, DAIF // 29421bd51592 MRS DBGAUTHSTATUS_EL1, R5 // c57e30d51593 MRS DBGBCR0_EL1, R29 // bd0030d51594 MRS DBGBCR1_EL1, R13 // ad0130d51595 MRS DBGBCR2_EL1, R22 // b60230d51596 MRS DBGBCR3_EL1, R8 // a80330d51597 MRS DBGBCR4_EL1, R2 // a20430d51598 MRS DBGBCR5_EL1, R4 // a40530d51599 MRS DBGBCR6_EL1, R2 // a20630d51600 MRS DBGBCR7_EL1, R6 // a60730d51601 MRS DBGBCR8_EL1, R1 // a10830d51602 MRS DBGBCR9_EL1, R16 // b00930d51603 MRS DBGBCR10_EL1, R23 // b70a30d51604 MRS DBGBCR11_EL1, R3 // a30b30d51605 MRS DBGBCR12_EL1, R6 // a60c30d51606 MRS DBGBCR13_EL1, R16 // b00d30d51607 MRS DBGBCR14_EL1, R4 // a40e30d51608 MRS DBGBCR15_EL1, R9 // a90f30d51609 MSR R4, DBGBCR0_EL1 // a40010d51610 MSR R14, DBGBCR1_EL1 // ae0110d51611 MSR R7, DBGBCR2_EL1 // a70210d51612 MSR R12, DBGBCR3_EL1 // ac0310d51613 MSR R6, DBGBCR4_EL1 // a60410d51614 MSR R11, DBGBCR5_EL1 // ab0510d51615 MSR R6, DBGBCR6_EL1 // a60610d51616 MSR R13, DBGBCR7_EL1 // ad0710d51617 MSR R17, DBGBCR8_EL1 // b10810d51618 MSR R17, DBGBCR9_EL1 // b10910d51619 MSR R22, DBGBCR10_EL1 // b60a10d51620 MSR R16, DBGBCR11_EL1 // b00b10d51621 MSR R24, DBGBCR12_EL1 // b80c10d51622 MSR R29, DBGBCR13_EL1 // bd0d10d51623 MSR R1, DBGBCR14_EL1 // a10e10d51624 MSR R10, DBGBCR15_EL1 // aa0f10d51625 MRS DBGBVR0_EL1, R16 // 900030d51626 MRS DBGBVR1_EL1, R21 // 950130d51627 MRS DBGBVR2_EL1, R13 // 8d0230d51628 MRS DBGBVR3_EL1, R12 // 8c0330d51629 MRS DBGBVR4_EL1, R20 // 940430d51630 MRS DBGBVR5_EL1, R21 // 950530d51631 MRS DBGBVR6_EL1, R27 // 9b0630d51632 MRS DBGBVR7_EL1, R6 // 860730d51633 MRS DBGBVR8_EL1, R14 // 8e0830d51634 MRS DBGBVR9_EL1, R5 // 850930d51635 MRS DBGBVR10_EL1, R9 // 890a30d51636 MRS DBGBVR11_EL1, R25 // 990b30d51637 MRS DBGBVR12_EL1, R30 // 9e0c30d51638 MRS DBGBVR13_EL1, R1 // 810d30d51639 MRS DBGBVR14_EL1, R17 // 910e30d51640 MRS DBGBVR15_EL1, R25 // 990f30d51641 MSR R15, DBGBVR0_EL1 // 8f0010d51642 MSR R6, DBGBVR1_EL1 // 860110d51643 MSR R24, DBGBVR2_EL1 // 980210d51644 MSR R17, DBGBVR3_EL1 // 910310d51645 MSR R3, DBGBVR4_EL1 // 830410d51646 MSR R21, DBGBVR5_EL1 // 950510d51647 MSR R5, DBGBVR6_EL1 // 850610d51648 MSR R6, DBGBVR7_EL1 // 860710d51649 MSR R25, DBGBVR8_EL1 // 990810d51650 MSR R4, DBGBVR9_EL1 // 840910d51651 MSR R25, DBGBVR10_EL1 // 990a10d51652 MSR R17, DBGBVR11_EL1 // 910b10d51653 MSR R0, DBGBVR12_EL1 // 800c10d51654 MSR R5, DBGBVR13_EL1 // 850d10d51655 MSR R9, DBGBVR14_EL1 // 890e10d51656 MSR R12, DBGBVR15_EL1 // 8c0f10d51657 MRS DBGCLAIMCLR_EL1, R27 // db7930d51658 MSR R0, DBGCLAIMCLR_EL1 // c07910d51659 MRS DBGCLAIMSET_EL1, R7 // c77830d51660 MSR R13, DBGCLAIMSET_EL1 // cd7810d51661 MRS DBGDTRRX_EL0, R0 // 000533d51662 MSR R29, DBGDTRTX_EL0 // 1d0513d51663 MRS DBGDTR_EL0, R27 // 1b0433d51664 MSR R30, DBGDTR_EL0 // 1e0413d51665 MRS DBGPRCR_EL1, R4 // 841430d51666 MSR R0, DBGPRCR_EL1 // 801410d51667 MRS DBGWCR0_EL1, R24 // f80030d51668 MRS DBGWCR1_EL1, R19 // f30130d51669 MRS DBGWCR2_EL1, R25 // f90230d51670 MRS DBGWCR3_EL1, R0 // e00330d51671 MRS DBGWCR4_EL1, R13 // ed0430d51672 MRS DBGWCR5_EL1, R8 // e80530d51673 MRS DBGWCR6_EL1, R22 // f60630d51674 MRS DBGWCR7_EL1, R11 // eb0730d51675 MRS DBGWCR8_EL1, R11 // eb0830d51676 MRS DBGWCR9_EL1, R3 // e30930d51677 MRS DBGWCR10_EL1, R17 // f10a30d51678 MRS DBGWCR11_EL1, R21 // f50b30d51679 MRS DBGWCR12_EL1, R10 // ea0c30d51680 MRS DBGWCR13_EL1, R22 // f60d30d51681 MRS DBGWCR14_EL1, R11 // eb0e30d51682 MRS DBGWCR15_EL1, R0 // e00f30d51683 MSR R24, DBGWCR0_EL1 // f80010d51684 MSR R8, DBGWCR1_EL1 // e80110d51685 MSR R17, DBGWCR2_EL1 // f10210d51686 MSR R29, DBGWCR3_EL1 // fd0310d51687 MSR R13, DBGWCR4_EL1 // ed0410d51688 MSR R22, DBGWCR5_EL1 // f60510d51689 MSR R3, DBGWCR6_EL1 // e30610d51690 MSR R4, DBGWCR7_EL1 // e40710d51691 MSR R7, DBGWCR8_EL1 // e70810d51692 MSR R29, DBGWCR9_EL1 // fd0910d51693 MSR R3, DBGWCR10_EL1 // e30a10d51694 MSR R11, DBGWCR11_EL1 // eb0b10d51695 MSR R20, DBGWCR12_EL1 // f40c10d51696 MSR R6, DBGWCR13_EL1 // e60d10d51697 MSR R22, DBGWCR14_EL1 // f60e10d51698 MSR R25, DBGWCR15_EL1 // f90f10d51699 MRS DBGWVR0_EL1, R14 // ce0030d51700 MRS DBGWVR1_EL1, R16 // d00130d51701 MRS DBGWVR2_EL1, R15 // cf0230d51702 MRS DBGWVR3_EL1, R1 // c10330d51703 MRS DBGWVR4_EL1, R26 // da0430d51704 MRS DBGWVR5_EL1, R14 // ce0530d51705 MRS DBGWVR6_EL1, R17 // d10630d51706 MRS DBGWVR7_EL1, R22 // d60730d51707 MRS DBGWVR8_EL1, R4 // c40830d51708 MRS DBGWVR9_EL1, R3 // c30930d51709 MRS DBGWVR10_EL1, R16 // d00a30d51710 MRS DBGWVR11_EL1, R2 // c20b30d51711 MRS DBGWVR12_EL1, R5 // c50c30d51712 MRS DBGWVR13_EL1, R23 // d70d30d51713 MRS DBGWVR14_EL1, R5 // c50e30d51714 MRS DBGWVR15_EL1, R6 // c60f30d51715 MSR R24, DBGWVR0_EL1 // d80010d51716 MSR R6, DBGWVR1_EL1 // c60110d51717 MSR R1, DBGWVR2_EL1 // c10210d51718 MSR R24, DBGWVR3_EL1 // d80310d51719 MSR R24, DBGWVR4_EL1 // d80410d51720 MSR R0, DBGWVR5_EL1 // c00510d51721 MSR R10, DBGWVR6_EL1 // ca0610d51722 MSR R17, DBGWVR7_EL1 // d10710d51723 MSR R7, DBGWVR8_EL1 // c70810d51724 MSR R8, DBGWVR9_EL1 // c80910d51725 MSR R15, DBGWVR10_EL1 // cf0a10d51726 MSR R8, DBGWVR11_EL1 // c80b10d51727 MSR R7, DBGWVR12_EL1 // c70c10d51728 MSR R14, DBGWVR13_EL1 // ce0d10d51729 MSR R16, DBGWVR14_EL1 // d00e10d51730 MSR R5, DBGWVR15_EL1 // c50f10d51731 MRS DCZID_EL0, R21 // f5003bd51732 MRS DISR_EL1, R8 // 28c138d51733 MSR R5, DISR_EL1 // 25c118d51734 MRS DIT, R29 // bd423bd51735 MSR R22, DIT // b6421bd51736 MRS DLR_EL0, R25 // 39453bd51737 MSR R9, DLR_EL0 // 29451bd51738 MRS DSPSR_EL0, R3 // 03453bd51739 MSR R10, DSPSR_EL0 // 0a451bd51740 MRS ELR_EL1, R24 // 384038d51741 MSR R3, ELR_EL1 // 234018d51742 MRS ELR_EL1, R13 // 2d4038d51743 MSR R27, ELR_EL1 // 3b4018d51744 MRS ERRIDR_EL1, R30 // 1e5338d51745 MRS ERRSELR_EL1, R21 // 355338d51746 MSR R22, ERRSELR_EL1 // 365318d51747 MRS ERXADDR_EL1, R30 // 7e5438d51748 MSR R0, ERXADDR_EL1 // 605418d51749 MRS ERXCTLR_EL1, R6 // 265438d51750 MSR R9, ERXCTLR_EL1 // 295418d51751 MRS ERXFR_EL1, R19 // 135438d51752 MRS ERXMISC0_EL1, R20 // 145538d51753 MSR R24, ERXMISC0_EL1 // 185518d51754 MRS ERXMISC1_EL1, R15 // 2f5538d51755 MSR R10, ERXMISC1_EL1 // 2a5518d51756 MRS ERXSTATUS_EL1, R30 // 5e5438d51757 MSR R3, ERXSTATUS_EL1 // 435418d51758 MRS ESR_EL1, R6 // 065238d51759 MSR R21, ESR_EL1 // 155218d51760 MRS ESR_EL1, R17 // 115238d51761 MSR R12, ESR_EL1 // 0c5218d51762 MRS FAR_EL1, R3 // 036038d51763 MSR R17, FAR_EL1 // 116018d51764 MRS FAR_EL1, R9 // 096038d51765 MSR R25, FAR_EL1 // 196018d51766 MRS FPCR, R1 // 01443bd51767 MSR R27, FPCR // 1b441bd51768 MRS FPSR, R5 // 25443bd51769 MSR R15, FPSR // 2f441bd51770 MRS ID_AA64AFR0_EL1, R19 // 930538d51771 MRS ID_AA64AFR1_EL1, R24 // b80538d51772 MRS ID_AA64DFR0_EL1, R21 // 150538d51773 MRS ID_AA64DFR1_EL1, R20 // 340538d51774 MRS ID_AA64DFR2_EL1, R1 // 410538d51775 MRS ID_AA64ISAR0_EL1, R4 // 040638d51776 MRS ID_AA64ISAR1_EL1, R6 // 260638d51777 MRS ID_AA64ISAR2_EL1, R2 // 420638d51778 MRS ID_AA64MMFR0_EL1, R0 // 000738d51779 MRS ID_AA64MMFR1_EL1, R17 // 310738d51780 MRS ID_AA64MMFR2_EL1, R23 // 570738d51781 MRS ID_AA64MMFR3_EL1, R3 // 630738d51782 MRS ID_AA64MMFR4_EL1, R4 // 840738d51783 MRS ID_AA64PFR0_EL1, R20 // 140438d51784 MRS ID_AA64PFR1_EL1, R26 // 3a0438d51785 MRS ID_AA64PFR2_EL1, R0 // 400438d51786 MRS ID_AA64ZFR0_EL1, R26 // 9a0438d51787 MRS ID_AFR0_EL1, R21 // 750138d51788 MRS ID_DFR0_EL1, R15 // 4f0138d51789 MRS ID_ISAR0_EL1, R11 // 0b0238d51790 MRS ID_ISAR1_EL1, R16 // 300238d51791 MRS ID_ISAR2_EL1, R10 // 4a0238d51792 MRS ID_ISAR3_EL1, R13 // 6d0238d51793 MRS ID_ISAR4_EL1, R24 // 980238d51794 MRS ID_ISAR5_EL1, R29 // bd0238d51795 MRS ID_MMFR0_EL1, R10 // 8a0138d51796 MRS ID_MMFR1_EL1, R29 // bd0138d51797 MRS ID_MMFR2_EL1, R16 // d00138d51798 MRS ID_MMFR3_EL1, R10 // ea0138d51799 MRS ID_MMFR4_EL1, R23 // d70238d51800 MRS ID_PFR0_EL1, R4 // 040138d51801 MRS ID_PFR1_EL1, R12 // 2c0138d51802 MRS ISR_EL1, R24 // 18c138d51803 MRS MAIR_EL1, R20 // 14a238d51804 MSR R21, MAIR_EL1 // 15a218d51805 MRS MAIR_EL1, R20 // 14a238d51806 MSR R5, MAIR_EL1 // 05a218d51807 MRS MDCCINT_EL1, R23 // 170230d51808 MSR R27, MDCCINT_EL1 // 1b0210d51809 MRS MDCCSR_EL0, R19 // 130133d51810 MRS MDRAR_EL1, R12 // 0c1030d51811 MRS MDSCR_EL1, R15 // 4f0230d51812 MSR R15, MDSCR_EL1 // 4f0210d51813 MRS MIDR_EL1, R26 // 1a0038d51814 MRS MPIDR_EL1, R25 // b90038d51815 MRS MVFR0_EL1, R29 // 1d0338d51816 MRS MVFR1_EL1, R7 // 270338d51817 MRS MVFR2_EL1, R19 // 530338d51818 MRS NZCV, R11 // 0b423bd51819 MSR R10, NZCV // 0a421bd51820 MRS OSDLR_EL1, R16 // 901330d51821 MSR R21, OSDLR_EL1 // 951310d51822 MRS OSDTRRX_EL1, R5 // 450030d51823 MSR R30, OSDTRRX_EL1 // 5e0010d51824 MRS OSDTRTX_EL1, R3 // 430330d51825 MSR R13, OSDTRTX_EL1 // 4d0310d51826 MRS OSECCR_EL1, R2 // 420630d51827 MSR R17, OSECCR_EL1 // 510610d51828 MSR R3, OSLAR_EL1 // 831010d51829 MRS OSLSR_EL1, R15 // 8f1130d51830 MRS PAN, R14 // 6e4238d51831 MSR R0, PAN // 604218d51832 MRS PAR_EL1, R27 // 1b7438d51833 MSR R3, PAR_EL1 // 037418d51834 MRS PMCCFILTR_EL0, R10 // eaef3bd51835 MSR R16, PMCCFILTR_EL0 // f0ef1bd51836 MRS PMCCNTR_EL0, R17 // 119d3bd51837 MSR R13, PMCCNTR_EL0 // 0d9d1bd51838 MRS PMCEID0_EL0, R8 // c89c3bd51839 MRS PMCEID1_EL0, R30 // fe9c3bd51840 MRS PMCNTENCLR_EL0, R11 // 4b9c3bd51841 MSR R21, PMCNTENCLR_EL0 // 559c1bd51842 MRS PMCNTENSET_EL0, R25 // 399c3bd51843 MSR R13, PMCNTENSET_EL0 // 2d9c1bd51844 MRS PMCR_EL0, R23 // 179c3bd51845 MSR R11, PMCR_EL0 // 0b9c1bd51846 MRS PMEVCNTR0_EL0, R27 // 1be83bd51847 MRS PMEVCNTR1_EL0, R23 // 37e83bd51848 MRS PMEVCNTR2_EL0, R26 // 5ae83bd51849 MRS PMEVCNTR3_EL0, R11 // 6be83bd51850 MRS PMEVCNTR4_EL0, R14 // 8ee83bd51851 MRS PMEVCNTR5_EL0, R9 // a9e83bd51852 MRS PMEVCNTR6_EL0, R30 // dee83bd51853 MRS PMEVCNTR7_EL0, R19 // f3e83bd51854 MRS PMEVCNTR8_EL0, R5 // 05e93bd51855 MRS PMEVCNTR9_EL0, R27 // 3be93bd51856 MRS PMEVCNTR10_EL0, R23 // 57e93bd51857 MRS PMEVCNTR11_EL0, R27 // 7be93bd51858 MRS PMEVCNTR12_EL0, R0 // 80e93bd51859 MRS PMEVCNTR13_EL0, R13 // ade93bd51860 MRS PMEVCNTR14_EL0, R27 // dbe93bd51861 MRS PMEVCNTR15_EL0, R16 // f0e93bd51862 MRS PMEVCNTR16_EL0, R16 // 10ea3bd51863 MRS PMEVCNTR17_EL0, R14 // 2eea3bd51864 MRS PMEVCNTR18_EL0, R10 // 4aea3bd51865 MRS PMEVCNTR19_EL0, R12 // 6cea3bd51866 MRS PMEVCNTR20_EL0, R5 // 85ea3bd51867 MRS PMEVCNTR21_EL0, R26 // baea3bd51868 MRS PMEVCNTR22_EL0, R19 // d3ea3bd51869 MRS PMEVCNTR23_EL0, R5 // e5ea3bd51870 MRS PMEVCNTR24_EL0, R17 // 11eb3bd51871 MRS PMEVCNTR25_EL0, R0 // 20eb3bd51872 MRS PMEVCNTR26_EL0, R20 // 54eb3bd51873 MRS PMEVCNTR27_EL0, R12 // 6ceb3bd51874 MRS PMEVCNTR28_EL0, R29 // 9deb3bd51875 MRS PMEVCNTR29_EL0, R22 // b6eb3bd51876 MRS PMEVCNTR30_EL0, R22 // d6eb3bd51877 MSR R30, PMEVCNTR0_EL0 // 1ee81bd51878 MSR R1, PMEVCNTR1_EL0 // 21e81bd51879 MSR R20, PMEVCNTR2_EL0 // 54e81bd51880 MSR R9, PMEVCNTR3_EL0 // 69e81bd51881 MSR R8, PMEVCNTR4_EL0 // 88e81bd51882 MSR R2, PMEVCNTR5_EL0 // a2e81bd51883 MSR R30, PMEVCNTR6_EL0 // dee81bd51884 MSR R14, PMEVCNTR7_EL0 // eee81bd51885 MSR R1, PMEVCNTR8_EL0 // 01e91bd51886 MSR R15, PMEVCNTR9_EL0 // 2fe91bd51887 MSR R15, PMEVCNTR10_EL0 // 4fe91bd51888 MSR R14, PMEVCNTR11_EL0 // 6ee91bd51889 MSR R15, PMEVCNTR12_EL0 // 8fe91bd51890 MSR R25, PMEVCNTR13_EL0 // b9e91bd51891 MSR R26, PMEVCNTR14_EL0 // dae91bd51892 MSR R21, PMEVCNTR15_EL0 // f5e91bd51893 MSR R29, PMEVCNTR16_EL0 // 1dea1bd51894 MSR R11, PMEVCNTR17_EL0 // 2bea1bd51895 MSR R16, PMEVCNTR18_EL0 // 50ea1bd51896 MSR R2, PMEVCNTR19_EL0 // 62ea1bd51897 MSR R19, PMEVCNTR20_EL0 // 93ea1bd51898 MSR R17, PMEVCNTR21_EL0 // b1ea1bd51899 MSR R7, PMEVCNTR22_EL0 // c7ea1bd51900 MSR R23, PMEVCNTR23_EL0 // f7ea1bd51901 MSR R15, PMEVCNTR24_EL0 // 0feb1bd51902 MSR R27, PMEVCNTR25_EL0 // 3beb1bd51903 MSR R13, PMEVCNTR26_EL0 // 4deb1bd51904 MSR R2, PMEVCNTR27_EL0 // 62eb1bd51905 MSR R15, PMEVCNTR28_EL0 // 8feb1bd51906 MSR R14, PMEVCNTR29_EL0 // aeeb1bd51907 MSR R23, PMEVCNTR30_EL0 // d7eb1bd51908 MRS PMEVTYPER0_EL0, R23 // 17ec3bd51909 MRS PMEVTYPER1_EL0, R30 // 3eec3bd51910 MRS PMEVTYPER2_EL0, R12 // 4cec3bd51911 MRS PMEVTYPER3_EL0, R13 // 6dec3bd51912 MRS PMEVTYPER4_EL0, R25 // 99ec3bd51913 MRS PMEVTYPER5_EL0, R23 // b7ec3bd51914 MRS PMEVTYPER6_EL0, R8 // c8ec3bd51915 MRS PMEVTYPER7_EL0, R2 // e2ec3bd51916 MRS PMEVTYPER8_EL0, R23 // 17ed3bd51917 MRS PMEVTYPER9_EL0, R25 // 39ed3bd51918 MRS PMEVTYPER10_EL0, R0 // 40ed3bd51919 MRS PMEVTYPER11_EL0, R30 // 7eed3bd51920 MRS PMEVTYPER12_EL0, R0 // 80ed3bd51921 MRS PMEVTYPER13_EL0, R9 // a9ed3bd51922 MRS PMEVTYPER14_EL0, R15 // cfed3bd51923 MRS PMEVTYPER15_EL0, R13 // eded3bd51924 MRS PMEVTYPER16_EL0, R11 // 0bee3bd51925 MRS PMEVTYPER17_EL0, R19 // 33ee3bd51926 MRS PMEVTYPER18_EL0, R3 // 43ee3bd51927 MRS PMEVTYPER19_EL0, R17 // 71ee3bd51928 MRS PMEVTYPER20_EL0, R8 // 88ee3bd51929 MRS PMEVTYPER21_EL0, R2 // a2ee3bd51930 MRS PMEVTYPER22_EL0, R5 // c5ee3bd51931 MRS PMEVTYPER23_EL0, R17 // f1ee3bd51932 MRS PMEVTYPER24_EL0, R22 // 16ef3bd51933 MRS PMEVTYPER25_EL0, R3 // 23ef3bd51934 MRS PMEVTYPER26_EL0, R23 // 57ef3bd51935 MRS PMEVTYPER27_EL0, R19 // 73ef3bd51936 MRS PMEVTYPER28_EL0, R24 // 98ef3bd51937 MRS PMEVTYPER29_EL0, R3 // a3ef3bd51938 MRS PMEVTYPER30_EL0, R1 // c1ef3bd51939 MSR R20, PMEVTYPER0_EL0 // 14ec1bd51940 MSR R20, PMEVTYPER1_EL0 // 34ec1bd51941 MSR R14, PMEVTYPER2_EL0 // 4eec1bd51942 MSR R26, PMEVTYPER3_EL0 // 7aec1bd51943 MSR R11, PMEVTYPER4_EL0 // 8bec1bd51944 MSR R16, PMEVTYPER5_EL0 // b0ec1bd51945 MSR R29, PMEVTYPER6_EL0 // ddec1bd51946 MSR R3, PMEVTYPER7_EL0 // e3ec1bd51947 MSR R30, PMEVTYPER8_EL0 // 1eed1bd51948 MSR R17, PMEVTYPER9_EL0 // 31ed1bd51949 MSR R10, PMEVTYPER10_EL0 // 4aed1bd51950 MSR R19, PMEVTYPER11_EL0 // 73ed1bd51951 MSR R13, PMEVTYPER12_EL0 // 8ded1bd51952 MSR R23, PMEVTYPER13_EL0 // b7ed1bd51953 MSR R13, PMEVTYPER14_EL0 // cded1bd51954 MSR R9, PMEVTYPER15_EL0 // e9ed1bd51955 MSR R1, PMEVTYPER16_EL0 // 01ee1bd51956 MSR R19, PMEVTYPER17_EL0 // 33ee1bd51957 MSR R22, PMEVTYPER18_EL0 // 56ee1bd51958 MSR R23, PMEVTYPER19_EL0 // 77ee1bd51959 MSR R30, PMEVTYPER20_EL0 // 9eee1bd51960 MSR R9, PMEVTYPER21_EL0 // a9ee1bd51961 MSR R3, PMEVTYPER22_EL0 // c3ee1bd51962 MSR R1, PMEVTYPER23_EL0 // e1ee1bd51963 MSR R16, PMEVTYPER24_EL0 // 10ef1bd51964 MSR R12, PMEVTYPER25_EL0 // 2cef1bd51965 MSR R7, PMEVTYPER26_EL0 // 47ef1bd51966 MSR R9, PMEVTYPER27_EL0 // 69ef1bd51967 MSR R10, PMEVTYPER28_EL0 // 8aef1bd51968 MSR R5, PMEVTYPER29_EL0 // a5ef1bd51969 MSR R12, PMEVTYPER30_EL0 // ccef1bd51970 MRS PMINTENCLR_EL1, R24 // 589e38d51971 MSR R15, PMINTENCLR_EL1 // 4f9e18d51972 MRS PMINTENSET_EL1, R1 // 219e38d51973 MSR R4, PMINTENSET_EL1 // 249e18d51974 MRS PMOVSCLR_EL0, R6 // 669c3bd51975 MSR R30, PMOVSCLR_EL0 // 7e9c1bd51976 MRS PMOVSSET_EL0, R16 // 709e3bd51977 MSR R12, PMOVSSET_EL0 // 6c9e1bd51978 MRS PMSELR_EL0, R30 // be9c3bd51979 MSR R5, PMSELR_EL0 // a59c1bd51980 MSR R27, PMSWINC_EL0 // 9b9c1bd51981 MRS PMUSERENR_EL0, R8 // 089e3bd51982 MSR R6, PMUSERENR_EL0 // 069e1bd51983 MRS PMXEVCNTR_EL0, R26 // 5a9d3bd51984 MSR R10, PMXEVCNTR_EL0 // 4a9d1bd51985 MRS PMXEVTYPER_EL0, R4 // 249d3bd51986 MSR R4, PMXEVTYPER_EL0 // 249d1bd51987 MRS REVIDR_EL1, R29 // dd0038d51988 MRS RMR_EL1, R4 // 44c038d51989 MSR R0, RMR_EL1 // 40c018d51990 MRS RVBAR_EL1, R7 // 27c038d51991 MRS SCTLR_EL1, R8 // 081038d51992 MSR R0, SCTLR_EL1 // 001018d51993 MRS SCTLR_EL1, R30 // 1e1038d51994 MSR R13, SCTLR_EL1 // 0d1018d51995 MRS SPSR_EL1, R1 // 014038d51996 MSR R2, SPSR_EL1 // 024018d51997 MRS SPSR_EL1, R3 // 034038d51998 MSR R14, SPSR_EL1 // 0e4018d51999 MRS SPSR_abt, R12 // 2c433cd52000 MSR R4, SPSR_abt // 24431cd5
Findings
✓ No findings reported for this file.