brintos

brintos / llvm-project-archived public Read only

0
0
Text · 253.2 KiB · b2ec5b6 Raw
5019 lines · plain
1// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8a,+fp-armv8 %s | FileCheck %s2  .globl _func3 4// Check that the assembler can handle the documented syntax from the ARM ARM.5// For complex constructs like shifter operands, check more thoroughly for them6// once then spot check that following instructions accept the form generally.7// This gives us good coverage while keeping the overall size of the test8// more reasonable.9 10 11_func:12// CHECK: _func13 14//------------------------------------------------------------------------------15// Add/sub (extended register)16//------------------------------------------------------------------------------17        // Basic extends 64-bit ops18        add x2, x4, w5, uxtb19        add x20, sp, w19, uxth20        add x12, x1, w20, uxtw21        add x20, x3, x13, uxtx22        add x17, x25, w20, sxtb23        add x18, x13, w19, sxth24        add sp, x2, w3, sxtw25        add x3, x5, x9, sxtx26// CHECK: add      x2, x4, w5, uxtb           // encoding: [0x82,0x00,0x25,0x8b]27// CHECK: add      x20, sp, w19, uxth         // encoding: [0xf4,0x23,0x33,0x8b]28// CHECK: add      x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0x8b]29// CHECK: add      x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0x8b]30// CHECK: add      x17, x25, w20, sxtb        // encoding: [0x31,0x83,0x34,0x8b]31// CHECK: add      x18, x13, w19, sxth        // encoding: [0xb2,0xa1,0x33,0x8b]32// CHECK: add      sp, x2, w3, sxtw           // encoding: [0x5f,0xc0,0x23,0x8b]33// CHECK: add      x3, x5, x9, sxtx           // encoding: [0xa3,0xe0,0x29,0x8b]34 35        // Basic extends, 32-bit ops36        add w2, w5, w7, uxtb37        add w21, w15, w17, uxth38        add w30, w29, wzr, uxtw39        add w19, w17, w1, uxtx  // Goodness knows what this means40        add w2, w5, w1, sxtb41        add w26, w17, w19, sxth42        add w0, w2, w3, sxtw43        add w2, w3, w5, sxtx44// CHECK: add      w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x0b]45// CHECK: add      w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x0b]46// CHECK: add      w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x0b]47// CHECK: add      w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x0b]48// CHECK: add      w2, w5, w1, sxtb           // encoding: [0xa2,0x80,0x21,0x0b]49// CHECK: add      w26, w17, w19, sxth        // encoding: [0x3a,0xa2,0x33,0x0b]50// CHECK: add      w0, w2, w3, sxtw           // encoding: [0x40,0xc0,0x23,0x0b]51// CHECK: add      w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x0b]52 53        // Nonzero shift amounts54        add x2, x3, w5, sxtb #055        add x7, x11, w13, uxth #456        add w17, w19, w23, uxtw #257        add w29, w23, w17, uxtx #158// CHECK: add      x2, x3, w5, sxtb           // encoding: [0x62,0x80,0x25,0x8b]59// CHECK: add      x7, x11, w13, uxth #4      // encoding: [0x67,0x31,0x2d,0x8b]60// CHECK: add      w17, w19, w23, uxtw #2     // encoding: [0x71,0x4a,0x37,0x0b]61// CHECK: add      w29, w23, w17, uxtx #1     // encoding: [0xfd,0x66,0x31,0x0b]62 63        // Sub64        sub x2, x4, w5, uxtb #265        sub x20, sp, w19, uxth #466        sub x12, x1, w20, uxtw67        sub x20, x3, x13, uxtx #068        sub x17, x25, w20, sxtb69        sub x18, x13, w19, sxth70        sub sp, x2, w3, sxtw71        sub x3, x5, x9, sxtx72// CHECK: sub      x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xcb]73// CHECK: sub      x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xcb]74// CHECK: sub      x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xcb]75// CHECK: sub      x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xcb]76// CHECK: sub      x17, x25, w20, sxtb        // encoding: [0x31,0x83,0x34,0xcb]77// CHECK: sub      x18, x13, w19, sxth        // encoding: [0xb2,0xa1,0x33,0xcb]78// CHECK: sub      sp, x2, w3, sxtw           // encoding: [0x5f,0xc0,0x23,0xcb]79// CHECK: sub      x3, x5, x9, sxtx           // encoding: [0xa3,0xe0,0x29,0xcb]80 81        sub w2, w5, w7, uxtb82        sub w21, w15, w17, uxth83        sub w30, w29, wzr, uxtw84        sub w19, w17, w1, uxtx  // Goodness knows what this means85        sub w2, w5, w1, sxtb86        sub w26, wsp, w19, sxth87        sub wsp, w2, w3, sxtw88        sub w2, w3, w5, sxtx89// CHECK: sub      w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x4b]90// CHECK: sub      w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x4b]91// CHECK: sub      w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x4b]92// CHECK: sub      w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x4b]93// CHECK: sub      w2, w5, w1, sxtb           // encoding: [0xa2,0x80,0x21,0x4b]94// CHECK: sub      w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x4b]95// CHECK: sub      wsp, w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x4b]96// CHECK: sub      w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x4b]97 98        // Adds99        adds x2, x4, w5, uxtb #2100        adds x20, sp, w19, uxth #4101        adds x12, x1, w20, uxtw102        adds x20, x3, x13, uxtx #0103        adds xzr, x25, w20, sxtb #3104        adds x18, sp, w19, sxth105        adds xzr, x2, w3, sxtw106        adds x3, x5, x9, sxtx #2107// CHECK: adds     x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xab]108// CHECK: adds     x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xab]109// CHECK: adds     x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xab]110// CHECK: adds     x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xab]111// CHECK: {{adds xzr,|cmn}} x25, w20, sxtb #3     // encoding: [0x3f,0x8f,0x34,0xab]112// CHECK: adds     x18, sp, w19, sxth         // encoding: [0xf2,0xa3,0x33,0xab]113// CHECK: {{adds xzr,|cmn}} x2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0xab]114// CHECK: adds     x3, x5, x9, sxtx #2        // encoding: [0xa3,0xe8,0x29,0xab]115 116        adds w2, w5, w7, uxtb117        adds w21, w15, w17, uxth118        adds w30, w29, wzr, uxtw119        adds w19, w17, w1, uxtx  // Goodness knows what this means120        adds w2, w5, w1, sxtb #1121        adds w26, wsp, w19, sxth122        adds wzr, w2, w3, sxtw123        adds w2, w3, w5, sxtx124// CHECK: adds     w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x2b]125// CHECK: adds     w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x2b]126// CHECK: adds     w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x2b]127// CHECK: adds     w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x2b]128// CHECK: adds     w2, w5, w1, sxtb #1        // encoding: [0xa2,0x84,0x21,0x2b]129// CHECK: adds     w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x2b]130// CHECK: cmn w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x2b]131// CHECK: adds     w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x2b]132 133        // subs134        subs x2, x4, w5, uxtb #2135        subs x20, sp, w19, uxth #4136        subs x12, x1, w20, uxtw137        subs x20, x3, x13, uxtx #0138        subs xzr, x25, w20, sxtb #3139        subs x18, sp, w19, sxth140        subs xzr, x2, w3, sxtw141        subs x3, x5, x9, sxtx #2142// CHECK: subs     x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xeb]143// CHECK: subs     x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xeb]144// CHECK: subs     x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xeb]145// CHECK: subs     x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xeb]146// CHECK: {{subs xzr,|cmp}} x25, w20, sxtb #3     // encoding: [0x3f,0x8f,0x34,0xeb]147// CHECK: subs     x18, sp, w19, sxth         // encoding: [0xf2,0xa3,0x33,0xeb]148// CHECK: {{subs xzr,|cmp}} x2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0xeb]149// CHECK: subs     x3, x5, x9, sxtx #2        // encoding: [0xa3,0xe8,0x29,0xeb]150 151        subs w2, w5, w7, uxtb152        subs w21, w15, w17, uxth153        subs w30, w29, wzr, uxtw154        subs w19, w17, w1, uxtx  // Goodness knows what this means155        subs w2, w5, w1, sxtb #1156        subs w26, wsp, w19, sxth157        subs wzr, w2, w3, sxtw158        subs w2, w3, w5, sxtx159// CHECK: subs     w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x6b]160// CHECK: subs     w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x6b]161// CHECK: subs     w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x6b]162// CHECK: subs     w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x6b]163// CHECK: subs     w2, w5, w1, sxtb #1        // encoding: [0xa2,0x84,0x21,0x6b]164// CHECK: subs     w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x6b]165// CHECK: {{subs wzr,|cmp}} w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x6b]166// CHECK: subs     w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x6b]167 168        // cmp169        cmp x4, w5, uxtb #2170        cmp sp, w19, uxth #4171        cmp x1, w20, uxtw172        cmp x3, x13, uxtx #0173        cmp x25, w20, sxtb #3174        cmp sp, w19, sxth175        cmp x2, w3, sxtw176        cmp x5, x9, sxtx #2177// CHECK: cmp      x4, w5, uxtb #2            // encoding: [0x9f,0x08,0x25,0xeb]178// CHECK: cmp      sp, w19, uxth #4           // encoding: [0xff,0x33,0x33,0xeb]179// CHECK: cmp      x1, w20, uxtw              // encoding: [0x3f,0x40,0x34,0xeb]180// CHECK: cmp      x3, x13, uxtx              // encoding: [0x7f,0x60,0x2d,0xeb]181// CHECK: cmp      x25, w20, sxtb #3          // encoding: [0x3f,0x8f,0x34,0xeb]182// CHECK: cmp      sp, w19, sxth              // encoding: [0xff,0xa3,0x33,0xeb]183// CHECK: cmp      x2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0xeb]184// CHECK: cmp      x5, x9, sxtx #2            // encoding: [0xbf,0xe8,0x29,0xeb]185 186        cmp w5, w7, uxtb187        cmp w15, w17, uxth188        cmp w29, wzr, uxtw189        cmp w17, w1, uxtx  // Goodness knows what this means190        cmp w5, w1, sxtb #1191        cmp wsp, w19, sxth192        cmp w2, w3, sxtw193        cmp w3, w5, sxtx194// CHECK: cmp      w5, w7, uxtb               // encoding: [0xbf,0x00,0x27,0x6b]195// CHECK: cmp      w15, w17, uxth             // encoding: [0xff,0x21,0x31,0x6b]196// CHECK: cmp      w29, wzr, uxtw             // encoding: [0xbf,0x43,0x3f,0x6b]197// CHECK: cmp      w17, w1, uxtx              // encoding: [0x3f,0x62,0x21,0x6b]198// CHECK: cmp      w5, w1, sxtb #1            // encoding: [0xbf,0x84,0x21,0x6b]199// CHECK: cmp      wsp, w19, sxth             // encoding: [0xff,0xa3,0x33,0x6b]200// CHECK: cmp      w2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0x6b]201// CHECK: cmp      w3, w5, sxtx               // encoding: [0x7f,0xe0,0x25,0x6b]202 203 204        // cmn205        cmn x4, w5, uxtb #2206        cmn sp, w19, uxth #4207        cmn x1, w20, uxtw208        cmn x3, x13, uxtx #0209        cmn x25, w20, sxtb #3210        cmn sp, w19, sxth211        cmn x2, w3, sxtw212        cmn x5, x9, sxtx #2213// CHECK: cmn      x4, w5, uxtb #2            // encoding: [0x9f,0x08,0x25,0xab]214// CHECK: cmn      sp, w19, uxth #4           // encoding: [0xff,0x33,0x33,0xab]215// CHECK: cmn      x1, w20, uxtw              // encoding: [0x3f,0x40,0x34,0xab]216// CHECK: cmn      x3, x13, uxtx              // encoding: [0x7f,0x60,0x2d,0xab]217// CHECK: cmn      x25, w20, sxtb #3          // encoding: [0x3f,0x8f,0x34,0xab]218// CHECK: cmn      sp, w19, sxth              // encoding: [0xff,0xa3,0x33,0xab]219// CHECK: cmn      x2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0xab]220// CHECK: cmn      x5, x9, sxtx #2            // encoding: [0xbf,0xe8,0x29,0xab]221 222        cmn w5, w7, uxtb223        cmn w15, w17, uxth224        cmn w29, wzr, uxtw225        cmn w17, w1, uxtx  // Goodness knows what this means226        cmn w5, w1, sxtb #1227        cmn wsp, w19, sxth228        cmn w2, w3, sxtw229        cmn w3, w5, sxtx230// CHECK: {{cmn|adds wzr,}}      w5, w7, uxtb               // encoding: [0xbf,0x00,0x27,0x2b]231// CHECK: {{cmn|adds wzr,}}      w15, w17, uxth             // encoding: [0xff,0x21,0x31,0x2b]232// CHECK: {{cmn|adds wzr,}}      w29, wzr, uxtw             // encoding: [0xbf,0x43,0x3f,0x2b]233// CHECK: {{cmn|adds wzr,}}      w17, w1, uxtx              // encoding: [0x3f,0x62,0x21,0x2b]234// CHECK: {{cmn|adds wzr,}}      w5, w1, sxtb #1            // encoding: [0xbf,0x84,0x21,0x2b]235// CHECK: {{cmn|adds wzr,}}      wsp, w19, sxth             // encoding: [0xff,0xa3,0x33,0x2b]236// CHECK: {{cmn|adds wzr,}}      w2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0x2b]237// CHECK: {{cmn|adds wzr,}}      w3, w5, sxtx               // encoding: [0x7f,0xe0,0x25,0x2b]238 239        // operands for cmp240        cmp x20, w29, uxtb #3241        cmp x12, x13, uxtx #4242        cmp wsp, w1, uxtb243        cmn wsp, wzr, sxtw244// CHECK: cmp      x20, w29, uxtb #3          // encoding: [0x9f,0x0e,0x3d,0xeb]245// CHECK: cmp      x12, x13, uxtx #4          // encoding: [0x9f,0x71,0x2d,0xeb]246// CHECK: cmp      wsp, w1, uxtb              // encoding: [0xff,0x03,0x21,0x6b]247// CHECK: {{cmn|adds wzr,}}      wsp, wzr, sxtw             // encoding: [0xff,0xc3,0x3f,0x2b]248 249        // LSL variant if sp involved250        sub sp, x3, x7, lsl #4251        add w2, wsp, w3, lsl #1252        cmp wsp, w9, lsl #0253        adds wzr, wsp, w3, lsl #4254        subs x3, sp, x9, lsl #2255// CHECK: sub      sp, x3, x7, lsl #4         // encoding: [0x7f,0x70,0x27,0xcb]256// CHECK: add      w2, wsp, w3, lsl #1        // encoding: [0xe2,0x47,0x23,0x0b]257// CHECK: cmp      wsp, w9                    // encoding: [0xff,0x43,0x29,0x6b]258// CHECK: cmn wsp, w3, lsl #4       // encoding: [0xff,0x53,0x23,0x2b]259// CHECK: subs     x3, sp, x9, lsl #2         // encoding: [0xe3,0x6b,0x29,0xeb]260 261//------------------------------------------------------------------------------262// Add/sub (immediate)263//------------------------------------------------------------------------------264 265// Check basic immediate values: an unsigned 12-bit immediate, optionally266// shifted left by 12 bits.267        add w4, w5, #0x0268        add w2, w3, #4095269        add w30, w29, #1, lsl #12270        add w13, w5, #4095, lsl #12271        add x5, x7, #1638272// CHECK: add      w4, w5, #0                 // encoding: [0xa4,0x00,0x00,0x11]273// CHECK: add      w2, w3, #4095              // encoding: [0x62,0xfc,0x3f,0x11]274// CHECK: add      w30, w29, #1, lsl #12      // encoding: [0xbe,0x07,0x40,0x11]275// CHECK: add      w13, w5, #4095, lsl #12    // encoding: [0xad,0xfc,0x7f,0x11]276// CHECK: add      x5, x7, #1638              // encoding: [0xe5,0x98,0x19,0x91]277 278// All registers involved in the non-S variants have 31 encoding sp rather than zr279        add w20, wsp, #801, lsl #0280        add wsp, wsp, #1104281        add wsp, w30, #4084282// CHECK: add      w20, wsp, #801             // encoding: [0xf4,0x87,0x0c,0x11]283// CHECK: add      wsp, wsp, #1104            // encoding: [0xff,0x43,0x11,0x11]284// CHECK: add      wsp, w30, #4084            // encoding: [0xdf,0xd3,0x3f,0x11]285 286// A few checks on the sanity of 64-bit versions287        add x0, x24, #291288        add x3, x24, #4095, lsl #12289        add x8, sp, #1074290        add sp, x29, #3816291// CHECK: add      x0, x24, #291              // encoding: [0x00,0x8f,0x04,0x91]292// CHECK: add      x3, x24, #4095, lsl #12    // encoding: [0x03,0xff,0x7f,0x91]293// CHECK: add      x8, sp, #1074              // encoding: [0xe8,0xcb,0x10,0x91]294// CHECK: add      sp, x29, #3816             // encoding: [0xbf,0xa3,0x3b,0x91]295 296// And on sub297        sub w0, wsp, #4077298        sub w4, w20, #546, lsl #12299        sub sp, sp, #288300        sub wsp, w19, #16301// CHECK: sub      w0, wsp, #4077             // encoding: [0xe0,0xb7,0x3f,0x51]302// CHECK: sub      w4, w20, #546, lsl #12     // encoding: [0x84,0x8a,0x48,0x51]303// CHECK: sub      sp, sp, #288               // encoding: [0xff,0x83,0x04,0xd1]304// CHECK: sub      wsp, w19, #16              // encoding: [0x7f,0x42,0x00,0x51]305 306// ADDS/SUBS accept zr in the Rd position but sp in the Rn position307        adds w13, w23, #291, lsl #12308        adds wzr, w2, #4095                  // FIXME: canonically should be cmn309        adds w20, wsp, #0x0310        adds xzr, x3, #0x1, lsl #12          // FIXME: canonically should be cmn311// CHECK: adds     w13, w23, #291, lsl #12    // encoding: [0xed,0x8e,0x44,0x31]312// CHECK: {{adds wzr,|cmn}} w2, #4095         // encoding: [0x5f,0xfc,0x3f,0x31]313// CHECK: adds     w20, wsp, #0               // encoding: [0xf4,0x03,0x00,0x31]314// CHECK: {{adds xzr,|cmn}} x3, #1, lsl #12   // encoding: [0x7f,0x04,0x40,0xb1]315 316// Checks for subs317        subs xzr, sp, #20, lsl #12           // FIXME: canonically should be cmp318        subs xzr, x30, #4095, lsl #0         // FIXME: canonically should be cmp319        subs x4, sp, #3822320// CHECK: {{subs xzr,|cmp}} sp, #20, lsl #12  // encoding: [0xff,0x53,0x40,0xf1]321// CHECK: {{subs xzr,|cmp}} x30, #4095        // encoding: [0xdf,0xff,0x3f,0xf1]322// CHECK: subs     x4, sp, #3822              // encoding: [0xe4,0xbb,0x3b,0xf1]323 324// cmn is an alias for adds zr, ...325        cmn w3, #291, lsl #12326        cmn wsp, #1365, lsl #0327        cmn sp, #1092, lsl #12328// CHECK: cmn      w3, #291, lsl #12          // encoding: [0x7f,0x8c,0x44,0x31]329// CHECK: cmn      wsp, #1365                 // encoding: [0xff,0x57,0x15,0x31]330// CHECK: cmn      sp, #1092, lsl #12         // encoding: [0xff,0x13,0x51,0xb1]331 332// cmp is an alias for subs zr, ... (FIXME: should always disassemble as such too).333        cmp x4, #300, lsl #12334        cmp wsp, #500335        cmp sp, #200, lsl #0336// CHECK: cmp      x4, #300, lsl #12          // encoding: [0x9f,0xb0,0x44,0xf1]337// CHECK: cmp      wsp, #500                  // encoding: [0xff,0xd3,0x07,0x71]338// CHECK: cmp      sp, #200                   // encoding: [0xff,0x23,0x03,0xf1]339 340// A "MOV" involving sp is encoded in this manner: add Reg, Reg, #0341        mov sp, x30342        mov wsp, w20343        mov x11, sp344        mov w24, wsp345// CHECK: mov      sp, x30                    // encoding: [0xdf,0x03,0x00,0x91]346// CHECK: mov      wsp, w20                   // encoding: [0x9f,0x02,0x00,0x11]347// CHECK: mov      x11, sp                    // encoding: [0xeb,0x03,0x00,0x91]348// CHECK: mov      w24, wsp                   // encoding: [0xf8,0x03,0x00,0x11]349 350// A relocation check (default to lo12, which is the only sane relocation anyway really)351        add x0, x4, #:lo12:var352// CHECK: add x0, x4, :lo12:var       // encoding: [0x80,0bAAAAAA00,0b00AAAAAA,0x91]353// CHECK:                             // fixup A - offset: 0, value: :lo12:var, kind: fixup_aarch64_add_imm12354 355//------------------------------------------------------------------------------356// Add-sub (shifted register)357//------------------------------------------------------------------------------358 359// As usual, we don't print the canonical forms of many instructions.360 361        add w3, w5, w7362        add wzr, w3, w5363        add w20, wzr, w4364        add w4, w6, wzr365// CHECK: add      w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x0b]366// CHECK: add      wzr, w3, w5                // encoding: [0x7f,0x00,0x05,0x0b]367// CHECK: add      w20, wzr, w4               // encoding: [0xf4,0x03,0x04,0x0b]368// CHECK: add      w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x0b]369 370        add w11, w13, w15, lsl #0371        add w9, w3, wzr, lsl #10372        add w17, w29, w20, lsl #31373        add w17, w29, w20, lsl #(31-2)374// CHECK: add      w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x0b]375// CHECK: add      w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x0b]376// CHECK: add      w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x0b]377// CHECK: add      w17, w29, w20, lsl #29     // encoding: [0xb1,0x77,0x14,0x0b]378 379        add w21, w22, w23, lsr #0380        add w24, w25, w26, lsr #18381        add w27, w28, w29, lsr #31382        add w27, w28, w29, lsr #(31-2)383// CHECK: add      w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x0b]384// CHECK: add      w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x0b]385// CHECK: add      w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x0b]386// CHECK: add      w27, w28, w29, lsr #29     // encoding: [0x9b,0x77,0x5d,0x0b]387 388        add w2, w3, w4, asr #0389        add w5, w6, w7, asr #21390        add w8, w9, w10, asr #31391        add w8, w9, w10, asr #(31-2)392// CHECK: add      w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x0b]393// CHECK: add      w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x0b]394// CHECK: add      w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x0b]395// CHECK: add      w8, w9, w10, asr #29       // encoding: [0x28,0x75,0x8a,0x0b]396 397        add x3, x5, x7398        add xzr, x3, x5399        add x20, xzr, x4400        add x4, x6, xzr401// CHECK: add      x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0x8b]402// CHECK: add      xzr, x3, x5                // encoding: [0x7f,0x00,0x05,0x8b]403// CHECK: add      x20, xzr, x4               // encoding: [0xf4,0x03,0x04,0x8b]404// CHECK: add      x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0x8b]405 406        add x11, x13, x15, lsl #0407        add x9, x3, xzr, lsl #10408        add x17, x29, x20, lsl #63409        add x17, x29, x20, lsl #(63-5)410// CHECK: add      x11, x13, x15              // encoding: [0xab,0x01,0x0f,0x8b]411// CHECK: add      x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x8b]412// CHECK: add      x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0x8b]413// CHECK: add	   x17, x29, x20, lsl #58     // encoding: [0xb1,0xeb,0x14,0x8b]414 415        add x21, x22, x23, lsr #0416        add x24, x25, x26, lsr #18417        add x27, x28, x29, lsr #63418        add x17, x29, x20, lsr #(63-5)419// CHECK: add      x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0x8b]420// CHECK: add      x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x8b]421// CHECK: add      x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0x8b]422// CHECK: add	   x17, x29, x20, lsr #58     // encoding: [0xb1,0xeb,0x54,0x8b]423 424        add x2, x3, x4, asr #0425        add x5, x6, x7, asr #21426        add x8, x9, x10, asr #63427        add x17, x29, x20, asr #(63-5)428// CHECK: add      x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0x8b]429// CHECK: add      x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0x8b]430// CHECK: add      x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0x8b]431// CHECK: add	   x17, x29, x20, asr #58     // encoding: [0xb1,0xeb,0x94,0x8b]432 433        adds w3, w5, w7434        adds wzr, w3, w5435        adds w20, wzr, w4436        adds w4, w6, wzr437// CHECK: adds     w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x2b]438// CHECK: {{adds wzr,|cmn}} w3, w5                // encoding: [0x7f,0x00,0x05,0x2b]439// CHECK: adds     w20, wzr, w4               // encoding: [0xf4,0x03,0x04,0x2b]440// CHECK: adds     w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x2b]441 442        adds w11, w13, w15, lsl #0443        adds w9, w3, wzr, lsl #10444        adds w17, w29, w20, lsl #31445// CHECK: adds     w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x2b]446// CHECK: adds     w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x2b]447// CHECK: adds     w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x2b]448 449        adds w21, w22, w23, lsr #0450        adds w24, w25, w26, lsr #18451        adds w27, w28, w29, lsr #31452// CHECK: adds     w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x2b]453// CHECK: adds     w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x2b]454// CHECK: adds     w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x2b]455 456        adds w2, w3, w4, asr #0457        adds w5, w6, w7, asr #21458        adds w8, w9, w10, asr #31459// CHECK: adds     w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x2b]460// CHECK: adds     w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x2b]461// CHECK: adds     w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x2b]462 463        adds x3, x5, x7464        adds xzr, x3, x5465        adds x20, xzr, x4466        adds x4, x6, xzr467// CHECK: adds     x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xab]468// CHECK: {{adds xzr,|cmn}} x3, x5                // encoding: [0x7f,0x00,0x05,0xab]469// CHECK: adds     x20, xzr, x4               // encoding: [0xf4,0x03,0x04,0xab]470// CHECK: adds     x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xab]471 472        adds x11, x13, x15, lsl #0473        adds x9, x3, xzr, lsl #10474        adds x17, x29, x20, lsl #63475// CHECK: adds     x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xab]476// CHECK: adds     x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xab]477// CHECK: adds     x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xab]478 479        adds x21, x22, x23, lsr #0480        adds x24, x25, x26, lsr #18481        adds x27, x28, x29, lsr #63482// CHECK: adds     x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xab]483// CHECK: adds     x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xab]484// CHECK: adds     x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xab]485 486        adds x2, x3, x4, asr #0487        adds x5, x6, x7, asr #21488        adds x8, x9, x10, asr #63489// CHECK: adds     x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xab]490// CHECK: adds     x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xab]491// CHECK: adds     x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xab]492 493        sub w3, w5, w7494        sub wzr, w3, w5495        sub w20, wzr, w4496        sub w4, w6, wzr497// CHECK: sub      w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x4b]498// CHECK: sub      wzr, w3, w5                // encoding: [0x7f,0x00,0x05,0x4b]499// CHECK: neg      w20, w4              // encoding: [0xf4,0x03,0x04,0x4b]500// CHECK: sub      w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x4b]501 502        sub w11, w13, w15, lsl #0503        sub w9, w3, wzr, lsl #10504        sub w17, w29, w20, lsl #31505// CHECK: sub      w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x4b]506// CHECK: sub      w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x4b]507// CHECK: sub      w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x4b]508 509        sub w21, w22, w23, lsr #0510        sub w24, w25, w26, lsr #18511        sub w27, w28, w29, lsr #31512// CHECK: sub      w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x4b]513// CHECK: sub      w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x4b]514// CHECK: sub      w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x4b]515 516        sub w2, w3, w4, asr #0517        sub w5, w6, w7, asr #21518        sub w8, w9, w10, asr #31519// CHECK: sub      w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x4b]520// CHECK: sub      w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x4b]521// CHECK: sub      w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x4b]522 523        sub x3, x5, x7524        sub xzr, x3, x5525        sub x20, xzr, x4526        sub x4, x6, xzr527// CHECK: sub      x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xcb]528// CHECK: sub      xzr, x3, x5                // encoding: [0x7f,0x00,0x05,0xcb]529// CHECK: neg      x20, x4              // encoding: [0xf4,0x03,0x04,0xcb]530// CHECK: sub      x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xcb]531 532        sub x11, x13, x15, lsl #0533        sub x9, x3, xzr, lsl #10534        sub x17, x29, x20, lsl #63535// CHECK: sub      x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xcb]536// CHECK: sub      x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xcb]537// CHECK: sub      x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xcb]538 539        sub x21, x22, x23, lsr #0540        sub x24, x25, x26, lsr #18541        sub x27, x28, x29, lsr #63542// CHECK: sub      x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xcb]543// CHECK: sub      x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xcb]544// CHECK: sub      x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xcb]545 546        sub x2, x3, x4, asr #0547        sub x5, x6, x7, asr #21548        sub x8, x9, x10, asr #63549// CHECK: sub      x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xcb]550// CHECK: sub      x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xcb]551// CHECK: sub      x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xcb]552 553        subs w3, w5, w7554        subs wzr, w3, w5555        subs w20, wzr, w4556        subs w4, w6, wzr557// CHECK: subs     w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x6b]558// CHECK: {{subs wzr,|cmp}} w3, w5            // encoding: [0x7f,0x00,0x05,0x6b]559// CHECK: negs     w20, w4              // encoding: [0xf4,0x03,0x04,0x6b]560// CHECK: subs     w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x6b]561 562        subs w11, w13, w15, lsl #0563        subs w9, w3, wzr, lsl #10564        subs w17, w29, w20, lsl #31565// CHECK: subs     w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x6b]566// CHECK: subs     w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x6b]567// CHECK: subs     w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x6b]568 569        subs w21, w22, w23, lsr #0570        subs w24, w25, w26, lsr #18571        subs w27, w28, w29, lsr #31572// CHECK: subs     w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x6b]573// CHECK: subs     w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x6b]574// CHECK: subs     w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x6b]575 576        subs w2, w3, w4, asr #0577        subs w5, w6, w7, asr #21578        subs w8, w9, w10, asr #31579// CHECK: subs     w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x6b]580// CHECK: subs     w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x6b]581// CHECK: subs     w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x6b]582 583        subs x3, x5, x7584        subs xzr, x3, x5585        subs x20, xzr, x4586        subs x4, x6, xzr587// CHECK: subs     x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xeb]588// CHECK: {{subs xzr,|cmp}} x3, x5            // encoding: [0x7f,0x00,0x05,0xeb]589// CHECK: negs     x20, x4              // encoding: [0xf4,0x03,0x04,0xeb]590// CHECK: subs     x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xeb]591 592        subs x11, x13, x15, lsl #0593        subs x9, x3, xzr, lsl #10594        subs x17, x29, x20, lsl #63595// CHECK: subs     x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xeb]596// CHECK: subs     x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xeb]597// CHECK: subs     x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xeb]598 599        subs x21, x22, x23, lsr #0600        subs x24, x25, x26, lsr #18601        subs x27, x28, x29, lsr #63602// CHECK: subs     x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xeb]603// CHECK: subs     x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xeb]604// CHECK: subs     x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xeb]605 606        subs x2, x3, x4, asr #0607        subs x5, x6, x7, asr #21608        subs x8, x9, x10, asr #63609// CHECK: subs     x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xeb]610// CHECK: subs     x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xeb]611// CHECK: subs     x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xeb]612 613        cmn w0, w3614        cmn wzr, w4615        cmn w5, wzr616        cmn wsp, w6617// CHECK: cmn      w0, w3                     // encoding: [0x1f,0x00,0x03,0x2b]618// CHECK: cmn      wzr, w4                    // encoding: [0xff,0x03,0x04,0x2b]619// CHECK: cmn      w5, wzr                    // encoding: [0xbf,0x00,0x1f,0x2b]620// CHECK: cmn      wsp, w6                    // encoding: [0xff,0x43,0x26,0x2b]621 622        cmn w6, w7, lsl #0623        cmn w8, w9, lsl #15624        cmn w10, w11, lsl #31625// CHECK: cmn      w6, w7                     // encoding: [0xdf,0x00,0x07,0x2b]626// CHECK: cmn      w8, w9, lsl #15            // encoding: [0x1f,0x3d,0x09,0x2b]627// CHECK: cmn      w10, w11, lsl #31          // encoding: [0x5f,0x7d,0x0b,0x2b]628 629        cmn w12, w13, lsr #0630        cmn w14, w15, lsr #21631        cmn w16, w17, lsr #31632// CHECK: cmn      w12, w13, lsr #0           // encoding: [0x9f,0x01,0x4d,0x2b]633// CHECK: cmn      w14, w15, lsr #21          // encoding: [0xdf,0x55,0x4f,0x2b]634// CHECK: cmn      w16, w17, lsr #31          // encoding: [0x1f,0x7e,0x51,0x2b]635 636        cmn w18, w19, asr #0637        cmn w20, w21, asr #22638        cmn w22, w23, asr #31639// CHECK: cmn      w18, w19, asr #0           // encoding: [0x5f,0x02,0x93,0x2b]640// CHECK: cmn      w20, w21, asr #22          // encoding: [0x9f,0x5a,0x95,0x2b]641// CHECK: cmn      w22, w23, asr #31          // encoding: [0xdf,0x7e,0x97,0x2b]642 643        cmn x0, x3644        cmn xzr, x4645        cmn x5, xzr646        cmn sp, x6647// CHECK: cmn      x0, x3                     // encoding: [0x1f,0x00,0x03,0xab]648// CHECK: cmn      xzr, x4                    // encoding: [0xff,0x03,0x04,0xab]649// CHECK: cmn      x5, xzr                    // encoding: [0xbf,0x00,0x1f,0xab]650// CHECK: cmn      sp, x6                     // encoding: [0xff,0x63,0x26,0xab]651 652        cmn x6, x7, lsl #0653        cmn x8, x9, lsl #15654        cmn x10, x11, lsl #63655// CHECK: cmn      x6, x7                     // encoding: [0xdf,0x00,0x07,0xab]656// CHECK: cmn      x8, x9, lsl #15            // encoding: [0x1f,0x3d,0x09,0xab]657// CHECK: cmn      x10, x11, lsl #63          // encoding: [0x5f,0xfd,0x0b,0xab]658 659        cmn x12, x13, lsr #0660        cmn x14, x15, lsr #41661        cmn x16, x17, lsr #63662// CHECK: cmn      x12, x13, lsr #0           // encoding: [0x9f,0x01,0x4d,0xab]663// CHECK: cmn      x14, x15, lsr #41          // encoding: [0xdf,0xa5,0x4f,0xab]664// CHECK: cmn      x16, x17, lsr #63          // encoding: [0x1f,0xfe,0x51,0xab]665 666        cmn x18, x19, asr #0667        cmn x20, x21, asr #55668        cmn x22, x23, asr #63669// CHECK: cmn      x18, x19, asr #0           // encoding: [0x5f,0x02,0x93,0xab]670// CHECK: cmn      x20, x21, asr #55          // encoding: [0x9f,0xde,0x95,0xab]671// CHECK: cmn      x22, x23, asr #63          // encoding: [0xdf,0xfe,0x97,0xab]672 673        cmp w0, w3674        cmp wzr, w4675        cmp w5, wzr676        cmp wsp, w6677// CHECK: cmp      w0, w3                     // encoding: [0x1f,0x00,0x03,0x6b]678// CHECK: cmp      wzr, w4                    // encoding: [0xff,0x03,0x04,0x6b]679// CHECK: cmp      w5, wzr                    // encoding: [0xbf,0x00,0x1f,0x6b]680// CHECK: cmp      wsp, w6                    // encoding: [0xff,0x43,0x26,0x6b]681 682        cmp w6, w7, lsl #0683        cmp w8, w9, lsl #15684        cmp w10, w11, lsl #31685// CHECK: cmp      w6, w7                     // encoding: [0xdf,0x00,0x07,0x6b]686// CHECK: cmp      w8, w9, lsl #15            // encoding: [0x1f,0x3d,0x09,0x6b]687// CHECK: cmp      w10, w11, lsl #31          // encoding: [0x5f,0x7d,0x0b,0x6b]688 689        cmp w12, w13, lsr #0690        cmp w14, w15, lsr #21691        cmp w16, w17, lsr #31692// CHECK: cmp      w12, w13, lsr #0           // encoding: [0x9f,0x01,0x4d,0x6b]693// CHECK: cmp      w14, w15, lsr #21          // encoding: [0xdf,0x55,0x4f,0x6b]694// CHECK: cmp      w16, w17, lsr #31          // encoding: [0x1f,0x7e,0x51,0x6b]695 696        cmp w18, w19, asr #0697        cmp w20, w21, asr #22698        cmp w22, w23, asr #31699// CHECK: cmp      w18, w19, asr #0           // encoding: [0x5f,0x02,0x93,0x6b]700// CHECK: cmp      w20, w21, asr #22          // encoding: [0x9f,0x5a,0x95,0x6b]701// CHECK: cmp      w22, w23, asr #31          // encoding: [0xdf,0x7e,0x97,0x6b]702 703        cmp x0, x3704        cmp xzr, x4705        cmp x5, xzr706        cmp sp, x6707// CHECK: cmp      x0, x3                     // encoding: [0x1f,0x00,0x03,0xeb]708// CHECK: cmp      xzr, x4                    // encoding: [0xff,0x03,0x04,0xeb]709// CHECK: cmp      x5, xzr                    // encoding: [0xbf,0x00,0x1f,0xeb]710// CHECK: cmp      sp, x6                     // encoding: [0xff,0x63,0x26,0xeb]711 712        cmp x6, x7, lsl #0713        cmp x8, x9, lsl #15714        cmp x10, x11, lsl #63715// CHECK: cmp      x6, x7                     // encoding: [0xdf,0x00,0x07,0xeb]716// CHECK: cmp      x8, x9, lsl #15            // encoding: [0x1f,0x3d,0x09,0xeb]717// CHECK: cmp      x10, x11, lsl #63          // encoding: [0x5f,0xfd,0x0b,0xeb]718 719        cmp x12, x13, lsr #0720        cmp x14, x15, lsr #41721        cmp x16, x17, lsr #63722// CHECK: cmp      x12, x13, lsr #0           // encoding: [0x9f,0x01,0x4d,0xeb]723// CHECK: cmp      x14, x15, lsr #41          // encoding: [0xdf,0xa5,0x4f,0xeb]724// CHECK: cmp      x16, x17, lsr #63          // encoding: [0x1f,0xfe,0x51,0xeb]725 726        cmp x18, x19, asr #0727        cmp x20, x21, asr #55728        cmp x22, x23, asr #63729// CHECK: cmp      x18, x19, asr #0           // encoding: [0x5f,0x02,0x93,0xeb]730// CHECK: cmp      x20, x21, asr #55          // encoding: [0x9f,0xde,0x95,0xeb]731// CHECK: cmp      x22, x23, asr #63          // encoding: [0xdf,0xfe,0x97,0xeb]732 733        neg w29, w30734        neg w30, wzr735        neg wzr, w0736// CHECK: neg      w29, w30              // encoding: [0xfd,0x03,0x1e,0x4b]737// CHECK: neg      w30, wzr              // encoding: [0xfe,0x03,0x1f,0x4b]738// CHECK: neg      wzr, w0               // encoding: [0xff,0x03,0x00,0x4b]739 740        neg w28, w27, lsl #0741        neg w26, w25, lsl #29742        neg w24, w23, lsl #31743 744// CHECK: neg      w28, w27              // encoding: [0xfc,0x03,0x1b,0x4b]745// CHECK: neg      w26, w25, lsl #29     // encoding: [0xfa,0x77,0x19,0x4b]746// CHECK: neg      w24, w23, lsl #31     // encoding: [0xf8,0x7f,0x17,0x4b]747 748        neg w22, w21, lsr #0749        neg w20, w19, lsr #1750        neg w18, w17, lsr #31751// CHECK: neg      w22, w21, lsr #0      // encoding: [0xf6,0x03,0x55,0x4b]752// CHECK: neg      w20, w19, lsr #1      // encoding: [0xf4,0x07,0x53,0x4b]753// CHECK: neg      w18, w17, lsr #31     // encoding: [0xf2,0x7f,0x51,0x4b]754 755        neg w16, w15, asr #0756        neg w14, w13, asr #12757        neg w12, w11, asr #31758// CHECK: neg      w16, w15, asr #0      // encoding: [0xf0,0x03,0x8f,0x4b]759// CHECK: neg      w14, w13, asr #12     // encoding: [0xee,0x33,0x8d,0x4b]760// CHECK: neg      w12, w11, asr #31     // encoding: [0xec,0x7f,0x8b,0x4b]761 762        neg x29, x30763        neg x30, xzr764        neg xzr, x0765// CHECK: neg      x29, x30              // encoding: [0xfd,0x03,0x1e,0xcb]766// CHECK: neg      x30, xzr              // encoding: [0xfe,0x03,0x1f,0xcb]767// CHECK: neg      xzr, x0               // encoding: [0xff,0x03,0x00,0xcb]768 769        neg x28, x27, lsl #0770        neg x26, x25, lsl #29771        neg x24, x23, lsl #31772 773// CHECK: neg      x28, x27              // encoding: [0xfc,0x03,0x1b,0xcb]774// CHECK: neg      x26, x25, lsl #29     // encoding: [0xfa,0x77,0x19,0xcb]775// CHECK: neg      x24, x23, lsl #31     // encoding: [0xf8,0x7f,0x17,0xcb]776 777        neg x22, x21, lsr #0778        neg x20, x19, lsr #1779        neg x18, x17, lsr #31780// CHECK: neg      x22, x21, lsr #0      // encoding: [0xf6,0x03,0x55,0xcb]781// CHECK: neg      x20, x19, lsr #1      // encoding: [0xf4,0x07,0x53,0xcb]782// CHECK: neg      x18, x17, lsr #31     // encoding: [0xf2,0x7f,0x51,0xcb]783 784        neg x16, x15, asr #0785        neg x14, x13, asr #12786        neg x12, x11, asr #31787// CHECK: neg      x16, x15, asr #0      // encoding: [0xf0,0x03,0x8f,0xcb]788// CHECK: neg      x14, x13, asr #12     // encoding: [0xee,0x33,0x8d,0xcb]789// CHECK: neg      x12, x11, asr #31     // encoding: [0xec,0x7f,0x8b,0xcb]790 791        negs w29, w30792        negs w30, wzr793        negs wzr, w0794// CHECK: negs     w29, w30              // encoding: [0xfd,0x03,0x1e,0x6b]795// CHECK: negs     w30, wzr              // encoding: [0xfe,0x03,0x1f,0x6b]796// CHECK: cmp      wzr, w0               // encoding: [0xff,0x03,0x00,0x6b]797 798        negs w28, w27, lsl #0799        negs w26, w25, lsl #29800        negs w24, w23, lsl #31801 802// CHECK: negs     w28, w27             // encoding: [0xfc,0x03,0x1b,0x6b]803// CHECK: negs     w26, w25, lsl #29     // encoding: [0xfa,0x77,0x19,0x6b]804// CHECK: negs     w24, w23, lsl #31     // encoding: [0xf8,0x7f,0x17,0x6b]805 806        negs w22, w21, lsr #0807        negs w20, w19, lsr #1808        negs w18, w17, lsr #31809// CHECK: negs     w22, w21, lsr #0      // encoding: [0xf6,0x03,0x55,0x6b]810// CHECK: negs     w20, w19, lsr #1      // encoding: [0xf4,0x07,0x53,0x6b]811// CHECK: negs     w18, w17, lsr #31     // encoding: [0xf2,0x7f,0x51,0x6b]812 813        negs w16, w15, asr #0814        negs w14, w13, asr #12815        negs w12, w11, asr #31816// CHECK: negs     w16, w15, asr #0      // encoding: [0xf0,0x03,0x8f,0x6b]817// CHECK: negs     w14, w13, asr #12     // encoding: [0xee,0x33,0x8d,0x6b]818// CHECK: negs     w12, w11, asr #31     // encoding: [0xec,0x7f,0x8b,0x6b]819 820        negs x29, x30821        negs x30, xzr822        negs xzr, x0823// CHECK: negs     x29, x30              // encoding: [0xfd,0x03,0x1e,0xeb]824// CHECK: negs     x30, xzr              // encoding: [0xfe,0x03,0x1f,0xeb]825// CHECK: cmp     xzr, x0                // encoding: [0xff,0x03,0x00,0xeb]826 827        negs x28, x27, lsl #0828        negs x26, x25, lsl #29829        negs x24, x23, lsl #31830 831// CHECK: negs     x28, x27              // encoding: [0xfc,0x03,0x1b,0xeb]832// CHECK: negs     x26, x25, lsl #29     // encoding: [0xfa,0x77,0x19,0xeb]833// CHECK: negs     x24, x23, lsl #31     // encoding: [0xf8,0x7f,0x17,0xeb]834 835        negs x22, x21, lsr #0836        negs x20, x19, lsr #1837        negs x18, x17, lsr #31838// CHECK: negs     x22, x21, lsr #0      // encoding: [0xf6,0x03,0x55,0xeb]839// CHECK: negs     x20, x19, lsr #1      // encoding: [0xf4,0x07,0x53,0xeb]840// CHECK: negs     x18, x17, lsr #31     // encoding: [0xf2,0x7f,0x51,0xeb]841 842        negs x16, x15, asr #0843        negs x14, x13, asr #12844        negs x12, x11, asr #31845// CHECK: negs     x16, x15, asr #0      // encoding: [0xf0,0x03,0x8f,0xeb]846// CHECK: negs     x14, x13, asr #12     // encoding: [0xee,0x33,0x8d,0xeb]847// CHECK: negs     x12, x11, asr #31     // encoding: [0xec,0x7f,0x8b,0xeb]848 849//------------------------------------------------------------------------------850// Add-sub (shifted register)851//------------------------------------------------------------------------------852        adc w29, w27, w25853        adc wzr, w3, w4854        adc w9, wzr, w10855        adc w20, w0, wzr856// CHECK: adc      w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x1a]857// CHECK: adc      wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x1a]858// CHECK: adc      w9, wzr, w10               // encoding: [0xe9,0x03,0x0a,0x1a]859// CHECK: adc      w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x1a]860 861        adc x29, x27, x25862        adc xzr, x3, x4863        adc x9, xzr, x10864        adc x20, x0, xzr865// CHECK: adc      x29, x27, x25              // encoding: [0x7d,0x03,0x19,0x9a]866// CHECK: adc      xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0x9a]867// CHECK: adc      x9, xzr, x10               // encoding: [0xe9,0x03,0x0a,0x9a]868// CHECK: adc      x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0x9a]869 870        adcs w29, w27, w25871        adcs wzr, w3, w4872        adcs w9, wzr, w10873        adcs w20, w0, wzr874// CHECK: adcs     w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x3a]875// CHECK: adcs     wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x3a]876// CHECK: adcs     w9, wzr, w10               // encoding: [0xe9,0x03,0x0a,0x3a]877// CHECK: adcs     w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x3a]878 879        adcs x29, x27, x25880        adcs xzr, x3, x4881        adcs x9, xzr, x10882        adcs x20, x0, xzr883// CHECK: adcs     x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xba]884// CHECK: adcs     xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xba]885// CHECK: adcs     x9, xzr, x10               // encoding: [0xe9,0x03,0x0a,0xba]886// CHECK: adcs     x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xba]887 888        sbc w29, w27, w25889        sbc wzr, w3, w4890        sbc w9, wzr, w10891        sbc w20, w0, wzr892// CHECK: sbc      w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x5a]893// CHECK: sbc      wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x5a]894// CHECK: ngc      w9, w10                    // encoding: [0xe9,0x03,0x0a,0x5a]895// CHECK: sbc      w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x5a]896 897        sbc x29, x27, x25898        sbc xzr, x3, x4899        sbc x9, xzr, x10900        sbc x20, x0, xzr901// CHECK: sbc      x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xda]902// CHECK: sbc      xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xda]903// CHECK: ngc      x9, x10                    // encoding: [0xe9,0x03,0x0a,0xda]904// CHECK: sbc      x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xda]905 906        sbcs w29, w27, w25907        sbcs wzr, w3, w4908        sbcs w9, wzr, w10909        sbcs w20, w0, wzr910// CHECK: sbcs     w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x7a]911// CHECK: sbcs     wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x7a]912// CHECK: ngcs     w9, w10                    // encoding: [0xe9,0x03,0x0a,0x7a]913// CHECK: sbcs     w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x7a]914 915        sbcs x29, x27, x25916        sbcs xzr, x3, x4917        sbcs x9, xzr, x10918        sbcs x20, x0, xzr919// CHECK: sbcs     x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xfa]920// CHECK: sbcs     xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xfa]921// CHECK: ngcs     x9, x10                    // encoding: [0xe9,0x03,0x0a,0xfa]922// CHECK: sbcs     x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xfa]923 924        ngc w3, w12925        ngc wzr, w9926        ngc w23, wzr927// CHECK: ngc      w3, w12                    // encoding: [0xe3,0x03,0x0c,0x5a]928// CHECK: ngc      wzr, w9                    // encoding: [0xff,0x03,0x09,0x5a]929// CHECK: ngc      w23, wzr                   // encoding: [0xf7,0x03,0x1f,0x5a]930 931        ngc x29, x30932        ngc xzr, x0933        ngc x0, xzr934// CHECK: ngc      x29, x30                   // encoding: [0xfd,0x03,0x1e,0xda]935// CHECK: ngc      xzr, x0                    // encoding: [0xff,0x03,0x00,0xda]936// CHECK: ngc      x0, xzr                    // encoding: [0xe0,0x03,0x1f,0xda]937 938        ngcs w3, w12939        ngcs wzr, w9940        ngcs w23, wzr941// CHECK: ngcs     w3, w12                    // encoding: [0xe3,0x03,0x0c,0x7a]942// CHECK: ngcs     wzr, w9                    // encoding: [0xff,0x03,0x09,0x7a]943// CHECK: ngcs     w23, wzr                   // encoding: [0xf7,0x03,0x1f,0x7a]944 945        ngcs x29, x30946        ngcs xzr, x0947        ngcs x0, xzr948// CHECK: ngcs     x29, x30                   // encoding: [0xfd,0x03,0x1e,0xfa]949// CHECK: ngcs     xzr, x0                    // encoding: [0xff,0x03,0x00,0xfa]950// CHECK: ngcs     x0, xzr                    // encoding: [0xe0,0x03,0x1f,0xfa]951 952//------------------------------------------------------------------------------953// Bitfield954//------------------------------------------------------------------------------955 956        sbfm x1, x2, #3, #4957        sbfm x3, x4, #63, #63958        sbfm wzr, wzr, #31, #31959        sbfm w12, w9, #0, #0960 961// CHECK: sbfx     x1, x2, #3, #2       // encoding: [0x41,0x10,0x43,0x93]962// CHECK: asr      x3, x4, #63          // encoding: [0x83,0xfc,0x7f,0x93]963// CHECK: asr      wzr, wzr, #31        // encoding: [0xff,0x7f,0x1f,0x13]964// CHECK: sbfx     w12, w9, #0, #1      // encoding: [0x2c,0x01,0x00,0x13]965 966        ubfm x4, x5, #12, #10967        ubfm xzr, x4, #0, #0968        ubfm x4, xzr, #63, #5969        ubfm x5, x6, #12, #63970// CHECK: ubfiz    x4, x5, #52, #11        // encoding: [0xa4,0x28,0x4c,0xd3]971// CHECK: ubfx     xzr, x4, #0, #1         // encoding: [0x9f,0x00,0x40,0xd3]972// CHECK: ubfiz    x4, xzr, #1, #6         // encoding: [0xe4,0x17,0x7f,0xd3]973// CHECK: lsr      x5, x6, #12             // encoding: [0xc5,0xfc,0x4c,0xd3]974 975        bfm x4, x5, #12, #10976        bfm xzr, x4, #0, #0977        bfm x4, xzr, #63, #5978        bfm x5, x6, #12, #63979// CHECK: bfi      x4, x5, #52, #11           // encoding: [0xa4,0x28,0x4c,0xb3]980// CHECK: bfxil    xzr, x4, #0, #1            // encoding: [0x9f,0x00,0x40,0xb3]981// CHECK: bfi      x4, xzr, #1, #6            // encoding: [0xe4,0x17,0x7f,0xb3]982// CHECK: bfxil    x5, x6, #12, #52           // encoding: [0xc5,0xfc,0x4c,0xb3]983 984        sxtb w1, w2985        sxtb xzr, w3986        sxth w9, w10987        sxth x0, w1988        sxtw x3, w30989// CHECK: sxtb     w1, w2                     // encoding: [0x41,0x1c,0x00,0x13]990// CHECK: sxtb     xzr, w3                    // encoding: [0x7f,0x1c,0x40,0x93]991// CHECK: sxth     w9, w10                    // encoding: [0x49,0x3d,0x00,0x13]992// CHECK: sxth     x0, w1                     // encoding: [0x20,0x3c,0x40,0x93]993// CHECK: sxtw     x3, w30                    // encoding: [0xc3,0x7f,0x40,0x93]994 995        uxtb w1, w2996        uxtb xzr, w3997        uxth w9, w10998        uxth x0, w1999// CHECK: uxtb     w1, w2                     // encoding: [0x41,0x1c,0x00,0x53]1000// CHECK: uxtb     {{[wx]}}zr, w3             // encoding: [0x7f,0x1c,0x00,0x53]1001// CHECK: uxth     w9, w10                    // encoding: [0x49,0x3d,0x00,0x53]1002// CHECK: uxth     {{[wx]}}0, w1              // encoding: [0x20,0x3c,0x00,0x53]1003 1004        asr w3, w2, #01005        asr w9, w10, #311006        asr x20, x21, #631007        asr w1, wzr, #31008// CHECK: asr      w3, w2, #0                 // encoding: [0x43,0x7c,0x00,0x13]1009// CHECK: asr      w9, w10, #31               // encoding: [0x49,0x7d,0x1f,0x13]1010// CHECK: asr      x20, x21, #63              // encoding: [0xb4,0xfe,0x7f,0x93]1011// CHECK: asr      w1, wzr, #3                // encoding: [0xe1,0x7f,0x03,0x13]1012 1013        lsr w3, w2, #01014        lsr w9, w10, #311015        lsr x20, x21, #631016        lsr wzr, wzr, #31017// CHECK: lsr      w3, w2, #0                 // encoding: [0x43,0x7c,0x00,0x53]1018// CHECK: lsr      w9, w10, #31               // encoding: [0x49,0x7d,0x1f,0x53]1019// CHECK: lsr      x20, x21, #63              // encoding: [0xb4,0xfe,0x7f,0xd3]1020// CHECK: lsr      wzr, wzr, #3               // encoding: [0xff,0x7f,0x03,0x53]1021 1022        lsl w3, w2, #01023        lsl w9, w10, #311024        lsl x20, x21, #631025        lsl w1, wzr, #31026// CHECK: {{lsl|lsr}}      w3, w2, #0         // encoding: [0x43,0x7c,0x00,0x53]1027// CHECK: lsl      w9, w10, #31               // encoding: [0x49,0x01,0x01,0x53]1028// CHECK: lsl      x20, x21, #63              // encoding: [0xb4,0x02,0x41,0xd3]1029// CHECK: lsl      w1, wzr, #3                // encoding: [0xe1,0x73,0x1d,0x53]1030 1031        sbfiz w9, w10, #0, #11032        sbfiz x2, x3, #63, #11033        sbfiz x19, x20, #0, #641034        sbfiz x9, x10, #5, #591035        sbfiz w9, w10, #0, #321036        sbfiz w11, w12, #31, #11037        sbfiz w13, w14, #29, #31038        sbfiz xzr, xzr, #10, #111039// CHECK: {{sbfiz|sbfx}}    w9, w10, #0, #1   // encoding: [0x49,0x01,0x00,0x13]1040// CHECK: sbfiz    x2, x3, #63, #1            // encoding: [0x62,0x00,0x41,0x93]1041// CHECK: asr    x19, x20, #0           // encoding: [0x93,0xfe,0x40,0x93]1042// CHECK: sbfiz    x9, x10, #5, #59           // encoding: [0x49,0xe9,0x7b,0x93]1043// CHECK: asr    w9, w10, #0            // encoding: [0x49,0x7d,0x00,0x13]1044// CHECK: sbfiz    w11, w12, #31, #1          // encoding: [0x8b,0x01,0x01,0x13]1045// CHECK: sbfiz    w13, w14, #29, #3          // encoding: [0xcd,0x09,0x03,0x13]1046// CHECK: sbfiz    xzr, xzr, #10, #11         // encoding: [0xff,0x2b,0x76,0x93]1047 1048        sbfx w9, w10, #0, #11049        sbfx x2, x3, #63, #11050        sbfx x19, x20, #0, #641051        sbfx x9, x10, #5, #591052        sbfx w9, w10, #0, #321053        sbfx w11, w12, #31, #11054        sbfx w13, w14, #29, #31055        sbfx xzr, xzr, #10, #111056// CHECK: sbfx     w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x13]1057// CHECK: asr     x2, x3, #63           // encoding: [0x62,0xfc,0x7f,0x93]1058// CHECK: asr     x19, x20, #0          // encoding: [0x93,0xfe,0x40,0x93]1059// CHECK: asr     x9, x10, #5           // encoding: [0x49,0xfd,0x45,0x93]1060// CHECK: asr     w9, w10, #0           // encoding: [0x49,0x7d,0x00,0x13]1061// CHECK: asr     w11, w12, #31         // encoding: [0x8b,0x7d,0x1f,0x13]1062// CHECK: asr     w13, w14, #29         // encoding: [0xcd,0x7d,0x1d,0x13]1063// CHECK: sbfx     xzr, xzr, #10, #11         // encoding: [0xff,0x53,0x4a,0x93]1064 1065        bfi w9, w10, #0, #11066        bfi x2, x3, #63, #11067        bfi x19, x20, #0, #641068        bfi x9, x10, #5, #591069        bfi w9, w10, #0, #321070        bfi w11, w12, #31, #11071        bfi w13, w14, #29, #31072        bfi xzr, xzr, #10, #111073 1074// CHECK: bfxil    w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x33]1075// CHECK: bfi      x2, x3, #63, #1            // encoding: [0x62,0x00,0x41,0xb3]1076// CHECK: bfxil    x19, x20, #0, #64          // encoding: [0x93,0xfe,0x40,0xb3]1077// CHECK: bfi      x9, x10, #5, #59           // encoding: [0x49,0xe9,0x7b,0xb3]1078// CHECK: bfxil    w9, w10, #0, #32           // encoding: [0x49,0x7d,0x00,0x33]1079// CHECK: bfi      w11, w12, #31, #1          // encoding: [0x8b,0x01,0x01,0x33]1080// CHECK: bfi      w13, w14, #29, #3          // encoding: [0xcd,0x09,0x03,0x33]1081// CHECK: bfi      xzr, xzr, #10, #11         // encoding: [0xff,0x2b,0x76,0xb3]1082 1083        bfxil w9, w10, #0, #11084        bfxil x2, x3, #63, #11085        bfxil x19, x20, #0, #641086        bfxil x9, x10, #5, #591087        bfxil w9, w10, #0, #321088        bfxil w11, w12, #31, #11089        bfxil w13, w14, #29, #31090        bfxil xzr, xzr, #10, #111091// CHECK: bfxil    w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x33]1092// CHECK: bfxil    x2, x3, #63, #1            // encoding: [0x62,0xfc,0x7f,0xb3]1093// CHECK: bfxil    x19, x20, #0, #64          // encoding: [0x93,0xfe,0x40,0xb3]1094// CHECK: bfxil    x9, x10, #5, #59           // encoding: [0x49,0xfd,0x45,0xb3]1095// CHECK: bfxil    w9, w10, #0, #32           // encoding: [0x49,0x7d,0x00,0x33]1096// CHECK: bfxil    w11, w12, #31, #1          // encoding: [0x8b,0x7d,0x1f,0x33]1097// CHECK: bfxil    w13, w14, #29, #3          // encoding: [0xcd,0x7d,0x1d,0x33]1098// CHECK: bfxil    xzr, xzr, #10, #11         // encoding: [0xff,0x53,0x4a,0xb3]1099 1100        ubfiz w9, w10, #0, #11101        ubfiz x2, x3, #63, #11102        ubfiz x19, x20, #0, #641103        ubfiz x9, x10, #5, #591104        ubfiz w9, w10, #0, #321105        ubfiz w11, w12, #31, #11106        ubfiz w13, w14, #29, #31107        ubfiz xzr, xzr, #10, #111108 1109// CHECK: ubfx     w9, w10, #0, #1         // encoding: [0x49,0x01,0x00,0x53]1110// CHECK: lsl      x2, x3, #63             // encoding: [0x62,0x00,0x41,0xd3]1111// CHECK: lsr      x19, x20, #0            // encoding: [0x93,0xfe,0x40,0xd3]1112// CHECK: lsl      x9, x10, #5             // encoding: [0x49,0xe9,0x7b,0xd3]1113// CHECK: lsr      w9, w10, #0             // encoding: [0x49,0x7d,0x00,0x53]1114// CHECK: lsl      w11, w12, #31           // encoding: [0x8b,0x01,0x01,0x53]1115// CHECK: lsl      w13, w14, #29           // encoding: [0xcd,0x09,0x03,0x53]1116// CHECK: ubfiz    xzr, xzr, #10, #11      // encoding: [0xff,0x2b,0x76,0xd3]1117 1118        ubfx w9, w10, #0, #11119        ubfx x2, x3, #63, #11120        ubfx x19, x20, #0, #641121        ubfx x9, x10, #5, #591122        ubfx w9, w10, #0, #321123        ubfx w11, w12, #31, #11124        ubfx w13, w14, #29, #31125        ubfx xzr, xzr, #10, #111126 1127// CHECK: ubfx    w9, w10, #0, #1         // encoding: [0x49,0x01,0x00,0x53]1128// CHECK: lsr     x2, x3, #63             // encoding: [0x62,0xfc,0x7f,0xd3]1129// CHECK: lsr     x19, x20, #0            // encoding: [0x93,0xfe,0x40,0xd3]1130// CHECK: lsr     x9, x10, #5             // encoding: [0x49,0xfd,0x45,0xd3]1131// CHECK: lsr     w9, w10, #0             // encoding: [0x49,0x7d,0x00,0x53]1132// CHECK: lsr     w11, w12, #31           // encoding: [0x8b,0x7d,0x1f,0x53]1133// CHECK: lsr     w13, w14, #29           // encoding: [0xcd,0x7d,0x1d,0x53]1134// CHECK: ubfx    xzr, xzr, #10, #11      // encoding: [0xff,0x53,0x4a,0xd3]1135 1136        bfc w3, #0, #321137        bfc wzr, #31, #11138        bfc x0, #5, #91139        bfc xzr, #63, #11140// CHECK: bfxil w3, wzr, #0, #32      // encoding: [0xe3,0x7f,0x00,0x33]1141// CHECK: bfi wzr, wzr, #31, #1       // encoding: [0xff,0x03,0x01,0x33]1142// CHECK: bfi x0, xzr, #5, #9         // encoding: [0xe0,0x23,0x7b,0xb3]1143// CHECK: bfi xzr, xzr, #63, #1       // encoding: [0xff,0x03,0x41,0xb3]1144 1145//------------------------------------------------------------------------------1146// Compare & branch (immediate)1147//------------------------------------------------------------------------------1148 1149        cbz w5, lbl1150        cbz x5, lbl1151        cbnz x2, lbl1152        cbnz x26, lbl1153// CHECK: cbz    w5, lbl                 // encoding: [0bAAA00101,A,A,0x34]1154// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191155// CHECK: cbz    x5, lbl                 // encoding: [0bAAA00101,A,A,0xb4]1156// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191157// CHECK: cbnz    x2, lbl                 // encoding: [0bAAA00010,A,A,0xb5]1158// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191159// CHECK: cbnz    x26, lbl                // encoding: [0bAAA11010,A,A,0xb5]1160// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191161 1162        cbz wzr, lbl1163        cbnz xzr, lbl1164 1165// CHECK: cbz    wzr, lbl                // encoding: [0bAAA11111,A,A,0x34]1166// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191167// CHECK: cbnz    xzr, lbl                // encoding: [0bAAA11111,A,A,0xb5]1168// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191169 1170        cbz w5, #01171        cbnz x3, #-41172        cbz w20, #10485721173        cbnz xzr, #-10485761174// CHECK: cbz     w5, #0                  // encoding: [0x05,0x00,0x00,0x34]1175// CHECK: cbnz    x3, #-4                 // encoding: [0xe3,0xff,0xff,0xb5]1176// CHECK: cbz     w20, #1048572           // encoding: [0xf4,0xff,0x7f,0x34]1177// CHECK: cbnz    xzr, #-1048576          // encoding: [0x1f,0x00,0x80,0xb5]1178 1179//------------------------------------------------------------------------------1180// Conditional branch (immediate)1181//------------------------------------------------------------------------------1182 1183        b.eq lbl1184        b.ne lbl1185        b.cs lbl1186        b.hs lbl1187        b.lo lbl1188        b.cc lbl1189        b.mi lbl1190        b.pl lbl1191        b.vs lbl1192        b.vc lbl1193        b.hi lbl1194        b.ls lbl1195        b.ge lbl1196        b.lt lbl1197        b.gt lbl1198        b.le lbl1199        b.al lbl1200 1201// CHECK: b.eq lbl                     // encoding: [0bAAA00000,A,A,0x54]1202// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191203// CHECK: b.ne lbl                     // encoding: [0bAAA00001,A,A,0x54]1204// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191205// CHECK: b.hs lbl                     // encoding: [0bAAA00010,A,A,0x54]1206// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191207// CHECK: b.hs lbl                     // encoding: [0bAAA00010,A,A,0x54]1208// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191209// CHECK: b.lo lbl                     // encoding: [0bAAA00011,A,A,0x54]1210// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191211// CHECK: b.lo lbl                     // encoding: [0bAAA00011,A,A,0x54]1212// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191213// CHECK: b.mi lbl                     // encoding: [0bAAA00100,A,A,0x54]1214// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191215// CHECK: b.pl lbl                     // encoding: [0bAAA00101,A,A,0x54]1216// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191217// CHECK: b.vs lbl                     // encoding: [0bAAA00110,A,A,0x54]1218// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191219// CHECK: b.vc lbl                     // encoding: [0bAAA00111,A,A,0x54]1220// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191221// CHECK: b.hi lbl                     // encoding: [0bAAA01000,A,A,0x54]1222// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191223// CHECK: b.ls lbl                     // encoding: [0bAAA01001,A,A,0x54]1224// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191225// CHECK: b.ge lbl                     // encoding: [0bAAA01010,A,A,0x54]1226// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191227// CHECK: b.lt lbl                     // encoding: [0bAAA01011,A,A,0x54]1228// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191229// CHECK: b.gt lbl                     // encoding: [0bAAA01100,A,A,0x54]1230// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191231// CHECK: b.le lbl                     // encoding: [0bAAA01101,A,A,0x54]1232// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191233// CHECK: b.al lbl                     // encoding: [0bAAA01110,A,A,0x54]1234// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch191235 1236        //  ARM64 has these in a separate file1237        beq lbl1238        bne lbl1239        bcs lbl1240        bhs lbl1241        blo lbl1242        bcc lbl1243        bmi lbl1244        bpl lbl1245        bvs lbl1246        bvc lbl1247        bhi lbl1248        bls lbl1249        bge lbl1250        blt lbl1251        bgt lbl1252        ble lbl1253        bal lbl1254 1255        b.eq #01256        b.lt #-41257        b.cc #10485721258// CHECK: b.eq #0                         // encoding: [0x00,0x00,0x00,0x54]1259// CHECK: b.lt #-4                        // encoding: [0xeb,0xff,0xff,0x54]1260// CHECK: b.lo #1048572                   // encoding: [0xe3,0xff,0x7f,0x54]1261 1262//------------------------------------------------------------------------------1263// Conditional compare (immediate)1264//------------------------------------------------------------------------------1265 1266        ccmp w1, #31, #0, eq1267        ccmp w3, #0, #15, hs1268        ccmp wzr, #15, #13, cs1269// CHECK: ccmp    w1, #31, #0, eq         // encoding: [0x20,0x08,0x5f,0x7a]1270// CHECK: ccmp    w3, #0, #15, hs         // encoding: [0x6f,0x28,0x40,0x7a]1271// CHECK: ccmp    wzr, #15, #13, hs       // encoding: [0xed,0x2b,0x4f,0x7a]1272 1273        ccmp x9, #31, #0, le1274        ccmp x3, #0, #15, gt1275        ccmp xzr, #5, #7, ne1276// CHECK: ccmp    x9, #31, #0, le         // encoding: [0x20,0xd9,0x5f,0xfa]1277// CHECK: ccmp    x3, #0, #15, gt         // encoding: [0x6f,0xc8,0x40,0xfa]1278// CHECK: ccmp    xzr, #5, #7, ne         // encoding: [0xe7,0x1b,0x45,0xfa]1279 1280        ccmn w1, #31, #0, eq1281        ccmn w3, #0, #15, hs1282        ccmn wzr, #15, #13, cs1283// CHECK: ccmn    w1, #31, #0, eq         // encoding: [0x20,0x08,0x5f,0x3a]1284// CHECK: ccmn    w3, #0, #15, hs         // encoding: [0x6f,0x28,0x40,0x3a]1285// CHECK: ccmn    wzr, #15, #13, hs       // encoding: [0xed,0x2b,0x4f,0x3a]1286 1287        ccmn x9, #31, #0, le1288        ccmn x3, #0, #15, gt1289        ccmn xzr, #5, #7, ne1290// CHECK: ccmn    x9, #31, #0, le         // encoding: [0x20,0xd9,0x5f,0xba]1291// CHECK: ccmn    x3, #0, #15, gt         // encoding: [0x6f,0xc8,0x40,0xba]1292// CHECK: ccmn    xzr, #5, #7, ne         // encoding: [0xe7,0x1b,0x45,0xba]1293 1294//------------------------------------------------------------------------------1295// Conditional compare (register)1296//------------------------------------------------------------------------------1297 1298        ccmp w1, wzr, #0, eq1299        ccmp w3, w0, #15, hs1300        ccmp wzr, w15, #13, cs1301// CHECK: ccmp    w1, wzr, #0, eq         // encoding: [0x20,0x00,0x5f,0x7a]1302// CHECK: ccmp    w3, w0, #15, hs         // encoding: [0x6f,0x20,0x40,0x7a]1303// CHECK: ccmp    wzr, w15, #13, hs       // encoding: [0xed,0x23,0x4f,0x7a]1304 1305        ccmp x9, xzr, #0, le1306        ccmp x3, x0, #15, gt1307        ccmp xzr, x5, #7, ne1308// CHECK: ccmp    x9, xzr, #0, le         // encoding: [0x20,0xd1,0x5f,0xfa]1309// CHECK: ccmp    x3, x0, #15, gt         // encoding: [0x6f,0xc0,0x40,0xfa]1310// CHECK: ccmp    xzr, x5, #7, ne         // encoding: [0xe7,0x13,0x45,0xfa]1311 1312        ccmn w1, wzr, #0, eq1313        ccmn w3, w0, #15, hs1314        ccmn wzr, w15, #13, cs1315// CHECK: ccmn    w1, wzr, #0, eq         // encoding: [0x20,0x00,0x5f,0x3a]1316// CHECK: ccmn    w3, w0, #15, hs         // encoding: [0x6f,0x20,0x40,0x3a]1317// CHECK: ccmn    wzr, w15, #13, hs       // encoding: [0xed,0x23,0x4f,0x3a]1318 1319        ccmn x9, xzr, #0, le1320        ccmn x3, x0, #15, gt1321        ccmn xzr, x5, #7, ne1322// CHECK: ccmn    x9, xzr, #0, le         // encoding: [0x20,0xd1,0x5f,0xba]1323// CHECK: ccmn    x3, x0, #15, gt         // encoding: [0x6f,0xc0,0x40,0xba]1324// CHECK: ccmn    xzr, x5, #7, ne         // encoding: [0xe7,0x13,0x45,0xba]1325 1326//------------------------------------------------------------------------------1327// Conditional select1328//------------------------------------------------------------------------------1329        csel w1, w0, w19, ne1330        csel wzr, w5, w9, eq1331        csel w9, wzr, w30, gt1332        csel w1, w28, wzr, mi1333// CHECK: csel     w1, w0, w19, ne            // encoding: [0x01,0x10,0x93,0x1a]1334// CHECK: csel     wzr, w5, w9, eq            // encoding: [0xbf,0x00,0x89,0x1a]1335// CHECK: csel     w9, wzr, w30, gt           // encoding: [0xe9,0xc3,0x9e,0x1a]1336// CHECK: csel     w1, w28, wzr, mi           // encoding: [0x81,0x43,0x9f,0x1a]1337 1338        csel x19, x23, x29, lt1339        csel xzr, x3, x4, ge1340        csel x5, xzr, x6, cs1341        csel x7, x8, xzr, cc1342// CHECK: csel     x19, x23, x29, lt          // encoding: [0xf3,0xb2,0x9d,0x9a]1343// CHECK: csel     xzr, x3, x4, ge            // encoding: [0x7f,0xa0,0x84,0x9a]1344// CHECK: csel     x5, xzr, x6, hs            // encoding: [0xe5,0x23,0x86,0x9a]1345// CHECK: csel     x7, x8, xzr, lo            // encoding: [0x07,0x31,0x9f,0x9a]1346 1347        csinc w1, w0, w19, ne1348        csinc wzr, w5, w9, eq1349        csinc w9, wzr, w30, gt1350        csinc w1, w28, wzr, mi1351// CHECK: csinc    w1, w0, w19, ne            // encoding: [0x01,0x14,0x93,0x1a]1352// CHECK: csinc    wzr, w5, w9, eq            // encoding: [0xbf,0x04,0x89,0x1a]1353// CHECK: csinc    w9, wzr, w30, gt           // encoding: [0xe9,0xc7,0x9e,0x1a]1354// CHECK: csinc    w1, w28, wzr, mi           // encoding: [0x81,0x47,0x9f,0x1a]1355 1356        csinc x19, x23, x29, lt1357        csinc xzr, x3, x4, ge1358        csinc x5, xzr, x6, cs1359        csinc x7, x8, xzr, cc1360// CHECK: csinc    x19, x23, x29, lt          // encoding: [0xf3,0xb6,0x9d,0x9a]1361// CHECK: csinc    xzr, x3, x4, ge            // encoding: [0x7f,0xa4,0x84,0x9a]1362// CHECK: csinc    x5, xzr, x6, hs            // encoding: [0xe5,0x27,0x86,0x9a]1363// CHECK: csinc    x7, x8, xzr, lo            // encoding: [0x07,0x35,0x9f,0x9a]1364 1365        csinv w1, w0, w19, ne1366        csinv wzr, w5, w9, eq1367        csinv w9, wzr, w30, gt1368        csinv w1, w28, wzr, mi1369// CHECK: csinv    w1, w0, w19, ne            // encoding: [0x01,0x10,0x93,0x5a]1370// CHECK: csinv    wzr, w5, w9, eq            // encoding: [0xbf,0x00,0x89,0x5a]1371// CHECK: csinv    w9, wzr, w30, gt           // encoding: [0xe9,0xc3,0x9e,0x5a]1372// CHECK: csinv    w1, w28, wzr, mi           // encoding: [0x81,0x43,0x9f,0x5a]1373 1374        csinv x19, x23, x29, lt1375        csinv xzr, x3, x4, ge1376        csinv x5, xzr, x6, cs1377        csinv x7, x8, xzr, cc1378// CHECK: csinv    x19, x23, x29, lt          // encoding: [0xf3,0xb2,0x9d,0xda]1379// CHECK: csinv    xzr, x3, x4, ge            // encoding: [0x7f,0xa0,0x84,0xda]1380// CHECK: csinv    x5, xzr, x6, hs            // encoding: [0xe5,0x23,0x86,0xda]1381// CHECK: csinv    x7, x8, xzr, lo            // encoding: [0x07,0x31,0x9f,0xda]1382 1383        csneg w1, w0, w19, ne1384        csneg wzr, w5, w9, eq1385        csneg w9, wzr, w30, gt1386        csneg w1, w28, wzr, mi1387// CHECK: csneg    w1, w0, w19, ne            // encoding: [0x01,0x14,0x93,0x5a]1388// CHECK: csneg    wzr, w5, w9, eq            // encoding: [0xbf,0x04,0x89,0x5a]1389// CHECK: csneg    w9, wzr, w30, gt           // encoding: [0xe9,0xc7,0x9e,0x5a]1390// CHECK: csneg    w1, w28, wzr, mi           // encoding: [0x81,0x47,0x9f,0x5a]1391 1392        csneg x19, x23, x29, lt1393        csneg xzr, x3, x4, ge1394        csneg x5, xzr, x6, cs1395        csneg x7, x8, xzr, cc1396// CHECK: csneg    x19, x23, x29, lt          // encoding: [0xf3,0xb6,0x9d,0xda]1397// CHECK: csneg    xzr, x3, x4, ge            // encoding: [0x7f,0xa4,0x84,0xda]1398// CHECK: csneg    x5, xzr, x6, hs            // encoding: [0xe5,0x27,0x86,0xda]1399// CHECK: csneg    x7, x8, xzr, lo            // encoding: [0x07,0x35,0x9f,0xda]1400 1401        cset w3, eq1402        cset x9, pl1403// CHECK: cset    w3, eq           // encoding: [0xe3,0x17,0x9f,0x1a]1404// CHECK: cset    x9, pl           // encoding: [0xe9,0x47,0x9f,0x9a]1405 1406        csetm w20, ne1407        csetm x30, ge1408// CHECK: csetm    w20, ne          // encoding: [0xf4,0x03,0x9f,0x5a]1409// CHECK: csetm    x30, ge          // encoding: [0xfe,0xb3,0x9f,0xda]1410 1411        cinc w3, w5, gt1412        cinc wzr, w4, le1413        cinc w9, wzr, lt1414// CHECK: cinc    w3, w5, gt             // encoding: [0xa3,0xd4,0x85,0x1a]1415// CHECK: cinc    wzr, w4, le            // encoding: [0x9f,0xc4,0x84,0x1a]1416// CHECK: cset    w9, lt           // encoding: [0xe9,0xa7,0x9f,0x1a]1417 1418        cinc x3, x5, gt1419        cinc xzr, x4, le1420        cinc x9, xzr, lt1421// CHECK: cinc     x3, x5, gt             // encoding: [0xa3,0xd4,0x85,0x9a]1422// CHECK: cinc     xzr, x4, le            // encoding: [0x9f,0xc4,0x84,0x9a]1423// CHECK: cset     x9, lt           // encoding: [0xe9,0xa7,0x9f,0x9a]1424 1425        cinv w3, w5, gt1426        cinv wzr, w4, le1427        cinv w9, wzr, lt1428// CHECK: cinv    w3, w5, gt             // encoding: [0xa3,0xd0,0x85,0x5a]1429// CHECK: cinv    wzr, w4, le            // encoding: [0x9f,0xc0,0x84,0x5a]1430// CHECK: csetm    w9, lt           // encoding: [0xe9,0xa3,0x9f,0x5a]1431 1432        cinv x3, x5, gt1433        cinv xzr, x4, le1434        cinv x9, xzr, lt1435// CHECK: cinv    x3, x5, gt             // encoding: [0xa3,0xd0,0x85,0xda]1436// CHECK: cinv    xzr, x4, le            // encoding: [0x9f,0xc0,0x84,0xda]1437// CHECK: csetm    x9, lt           // encoding: [0xe9,0xa3,0x9f,0xda]1438 1439        cneg w3, w5, gt1440        cneg wzr, w4, le1441        cneg w9, wzr, lt1442// CHECK: cneg    w3, w5, gt            // encoding: [0xa3,0xd4,0x85,0x5a]1443// CHECK: cneg    wzr, w4, le            // encoding: [0x9f,0xc4,0x84,0x5a]1444// CHECK: cneg    w9, wzr, lt           // encoding: [0xe9,0xa7,0x9f,0x5a]1445 1446        cneg x3, x5, gt1447        cneg xzr, x4, le1448        cneg x9, xzr, lt1449// CHECK: cneg    x3, x5, gt             // encoding: [0xa3,0xd4,0x85,0xda]1450// CHECK: cneg    xzr, x4, le            // encoding: [0x9f,0xc4,0x84,0xda]1451// CHECK: cneg    x9, xzr, lt           // encoding: [0xe9,0xa7,0x9f,0xda]1452 1453//------------------------------------------------------------------------------1454// Data-processing (1 source)1455//------------------------------------------------------------------------------1456 1457	rbit	w0, w71458	rbit	x18, x31459	rev16	w17, w11460	rev16	x5, x21461	rev	w18, w01462	rev32	x20, x11463	rev32	x20, xzr1464// CHECK: rbit	w0, w7                       // encoding: [0xe0,0x00,0xc0,0x5a]1465// CHECK: rbit	x18, x3                      // encoding: [0x72,0x00,0xc0,0xda]1466// CHECK: rev16 w17, w1                      // encoding: [0x31,0x04,0xc0,0x5a]1467// CHECK: rev16	x5, x2                       // encoding: [0x45,0x04,0xc0,0xda]1468// CHECK: rev	w18, w0                      // encoding: [0x12,0x08,0xc0,0x5a]1469// CHECK: rev32	x20, x1                      // encoding: [0x34,0x08,0xc0,0xda]1470// CHECK: rev32	x20, xzr                     // encoding: [0xf4,0x0b,0xc0,0xda]1471 1472	rev	x22, x21473	rev	x18, xzr1474	rev	w7, wzr1475	clz	w24, w31476	clz	x26, x41477	cls	w3, w51478	cls	x20, x51479// CHECK: rev	x22, x2                      // encoding: [0x56,0x0c,0xc0,0xda]1480// CHECK: rev	x18, xzr                     // encoding: [0xf2,0x0f,0xc0,0xda]1481// CHECK: rev	w7, wzr                      // encoding: [0xe7,0x0b,0xc0,0x5a]1482// CHECK: clz	w24, w3                      // encoding: [0x78,0x10,0xc0,0x5a]1483// CHECK: clz	x26, x4                      // encoding: [0x9a,0x10,0xc0,0xda]1484// CHECK: cls	w3, w5                       // encoding: [0xa3,0x14,0xc0,0x5a]1485// CHECK: cls	x20, x5                      // encoding: [0xb4,0x14,0xc0,0xda]1486 1487	clz	w24, wzr1488	rev	x22, xzr1489// CHECK: clz	w24, wzr                     // encoding: [0xf8,0x13,0xc0,0x5a]1490// CHECK: rev	x22, xzr                     // encoding: [0xf6,0x0f,0xc0,0xda]1491 1492	rev64	x13, x121493// CHECK: rev	x13, x12                     // encoding: [0x8d,0x0d,0xc0,0xda]1494 1495//------------------------------------------------------------------------------1496// Data-processing (2 source)1497//------------------------------------------------------------------------------1498 1499        udiv	w0, w7, w101500        udiv	x9, x22, x41501        sdiv	w12, w21, w01502        sdiv	x13, x2, x11503        lslv	w11, w12, w131504        lslv	x14, x15, x161505        lsrv	w17, w18, w191506        lsrv	x20, x21, x221507        asrv	w23, w24, w251508        asrv	x26, x27, x281509        rorv	w0, w1, w21510        rorv    x3, x4, x51511 1512 1513// CHECK: udiv	w0, w7, w10                   // encoding: [0xe0,0x08,0xca,0x1a]1514// CHECK: udiv	x9, x22, x4                   // encoding: [0xc9,0x0a,0xc4,0x9a]1515// CHECK: sdiv	w12, w21, w0                  // encoding: [0xac,0x0e,0xc0,0x1a]1516// CHECK: sdiv	x13, x2, x1                   // encoding: [0x4d,0x0c,0xc1,0x9a]1517// CHECK: lsl	w11, w12, w13                 // encoding: [0x8b,0x21,0xcd,0x1a]1518// CHECK: lsl	x14, x15, x16                 // encoding: [0xee,0x21,0xd0,0x9a]1519// CHECK: lsr	w17, w18, w19                 // encoding: [0x51,0x26,0xd3,0x1a]1520// CHECK: lsr	x20, x21, x22                 // encoding: [0xb4,0x26,0xd6,0x9a]1521// CHECK: asr	w23, w24, w25                 // encoding: [0x17,0x2b,0xd9,0x1a]1522// CHECK: asr	x26, x27, x28                 // encoding: [0x7a,0x2b,0xdc,0x9a]1523// CHECK: ror	w0, w1, w2                    // encoding: [0x20,0x2c,0xc2,0x1a]1524// CHECK: ror  x3, x4, x5                     // encoding: [0x83,0x2c,0xc5,0x9a]1525 1526 1527        lsl	w6, w7, w81528        lsl	x9, x10, x111529        lsr	w12, w13, w141530        lsr	x15, x16, x171531        asr	w18, w19, w201532        asr	x21, x22, x231533        ror	w24, w25, w261534        ror	x27, x28, x291535// CHECK: lsl	w6, w7, w8                    // encoding: [0xe6,0x20,0xc8,0x1a]1536// CHECK: lsl	x9, x10, x11                  // encoding: [0x49,0x21,0xcb,0x9a]1537// CHECK: lsr	w12, w13, w14                 // encoding: [0xac,0x25,0xce,0x1a]1538// CHECK: lsr	x15, x16, x17                 // encoding: [0x0f,0x26,0xd1,0x9a]1539// CHECK: asr	w18, w19, w20                 // encoding: [0x72,0x2a,0xd4,0x1a]1540// CHECK: asr	x21, x22, x23                 // encoding: [0xd5,0x2a,0xd7,0x9a]1541// CHECK: ror	w24, w25, w26                 // encoding: [0x38,0x2f,0xda,0x1a]1542// CHECK: ror	x27, x28, x29                 // encoding: [0x9b,0x2f,0xdd,0x9a]1543 1544        madd w1, w3, w7, w41545        madd wzr, w0, w9, w111546        madd w13, wzr, w4, w41547        madd w19, w30, wzr, w291548        madd w4, w5, w6, wzr1549// CHECK: madd     w1, w3, w7, w4             // encoding: [0x61,0x10,0x07,0x1b]1550// CHECK: madd     wzr, w0, w9, w11           // encoding: [0x1f,0x2c,0x09,0x1b]1551// CHECK: madd     w13, wzr, w4, w4           // encoding: [0xed,0x13,0x04,0x1b]1552// CHECK: madd     w19, w30, wzr, w29         // encoding: [0xd3,0x77,0x1f,0x1b]1553// CHECK: mul      w4, w5, w6                 // encoding: [0xa4,0x7c,0x06,0x1b]1554 1555        madd x1, x3, x7, x41556        madd xzr, x0, x9, x111557        madd x13, xzr, x4, x41558        madd x19, x30, xzr, x291559        madd x4, x5, x6, xzr1560// CHECK: madd     x1, x3, x7, x4             // encoding: [0x61,0x10,0x07,0x9b]1561// CHECK: madd     xzr, x0, x9, x11           // encoding: [0x1f,0x2c,0x09,0x9b]1562// CHECK: madd     x13, xzr, x4, x4           // encoding: [0xed,0x13,0x04,0x9b]1563// CHECK: madd     x19, x30, xzr, x29         // encoding: [0xd3,0x77,0x1f,0x9b]1564// CHECK: mul      x4, x5, x6                 // encoding: [0xa4,0x7c,0x06,0x9b]1565 1566        msub w1, w3, w7, w41567        msub wzr, w0, w9, w111568        msub w13, wzr, w4, w41569        msub w19, w30, wzr, w291570        msub w4, w5, w6, wzr1571// CHECK: msub     w1, w3, w7, w4             // encoding: [0x61,0x90,0x07,0x1b]1572// CHECK: msub     wzr, w0, w9, w11           // encoding: [0x1f,0xac,0x09,0x1b]1573// CHECK: msub     w13, wzr, w4, w4           // encoding: [0xed,0x93,0x04,0x1b]1574// CHECK: msub     w19, w30, wzr, w29         // encoding: [0xd3,0xf7,0x1f,0x1b]1575// CHECK: mneg     w4, w5, w6                 // encoding: [0xa4,0xfc,0x06,0x1b]1576 1577        msub x1, x3, x7, x41578        msub xzr, x0, x9, x111579        msub x13, xzr, x4, x41580        msub x19, x30, xzr, x291581        msub x4, x5, x6, xzr1582// CHECK: msub     x1, x3, x7, x4             // encoding: [0x61,0x90,0x07,0x9b]1583// CHECK: msub     xzr, x0, x9, x11           // encoding: [0x1f,0xac,0x09,0x9b]1584// CHECK: msub     x13, xzr, x4, x4           // encoding: [0xed,0x93,0x04,0x9b]1585// CHECK: msub     x19, x30, xzr, x29         // encoding: [0xd3,0xf7,0x1f,0x9b]1586// CHECK: mneg     x4, x5, x6                 // encoding: [0xa4,0xfc,0x06,0x9b]1587 1588        smaddl x3, w5, w2, x91589        smaddl xzr, w10, w11, x121590        smaddl x13, wzr, w14, x151591        smaddl x16, w17, wzr, x181592        smaddl x19, w20, w21, xzr1593// CHECK: smaddl   x3, w5, w2, x9             // encoding: [0xa3,0x24,0x22,0x9b]1594// CHECK: smaddl   xzr, w10, w11, x12         // encoding: [0x5f,0x31,0x2b,0x9b]1595// CHECK: smaddl   x13, wzr, w14, x15         // encoding: [0xed,0x3f,0x2e,0x9b]1596// CHECK: smaddl   x16, w17, wzr, x18         // encoding: [0x30,0x4a,0x3f,0x9b]1597// CHECK: smull    x19, w20, w21              // encoding: [0x93,0x7e,0x35,0x9b]1598 1599        smsubl x3, w5, w2, x91600        smsubl xzr, w10, w11, x121601        smsubl x13, wzr, w14, x151602        smsubl x16, w17, wzr, x181603        smsubl x19, w20, w21, xzr1604// CHECK: smsubl   x3, w5, w2, x9             // encoding: [0xa3,0xa4,0x22,0x9b]1605// CHECK: smsubl   xzr, w10, w11, x12         // encoding: [0x5f,0xb1,0x2b,0x9b]1606// CHECK: smsubl   x13, wzr, w14, x15         // encoding: [0xed,0xbf,0x2e,0x9b]1607// CHECK: smsubl   x16, w17, wzr, x18         // encoding: [0x30,0xca,0x3f,0x9b]1608// CHECK: smnegl   x19, w20, w21              // encoding: [0x93,0xfe,0x35,0x9b]1609 1610        umaddl x3, w5, w2, x91611        umaddl xzr, w10, w11, x121612        umaddl x13, wzr, w14, x151613        umaddl x16, w17, wzr, x181614        umaddl x19, w20, w21, xzr1615// CHECK: umaddl   x3, w5, w2, x9             // encoding: [0xa3,0x24,0xa2,0x9b]1616// CHECK: umaddl   xzr, w10, w11, x12         // encoding: [0x5f,0x31,0xab,0x9b]1617// CHECK: umaddl   x13, wzr, w14, x15         // encoding: [0xed,0x3f,0xae,0x9b]1618// CHECK: umaddl   x16, w17, wzr, x18         // encoding: [0x30,0x4a,0xbf,0x9b]1619// CHECK: umull    x19, w20, w21              // encoding: [0x93,0x7e,0xb5,0x9b]1620 1621 1622 1623        umsubl x3, w5, w2, x91624        umsubl xzr, w10, w11, x121625        umsubl x13, wzr, w14, x151626        umsubl x16, w17, wzr, x181627        umsubl x19, w20, w21, xzr1628// CHECK: umsubl   x3, w5, w2, x9             // encoding: [0xa3,0xa4,0xa2,0x9b]1629// CHECK: umsubl   xzr, w10, w11, x12         // encoding: [0x5f,0xb1,0xab,0x9b]1630// CHECK: umsubl   x13, wzr, w14, x15         // encoding: [0xed,0xbf,0xae,0x9b]1631// CHECK: umsubl   x16, w17, wzr, x18         // encoding: [0x30,0xca,0xbf,0x9b]1632// CHECK: umnegl   x19, w20, w21              // encoding: [0x93,0xfe,0xb5,0x9b]1633 1634        smulh x30, x29, x281635        smulh xzr, x27, x261636        smulh x25, xzr, x241637        smulh x23, x22, xzr1638// CHECK: smulh    x30, x29, x28              // encoding: [0xbe,0x7f,0x5c,0x9b]1639// CHECK: smulh    xzr, x27, x26              // encoding: [0x7f,0x7f,0x5a,0x9b]1640// CHECK: smulh    x25, xzr, x24              // encoding: [0xf9,0x7f,0x58,0x9b]1641// CHECK: smulh    x23, x22, xzr              // encoding: [0xd7,0x7e,0x5f,0x9b]1642 1643        umulh x30, x29, x281644        umulh xzr, x27, x261645        umulh x25, xzr, x241646        umulh x23, x22, xzr1647// CHECK: umulh    x30, x29, x28              // encoding: [0xbe,0x7f,0xdc,0x9b]1648// CHECK: umulh    xzr, x27, x26              // encoding: [0x7f,0x7f,0xda,0x9b]1649// CHECK: umulh    x25, xzr, x24              // encoding: [0xf9,0x7f,0xd8,0x9b]1650// CHECK: umulh    x23, x22, xzr              // encoding: [0xd7,0x7e,0xdf,0x9b]1651 1652        mul w3, w4, w51653        mul wzr, w6, w71654        mul w8, wzr, w91655        mul w10, w11, wzr1656 1657        mul x12, x13, x141658        mul xzr, x15, x161659        mul x17, xzr, x181660        mul x19, x20, xzr1661 1662        mneg w21, w22, w231663        mneg wzr, w24, w251664        mneg w26, wzr, w271665        mneg w28, w29, wzr1666 1667        smull x11, w13, w171668        umull x11, w13, w171669        smnegl x11, w13, w171670        umnegl x11, w13, w171671// CHECK: mul      w3, w4, w5                 // encoding: [0x83,0x7c,0x05,0x1b]1672// CHECK: mul      wzr, w6, w7                // encoding: [0xdf,0x7c,0x07,0x1b]1673// CHECK: mul      w8, wzr, w9                // encoding: [0xe8,0x7f,0x09,0x1b]1674// CHECK: mul      w10, w11, wzr              // encoding: [0x6a,0x7d,0x1f,0x1b]1675// CHECK: mul      x12, x13, x14              // encoding: [0xac,0x7d,0x0e,0x9b]1676// CHECK: mul      xzr, x15, x16              // encoding: [0xff,0x7d,0x10,0x9b]1677// CHECK: mul      x17, xzr, x18              // encoding: [0xf1,0x7f,0x12,0x9b]1678// CHECK: mul      x19, x20, xzr              // encoding: [0x93,0x7e,0x1f,0x9b]1679// CHECK: mneg     w21, w22, w23              // encoding: [0xd5,0xfe,0x17,0x1b]1680// CHECK: mneg     wzr, w24, w25              // encoding: [0x1f,0xff,0x19,0x1b]1681// CHECK: mneg     w26, wzr, w27              // encoding: [0xfa,0xff,0x1b,0x1b]1682// CHECK: mneg     w28, w29, wzr              // encoding: [0xbc,0xff,0x1f,0x1b]1683// CHECK: smull    x11, w13, w17              // encoding: [0xab,0x7d,0x31,0x9b]1684// CHECK: umull    x11, w13, w17              // encoding: [0xab,0x7d,0xb1,0x9b]1685// CHECK: smnegl   x11, w13, w17              // encoding: [0xab,0xfd,0x31,0x9b]1686// CHECK: umnegl   x11, w13, w17              // encoding: [0xab,0xfd,0xb1,0x9b]1687 1688//------------------------------------------------------------------------------1689// Exception generation1690//------------------------------------------------------------------------------1691        svc #01692        svc #655351693// CHECK: svc      #0                         // encoding: [0x01,0x00,0x00,0xd4]1694// CHECK: svc      #{{65535|0xffff}}          // encoding: [0xe1,0xff,0x1f,0xd4]1695 1696        hvc #11697	smc #120001698        brk #121699        hlt #1231700// CHECK: hvc      #{{1|0x1}}                 // encoding: [0x22,0x00,0x00,0xd4]1701// CHECK: smc      #{{12000|0x2ee0}}          // encoding: [0x03,0xdc,0x05,0xd4]1702// CHECK: brk      #{{12|0xc}}                // encoding: [0x80,0x01,0x20,0xd4]1703// CHECK: hlt      #{{123|0x7b}}              // encoding: [0x60,0x0f,0x40,0xd4]1704 1705        dcps1 #421706        dcps2 #91707	dcps3 #10001708// CHECK: dcps1    #{{42|0x2a}}               // encoding: [0x41,0x05,0xa0,0xd4]1709// CHECK: dcps2    #{{9|0x9}}                 // encoding: [0x22,0x01,0xa0,0xd4]1710// CHECK: dcps3    #{{1000|0x3e8}}            // encoding: [0x03,0x7d,0xa0,0xd4]1711 1712        dcps11713        dcps21714	dcps31715// CHECK: dcps1                               // encoding: [0x01,0x00,0xa0,0xd4]1716// CHECK: dcps2                               // encoding: [0x02,0x00,0xa0,0xd4]1717// CHECK: dcps3                               // encoding: [0x03,0x00,0xa0,0xd4]1718 1719//------------------------------------------------------------------------------1720// Extract (immediate)1721//------------------------------------------------------------------------------1722 1723        extr w3, w5, w7, #01724        extr w11, w13, w17, #311725// CHECK: extr     w3, w5, w7, #0             // encoding: [0xa3,0x00,0x87,0x13]1726// CHECK: extr     w11, w13, w17, #31         // encoding: [0xab,0x7d,0x91,0x13]1727 1728        extr x3, x5, x7, #151729        extr x11, x13, x17, #631730// CHECK: extr     x3, x5, x7, #15            // encoding: [0xa3,0x3c,0xc7,0x93]1731// CHECK: extr     x11, x13, x17, #63         // encoding: [0xab,0xfd,0xd1,0x93]1732 1733        ror x19, x23, #241734        ror x29, xzr, #631735// CHECK: ror     x19, x23, #24         // encoding: [0xf3,0x62,0xd7,0x93]1736// CHECK: ror     x29, xzr, #63         // encoding: [0xfd,0xff,0xdf,0x93]1737 1738        ror w9, w13, #311739// CHECK: ror     w9, w13, #31          // encoding: [0xa9,0x7d,0x8d,0x13]1740 1741//------------------------------------------------------------------------------1742// Floating-point compare1743//------------------------------------------------------------------------------1744 1745        fcmp s3, s51746        fcmp s31, #0.01747// CHECK: fcmp    s3, s5                  // encoding: [0x60,0x20,0x25,0x1e]1748// CHECK: fcmp    s31, #0.0               // encoding: [0xe8,0x23,0x20,0x1e]1749 1750        fcmpe s29, s301751        fcmpe s15, #0.01752// CHECK: fcmpe   s29, s30                // encoding: [0xb0,0x23,0x3e,0x1e]1753// CHECK: fcmpe   s15, #0.0               // encoding: [0xf8,0x21,0x20,0x1e]1754 1755        fcmp d4, d121756        fcmp d23, #0.01757// CHECK: fcmp    d4, d12                 // encoding: [0x80,0x20,0x6c,0x1e]1758// CHECK: fcmp    d23, #0.0               // encoding: [0xe8,0x22,0x60,0x1e]1759 1760        fcmpe d26, d221761        fcmpe d29, #0.01762// CHECK: fcmpe   d26, d22                // encoding: [0x50,0x23,0x76,0x1e]1763// CHECK: fcmpe   d29, #0.0               // encoding: [0xb8,0x23,0x60,0x1e]1764 1765//------------------------------------------------------------------------------1766// Floating-point conditional compare1767//------------------------------------------------------------------------------1768 1769        fccmp s1, s31, #0, eq1770        fccmp s3, s0, #15, hs1771        fccmp s31, s15, #13, cs1772// CHECK: fccmp    s1, s31, #0, eq         // encoding: [0x20,0x04,0x3f,0x1e]1773// CHECK: fccmp    s3, s0, #15, hs         // encoding: [0x6f,0x24,0x20,0x1e]1774// CHECK: fccmp    s31, s15, #13, hs       // encoding: [0xed,0x27,0x2f,0x1e]1775 1776        fccmp d9, d31, #0, le1777        fccmp d3, d0, #15, gt1778        fccmp d31, d5, #7, ne1779// CHECK: fccmp    d9, d31, #0, le         // encoding: [0x20,0xd5,0x7f,0x1e]1780// CHECK: fccmp    d3, d0, #15, gt         // encoding: [0x6f,0xc4,0x60,0x1e]1781// CHECK: fccmp    d31, d5, #7, ne         // encoding: [0xe7,0x17,0x65,0x1e]1782 1783        fccmpe s1, s31, #0, eq1784        fccmpe s3, s0, #15, hs1785        fccmpe s31, s15, #13, cs1786// CHECK: fccmpe    s1, s31, #0, eq         // encoding: [0x30,0x04,0x3f,0x1e]1787// CHECK: fccmpe    s3, s0, #15, hs         // encoding: [0x7f,0x24,0x20,0x1e]1788// CHECK: fccmpe    s31, s15, #13, hs       // encoding: [0xfd,0x27,0x2f,0x1e]1789 1790        fccmpe d9, d31, #0, le1791        fccmpe d3, d0, #15, gt1792        fccmpe d31, d5, #7, ne1793// CHECK: fccmpe    d9, d31, #0, le         // encoding: [0x30,0xd5,0x7f,0x1e]1794// CHECK: fccmpe    d3, d0, #15, gt         // encoding: [0x7f,0xc4,0x60,0x1e]1795// CHECK: fccmpe    d31, d5, #7, ne         // encoding: [0xf7,0x17,0x65,0x1e]1796 1797//------------------------------------------------------------------------------1798// Floating-point conditional compare1799//------------------------------------------------------------------------------1800 1801        fcsel s3, s20, s9, pl1802        fcsel d9, d10, d11, mi1803// CHECK: fcsel   s3, s20, s9, pl         // encoding: [0x83,0x5e,0x29,0x1e]1804// CHECK: fcsel   d9, d10, d11, mi        // encoding: [0x49,0x4d,0x6b,0x1e]1805 1806//------------------------------------------------------------------------------1807// Floating-point data-processing (1 source)1808//------------------------------------------------------------------------------1809 1810        fmov s0, s11811        fabs s2, s31812        fneg s4, s51813        fsqrt s6, s71814        fcvt d8, s91815        fcvt h10, s111816        frintn s12, s131817        frintp s14, s151818        frintm s16, s171819        frintz s18, s191820        frinta s20, s211821        frintx s22, s231822        frinti s24, s251823// CHECK: fmov     s0, s1                // encoding: [0x20,0x40,0x20,0x1e]1824// CHECK: fabs     s2, s3                // encoding: [0x62,0xc0,0x20,0x1e]1825// CHECK: fneg     s4, s5                     // encoding: [0xa4,0x40,0x21,0x1e]1826// CHECK: fsqrt    s6, s7                     // encoding: [0xe6,0xc0,0x21,0x1e]1827// CHECK: fcvt     d8, s9                     // encoding: [0x28,0xc1,0x22,0x1e]1828// CHECK: fcvt     h10, s11                   // encoding: [0x6a,0xc1,0x23,0x1e]1829// CHECK: frintn   s12, s13                   // encoding: [0xac,0x41,0x24,0x1e]1830// CHECK: frintp   s14, s15                   // encoding: [0xee,0xc1,0x24,0x1e]1831// CHECK: frintm   s16, s17                   // encoding: [0x30,0x42,0x25,0x1e]1832// CHECK: frintz   s18, s19                   // encoding: [0x72,0xc2,0x25,0x1e]1833// CHECK: frinta   s20, s21                   // encoding: [0xb4,0x42,0x26,0x1e]1834// CHECK: frintx   s22, s23                   // encoding: [0xf6,0x42,0x27,0x1e]1835// CHECK: frinti   s24, s25                   // encoding: [0x38,0xc3,0x27,0x1e]1836 1837        fmov d0, d11838        fabs d2, d31839        fneg d4, d51840        fsqrt d6, d71841        fcvt s8, d91842        fcvt h10, d111843        frintn d12, d131844        frintp d14, d151845        frintm d16, d171846        frintz d18, d191847        frinta d20, d211848        frintx d22, d231849        frinti d24, d251850// CHECK: fmov     d0, d1                     // encoding: [0x20,0x40,0x60,0x1e]1851// CHECK: fabs     d2, d3                     // encoding: [0x62,0xc0,0x60,0x1e]1852// CHECK: fneg     d4, d5                     // encoding: [0xa4,0x40,0x61,0x1e]1853// CHECK: fsqrt    d6, d7                     // encoding: [0xe6,0xc0,0x61,0x1e]1854// CHECK: fcvt     s8, d9                     // encoding: [0x28,0x41,0x62,0x1e]1855// CHECK: fcvt     h10, d11                   // encoding: [0x6a,0xc1,0x63,0x1e]1856// CHECK: frintn   d12, d13                   // encoding: [0xac,0x41,0x64,0x1e]1857// CHECK: frintp   d14, d15                   // encoding: [0xee,0xc1,0x64,0x1e]1858// CHECK: frintm   d16, d17                   // encoding: [0x30,0x42,0x65,0x1e]1859// CHECK: frintz   d18, d19                   // encoding: [0x72,0xc2,0x65,0x1e]1860// CHECK: frinta   d20, d21                   // encoding: [0xb4,0x42,0x66,0x1e]1861// CHECK: frintx   d22, d23                   // encoding: [0xf6,0x42,0x67,0x1e]1862// CHECK: frinti   d24, d25                   // encoding: [0x38,0xc3,0x67,0x1e]1863 1864        fcvt s26, h271865        fcvt d28, h291866// CHECK: fcvt     s26, h27                   // encoding: [0x7a,0x43,0xe2,0x1e]1867// CHECK: fcvt     d28, h29                   // encoding: [0xbc,0xc3,0xe2,0x1e]1868 1869//------------------------------------------------------------------------------1870// Floating-point data-processing (2 sources)1871//------------------------------------------------------------------------------1872 1873        fmul s20, s19, s171874        fdiv s1, s2, s31875        fadd s4, s5, s61876        fsub s7, s8, s91877        fmax s10, s11, s121878        fmin s13, s14, s151879        fmaxnm s16, s17, s181880        fminnm s19, s20, s211881        fnmul s22, s23, s241882// CHECK: fmul     s20, s19, s17              // encoding: [0x74,0x0a,0x31,0x1e]1883// CHECK: fdiv     s1, s2, s3                 // encoding: [0x41,0x18,0x23,0x1e]1884// CHECK: fadd     s4, s5, s6                 // encoding: [0xa4,0x28,0x26,0x1e]1885// CHECK: fsub     s7, s8, s9                 // encoding: [0x07,0x39,0x29,0x1e]1886// CHECK: fmax     s10, s11, s12              // encoding: [0x6a,0x49,0x2c,0x1e]1887// CHECK: fmin     s13, s14, s15              // encoding: [0xcd,0x59,0x2f,0x1e]1888// CHECK: fmaxnm   s16, s17, s18              // encoding: [0x30,0x6a,0x32,0x1e]1889// CHECK: fminnm   s19, s20, s21              // encoding: [0x93,0x7a,0x35,0x1e]1890// CHECK: fnmul    s22, s23, s24              // encoding: [0xf6,0x8a,0x38,0x1e]1891 1892        fmul d20, d19, d171893        fdiv d1, d2, d31894        fadd d4, d5, d61895        fsub d7, d8, d91896        fmax d10, d11, d121897        fmin d13, d14, d151898        fmaxnm d16, d17, d181899        fminnm d19, d20, d211900        fnmul d22, d23, d241901// CHECK: fmul     d20, d19, d17              // encoding: [0x74,0x0a,0x71,0x1e]1902// CHECK: fdiv     d1, d2, d3                 // encoding: [0x41,0x18,0x63,0x1e]1903// CHECK: fadd     d4, d5, d6                 // encoding: [0xa4,0x28,0x66,0x1e]1904// CHECK: fsub     d7, d8, d9                 // encoding: [0x07,0x39,0x69,0x1e]1905// CHECK: fmax     d10, d11, d12              // encoding: [0x6a,0x49,0x6c,0x1e]1906// CHECK: fmin     d13, d14, d15              // encoding: [0xcd,0x59,0x6f,0x1e]1907// CHECK: fmaxnm   d16, d17, d18              // encoding: [0x30,0x6a,0x72,0x1e]1908// CHECK: fminnm   d19, d20, d21              // encoding: [0x93,0x7a,0x75,0x1e]1909// CHECK: fnmul    d22, d23, d24              // encoding: [0xf6,0x8a,0x78,0x1e]1910 1911//------------------------------------------------------------------------------1912// Floating-point data-processing (3 sources)1913//------------------------------------------------------------------------------1914 1915        fmadd s3, s5, s6, s311916        fmadd d3, d13, d0, d231917        fmsub s3, s5, s6, s311918        fmsub d3, d13, d0, d231919        fnmadd s3, s5, s6, s311920        fnmadd d3, d13, d0, d231921        fnmsub s3, s5, s6, s311922        fnmsub d3, d13, d0, d231923// CHECK: fmadd   s3, s5, s6, s31         // encoding: [0xa3,0x7c,0x06,0x1f]1924// CHECK: fmadd   d3, d13, d0, d23        // encoding: [0xa3,0x5d,0x40,0x1f]1925// CHECK: fmsub   s3, s5, s6, s31         // encoding: [0xa3,0xfc,0x06,0x1f]1926// CHECK: fmsub   d3, d13, d0, d23        // encoding: [0xa3,0xdd,0x40,0x1f]1927// CHECK: fnmadd  s3, s5, s6, s31         // encoding: [0xa3,0x7c,0x26,0x1f]1928// CHECK: fnmadd  d3, d13, d0, d23        // encoding: [0xa3,0x5d,0x60,0x1f]1929// CHECK: fnmsub  s3, s5, s6, s31         // encoding: [0xa3,0xfc,0x26,0x1f]1930// CHECK: fnmsub  d3, d13, d0, d23        // encoding: [0xa3,0xdd,0x60,0x1f]1931 1932//------------------------------------------------------------------------------1933// Floating-point <-> fixed-point conversion1934//------------------------------------------------------------------------------1935 1936        fcvtzs w3, s5, #11937        fcvtzs wzr, s20, #131938        fcvtzs w19, s0, #321939// CHECK: fcvtzs  w3, s5, #1              // encoding: [0xa3,0xfc,0x18,0x1e]1940// CHECK: fcvtzs  wzr, s20, #13           // encoding: [0x9f,0xce,0x18,0x1e]1941// CHECK: fcvtzs  w19, s0, #32            // encoding: [0x13,0x80,0x18,0x1e]1942 1943        fcvtzs x3, s5, #11944        fcvtzs x12, s30, #451945        fcvtzs x19, s0, #641946// CHECK: fcvtzs  x3, s5, #1              // encoding: [0xa3,0xfc,0x18,0x9e]1947// CHECK: fcvtzs  x12, s30, #45           // encoding: [0xcc,0x4f,0x18,0x9e]1948// CHECK: fcvtzs  x19, s0, #64            // encoding: [0x13,0x00,0x18,0x9e]1949 1950        fcvtzs w3, d5, #11951        fcvtzs wzr, d20, #131952        fcvtzs w19, d0, #321953// CHECK: fcvtzs  w3, d5, #1              // encoding: [0xa3,0xfc,0x58,0x1e]1954// CHECK: fcvtzs  wzr, d20, #13           // encoding: [0x9f,0xce,0x58,0x1e]1955// CHECK: fcvtzs  w19, d0, #32            // encoding: [0x13,0x80,0x58,0x1e]1956 1957        fcvtzs x3, d5, #11958        fcvtzs x12, d30, #451959        fcvtzs x19, d0, #641960// CHECK: fcvtzs  x3, d5, #1              // encoding: [0xa3,0xfc,0x58,0x9e]1961// CHECK: fcvtzs  x12, d30, #45           // encoding: [0xcc,0x4f,0x58,0x9e]1962// CHECK: fcvtzs  x19, d0, #64            // encoding: [0x13,0x00,0x58,0x9e]1963 1964        fcvtzu w3, s5, #11965        fcvtzu wzr, s20, #131966        fcvtzu w19, s0, #321967// CHECK: fcvtzu  w3, s5, #1              // encoding: [0xa3,0xfc,0x19,0x1e]1968// CHECK: fcvtzu  wzr, s20, #13           // encoding: [0x9f,0xce,0x19,0x1e]1969// CHECK: fcvtzu  w19, s0, #32            // encoding: [0x13,0x80,0x19,0x1e]1970 1971        fcvtzu x3, s5, #11972        fcvtzu x12, s30, #451973        fcvtzu x19, s0, #641974// CHECK: fcvtzu  x3, s5, #1              // encoding: [0xa3,0xfc,0x19,0x9e]1975// CHECK: fcvtzu  x12, s30, #45           // encoding: [0xcc,0x4f,0x19,0x9e]1976// CHECK: fcvtzu  x19, s0, #64            // encoding: [0x13,0x00,0x19,0x9e]1977 1978        fcvtzu w3, d5, #11979        fcvtzu wzr, d20, #131980        fcvtzu w19, d0, #321981// CHECK: fcvtzu  w3, d5, #1              // encoding: [0xa3,0xfc,0x59,0x1e]1982// CHECK: fcvtzu  wzr, d20, #13           // encoding: [0x9f,0xce,0x59,0x1e]1983// CHECK: fcvtzu  w19, d0, #32            // encoding: [0x13,0x80,0x59,0x1e]1984 1985        fcvtzu x3, d5, #11986        fcvtzu x12, d30, #451987        fcvtzu x19, d0, #641988// CHECK: fcvtzu  x3, d5, #1              // encoding: [0xa3,0xfc,0x59,0x9e]1989// CHECK: fcvtzu  x12, d30, #45           // encoding: [0xcc,0x4f,0x59,0x9e]1990// CHECK: fcvtzu  x19, d0, #64            // encoding: [0x13,0x00,0x59,0x9e]1991 1992        scvtf s23, w19, #11993        scvtf s31, wzr, #201994        scvtf s14, w0, #321995// CHECK: scvtf   s23, w19, #1            // encoding: [0x77,0xfe,0x02,0x1e]1996// CHECK: scvtf   s31, wzr, #20           // encoding: [0xff,0xb3,0x02,0x1e]1997// CHECK: scvtf   s14, w0, #32            // encoding: [0x0e,0x80,0x02,0x1e]1998 1999        scvtf s23, x19, #12000        scvtf s31, xzr, #202001        scvtf s14, x0, #642002// CHECK: scvtf   s23, x19, #1            // encoding: [0x77,0xfe,0x02,0x9e]2003// CHECK: scvtf   s31, xzr, #20           // encoding: [0xff,0xb3,0x02,0x9e]2004// CHECK: scvtf   s14, x0, #64            // encoding: [0x0e,0x00,0x02,0x9e]2005 2006        scvtf d23, w19, #12007        scvtf d31, wzr, #202008        scvtf d14, w0, #322009// CHECK: scvtf   d23, w19, #1            // encoding: [0x77,0xfe,0x42,0x1e]2010// CHECK: scvtf   d31, wzr, #20           // encoding: [0xff,0xb3,0x42,0x1e]2011// CHECK: scvtf   d14, w0, #32            // encoding: [0x0e,0x80,0x42,0x1e]2012 2013        scvtf d23, x19, #12014        scvtf d31, xzr, #202015        scvtf d14, x0, #642016// CHECK: scvtf   d23, x19, #1            // encoding: [0x77,0xfe,0x42,0x9e]2017// CHECK: scvtf   d31, xzr, #20           // encoding: [0xff,0xb3,0x42,0x9e]2018// CHECK: scvtf   d14, x0, #64            // encoding: [0x0e,0x00,0x42,0x9e]2019 2020        ucvtf s23, w19, #12021        ucvtf s31, wzr, #202022        ucvtf s14, w0, #322023// CHECK: ucvtf   s23, w19, #1            // encoding: [0x77,0xfe,0x03,0x1e]2024// CHECK: ucvtf   s31, wzr, #20           // encoding: [0xff,0xb3,0x03,0x1e]2025// CHECK: ucvtf   s14, w0, #32            // encoding: [0x0e,0x80,0x03,0x1e]2026 2027        ucvtf s23, x19, #12028        ucvtf s31, xzr, #202029        ucvtf s14, x0, #642030// CHECK: ucvtf   s23, x19, #1            // encoding: [0x77,0xfe,0x03,0x9e]2031// CHECK: ucvtf   s31, xzr, #20           // encoding: [0xff,0xb3,0x03,0x9e]2032// CHECK: ucvtf   s14, x0, #64            // encoding: [0x0e,0x00,0x03,0x9e]2033 2034        ucvtf d23, w19, #12035        ucvtf d31, wzr, #202036        ucvtf d14, w0, #322037// CHECK: ucvtf   d23, w19, #1            // encoding: [0x77,0xfe,0x43,0x1e]2038// CHECK: ucvtf   d31, wzr, #20           // encoding: [0xff,0xb3,0x43,0x1e]2039// CHECK: ucvtf   d14, w0, #32            // encoding: [0x0e,0x80,0x43,0x1e]2040 2041        ucvtf d23, x19, #12042        ucvtf d31, xzr, #202043        ucvtf d14, x0, #642044// CHECK: ucvtf   d23, x19, #1            // encoding: [0x77,0xfe,0x43,0x9e]2045// CHECK: ucvtf   d31, xzr, #20           // encoding: [0xff,0xb3,0x43,0x9e]2046// CHECK: ucvtf   d14, x0, #64            // encoding: [0x0e,0x00,0x43,0x9e]2047 2048//------------------------------------------------------------------------------2049// Floating-point <-> integer conversion2050//------------------------------------------------------------------------------2051        fcvtns w3, s312052        fcvtns xzr, s122053        fcvtnu wzr, s122054        fcvtnu x0, s02055// CHECK: fcvtns   w3, s31                    // encoding: [0xe3,0x03,0x20,0x1e]2056// CHECK: fcvtns   xzr, s12                   // encoding: [0x9f,0x01,0x20,0x9e]2057// CHECK: fcvtnu   wzr, s12                   // encoding: [0x9f,0x01,0x21,0x1e]2058// CHECK: fcvtnu   x0, s0                     // encoding: [0x00,0x00,0x21,0x9e]2059 2060        fcvtps wzr, s92061        fcvtps x12, s202062        fcvtpu w30, s232063        fcvtpu x29, s32064// CHECK: fcvtps   wzr, s9                    // encoding: [0x3f,0x01,0x28,0x1e]2065// CHECK: fcvtps   x12, s20                   // encoding: [0x8c,0x02,0x28,0x9e]2066// CHECK: fcvtpu   w30, s23                   // encoding: [0xfe,0x02,0x29,0x1e]2067// CHECK: fcvtpu   x29, s3                    // encoding: [0x7d,0x00,0x29,0x9e]2068 2069        fcvtms w2, s32070        fcvtms x4, s52071        fcvtmu w6, s72072        fcvtmu x8, s92073// CHECK: fcvtms   w2, s3                     // encoding: [0x62,0x00,0x30,0x1e]2074// CHECK: fcvtms   x4, s5                     // encoding: [0xa4,0x00,0x30,0x9e]2075// CHECK: fcvtmu   w6, s7                     // encoding: [0xe6,0x00,0x31,0x1e]2076// CHECK: fcvtmu   x8, s9                     // encoding: [0x28,0x01,0x31,0x9e]2077 2078        fcvtzs w10, s112079        fcvtzs x12, s132080        fcvtzu w14, s152081        fcvtzu x15, s162082// CHECK: fcvtzs   w10, s11                   // encoding: [0x6a,0x01,0x38,0x1e]2083// CHECK: fcvtzs   x12, s13                   // encoding: [0xac,0x01,0x38,0x9e]2084// CHECK: fcvtzu   w14, s15                   // encoding: [0xee,0x01,0x39,0x1e]2085// CHECK: fcvtzu   x15, s16                   // encoding: [0x0f,0x02,0x39,0x9e]2086 2087        scvtf s17, w182088        scvtf s19, x202089        ucvtf s21, w222090        scvtf s23, x242091// CHECK: scvtf    s17, w18                   // encoding: [0x51,0x02,0x22,0x1e]2092// CHECK: scvtf    s19, x20                   // encoding: [0x93,0x02,0x22,0x9e]2093// CHECK: ucvtf    s21, w22                   // encoding: [0xd5,0x02,0x23,0x1e]2094// CHECK: scvtf    s23, x24                   // encoding: [0x17,0x03,0x22,0x9e]2095 2096        fcvtas w25, s262097        fcvtas x27, s282098        fcvtau w29, s302099        fcvtau xzr, s02100// CHECK: fcvtas   w25, s26                   // encoding: [0x59,0x03,0x24,0x1e]2101// CHECK: fcvtas   x27, s28                   // encoding: [0x9b,0x03,0x24,0x9e]2102// CHECK: fcvtau   w29, s30                   // encoding: [0xdd,0x03,0x25,0x1e]2103// CHECK: fcvtau   xzr, s0                    // encoding: [0x1f,0x00,0x25,0x9e]2104 2105        fcvtns w3, d312106        fcvtns xzr, d122107        fcvtnu wzr, d122108        fcvtnu x0, d02109// CHECK: fcvtns   w3, d31                    // encoding: [0xe3,0x03,0x60,0x1e]2110// CHECK: fcvtns   xzr, d12                   // encoding: [0x9f,0x01,0x60,0x9e]2111// CHECK: fcvtnu   wzr, d12                   // encoding: [0x9f,0x01,0x61,0x1e]2112// CHECK: fcvtnu   x0, d0                     // encoding: [0x00,0x00,0x61,0x9e]2113 2114        fcvtps wzr, d92115        fcvtps x12, d202116        fcvtpu w30, d232117        fcvtpu x29, d32118// CHECK: fcvtps   wzr, d9                    // encoding: [0x3f,0x01,0x68,0x1e]2119// CHECK: fcvtps   x12, d20                   // encoding: [0x8c,0x02,0x68,0x9e]2120// CHECK: fcvtpu   w30, d23                   // encoding: [0xfe,0x02,0x69,0x1e]2121// CHECK: fcvtpu   x29, d3                    // encoding: [0x7d,0x00,0x69,0x9e]2122 2123        fcvtms w2, d32124        fcvtms x4, d52125        fcvtmu w6, d72126        fcvtmu x8, d92127// CHECK: fcvtms   w2, d3                     // encoding: [0x62,0x00,0x70,0x1e]2128// CHECK: fcvtms   x4, d5                     // encoding: [0xa4,0x00,0x70,0x9e]2129// CHECK: fcvtmu   w6, d7                     // encoding: [0xe6,0x00,0x71,0x1e]2130// CHECK: fcvtmu   x8, d9                     // encoding: [0x28,0x01,0x71,0x9e]2131 2132        fcvtzs w10, d112133        fcvtzs x12, d132134        fcvtzu w14, d152135        fcvtzu x15, d162136// CHECK: fcvtzs   w10, d11                   // encoding: [0x6a,0x01,0x78,0x1e]2137// CHECK: fcvtzs   x12, d13                   // encoding: [0xac,0x01,0x78,0x9e]2138// CHECK: fcvtzu   w14, d15                   // encoding: [0xee,0x01,0x79,0x1e]2139// CHECK: fcvtzu   x15, d16                   // encoding: [0x0f,0x02,0x79,0x9e]2140 2141        scvtf d17, w182142        scvtf d19, x202143        ucvtf d21, w222144        ucvtf d23, x242145// CHECK: scvtf    d17, w18                   // encoding: [0x51,0x02,0x62,0x1e]2146// CHECK: scvtf    d19, x20                   // encoding: [0x93,0x02,0x62,0x9e]2147// CHECK: ucvtf    d21, w22                   // encoding: [0xd5,0x02,0x63,0x1e]2148// CHECK: ucvtf    d23, x24                   // encoding: [0x17,0x03,0x63,0x9e]2149 2150        fcvtas w25, d262151        fcvtas x27, d282152        fcvtau w29, d302153        fcvtau xzr, d02154// CHECK: fcvtas   w25, d26                   // encoding: [0x59,0x03,0x64,0x1e]2155// CHECK: fcvtas   x27, d28                   // encoding: [0x9b,0x03,0x64,0x9e]2156// CHECK: fcvtau   w29, d30                   // encoding: [0xdd,0x03,0x65,0x1e]2157// CHECK: fcvtau   xzr, d0                    // encoding: [0x1f,0x00,0x65,0x9e]2158 2159        fmov w3, s92160        fmov s9, w32161// CHECK: fmov     w3, s9                     // encoding: [0x23,0x01,0x26,0x1e]2162// CHECK: fmov     s9, w3                     // encoding: [0x69,0x00,0x27,0x1e]2163 2164        fmov x20, d312165        fmov d1, x152166// CHECK: fmov     x20, d31                   // encoding: [0xf4,0x03,0x66,0x9e]2167// CHECK: fmov     d1, x15                    // encoding: [0xe1,0x01,0x67,0x9e]2168 2169        fmov x3, v12.d[1]2170        fmov v1.d[1], x192171        fmov v3.d[1], xzr2172// CHECK: fmov     x3, v12.d[1]               // encoding: [0x83,0x01,0xae,0x9e]2173// CHECK: fmov     v1.d[1], x19               // encoding: [0x61,0x02,0xaf,0x9e]2174// CHECK: fmov     v3.d[1], xzr               // encoding: [0xe3,0x03,0xaf,0x9e]2175 2176//------------------------------------------------------------------------------2177// Floating-point immediate2178//------------------------------------------------------------------------------2179 2180        fmov s2, #0.1252181        fmov s3, #1.02182        fmov d30, #16.02183// CHECK: fmov     s2, #{{0.12500000|1.250*e-01}}            // encoding: [0x02,0x10,0x28,0x1e]2184// CHECK: fmov     s3, #{{1.00000000|1.0*e\+00}}            // encoding: [0x03,0x10,0x2e,0x1e]2185// CHECK: fmov     d30, #{{16.00000000|1.60*e\+01}}          // encoding: [0x1e,0x10,0x66,0x1e]2186 2187        fmov s4, #1.06252188        fmov d10, #1.93752189// CHECK: fmov     s4, #{{1.06250*(e\+00)?}}            // encoding: [0x04,0x30,0x2e,0x1e]2190// CHECK: fmov     d10, #{{1.93750*(e\+00)?}}           // encoding: [0x0a,0xf0,0x6f,0x1e]2191 2192        fmov s12, #-1.02193// CHECK: fmov     s12, #{{-1.0*(e\+00)?}}          // encoding: [0x0c,0x10,0x3e,0x1e]2194 2195        fmov d16, #8.52196// CHECK: fmov     d16, #{{8.50*(e\+00)?}}          // encoding: [0x10,0x30,0x64,0x1e]2197 2198//------------------------------------------------------------------------------2199// Load-register (literal)2200//------------------------------------------------------------------------------2201        ldr w3, here2202        ldr x29, there2203        ldrsw xzr, everywhere2204 2205// CHECK: ldr    w3, here                // encoding: [0bAAA00011,A,A,0x18]2206// CHECK:                                 //   fixup A - offset: 0, value: here, kind: fixup_aarch64_ldr_pcrel_imm192207// CHECK: ldr    x29, there              // encoding: [0bAAA11101,A,A,0x58]2208// CHECK:                                 //   fixup A - offset: 0, value: there, kind: fixup_aarch64_ldr_pcrel_imm192209// CHECK: ldrsw    xzr, everywhere         // encoding: [0bAAA11111,A,A,0x98]2210// CHECK:                                 //   fixup A - offset: 0, value: everywhere, kind: fixup_aarch64_ldr_pcrel_imm192211 2212        ldr s0, who_knows2213        ldr d0, i_dont2214        ldr q0, there_must_be_a_better_way2215 2216// CHECK: ldr    s0, who_knows           // encoding: [0bAAA00000,A,A,0x1c]2217// CHECK:                                 //   fixup A - offset: 0, value: who_knows, kind: fixup_aarch64_ldr_pcrel_imm192218// CHECK: ldr    d0, i_dont              // encoding: [0bAAA00000,A,A,0x5c]2219// CHECK:                                 //   fixup A - offset: 0, value: i_dont, kind: fixup_aarch64_ldr_pcrel_imm192220// CHECK: ldr    q0, there_must_be_a_better_way // encoding: [0bAAA00000,A,A,0x9c]2221// CHECK:                                 //   fixup A - offset: 0, value: there_must_be_a_better_way, kind: fixup_aarch64_ldr_pcrel_imm192222 2223        ldr w0, #10485722224        ldr x10, #-10485762225// CHECK: ldr     w0, #1048572            // encoding: [0xe0,0xff,0x7f,0x18]2226// CHECK: ldr     x10, #-1048576          // encoding: [0x0a,0x00,0x80,0x58]2227 2228        prfm pldl1strm, nowhere2229        prfm #22, somewhere2230 2231// CHECK: prfm    pldl1strm, nowhere      // encoding: [0bAAA00001,A,A,0xd8]2232// CHECK:                                 //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_ldr_pcrel_imm192233// CHECK: prfm    #22, somewhere          // encoding: [0bAAA10110,A,A,0xd8]2234// CHECK:                                 //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_ldr_pcrel_imm192235 2236//------------------------------------------------------------------------------2237// Load/store exclusive2238//------------------------------------------------------------------------------2239 2240        stxrb      w1, w2, [x3, #0]2241        stxrh      w2, w3, [x4]2242        stxr       wzr, w4, [sp]2243        stxr       w5, x6, [x7]2244// CHECK: stxrb    w1, w2, [x3]              // encoding: [0x62,0x7c,0x01,0x08]2245// CHECK: stxrh    w2, w3, [x4]              // encoding: [0x83,0x7c,0x02,0x48]2246// CHECK: stxr     wzr, w4, [sp]             // encoding: [0xe4,0x7f,0x1f,0x88]2247// CHECK: stxr     w5, x6, [x7]              // encoding: [0xe6,0x7c,0x05,0xc8]2248 2249        ldxrb      w7, [x9]2250        ldxrh      wzr, [x10]2251        ldxr       w9, [sp]2252        ldxr       x10, [x11]2253// CHECK: ldxrb    w7, [x9]                  // encoding: [0x27,0x7d,0x5f,0x08]2254// CHECK: ldxrh    wzr, [x10]                // encoding: [0x5f,0x7d,0x5f,0x48]2255// CHECK: ldxr     w9, [sp]                  // encoding: [0xe9,0x7f,0x5f,0x88]2256// CHECK: ldxr     x10, [x11]                // encoding: [0x6a,0x7d,0x5f,0xc8]2257 2258        stxp       w11, w12, w13, [x14]2259        stxp       wzr, x23, x14, [x15]2260// CHECK: stxp     w11, w12, w13, [x14]      // encoding: [0xcc,0x35,0x2b,0x88]2261// CHECK: stxp     wzr, x23, x14, [x15]      // encoding: [0xf7,0x39,0x3f,0xc8]2262 2263        ldxp       w12, wzr, [sp]2264        ldxp       x13, x14, [x15]2265// CHECK: ldxp     w12, wzr, [sp]            // encoding: [0xec,0x7f,0x7f,0x88]2266// CHECK: ldxp     x13, x14, [x15]           // encoding: [0xed,0x39,0x7f,0xc8]2267 2268        stlxrb     w14, w15, [x16]2269        stlxrh     w15, w16, [x17,#0]2270        stlxr      wzr, w17, [sp]2271        stlxr      w18, x19, [x20]2272// CHECK: stlxrb   w14, w15, [x16]           // encoding: [0x0f,0xfe,0x0e,0x08]2273// CHECK: stlxrh   w15, w16, [x17]           // encoding: [0x30,0xfe,0x0f,0x48]2274// CHECK: stlxr    wzr, w17, [sp]            // encoding: [0xf1,0xff,0x1f,0x88]2275// CHECK: stlxr    w18, x19, [x20]           // encoding: [0x93,0xfe,0x12,0xc8]2276 2277        ldaxrb     w19, [x21]2278        ldaxrh     w20, [sp]2279        ldaxr      wzr, [x22]2280        ldaxr      x21, [x23]2281// CHECK: ldaxrb   w19, [x21]                // encoding: [0xb3,0xfe,0x5f,0x08]2282// CHECK: ldaxrh   w20, [sp]                 // encoding: [0xf4,0xff,0x5f,0x48]2283// CHECK: ldaxr    wzr, [x22]                // encoding: [0xdf,0xfe,0x5f,0x88]2284// CHECK: ldaxr    x21, [x23]                // encoding: [0xf5,0xfe,0x5f,0xc8]2285 2286        stlxp      wzr, w22, w23, [x24]2287        stlxp      w25, x26, x27, [sp]2288// CHECK: stlxp    wzr, w22, w23, [x24]      // encoding: [0x16,0xdf,0x3f,0x88]2289// CHECK: stlxp    w25, x26, x27, [sp]       // encoding: [0xfa,0xef,0x39,0xc8]2290 2291        ldaxp      w26, wzr, [sp]2292        ldaxp      x27, x28, [x30]2293// CHECK: ldaxp    w26, wzr, [sp]            // encoding: [0xfa,0xff,0x7f,0x88]2294// CHECK: ldaxp    x27, x28, [x30]           // encoding: [0xdb,0xf3,0x7f,0xc8]2295 2296        stlrb      w27, [sp]2297        stlrh      w28, [x0]2298        stlr       wzr, [x1]2299        stlr       x30, [x2]2300// CHECK: stlrb    w27, [sp]                 // encoding: [0xfb,0xff,0x9f,0x08]2301// CHECK: stlrh    w28, [x0]                 // encoding: [0x1c,0xfc,0x9f,0x48]2302// CHECK: stlr     wzr, [x1]                 // encoding: [0x3f,0xfc,0x9f,0x88]2303// CHECK: stlr     x30, [x2]                 // encoding: [0x5e,0xfc,0x9f,0xc8]2304 2305        ldarb      w29, [sp]2306        ldarh      w30, [x0]2307        ldar       wzr, [x1]2308        ldar       x1, [x2]2309// CHECK: ldarb    w29, [sp]                 // encoding: [0xfd,0xff,0xdf,0x08]2310// CHECK: ldarh    w30, [x0]                 // encoding: [0x1e,0xfc,0xdf,0x48]2311// CHECK: ldar     wzr, [x1]                 // encoding: [0x3f,0xfc,0xdf,0x88]2312// CHECK: ldar     x1, [x2]                  // encoding: [0x41,0xfc,0xdf,0xc8]2313 2314        stlxp      wzr, w22, w23, [x24,#0]2315// CHECK: stlxp    wzr, w22, w23, [x24]      // encoding: [0x16,0xdf,0x3f,0x88]2316 2317//------------------------------------------------------------------------------2318// Load/store (unaligned immediate)2319//------------------------------------------------------------------------------2320 2321        sturb w9, [sp, #0]2322        sturh wzr, [x12, #255]2323        stur w16, [x0, #-256]2324        stur x28, [x14, #1]2325// CHECK: sturb    w9, [sp]                   // encoding: [0xe9,0x03,0x00,0x38]2326// CHECK: sturh    wzr, [x12, #255]           // encoding: [0x9f,0xf1,0x0f,0x78]2327// CHECK: stur     w16, [x0, #-256]           // encoding: [0x10,0x00,0x10,0xb8]2328// CHECK: stur     x28, [x14, #1]             // encoding: [0xdc,0x11,0x00,0xf8]2329 2330        ldurb w1, [x20, #255]2331        ldurh w20, [x1, #255]2332        ldur w12, [sp, #255]2333        ldur xzr, [x12, #255]2334// CHECK: ldurb    w1, [x20, #255]            // encoding: [0x81,0xf2,0x4f,0x38]2335// CHECK: ldurh    w20, [x1, #255]            // encoding: [0x34,0xf0,0x4f,0x78]2336// CHECK: ldur     w12, [sp, #255]            // encoding: [0xec,0xf3,0x4f,0xb8]2337// CHECK: ldur     xzr, [x12, #255]           // encoding: [0x9f,0xf1,0x4f,0xf8]2338 2339        ldursb x9, [x7, #-256]2340        ldursh x17, [x19, #-256]2341        ldursw x20, [x15, #-256]2342        ldursw x13, [x2]2343        prfum pldl2keep, [sp, #-256]2344        ldursb w19, [x1, #-256]2345        ldursh w15, [x21, #-256]2346// CHECK: ldursb   x9, [x7, #-256]            // encoding: [0xe9,0x00,0x90,0x38]2347// CHECK: ldursh   x17, [x19, #-256]          // encoding: [0x71,0x02,0x90,0x78]2348// CHECK: ldursw   x20, [x15, #-256]          // encoding: [0xf4,0x01,0x90,0xb8]2349// CHECK: ldursw   x13, [x2]                  // encoding: [0x4d,0x00,0x80,0xb8]2350// CHECK: prfum    pldl2keep, [sp, #-256]     // encoding: [0xe2,0x03,0x90,0xf8]2351// CHECK: ldursb   w19, [x1, #-256]           // encoding: [0x33,0x00,0xd0,0x38]2352// CHECK: ldursh   w15, [x21, #-256]          // encoding: [0xaf,0x02,0xd0,0x78]2353 2354        stur b0, [sp, #1]2355        stur h12, [x12, #-1]2356        stur s15, [x0, #255]2357        stur d31, [x5, #25]2358        stur q9, [x5]2359// CHECK: stur     b0, [sp, #1]               // encoding: [0xe0,0x13,0x00,0x3c]2360// CHECK: stur     h12, [x12, #-1]            // encoding: [0x8c,0xf1,0x1f,0x7c]2361// CHECK: stur     s15, [x0, #255]            // encoding: [0x0f,0xf0,0x0f,0xbc]2362// CHECK: stur     d31, [x5, #25]             // encoding: [0xbf,0x90,0x01,0xfc]2363// CHECK: stur     q9, [x5]                   // encoding: [0xa9,0x00,0x80,0x3c]2364 2365        ldur b3, [sp]2366        ldur h5, [x4, #-256]2367        ldur s7, [x12, #-1]2368        ldur d11, [x19, #4]2369        ldur q13, [x1, #2]2370// CHECK: ldur     b3, [sp]                   // encoding: [0xe3,0x03,0x40,0x3c]2371// CHECK: ldur     h5, [x4, #-256]            // encoding: [0x85,0x00,0x50,0x7c]2372// CHECK: ldur     s7, [x12, #-1]             // encoding: [0x87,0xf1,0x5f,0xbc]2373// CHECK: ldur     d11, [x19, #4]             // encoding: [0x6b,0x42,0x40,0xfc]2374// CHECK: ldur     q13, [x1, #2]              // encoding: [0x2d,0x20,0xc0,0x3c]2375 2376//------------------------------------------------------------------------------2377// Load/store (unsigned immediate)2378//------------------------------------------------------------------------------2379 2380//// Basic addressing mode limits: 8 byte access2381        ldr x0, [x0]2382        ldr x4, [x29, #0]2383        ldr x30, [x12, #32760]2384        ldr x20, [sp, #8]2385// CHECK: ldr      x0, [x0]                   // encoding: [0x00,0x00,0x40,0xf9]2386// CHECK: ldr      x4, [x29]                  // encoding: [0xa4,0x03,0x40,0xf9]2387// CHECK: ldr      x30, [x12, #32760]         // encoding: [0x9e,0xfd,0x7f,0xf9]2388// CHECK: ldr      x20, [sp, #8]              // encoding: [0xf4,0x07,0x40,0xf9]2389 2390//// Rt treats 31 as zero-register2391        ldr xzr, [sp]2392// CHECK: ldr      xzr, [sp]                  // encoding: [0xff,0x03,0x40,0xf9]2393 2394        //// 4-byte load, check still 64-bit address, limits2395        ldr w2, [sp]2396        ldr w17, [sp, #16380]2397        ldr w13, [x2, #4]2398// CHECK: ldr      w2, [sp]                   // encoding: [0xe2,0x03,0x40,0xb9]2399// CHECK: ldr      w17, [sp, #16380]          // encoding: [0xf1,0xff,0x7f,0xb9]2400// CHECK: ldr      w13, [x2, #4]              // encoding: [0x4d,0x04,0x40,0xb9]2401 2402//// Signed 4-byte load. Limits.2403        ldrsw x2, [x5,#4]2404        ldrsw x23, [sp, #16380]2405// CHECK: ldrsw    x2, [x5, #4]               // encoding: [0xa2,0x04,0x80,0xb9]2406// CHECK: ldrsw    x23, [sp, #16380]          // encoding: [0xf7,0xff,0xbf,0xb9]2407 2408////  2-byte loads2409        ldrh w2, [x4]2410        ldrsh w23, [x6, #8190]2411        ldrsh wzr, [sp, #2]2412        ldrsh x29, [x2, #2]2413// CHECK: ldrh     w2, [x4]                   // encoding: [0x82,0x00,0x40,0x79]2414// CHECK: ldrsh    w23, [x6, #8190]           // encoding: [0xd7,0xfc,0xff,0x79]2415// CHECK: ldrsh    wzr, [sp, #2]              // encoding: [0xff,0x07,0xc0,0x79]2416// CHECK: ldrsh    x29, [x2, #2]              // encoding: [0x5d,0x04,0x80,0x79]2417 2418//// 1-byte loads2419        ldrb w26, [x3, #121]2420        ldrb w12, [x2, #0]2421        ldrsb w27, [sp, #4095]2422        ldrsb xzr, [x15]2423// CHECK: ldrb     w26, [x3, #121]            // encoding: [0x7a,0xe4,0x41,0x39]2424// CHECK: ldrb     w12, [x2]                  // encoding: [0x4c,0x00,0x40,0x39]2425// CHECK: ldrsb    w27, [sp, #4095]           // encoding: [0xfb,0xff,0xff,0x39]2426// CHECK: ldrsb    xzr, [x15]                 // encoding: [0xff,0x01,0x80,0x39]2427 2428//// Stores2429        str x30, [sp]2430        str w20, [x4, #16380]2431        strh w20, [x10, #14]2432        strh w17, [sp, #8190]2433        strb w23, [x3, #4095]2434        strb wzr, [x2]2435// CHECK: str      x30, [sp]                  // encoding: [0xfe,0x03,0x00,0xf9]2436// CHECK: str      w20, [x4, #16380]          // encoding: [0x94,0xfc,0x3f,0xb9]2437// CHECK: strh     w20, [x10, #14]            // encoding: [0x54,0x1d,0x00,0x79]2438// CHECK: strh     w17, [sp, #8190]           // encoding: [0xf1,0xff,0x3f,0x79]2439// CHECK: strb     w23, [x3, #4095]           // encoding: [0x77,0xfc,0x3f,0x39]2440// CHECK: strb     wzr, [x2]                  // encoding: [0x5f,0x00,0x00,0x39]2441 2442//// Relocations2443        str x15, [x5, #:lo12:sym]2444        ldrb w15, [x5, #:lo12:sym]2445        ldrsh x15, [x5, #:lo12:sym]2446        ldrsw x15, [x5, #:lo12:sym]2447        ldr x15, [x5, #:lo12:sym]2448        ldr q3, [x2, #:lo12:sym]2449 2450// CHECK: str    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b00AAAAAA,0xf9]2451// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale82452// CHECK: ldrb    w15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b01AAAAAA,0x39]2453// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale12454// CHECK: ldrsh    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b10AAAAAA,0x79]2455// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale22456// CHECK: ldrsw    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b10AAAAAA,0xb9]2457// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale42458// CHECK: ldr    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b01AAAAAA,0xf9]2459// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale82460// CHECK: ldr    q3, [x2, :lo12:sym]     // encoding: [0x43,0bAAAAAA00,0b11AAAAAA,0x3d]2461// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale162462 2463        prfm pldl1keep, [sp, #8]2464        prfm pldl1strm, [x3]2465        prfm pldl2keep, [x5,#16]2466        prfm pldl2strm, [x2]2467        prfm pldl3keep, [x5]2468        prfm pldl3strm, [x6]2469        prfm plil1keep, [sp, #8]2470        prfm plil1strm, [x3]2471        prfm plil2keep, [x5,#16]2472        prfm plil2strm, [x2]2473        prfm plil3keep, [x5]2474        prfm plil3strm, [x6]2475        prfm pstl1keep, [sp, #8]2476        prfm pstl1strm, [x3]2477        prfm pstl2keep, [x5,#16]2478        prfm pstl2strm, [x2]2479        prfm pstl3keep, [x5]2480        prfm pstl3strm, [x6]2481        prfm #15, [sp]2482// CHECK: prfm    pldl1keep, [sp, #8]     // encoding: [0xe0,0x07,0x80,0xf9]2483// CHECK: prfm    pldl1strm, [x3{{(, #0)?}}]     // encoding: [0x61,0x00,0x80,0xf9]2484// CHECK: prfm    pldl2keep, [x5, #16]    // encoding: [0xa2,0x08,0x80,0xf9]2485// CHECK: prfm    pldl2strm, [x2{{(, #0)?}}]     // encoding: [0x43,0x00,0x80,0xf9]2486// CHECK: prfm    pldl3keep, [x5{{(, #0)?}}]     // encoding: [0xa4,0x00,0x80,0xf9]2487// CHECK: prfm    pldl3strm, [x6{{(, #0)?}}]     // encoding: [0xc5,0x00,0x80,0xf9]2488// CHECK: prfm    plil1keep, [sp, #8]     // encoding: [0xe8,0x07,0x80,0xf9]2489// CHECK: prfm    plil1strm, [x3{{(, #0)?}}]     // encoding: [0x69,0x00,0x80,0xf9]2490// CHECK: prfm    plil2keep, [x5, #16]    // encoding: [0xaa,0x08,0x80,0xf9]2491// CHECK: prfm    plil2strm, [x2{{(, #0)?}}]     // encoding: [0x4b,0x00,0x80,0xf9]2492// CHECK: prfm    plil3keep, [x5{{(, #0)?}}]     // encoding: [0xac,0x00,0x80,0xf9]2493// CHECK: prfm    plil3strm, [x6{{(, #0)?}}]     // encoding: [0xcd,0x00,0x80,0xf9]2494// CHECK: prfm    pstl1keep, [sp, #8]     // encoding: [0xf0,0x07,0x80,0xf9]2495// CHECK: prfm    pstl1strm, [x3{{(, #0)?}}]     // encoding: [0x71,0x00,0x80,0xf9]2496// CHECK: prfm    pstl2keep, [x5, #16]    // encoding: [0xb2,0x08,0x80,0xf9]2497// CHECK: prfm    pstl2strm, [x2{{(, #0)?}}]     // encoding: [0x53,0x00,0x80,0xf9]2498// CHECK: prfm    pstl3keep, [x5{{(, #0)?}}]     // encoding: [0xb4,0x00,0x80,0xf9]2499// CHECK: prfm    pstl3strm, [x6{{(, #0)?}}]     // encoding: [0xd5,0x00,0x80,0xf9]2500// CHECK: prfm    #15, [sp{{(, #0)?}}]           // encoding: [0xef,0x03,0x80,0xf9]2501 2502//// Floating-point versions2503 2504        ldr b31, [sp, #4095]2505        ldr h20, [x2, #8190]2506        ldr s10, [x19, #16380]2507        ldr d3, [x10, #32760]2508        str q12, [sp, #65520]2509// CHECK: ldr      b31, [sp, #4095]           // encoding: [0xff,0xff,0x7f,0x3d]2510// CHECK: ldr      h20, [x2, #8190]           // encoding: [0x54,0xfc,0x7f,0x7d]2511// CHECK: ldr      s10, [x19, #16380]         // encoding: [0x6a,0xfe,0x7f,0xbd]2512// CHECK: ldr      d3, [x10, #32760]          // encoding: [0x43,0xfd,0x7f,0xfd]2513// CHECK: str      q12, [sp, #65520]          // encoding: [0xec,0xff,0xbf,0x3d]2514 2515//------------------------------------------------------------------------------2516// Load/store register (register offset)2517//------------------------------------------------------------------------------2518 2519        ldrb w3, [sp, x5]2520        ldrb w9, [x27, x6, lsl #0]2521        ldrsb w10, [x30, x7]2522        ldrb w11, [x29, x3, sxtx]2523        strb w12, [x28, xzr, sxtx #0]2524        ldrb w14, [x26, w6, uxtw]2525        ldrsb w15, [x25, w7, uxtw #0]2526        ldrb w17, [x23, w9, sxtw]2527        ldrsb x18, [x22, w10, sxtw #0]2528// CHECK: ldrb     w3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0x38]2529// CHECK: ldrb     w9, [x27, x6, lsl #0]      // encoding: [0x69,0x7b,0x66,0x38]2530// CHECK: ldrsb    w10, [x30, x7]             // encoding: [0xca,0x6b,0xe7,0x38]2531// CHECK: ldrb     w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x63,0x38]2532// CHECK: strb     w12, [x28, xzr, sxtx #0]   // encoding: [0x8c,0xfb,0x3f,0x38]2533// CHECK: ldrb     w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x66,0x38]2534// CHECK: ldrsb    w15, [x25, w7, uxtw #0]    // encoding: [0x2f,0x5b,0xe7,0x38]2535// CHECK: ldrb     w17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0x38]2536// CHECK: ldrsb    x18, [x22, w10, sxtw #0]   // encoding: [0xd2,0xda,0xaa,0x38]2537 2538        ldrsh w3, [sp, x5]2539        ldrsh w9, [x27, x6, lsl #0]2540        ldrh w10, [x30, x7, lsl #1]2541        strh w11, [x29, x3, sxtx]2542        ldrh w12, [x28, xzr, sxtx #0]2543        ldrsh x13, [x27, x5, sxtx #1]2544        ldrh w14, [x26, w6, uxtw]2545        ldrh w15, [x25, w7, uxtw #0]2546        ldrsh w16, [x24, w8, uxtw #1]2547        ldrh w17, [x23, w9, sxtw]2548        ldrh w18, [x22, w10, sxtw #0]2549        strh w19, [x21, wzr, sxtw #1]2550// CHECK: ldrsh    w3, [sp, x5]               // encoding: [0xe3,0x6b,0xe5,0x78]2551// CHECK: ldrsh    w9, [x27, x6]              // encoding: [0x69,0x6b,0xe6,0x78]2552// CHECK: ldrh     w10, [x30, x7, lsl #1]     // encoding: [0xca,0x7b,0x67,0x78]2553// CHECK: strh     w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x23,0x78]2554// CHECK: ldrh     w12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x7f,0x78]2555// CHECK: ldrsh    x13, [x27, x5, sxtx #1]    // encoding: [0x6d,0xfb,0xa5,0x78]2556// CHECK: ldrh     w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x66,0x78]2557// CHECK: ldrh     w15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0x78]2558// CHECK: ldrsh    w16, [x24, w8, uxtw #1]    // encoding: [0x10,0x5b,0xe8,0x78]2559// CHECK: ldrh     w17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0x78]2560// CHECK: ldrh     w18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0x78]2561// CHECK: strh     w19, [x21, wzr, sxtw #1]   // encoding: [0xb3,0xda,0x3f,0x78]2562 2563        ldr w3, [sp, x5]2564        ldr s9, [x27, x6, lsl #0]2565        ldr w10, [x30, x7, lsl #2]2566        ldr w11, [x29, x3, sxtx]2567        str s12, [x28, xzr, sxtx #0]2568        str w13, [x27, x5, sxtx #2]2569        str w14, [x26, w6, uxtw]2570        ldr w15, [x25, w7, uxtw #0]2571        ldr w16, [x24, w8, uxtw #2]2572        ldrsw x17, [x23, w9, sxtw]2573        ldr w18, [x22, w10, sxtw #0]2574        ldrsw x19, [x21, wzr, sxtw #2]2575// CHECK: ldr      w3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0xb8]2576// CHECK: ldr      s9, [x27, x6]              // encoding: [0x69,0x6b,0x66,0xbc]2577// CHECK: ldr      w10, [x30, x7, lsl #2]     // encoding: [0xca,0x7b,0x67,0xb8]2578// CHECK: ldr      w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x63,0xb8]2579// CHECK: str      s12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x3f,0xbc]2580// CHECK: str      w13, [x27, x5, sxtx #2]    // encoding: [0x6d,0xfb,0x25,0xb8]2581// CHECK: str      w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x26,0xb8]2582// CHECK: ldr      w15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0xb8]2583// CHECK: ldr      w16, [x24, w8, uxtw #2]    // encoding: [0x10,0x5b,0x68,0xb8]2584// CHECK: ldrsw    x17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0xa9,0xb8]2585// CHECK: ldr      w18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0xb8]2586// CHECK: ldrsw    x19, [x21, wzr, sxtw #2]   // encoding: [0xb3,0xda,0xbf,0xb8]2587 2588        ldr x3, [sp, x5]2589        str x9, [x27, x6, lsl #0]2590        ldr d10, [x30, x7, lsl #3]2591        str x11, [x29, x3, sxtx]2592        ldr x12, [x28, xzr, sxtx #0]2593        ldr x13, [x27, x5, sxtx #3]2594        prfm pldl1keep, [x26, w6, uxtw]2595        ldr x15, [x25, w7, uxtw #0]2596        ldr x16, [x24, w8, uxtw #3]2597        ldr x17, [x23, w9, sxtw]2598        ldr x18, [x22, w10, sxtw #0]2599        str d19, [x21, wzr, sxtw #3]2600        prfm #6, [x0, x5]2601// CHECK: ldr      x3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0xf8]2602// CHECK: str      x9, [x27, x6]              // encoding: [0x69,0x6b,0x26,0xf8]2603// CHECK: ldr      d10, [x30, x7, lsl #3]     // encoding: [0xca,0x7b,0x67,0xfc]2604// CHECK: str      x11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x23,0xf8]2605// CHECK: ldr      x12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x7f,0xf8]2606// CHECK: ldr      x13, [x27, x5, sxtx #3]    // encoding: [0x6d,0xfb,0x65,0xf8]2607// CHECK: prfm     pldl1keep, [x26, w6, uxtw] // encoding: [0x40,0x4b,0xa6,0xf8]2608// CHECK: ldr      x15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0xf8]2609// CHECK: ldr      x16, [x24, w8, uxtw #3]    // encoding: [0x10,0x5b,0x68,0xf8]2610// CHECK: ldr      x17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0xf8]2611// CHECK: ldr      x18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0xf8]2612// CHECK: str      d19, [x21, wzr, sxtw #3]   // encoding: [0xb3,0xda,0x3f,0xfc]2613// CHECK: prfm     #6, [x0, x5{{(, lsl #0)?}}]       // encoding: [0x06,0x68,0xa5,0xf8]2614 2615        ldr q3, [sp, x5]2616        ldr q9, [x27, x6, lsl #0]2617        ldr q10, [x30, x7, lsl #4]2618        str q11, [x29, x3, sxtx]2619        str q12, [x28, xzr, sxtx #0]2620        str q13, [x27, x5, sxtx #4]2621        ldr q14, [x26, w6, uxtw]2622        ldr q15, [x25, w7, uxtw #0]2623        ldr q16, [x24, w8, uxtw #4]2624        ldr q17, [x23, w9, sxtw]2625        str q18, [x22, w10, sxtw #0]2626        ldr q19, [x21, wzr, sxtw #4]2627// CHECK: ldr      q3, [sp, x5]               // encoding: [0xe3,0x6b,0xe5,0x3c]2628// CHECK: ldr      q9, [x27, x6]              // encoding: [0x69,0x6b,0xe6,0x3c]2629// CHECK: ldr      q10, [x30, x7, lsl #4]     // encoding: [0xca,0x7b,0xe7,0x3c]2630// CHECK: str      q11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0xa3,0x3c]2631// CHECK: str      q12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0xbf,0x3c]2632// CHECK: str      q13, [x27, x5, sxtx #4]    // encoding: [0x6d,0xfb,0xa5,0x3c]2633// CHECK: ldr      q14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0xe6,0x3c]2634// CHECK: ldr      q15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0xe7,0x3c]2635// CHECK: ldr      q16, [x24, w8, uxtw #4]    // encoding: [0x10,0x5b,0xe8,0x3c]2636// CHECK: ldr      q17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0xe9,0x3c]2637// CHECK: str      q18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0xaa,0x3c]2638// CHECK: ldr      q19, [x21, wzr, sxtw #4]   // encoding: [0xb3,0xda,0xff,0x3c]2639 2640//------------------------------------------------------------------------------2641// Load/store register (immediate post-indexed)2642//------------------------------------------------------------------------------2643 2644        strb w9, [x2], #2552645        strb w10, [x3], #12646        strb w10, [x3], #-2562647        strh w9, [x2], #2552648        strh w9, [x2], #12649        strh w10, [x3], #-2562650// CHECK: strb     w9, [x2], #255             // encoding: [0x49,0xf4,0x0f,0x38]2651// CHECK: strb     w10, [x3], #1              // encoding: [0x6a,0x14,0x00,0x38]2652// CHECK: strb     w10, [x3], #-256           // encoding: [0x6a,0x04,0x10,0x38]2653// CHECK: strh     w9, [x2], #255             // encoding: [0x49,0xf4,0x0f,0x78]2654// CHECK: strh     w9, [x2], #1               // encoding: [0x49,0x14,0x00,0x78]2655// CHECK: strh     w10, [x3], #-256           // encoding: [0x6a,0x04,0x10,0x78]2656 2657        str w19, [sp], #2552658        str w20, [x30], #12659        str w21, [x12], #-2562660        str xzr, [x9], #2552661        str x2, [x3], #12662        str x19, [x12], #-2562663// CHECK: str      w19, [sp], #255            // encoding: [0xf3,0xf7,0x0f,0xb8]2664// CHECK: str      w20, [x30], #1             // encoding: [0xd4,0x17,0x00,0xb8]2665// CHECK: str      w21, [x12], #-256          // encoding: [0x95,0x05,0x10,0xb8]2666// CHECK: str      xzr, [x9], #255            // encoding: [0x3f,0xf5,0x0f,0xf8]2667// CHECK: str      x2, [x3], #1               // encoding: [0x62,0x14,0x00,0xf8]2668// CHECK: str      x19, [x12], #-256          // encoding: [0x93,0x05,0x10,0xf8]2669 2670        ldrb w9, [x2], #2552671        ldrb w10, [x3], #12672        ldrb w10, [x3], #-2562673        ldrh w9, [x2], #2552674        ldrh w9, [x2], #12675        ldrh w10, [x3], #-2562676// CHECK: ldrb     w9, [x2], #255             // encoding: [0x49,0xf4,0x4f,0x38]2677// CHECK: ldrb     w10, [x3], #1              // encoding: [0x6a,0x14,0x40,0x38]2678// CHECK: ldrb     w10, [x3], #-256           // encoding: [0x6a,0x04,0x50,0x38]2679// CHECK: ldrh     w9, [x2], #255             // encoding: [0x49,0xf4,0x4f,0x78]2680// CHECK: ldrh     w9, [x2], #1               // encoding: [0x49,0x14,0x40,0x78]2681// CHECK: ldrh     w10, [x3], #-256           // encoding: [0x6a,0x04,0x50,0x78]2682 2683        ldr w19, [sp], #2552684        ldr w20, [x30], #12685        ldr w21, [x12], #-2562686        ldr xzr, [x9], #2552687        ldr x2, [x3], #12688        ldr x19, [x12], #-2562689// CHECK: ldr      w19, [sp], #255            // encoding: [0xf3,0xf7,0x4f,0xb8]2690// CHECK: ldr      w20, [x30], #1             // encoding: [0xd4,0x17,0x40,0xb8]2691// CHECK: ldr      w21, [x12], #-256          // encoding: [0x95,0x05,0x50,0xb8]2692// CHECK: ldr      xzr, [x9], #255            // encoding: [0x3f,0xf5,0x4f,0xf8]2693// CHECK: ldr      x2, [x3], #1               // encoding: [0x62,0x14,0x40,0xf8]2694// CHECK: ldr      x19, [x12], #-256          // encoding: [0x93,0x05,0x50,0xf8]2695 2696        ldrsb xzr, [x9], #2552697        ldrsb x2, [x3], #12698        ldrsb x19, [x12], #-2562699        ldrsh xzr, [x9], #2552700        ldrsh x2, [x3], #12701        ldrsh x19, [x12], #-2562702        ldrsw xzr, [x9], #2552703        ldrsw x2, [x3], #12704        ldrsw x19, [x12], #-2562705// CHECK: ldrsb    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0x38]2706// CHECK: ldrsb    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0x38]2707// CHECK: ldrsb    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0x38]2708// CHECK: ldrsh    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0x78]2709// CHECK: ldrsh    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0x78]2710// CHECK: ldrsh    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0x78]2711// CHECK: ldrsw    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0xb8]2712// CHECK: ldrsw    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0xb8]2713// CHECK: ldrsw    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0xb8]2714 2715        ldrsb wzr, [x9], #2552716        ldrsb w2, [x3], #12717        ldrsb w19, [x12], #-2562718        ldrsh wzr, [x9], #2552719        ldrsh w2, [x3], #12720        ldrsh w19, [x12], #-2562721// CHECK: ldrsb    wzr, [x9], #255            // encoding: [0x3f,0xf5,0xcf,0x38]2722// CHECK: ldrsb    w2, [x3], #1               // encoding: [0x62,0x14,0xc0,0x38]2723// CHECK: ldrsb    w19, [x12], #-256          // encoding: [0x93,0x05,0xd0,0x38]2724// CHECK: ldrsh    wzr, [x9], #255            // encoding: [0x3f,0xf5,0xcf,0x78]2725// CHECK: ldrsh    w2, [x3], #1               // encoding: [0x62,0x14,0xc0,0x78]2726// CHECK: ldrsh    w19, [x12], #-256          // encoding: [0x93,0x05,0xd0,0x78]2727 2728        str b0, [x0], #2552729        str b3, [x3], #12730        str b5, [sp], #-2562731        str h10, [x10], #2552732        str h13, [x23], #12733        str h15, [sp], #-2562734        str s20, [x20], #2552735        str s23, [x23], #12736        str s25, [x0], #-2562737        str d20, [x20], #2552738        str d23, [x23], #12739        str d25, [x0], #-2562740// CHECK: str      b0, [x0], #255             // encoding: [0x00,0xf4,0x0f,0x3c]2741// CHECK: str      b3, [x3], #1               // encoding: [0x63,0x14,0x00,0x3c]2742// CHECK: str      b5, [sp], #-256            // encoding: [0xe5,0x07,0x10,0x3c]2743// CHECK: str      h10, [x10], #255           // encoding: [0x4a,0xf5,0x0f,0x7c]2744// CHECK: str      h13, [x23], #1             // encoding: [0xed,0x16,0x00,0x7c]2745// CHECK: str      h15, [sp], #-256           // encoding: [0xef,0x07,0x10,0x7c]2746// CHECK: str      s20, [x20], #255           // encoding: [0x94,0xf6,0x0f,0xbc]2747// CHECK: str      s23, [x23], #1             // encoding: [0xf7,0x16,0x00,0xbc]2748// CHECK: str      s25, [x0], #-256           // encoding: [0x19,0x04,0x10,0xbc]2749// CHECK: str      d20, [x20], #255           // encoding: [0x94,0xf6,0x0f,0xfc]2750// CHECK: str      d23, [x23], #1             // encoding: [0xf7,0x16,0x00,0xfc]2751// CHECK: str      d25, [x0], #-256           // encoding: [0x19,0x04,0x10,0xfc]2752 2753        ldr b0, [x0], #2552754        ldr b3, [x3], #12755        ldr b5, [sp], #-2562756        ldr h10, [x10], #2552757        ldr h13, [x23], #12758        ldr h15, [sp], #-2562759        ldr s20, [x20], #2552760        ldr s23, [x23], #12761        ldr s25, [x0], #-2562762        ldr d20, [x20], #2552763        ldr d23, [x23], #12764        ldr d25, [x0], #-2562765// CHECK: ldr      b0, [x0], #255             // encoding: [0x00,0xf4,0x4f,0x3c]2766// CHECK: ldr      b3, [x3], #1               // encoding: [0x63,0x14,0x40,0x3c]2767// CHECK: ldr      b5, [sp], #-256            // encoding: [0xe5,0x07,0x50,0x3c]2768// CHECK: ldr      h10, [x10], #255           // encoding: [0x4a,0xf5,0x4f,0x7c]2769// CHECK: ldr      h13, [x23], #1             // encoding: [0xed,0x16,0x40,0x7c]2770// CHECK: ldr      h15, [sp], #-256           // encoding: [0xef,0x07,0x50,0x7c]2771// CHECK: ldr      s20, [x20], #255           // encoding: [0x94,0xf6,0x4f,0xbc]2772// CHECK: ldr      s23, [x23], #1             // encoding: [0xf7,0x16,0x40,0xbc]2773// CHECK: ldr      s25, [x0], #-256           // encoding: [0x19,0x04,0x50,0xbc]2774// CHECK: ldr      d20, [x20], #255           // encoding: [0x94,0xf6,0x4f,0xfc]2775// CHECK: ldr      d23, [x23], #1             // encoding: [0xf7,0x16,0x40,0xfc]2776// CHECK: ldr      d25, [x0], #-256           // encoding: [0x19,0x04,0x50,0xfc]2777 2778        ldr q20, [x1], #2552779        ldr q23, [x9], #12780        ldr q25, [x20], #-2562781        str q10, [x1], #2552782        str q22, [sp], #12783        str q21, [x20], #-2562784// CHECK: ldr      q20, [x1], #255            // encoding: [0x34,0xf4,0xcf,0x3c]2785// CHECK: ldr      q23, [x9], #1              // encoding: [0x37,0x15,0xc0,0x3c]2786// CHECK: ldr      q25, [x20], #-256          // encoding: [0x99,0x06,0xd0,0x3c]2787// CHECK: str      q10, [x1], #255            // encoding: [0x2a,0xf4,0x8f,0x3c]2788// CHECK: str      q22, [sp], #1              // encoding: [0xf6,0x17,0x80,0x3c]2789// CHECK: str      q21, [x20], #-256          // encoding: [0x95,0x06,0x90,0x3c]2790 2791//------------------------------------------------------------------------------2792// Load/store register (immediate pre-indexed)2793//------------------------------------------------------------------------------2794 2795        ldr x3, [x4, #0]!2796        ldr xzr, [sp, #0]!2797// CHECK: ldr      x3, [x4, #0]!              // encoding: [0x83,0x0c,0x40,0xf8]2798// CHECK: ldr      xzr, [sp, #0]!              // encoding: [0xff,0x0f,0x40,0xf8]2799 2800        strb w9, [x2, #255]!2801        strb w10, [x3, #1]!2802        strb w10, [x3, #-256]!2803        strh w9, [x2, #255]!2804        strh w9, [x2, #1]!2805        strh w10, [x3, #-256]!2806// CHECK: strb     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x0f,0x38]2807// CHECK: strb     w10, [x3, #1]!             // encoding: [0x6a,0x1c,0x00,0x38]2808// CHECK: strb     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x10,0x38]2809// CHECK: strh     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x0f,0x78]2810// CHECK: strh     w9, [x2, #1]!              // encoding: [0x49,0x1c,0x00,0x78]2811// CHECK: strh     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x10,0x78]2812 2813        str w19, [sp, #255]!2814        str w20, [x30, #1]!2815        str w21, [x12, #-256]!2816        str xzr, [x9, #255]!2817        str x2, [x3, #1]!2818        str x19, [x12, #-256]!2819// CHECK: str      w19, [sp, #255]!           // encoding: [0xf3,0xff,0x0f,0xb8]2820// CHECK: str      w20, [x30, #1]!            // encoding: [0xd4,0x1f,0x00,0xb8]2821// CHECK: str      w21, [x12, #-256]!         // encoding: [0x95,0x0d,0x10,0xb8]2822// CHECK: str      xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x0f,0xf8]2823// CHECK: str      x2, [x3, #1]!              // encoding: [0x62,0x1c,0x00,0xf8]2824// CHECK: str      x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x10,0xf8]2825 2826        ldrb w9, [x2, #255]!2827        ldrb w10, [x3, #1]!2828        ldrb w10, [x3, #-256]!2829        ldrh w9, [x2, #255]!2830        ldrh w9, [x2, #1]!2831        ldrh w10, [x3, #-256]!2832// CHECK: ldrb     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x4f,0x38]2833// CHECK: ldrb     w10, [x3, #1]!             // encoding: [0x6a,0x1c,0x40,0x38]2834// CHECK: ldrb     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x50,0x38]2835// CHECK: ldrh     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x4f,0x78]2836// CHECK: ldrh     w9, [x2, #1]!              // encoding: [0x49,0x1c,0x40,0x78]2837// CHECK: ldrh     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x50,0x78]2838 2839        ldr w19, [sp, #255]!2840        ldr w20, [x30, #1]!2841        ldr w21, [x12, #-256]!2842        ldr xzr, [x9, #255]!2843        ldr x2, [x3, #1]!2844        ldr x19, [x12, #-256]!2845// CHECK: ldr      w19, [sp, #255]!           // encoding: [0xf3,0xff,0x4f,0xb8]2846// CHECK: ldr      w20, [x30, #1]!            // encoding: [0xd4,0x1f,0x40,0xb8]2847// CHECK: ldr      w21, [x12, #-256]!         // encoding: [0x95,0x0d,0x50,0xb8]2848// CHECK: ldr      xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x4f,0xf8]2849// CHECK: ldr      x2, [x3, #1]!              // encoding: [0x62,0x1c,0x40,0xf8]2850// CHECK: ldr      x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x50,0xf8]2851 2852        ldrsb xzr, [x9, #255]!2853        ldrsb x2, [x3, #1]!2854        ldrsb x19, [x12, #-256]!2855        ldrsh xzr, [x9, #255]!2856        ldrsh x2, [x3, #1]!2857        ldrsh x19, [x12, #-256]!2858        ldrsw xzr, [x9, #255]!2859        ldrsw x2, [x3, #1]!2860        ldrsw x19, [x12, #-256]!2861// CHECK: ldrsb    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0x38]2862// CHECK: ldrsb    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0x38]2863// CHECK: ldrsb    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0x38]2864// CHECK: ldrsh    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0x78]2865// CHECK: ldrsh    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0x78]2866// CHECK: ldrsh    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0x78]2867// CHECK: ldrsw    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0xb8]2868// CHECK: ldrsw    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0xb8]2869// CHECK: ldrsw    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0xb8]2870 2871        ldrsb wzr, [x9, #255]!2872        ldrsb w2, [x3, #1]!2873        ldrsb w19, [x12, #-256]!2874        ldrsh wzr, [x9, #255]!2875        ldrsh w2, [x3, #1]!2876        ldrsh w19, [x12, #-256]!2877// CHECK: ldrsb    wzr, [x9, #255]!           // encoding: [0x3f,0xfd,0xcf,0x38]2878// CHECK: ldrsb    w2, [x3, #1]!              // encoding: [0x62,0x1c,0xc0,0x38]2879// CHECK: ldrsb    w19, [x12, #-256]!         // encoding: [0x93,0x0d,0xd0,0x38]2880// CHECK: ldrsh    wzr, [x9, #255]!           // encoding: [0x3f,0xfd,0xcf,0x78]2881// CHECK: ldrsh    w2, [x3, #1]!              // encoding: [0x62,0x1c,0xc0,0x78]2882// CHECK: ldrsh    w19, [x12, #-256]!         // encoding: [0x93,0x0d,0xd0,0x78]2883 2884        str b0, [x0, #255]!2885        str b3, [x3, #1]!2886        str b5, [sp, #-256]!2887        str h10, [x10, #255]!2888        str h13, [x23, #1]!2889        str h15, [sp, #-256]!2890        str s20, [x20, #255]!2891        str s23, [x23, #1]!2892        str s25, [x0, #-256]!2893        str d20, [x20, #255]!2894        str d23, [x23, #1]!2895        str d25, [x0, #-256]!2896// CHECK: str      b0, [x0, #255]!            // encoding: [0x00,0xfc,0x0f,0x3c]2897// CHECK: str      b3, [x3, #1]!              // encoding: [0x63,0x1c,0x00,0x3c]2898// CHECK: str      b5, [sp, #-256]!           // encoding: [0xe5,0x0f,0x10,0x3c]2899// CHECK: str      h10, [x10, #255]!          // encoding: [0x4a,0xfd,0x0f,0x7c]2900// CHECK: str      h13, [x23, #1]!            // encoding: [0xed,0x1e,0x00,0x7c]2901// CHECK: str      h15, [sp, #-256]!          // encoding: [0xef,0x0f,0x10,0x7c]2902// CHECK: str      s20, [x20, #255]!          // encoding: [0x94,0xfe,0x0f,0xbc]2903// CHECK: str      s23, [x23, #1]!            // encoding: [0xf7,0x1e,0x00,0xbc]2904// CHECK: str      s25, [x0, #-256]!          // encoding: [0x19,0x0c,0x10,0xbc]2905// CHECK: str      d20, [x20, #255]!          // encoding: [0x94,0xfe,0x0f,0xfc]2906// CHECK: str      d23, [x23, #1]!            // encoding: [0xf7,0x1e,0x00,0xfc]2907// CHECK: str      d25, [x0, #-256]!          // encoding: [0x19,0x0c,0x10,0xfc]2908 2909        ldr b0, [x0, #255]!2910        ldr b3, [x3, #1]!2911        ldr b5, [sp, #-256]!2912        ldr h10, [x10, #255]!2913        ldr h13, [x23, #1]!2914        ldr h15, [sp, #-256]!2915        ldr s20, [x20, #255]!2916        ldr s23, [x23, #1]!2917        ldr s25, [x0, #-256]!2918        ldr d20, [x20, #255]!2919        ldr d23, [x23, #1]!2920        ldr d25, [x0, #-256]!2921// CHECK: ldr      b0, [x0, #255]!            // encoding: [0x00,0xfc,0x4f,0x3c]2922// CHECK: ldr      b3, [x3, #1]!              // encoding: [0x63,0x1c,0x40,0x3c]2923// CHECK: ldr      b5, [sp, #-256]!           // encoding: [0xe5,0x0f,0x50,0x3c]2924// CHECK: ldr      h10, [x10, #255]!          // encoding: [0x4a,0xfd,0x4f,0x7c]2925// CHECK: ldr      h13, [x23, #1]!            // encoding: [0xed,0x1e,0x40,0x7c]2926// CHECK: ldr      h15, [sp, #-256]!          // encoding: [0xef,0x0f,0x50,0x7c]2927// CHECK: ldr      s20, [x20, #255]!          // encoding: [0x94,0xfe,0x4f,0xbc]2928// CHECK: ldr      s23, [x23, #1]!            // encoding: [0xf7,0x1e,0x40,0xbc]2929// CHECK: ldr      s25, [x0, #-256]!          // encoding: [0x19,0x0c,0x50,0xbc]2930// CHECK: ldr      d20, [x20, #255]!          // encoding: [0x94,0xfe,0x4f,0xfc]2931// CHECK: ldr      d23, [x23, #1]!            // encoding: [0xf7,0x1e,0x40,0xfc]2932// CHECK: ldr      d25, [x0, #-256]!          // encoding: [0x19,0x0c,0x50,0xfc]2933 2934        ldr q20, [x1, #255]!2935        ldr q23, [x9, #1]!2936        ldr q25, [x20, #-256]!2937        str q10, [x1, #255]!2938        str q22, [sp, #1]!2939        str q21, [x20, #-256]!2940// CHECK: ldr      q20, [x1, #255]!           // encoding: [0x34,0xfc,0xcf,0x3c]2941// CHECK: ldr      q23, [x9, #1]!             // encoding: [0x37,0x1d,0xc0,0x3c]2942// CHECK: ldr      q25, [x20, #-256]!         // encoding: [0x99,0x0e,0xd0,0x3c]2943// CHECK: str      q10, [x1, #255]!           // encoding: [0x2a,0xfc,0x8f,0x3c]2944// CHECK: str      q22, [sp, #1]!             // encoding: [0xf6,0x1f,0x80,0x3c]2945// CHECK: str      q21, [x20, #-256]!         // encoding: [0x95,0x0e,0x90,0x3c]2946 2947//------------------------------------------------------------------------------2948// Load/store (unprivileged)2949//------------------------------------------------------------------------------2950 2951        sttrb w9, [sp, #0]2952        sttrh wzr, [x12, #255]2953        sttr w16, [x0, #-256]2954        sttr x28, [x14, #1]2955// CHECK: sttrb    w9, [sp]                   // encoding: [0xe9,0x0b,0x00,0x38]2956// CHECK: sttrh    wzr, [x12, #255]           // encoding: [0x9f,0xf9,0x0f,0x78]2957// CHECK: sttr     w16, [x0, #-256]           // encoding: [0x10,0x08,0x10,0xb8]2958// CHECK: sttr     x28, [x14, #1]             // encoding: [0xdc,0x19,0x00,0xf8]2959 2960        ldtrb w1, [x20, #255]2961        ldtrh w20, [x1, #255]2962        ldtr w12, [sp, #255]2963        ldtr xzr, [x12, #255]2964// CHECK: ldtrb    w1, [x20, #255]            // encoding: [0x81,0xfa,0x4f,0x38]2965// CHECK: ldtrh    w20, [x1, #255]            // encoding: [0x34,0xf8,0x4f,0x78]2966// CHECK: ldtr     w12, [sp, #255]            // encoding: [0xec,0xfb,0x4f,0xb8]2967// CHECK: ldtr     xzr, [x12, #255]           // encoding: [0x9f,0xf9,0x4f,0xf8]2968 2969        ldtrsb x9, [x7, #-256]2970        ldtrsh x17, [x19, #-256]2971        ldtrsw x20, [x15, #-256]2972        ldtrsb w19, [x1, #-256]2973        ldtrsh w15, [x21, #-256]2974// CHECK: ldtrsb   x9, [x7, #-256]            // encoding: [0xe9,0x08,0x90,0x38]2975// CHECK: ldtrsh   x17, [x19, #-256]          // encoding: [0x71,0x0a,0x90,0x78]2976// CHECK: ldtrsw   x20, [x15, #-256]          // encoding: [0xf4,0x09,0x90,0xb8]2977// CHECK: ldtrsb   w19, [x1, #-256]           // encoding: [0x33,0x08,0xd0,0x38]2978// CHECK: ldtrsh   w15, [x21, #-256]          // encoding: [0xaf,0x0a,0xd0,0x78]2979 2980//------------------------------------------------------------------------------2981// Load/store register pair (offset)2982//------------------------------------------------------------------------------2983 2984        ldp w3, w5, [sp]2985        stp wzr, w9, [sp, #252]2986        ldp w2, wzr, [sp, #-256]2987        ldp w9, w10, [sp, #4]2988// CHECK: ldp      w3, w5, [sp]               // encoding: [0xe3,0x17,0x40,0x29]2989// CHECK: stp      wzr, w9, [sp, #252]        // encoding: [0xff,0xa7,0x1f,0x29]2990// CHECK: ldp      w2, wzr, [sp, #-256]       // encoding: [0xe2,0x7f,0x60,0x29]2991// CHECK: ldp      w9, w10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x29]2992 2993        ldpsw x9, x10, [sp, #4]2994        ldpsw x9, x10, [x2, #-256]2995        ldpsw x20, x30, [sp, #252]2996// CHECK: ldpsw    x9, x10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x69]2997// CHECK: ldpsw    x9, x10, [x2, #-256]       // encoding: [0x49,0x28,0x60,0x69]2998// CHECK: ldpsw    x20, x30, [sp, #252]       // encoding: [0xf4,0xfb,0x5f,0x69]2999 3000        ldp x21, x29, [x2, #504]3001        ldp x22, x23, [x3, #-512]3002        ldp x24, x25, [x4, #8]3003// CHECK: ldp      x21, x29, [x2, #504]       // encoding: [0x55,0xf4,0x5f,0xa9]3004// CHECK: ldp      x22, x23, [x3, #-512]      // encoding: [0x76,0x5c,0x60,0xa9]3005// CHECK: ldp      x24, x25, [x4, #8]         // encoding: [0x98,0xe4,0x40,0xa9]3006 3007        ldp s29, s28, [sp, #252]3008        stp s27, s26, [sp, #-256]3009        ldp s1, s2, [x3, #44]3010// CHECK: ldp      s29, s28, [sp, #252]       // encoding: [0xfd,0xf3,0x5f,0x2d]3011// CHECK: stp      s27, s26, [sp, #-256]      // encoding: [0xfb,0x6b,0x20,0x2d]3012// CHECK: ldp      s1, s2, [x3, #44]          // encoding: [0x61,0x88,0x45,0x2d]3013 3014        stp d3, d5, [x9, #504]3015        stp d7, d11, [x10, #-512]3016        ldp d2, d3, [x30, #-8]3017// CHECK: stp      d3, d5, [x9, #504]         // encoding: [0x23,0x95,0x1f,0x6d]3018// CHECK: stp      d7, d11, [x10, #-512]      // encoding: [0x47,0x2d,0x20,0x6d]3019// CHECK: ldp      d2, d3, [x30, #-8]         // encoding: [0xc2,0x8f,0x7f,0x6d]3020 3021        stp q3, q5, [sp]3022        stp q17, q19, [sp, #1008]3023        ldp q23, q29, [x1, #-1024]3024// CHECK: stp      q3, q5, [sp]               // encoding: [0xe3,0x17,0x00,0xad]3025// CHECK: stp      q17, q19, [sp, #1008]      // encoding: [0xf1,0xcf,0x1f,0xad]3026// CHECK: ldp      q23, q29, [x1, #-1024]     // encoding: [0x37,0x74,0x60,0xad]3027 3028//------------------------------------------------------------------------------3029// Load/store register pair (post-indexed)3030//------------------------------------------------------------------------------3031 3032        ldp w3, w5, [sp], #03033        stp wzr, w9, [sp], #2523034        ldp w2, wzr, [sp], #-2563035        ldp w9, w10, [sp], #43036// CHECK: ldp      w3, w5, [sp], #0           // encoding: [0xe3,0x17,0xc0,0x28]3037// CHECK: stp      wzr, w9, [sp], #252        // encoding: [0xff,0xa7,0x9f,0x28]3038// CHECK: ldp      w2, wzr, [sp], #-256       // encoding: [0xe2,0x7f,0xe0,0x28]3039// CHECK: ldp      w9, w10, [sp], #4          // encoding: [0xe9,0xab,0xc0,0x28]3040 3041        ldpsw x9, x10, [sp], #43042        ldpsw x9, x10, [x2], #-2563043        ldpsw x20, x30, [sp], #2523044// CHECK: ldpsw    x9, x10, [sp], #4          // encoding: [0xe9,0xab,0xc0,0x68]3045// CHECK: ldpsw    x9, x10, [x2], #-256       // encoding: [0x49,0x28,0xe0,0x68]3046// CHECK: ldpsw    x20, x30, [sp], #252       // encoding: [0xf4,0xfb,0xdf,0x68]3047 3048        ldp x21, x29, [x2], #5043049        ldp x22, x23, [x3], #-5123050        ldp x24, x25, [x4], #83051// CHECK: ldp      x21, x29, [x2], #504       // encoding: [0x55,0xf4,0xdf,0xa8]3052// CHECK: ldp      x22, x23, [x3], #-512      // encoding: [0x76,0x5c,0xe0,0xa8]3053// CHECK: ldp      x24, x25, [x4], #8         // encoding: [0x98,0xe4,0xc0,0xa8]3054 3055        ldp s29, s28, [sp], #2523056        stp s27, s26, [sp], #-2563057        ldp s1, s2, [x3], #443058// CHECK: ldp      s29, s28, [sp], #252       // encoding: [0xfd,0xf3,0xdf,0x2c]3059// CHECK: stp      s27, s26, [sp], #-256      // encoding: [0xfb,0x6b,0xa0,0x2c]3060// CHECK: ldp      s1, s2, [x3], #44          // encoding: [0x61,0x88,0xc5,0x2c]3061 3062        stp d3, d5, [x9], #5043063        stp d7, d11, [x10], #-5123064        ldp d2, d3, [x30], #-83065// CHECK: stp      d3, d5, [x9], #504         // encoding: [0x23,0x95,0x9f,0x6c]3066// CHECK: stp      d7, d11, [x10], #-512      // encoding: [0x47,0x2d,0xa0,0x6c]3067// CHECK: ldp      d2, d3, [x30], #-8         // encoding: [0xc2,0x8f,0xff,0x6c]3068 3069        stp q3, q5, [sp], #03070        stp q17, q19, [sp], #10083071        ldp q23, q29, [x1], #-10243072// CHECK: stp      q3, q5, [sp], #0           // encoding: [0xe3,0x17,0x80,0xac]3073// CHECK: stp      q17, q19, [sp], #1008      // encoding: [0xf1,0xcf,0x9f,0xac]3074// CHECK: ldp      q23, q29, [x1], #-1024     // encoding: [0x37,0x74,0xe0,0xac]3075 3076//------------------------------------------------------------------------------3077// Load/store register pair (pre-indexed)3078//------------------------------------------------------------------------------3079        ldp w3, w5, [sp, #0]!3080        stp wzr, w9, [sp, #252]!3081        ldp w2, wzr, [sp, #-256]!3082        ldp w9, w10, [sp, #4]!3083// CHECK: ldp      w3, w5, [sp, #0]!          // encoding: [0xe3,0x17,0xc0,0x29]3084// CHECK: stp      wzr, w9, [sp, #252]!       // encoding: [0xff,0xa7,0x9f,0x29]3085// CHECK: ldp      w2, wzr, [sp, #-256]!      // encoding: [0xe2,0x7f,0xe0,0x29]3086// CHECK: ldp      w9, w10, [sp, #4]!         // encoding: [0xe9,0xab,0xc0,0x29]3087 3088        ldpsw x9, x10, [sp, #4]!3089        ldpsw x9, x10, [x2, #-256]!3090        ldpsw x20, x30, [sp, #252]!3091// CHECK: ldpsw    x9, x10, [sp, #4]!         // encoding: [0xe9,0xab,0xc0,0x69]3092// CHECK: ldpsw    x9, x10, [x2, #-256]!      // encoding: [0x49,0x28,0xe0,0x69]3093// CHECK: ldpsw    x20, x30, [sp, #252]!      // encoding: [0xf4,0xfb,0xdf,0x69]3094 3095        ldp x21, x29, [x2, #504]!3096        ldp x22, x23, [x3, #-512]!3097        ldp x24, x25, [x4, #8]!3098// CHECK: ldp      x21, x29, [x2, #504]!      // encoding: [0x55,0xf4,0xdf,0xa9]3099// CHECK: ldp      x22, x23, [x3, #-512]!     // encoding: [0x76,0x5c,0xe0,0xa9]3100// CHECK: ldp      x24, x25, [x4, #8]!        // encoding: [0x98,0xe4,0xc0,0xa9]3101 3102        ldp s29, s28, [sp, #252]!3103        stp s27, s26, [sp, #-256]!3104        ldp s1, s2, [x3, #44]!3105// CHECK: ldp      s29, s28, [sp, #252]!      // encoding: [0xfd,0xf3,0xdf,0x2d]3106// CHECK: stp      s27, s26, [sp, #-256]!     // encoding: [0xfb,0x6b,0xa0,0x2d]3107// CHECK: ldp      s1, s2, [x3, #44]!         // encoding: [0x61,0x88,0xc5,0x2d]3108 3109        stp d3, d5, [x9, #504]!3110        stp d7, d11, [x10, #-512]!3111        ldp d2, d3, [x30, #-8]!3112// CHECK: stp      d3, d5, [x9, #504]!        // encoding: [0x23,0x95,0x9f,0x6d]3113// CHECK: stp      d7, d11, [x10, #-512]!     // encoding: [0x47,0x2d,0xa0,0x6d]3114// CHECK: ldp      d2, d3, [x30, #-8]!        // encoding: [0xc2,0x8f,0xff,0x6d]3115 3116        stp q3, q5, [sp, #0]!3117        stp q17, q19, [sp, #1008]!3118        ldp q23, q29, [x1, #-1024]!3119// CHECK: stp      q3, q5, [sp, #0]!          // encoding: [0xe3,0x17,0x80,0xad]3120// CHECK: stp      q17, q19, [sp, #1008]!     // encoding: [0xf1,0xcf,0x9f,0xad]3121// CHECK: ldp      q23, q29, [x1, #-1024]!    // encoding: [0x37,0x74,0xe0,0xad]3122 3123//------------------------------------------------------------------------------3124// Load/store non-temporal register pair (offset)3125//------------------------------------------------------------------------------3126 3127        ldnp w3, w5, [sp]3128        stnp wzr, w9, [sp, #252]3129        ldnp w2, wzr, [sp, #-256]3130        ldnp w9, w10, [sp, #4]3131// CHECK: ldnp      w3, w5, [sp]               // encoding: [0xe3,0x17,0x40,0x28]3132// CHECK: stnp      wzr, w9, [sp, #252]        // encoding: [0xff,0xa7,0x1f,0x28]3133// CHECK: ldnp      w2, wzr, [sp, #-256]       // encoding: [0xe2,0x7f,0x60,0x28]3134// CHECK: ldnp      w9, w10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x28]3135 3136        ldnp x21, x29, [x2, #504]3137        ldnp x22, x23, [x3, #-512]3138        ldnp x24, x25, [x4, #8]3139// CHECK: ldnp      x21, x29, [x2, #504]       // encoding: [0x55,0xf4,0x5f,0xa8]3140// CHECK: ldnp      x22, x23, [x3, #-512]      // encoding: [0x76,0x5c,0x60,0xa8]3141// CHECK: ldnp      x24, x25, [x4, #8]         // encoding: [0x98,0xe4,0x40,0xa8]3142 3143        ldnp s29, s28, [sp, #252]3144        stnp s27, s26, [sp, #-256]3145        ldnp s1, s2, [x3, #44]3146// CHECK: ldnp      s29, s28, [sp, #252]       // encoding: [0xfd,0xf3,0x5f,0x2c]3147// CHECK: stnp      s27, s26, [sp, #-256]      // encoding: [0xfb,0x6b,0x20,0x2c]3148// CHECK: ldnp      s1, s2, [x3, #44]          // encoding: [0x61,0x88,0x45,0x2c]3149 3150        stnp d3, d5, [x9, #504]3151        stnp d7, d11, [x10, #-512]3152        ldnp d2, d3, [x30, #-8]3153// CHECK: stnp      d3, d5, [x9, #504]         // encoding: [0x23,0x95,0x1f,0x6c]3154// CHECK: stnp      d7, d11, [x10, #-512]      // encoding: [0x47,0x2d,0x20,0x6c]3155// CHECK: ldnp      d2, d3, [x30, #-8]         // encoding: [0xc2,0x8f,0x7f,0x6c]3156 3157        stnp q3, q5, [sp]3158        stnp q17, q19, [sp, #1008]3159        ldnp q23, q29, [x1, #-1024]3160// CHECK: stnp      q3, q5, [sp]               // encoding: [0xe3,0x17,0x00,0xac]3161// CHECK: stnp      q17, q19, [sp, #1008]      // encoding: [0xf1,0xcf,0x1f,0xac]3162// CHECK: ldnp      q23, q29, [x1, #-1024]     // encoding: [0x37,0x74,0x60,0xac]3163 3164//------------------------------------------------------------------------------3165// Logical (immediate)3166//------------------------------------------------------------------------------3167        // 32 bit replication-width3168        orr w3, w9, #0xffff00003169        orr wsp, w10, #0xe00000ff3170        orr w9, w10, #0x000003ff3171// CHECK: orr      w3, w9, #0xffff0000        // encoding: [0x23,0x3d,0x10,0x32]3172// CHECK: orr      wsp, w10, #0xe00000ff      // encoding: [0x5f,0x29,0x03,0x32]3173// CHECK: orr      w9, w10, #0x3ff            // encoding: [0x49,0x25,0x00,0x32]3174 3175        // 16 bit replication width3176        and w14, w15, #0x800080003177        and w12, w13, #0xffc3ffc33178        and w11, wzr, #0x000300033179// CHECK: and      w14, w15, #0x80008000      // encoding: [0xee,0x81,0x01,0x12]3180// CHECK: and      w12, w13, #0xffc3ffc3      // encoding: [0xac,0xad,0x0a,0x12]3181// CHECK: and      w11, wzr, #0x30003         // encoding: [0xeb,0x87,0x00,0x12]3182 3183        // 8 bit replication width3184        eor w3, w6, #0xe0e0e0e03185        eor wsp, wzr, #0x030303033186        eor w16, w17, #0x818181813187// CHECK: eor      w3, w6, #0xe0e0e0e0        // encoding: [0xc3,0xc8,0x03,0x52]3188// CHECK: eor      wsp, wzr, #0x3030303       // encoding: [0xff,0xc7,0x00,0x52]3189// CHECK: eor      w16, w17, #0x81818181      // encoding: [0x30,0xc6,0x01,0x52]3190 3191        // 4 bit replication width3192        ands wzr, w18, #0xcccccccc3193        ands w19, w20, #0x333333333194        ands w21, w22, #0x999999993195// CHECK: {{ands wzr,|tst}} w18, #0xcccccccc      // encoding: [0x5f,0xe6,0x02,0x72]3196// CHECK: ands     w19, w20, #0x33333333      // encoding: [0x93,0xe6,0x00,0x72]3197// CHECK: ands     w21, w22, #0x99999999      // encoding: [0xd5,0xe6,0x01,0x72]3198 3199        // 2 bit replication width3200        tst w3, #0xaaaaaaaa3201        tst wzr, #0x555555553202// CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa       // encoding: [0x7f,0xf0,0x01,0x72]3203// CHECK: {{ands wzr,|tst}} wzr, #0x55555555      // encoding: [0xff,0xf3,0x00,0x72]3204 3205        // 64 bit replication-width3206        eor x3, x5, #0xffffffffc0000003207        and x9, x10, #0x00007fffffffffff3208        orr x11, x12, #0x8000000000000fff3209// CHECK: eor      x3, x5, #0xffffffffc000000 // encoding: [0xa3,0x84,0x66,0xd2]3210// CHECK: and      x9, x10, #0x7fffffffffff   // encoding: [0x49,0xb9,0x40,0x92]3211// CHECK: orr      x11, x12, #0x8000000000000fff // encoding: [0x8b,0x31,0x41,0xb2]3212 3213        // 32 bit replication-width3214        orr x3, x9, #0xffff0000ffff00003215        orr sp, x10, #0xe00000ffe00000ff3216        orr x9, x10, #0x000003ff000003ff3217// CHECK: orr      x3, x9, #0xffff0000ffff0000 // encoding: [0x23,0x3d,0x10,0xb2]3218// CHECK: orr      sp, x10, #0xe00000ffe00000ff // encoding: [0x5f,0x29,0x03,0xb2]3219// CHECK: orr      x9, x10, #0x3ff000003ff    // encoding: [0x49,0x25,0x00,0xb2]3220 3221        // 16 bit replication-width3222        and x14, x15, #0x80008000800080003223        and x12, x13, #0xffc3ffc3ffc3ffc33224        and x11, xzr, #0x00030003000300033225// CHECK: and      x14, x15, #0x8000800080008000 // encoding: [0xee,0x81,0x01,0x92]3226// CHECK: and      x12, x13, #0xffc3ffc3ffc3ffc3 // encoding: [0xac,0xad,0x0a,0x92]3227// CHECK: and      x11, xzr, #0x3000300030003 // encoding: [0xeb,0x87,0x00,0x92]3228 3229        // 8 bit replication-width3230        eor x3, x6, #0xe0e0e0e0e0e0e0e03231        eor sp, xzr, #0x03030303030303033232        eor x16, x17, #0x81818181818181813233// CHECK: eor      x3, x6, #0xe0e0e0e0e0e0e0e0 // encoding: [0xc3,0xc8,0x03,0xd2]3234// CHECK: eor      sp, xzr, #0x303030303030303 // encoding: [0xff,0xc7,0x00,0xd2]3235// CHECK: eor      x16, x17, #0x8181818181818181 // encoding: [0x30,0xc6,0x01,0xd2]3236 3237        // 4 bit replication-width3238        ands xzr, x18, #0xcccccccccccccccc3239        ands x19, x20, #0x33333333333333333240        ands x21, x22, #0x99999999999999993241// CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc // encoding: [0x5f,0xe6,0x02,0xf2]3242// CHECK: ands     x19, x20, #0x3333333333333333 // encoding: [0x93,0xe6,0x00,0xf2]3243// CHECK: ands     x21, x22, #0x9999999999999999 // encoding: [0xd5,0xe6,0x01,0xf2]3244 3245        // 2 bit replication-width3246        tst x3, #0xaaaaaaaaaaaaaaaa3247        tst xzr, #0x55555555555555553248// CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa    // encoding: [0x7f,0xf0,0x01,0xf2]3249// CHECK: {{ands xzr,|tst}} xzr, #0x5555555555555555   // encoding: [0xff,0xf3,0x00,0xf2]3250 3251        mov w3, #0xf000f3252        mov x10, #0xaaaaaaaaaaaaaaaa3253// CHECK: mov w3, #983055                // encoding: [0xe3,0x8f,0x00,0x32]3254// CHECK: mov x10, #-6148914691236517206 // encoding: [0xea,0xf3,0x01,0xb2]3255 3256        // The Imm field of logicalImm operations has to be truncated to the3257        // register width, i.e. 32 bits3258        and w2, w3, #-33259        orr w0, w1, #~23260        eor w16, w17, #-73261        ands w19, w20, #~153262// CHECK: and	w2, w3, #0xfffffffd     // encoding: [0x62,0x78,0x1e,0x12]3263// CHECK: orr	w0, w1, #0xfffffffd     // encoding: [0x20,0x78,0x1e,0x32]3264// CHECK: eor	w16, w17, #0xfffffff9   // encoding: [0x30,0x76,0x1d,0x52]3265// CHECK: ands	w19, w20, #0xfffffff0   // encoding: [0x93,0x6e,0x1c,0x72]3266 3267//------------------------------------------------------------------------------3268// Logical (shifted register)3269//------------------------------------------------------------------------------3270 3271        and w12, w23, w213272        and w16, w15, w1, lsl #13273        and w9, w4, w10, lsl #313274        and w3, w30, w11, lsl #03275        and x3, x5, x7, lsl #633276// CHECK: and      w12, w23, w21              // encoding: [0xec,0x02,0x15,0x0a]3277// CHECK: and      w16, w15, w1, lsl #1       // encoding: [0xf0,0x05,0x01,0x0a]3278// CHECK: and      w9, w4, w10, lsl #31       // encoding: [0x89,0x7c,0x0a,0x0a]3279// CHECK: and      w3, w30, w11               // encoding: [0xc3,0x03,0x0b,0x0a]3280// CHECK: and      x3, x5, x7, lsl #63        // encoding: [0xa3,0xfc,0x07,0x8a]3281 3282        and x5, x14, x19, asr #43283        and w3, w17, w19, ror #313284        and w0, w2, wzr, lsr #173285        and w3, w30, w11, asr #03286// CHECK: and      x5, x14, x19, asr #4       // encoding: [0xc5,0x11,0x93,0x8a]3287// CHECK: and      w3, w17, w19, ror #31      // encoding: [0x23,0x7e,0xd3,0x0a]3288// CHECK: and      w0, w2, wzr, lsr #17       // encoding: [0x40,0x44,0x5f,0x0a]3289// CHECK: and      w3, w30, w11, asr #0       // encoding: [0xc3,0x03,0x8b,0x0a]3290 3291        and xzr, x4, x26, lsl #03292        and w3, wzr, w20, ror #03293        and x7, x20, xzr, asr #633294// CHECK: and      xzr, x4, x26               // encoding: [0x9f,0x00,0x1a,0x8a]3295// CHECK: and      w3, wzr, w20, ror #0       // encoding: [0xe3,0x03,0xd4,0x0a]3296// CHECK: and      x7, x20, xzr, asr #63      // encoding: [0x87,0xfe,0x9f,0x8a]3297 3298        bic x13, x20, x14, lsl #473299        bic w2, w7, w93300        orr w2, w7, w0, asr #313301        orr x8, x9, x10, lsl #123302        orn x3, x5, x7, asr #03303        orn w2, w5, w293304// CHECK: bic      x13, x20, x14, lsl #47     // encoding: [0x8d,0xbe,0x2e,0x8a]3305// CHECK: bic      w2, w7, w9                 // encoding: [0xe2,0x00,0x29,0x0a]3306// CHECK: orr      w2, w7, w0, asr #31        // encoding: [0xe2,0x7c,0x80,0x2a]3307// CHECK: orr      x8, x9, x10, lsl #12       // encoding: [0x28,0x31,0x0a,0xaa]3308// CHECK: orn      x3, x5, x7, asr #0         // encoding: [0xa3,0x00,0xa7,0xaa]3309// CHECK: orn      w2, w5, w29                // encoding: [0xa2,0x00,0x3d,0x2a]3310 3311        ands w7, wzr, w9, lsl #13312        ands x3, x5, x20, ror #633313        bics w3, w5, w7, lsl #03314        bics x3, xzr, x3, lsl #13315// CHECK: ands     w7, wzr, w9, lsl #1        // encoding: [0xe7,0x07,0x09,0x6a]3316// CHECK: ands     x3, x5, x20, ror #63       // encoding: [0xa3,0xfc,0xd4,0xea]3317// CHECK: bics     w3, w5, w7                 // encoding: [0xa3,0x00,0x27,0x6a]3318// CHECK: bics     x3, xzr, x3, lsl #1        // encoding: [0xe3,0x07,0x23,0xea]3319 3320        tst w3, w7, lsl #313321        tst x2, x20, asr #03322// CHECK: tst      w3, w7, lsl #31            // encoding: [0x7f,0x7c,0x07,0x6a]3323// CHECK: tst      x2, x20, asr #0            // encoding: [0x5f,0x00,0x94,0xea]3324 3325        mov x3, x63326        mov x3, xzr3327        mov wzr, w23328        mov w3, w53329// CHECK: mov      x3, x6                     // encoding: [0xe3,0x03,0x06,0xaa]3330// CHECK: mov      x3, xzr                    // encoding: [0xe3,0x03,0x1f,0xaa]3331// CHECK: mov      wzr, w2                    // encoding: [0xff,0x03,0x02,0x2a]3332// CHECK: mov      w3, w5                     // encoding: [0xe3,0x03,0x05,0x2a]3333 3334//------------------------------------------------------------------------------3335// Move wide (immediate)3336//------------------------------------------------------------------------------3337 3338        movz w1, #65535, lsl #03339        movz w2, #0, lsl #163340        movn w2, #1234, lsl #03341// CHECK: mov     w1, #65535                  // encoding: [0xe1,0xff,0x9f,0x52]3342// CHECK: movz     w2, #0, lsl #16            // encoding: [0x02,0x00,0xa0,0x52]3343// CHECK: mov     w2, #-1235                  // encoding: [0x42,0x9a,0x80,0x12]3344 3345        movz x2, #1234, lsl #323346        movk xzr, #4321, lsl #483347// CHECK: mov      x2, #5299989643264             // encoding: [0x42,0x9a,0xc0,0xd2]3348// CHECK: movk     xzr, #{{4321|0x10e1}}, lsl #48 // encoding: [0x3f,0x1c,0xe2,0xf2]3349 3350	.equ equvalue, 0x00013351        movk x1, equvalue, lsl 163352// CHECK: equvalue = 13353// CHECK-NEXT: movk x1, #1, lsl #16 // encoding: [0x21,0x00,0xa0,0xf2]3354 3355        movz x2, #:abs_g0:sym3356        movk w3, #:abs_g0_nc:sym3357 3358// CHECK: movz    x2, #:abs_g0:sym        // encoding: [0bAAA00010,A,0b100AAAAA,0xd2]3359// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0:sym, kind: fixup_aarch64_movw3360// CHECK: movk    w3, #:abs_g0_nc:sym     // encoding: [0bAAA00011,A,0b100AAAAA,0x72]3361// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_nc:sym, kind: fixup_aarch64_movw3362 3363        movz x4, #:abs_g1:sym3364        movk w5, #:abs_g1_nc:sym3365 3366// CHECK: movz    x4, #:abs_g1:sym        // encoding: [0bAAA00100,A,0b101AAAAA,0xd2]3367// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1:sym, kind: fixup_aarch64_movw3368// CHECK: movk    w5, #:abs_g1_nc:sym     // encoding: [0bAAA00101,A,0b101AAAAA,0x72]3369// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_nc:sym, kind: fixup_aarch64_movw3370 3371        movz x6, #:abs_g2:sym3372        movk x7, #:abs_g2_nc:sym3373 3374// CHECK: movz    x6, #:abs_g2:sym        // encoding: [0bAAA00110,A,0b110AAAAA,0xd2]3375// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2:sym, kind: fixup_aarch64_movw3376// CHECK: movk    x7, #:abs_g2_nc:sym     // encoding: [0bAAA00111,A,0b110AAAAA,0xf2]3377// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_nc:sym, kind: fixup_aarch64_movw3378 3379        movz x8, #:abs_g3:sym3380        movk x9, #:abs_g3:sym3381 3382// CHECK: movz    x8, #:abs_g3:sym        // encoding: [0bAAA01000,A,0b111AAAAA,0xd2]3383// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw3384// CHECK: movk    x9, #:abs_g3:sym        // encoding: [0bAAA01001,A,0b111AAAAA,0xf2]3385// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw3386 3387 3388        movn x30, #:abs_g0_s:sym3389        movz x19, #:abs_g0_s:sym3390        movn w10, #:abs_g0_s:sym3391        movz w25, #:abs_g0_s:sym3392 3393// CHECK: movn    x30, #:abs_g0_s:sym     // encoding: [0bAAA11110,A,0b100AAAAA,0x92]3394// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw3395// CHECK: movz    x19, #:abs_g0_s:sym     // encoding: [0bAAA10011,A,0b100AAAAA,0xd2]3396// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw3397// CHECK: movn    w10, #:abs_g0_s:sym     // encoding: [0bAAA01010,A,0b100AAAAA,0x12]3398// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw3399// CHECK: movz    w25, #:abs_g0_s:sym     // encoding: [0bAAA11001,A,0b100AAAAA,0x52]3400// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw3401 3402        movn x30, #:abs_g1_s:sym3403        movz x19, #:abs_g1_s:sym3404        movn w10, #:abs_g1_s:sym3405        movz w25, #:abs_g1_s:sym3406 3407// CHECK: movn    x30, #:abs_g1_s:sym     // encoding: [0bAAA11110,A,0b101AAAAA,0x92]3408// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw3409// CHECK: movz    x19, #:abs_g1_s:sym     // encoding: [0bAAA10011,A,0b101AAAAA,0xd2]3410// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw3411// CHECK: movn    w10, #:abs_g1_s:sym     // encoding: [0bAAA01010,A,0b101AAAAA,0x12]3412// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw3413// CHECK: movz    w25, #:abs_g1_s:sym     // encoding: [0bAAA11001,A,0b101AAAAA,0x52]3414// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw3415 3416        movn x30, #:abs_g2_s:sym3417        movz x19, #:abs_g2_s:sym3418 3419// CHECK: movn    x30, #:abs_g2_s:sym     // encoding: [0bAAA11110,A,0b110AAAAA,0x92]3420// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_s:sym, kind: fixup_aarch64_movw3421// CHECK: movz    x19, #:abs_g2_s:sym     // encoding: [0bAAA10011,A,0b110AAAAA,0xd2]3422// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_s:sym, kind: fixup_aarch64_movw3423 3424//------------------------------------------------------------------------------3425// PC-relative addressing3426//------------------------------------------------------------------------------3427 3428        adr x2, loc3429        adr xzr, loc3430 3431// CHECK: adr    x2, loc                 // encoding: [0x02'A',A,A,0x10'A']3432// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adr_imm213433// CHECK: adr    xzr, loc                // encoding: [0x1f'A',A,A,0x10'A']3434// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adr_imm213435 3436        adrp x29, loc3437 3438// CHECK: adrp    x29, loc                // encoding: [0x1d'A',A,A,0x90'A']3439// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adrp_imm213440        adrp x30, #40963441        adr x20, #03442        adr x9, #-13443        adr x5, #10485753444// CHECK: adrp    x30, #4096              // encoding: [0x1e,0x00,0x00,0xb0]3445// CHECK: adr     x20, #0                 // encoding: [0x14,0x00,0x00,0x10]3446// CHECK: adr     x9, #-1                 // encoding: [0xe9,0xff,0xff,0x70]3447// CHECK: adr     x5, #1048575            // encoding: [0xe5,0xff,0x7f,0x70]3448 3449        adr x9, #10485753450        adr x2, #-10485763451        adrp x9, #42949632003452        adrp x20, #-42949672963453// CHECK: adr     x9, #1048575            // encoding: [0xe9,0xff,0x7f,0x70]3454// CHECK: adr     x2, #-1048576           // encoding: [0x02,0x00,0x80,0x10]3455// CHECK: adrp    x9, #4294963200         // encoding: [0xe9,0xff,0x7f,0xf0]3456// CHECK: adrp    x20, #-4294967296       // encoding: [0x14,0x00,0x80,0x90]3457 3458//------------------------------------------------------------------------------3459// System3460//------------------------------------------------------------------------------3461 3462        hint #03463        hint #1273464// CHECK: nop                             // encoding: [0x1f,0x20,0x03,0xd5]3465// CHECK: hint    #{{127|0x7f}}           // encoding: [0xff,0x2f,0x03,0xd5]3466 3467        nop3468        yield3469        wfe3470        wfi3471        sev3472        sevl3473        dgh3474// CHECK: nop                             // encoding: [0x1f,0x20,0x03,0xd5]3475// CHECK: yield                           // encoding: [0x3f,0x20,0x03,0xd5]3476// CHECK: wfe                             // encoding: [0x5f,0x20,0x03,0xd5]3477// CHECK: wfi                             // encoding: [0x7f,0x20,0x03,0xd5]3478// CHECK: sev                             // encoding: [0x9f,0x20,0x03,0xd5]3479// CHECK: sevl                            // encoding: [0xbf,0x20,0x03,0xd5]3480// CHECK: dgh                             // encoding: [0xdf,0x20,0x03,0xd5]3481 3482        clrex3483        clrex #03484        clrex #73485        clrex #153486// CHECK: clrex                           // encoding: [0x5f,0x3f,0x03,0xd5]3487// CHECK: clrex   #0                      // encoding: [0x5f,0x30,0x03,0xd5]3488// CHECK: clrex   #7                      // encoding: [0x5f,0x37,0x03,0xd5]3489// CHECK: clrex                           // encoding: [0x5f,0x3f,0x03,0xd5]3490 3491        dsb #03492        dsb #43493        dsb #123494        dsb #153495        dsb oshld3496        dsb oshst3497        dsb osh3498        dsb nshld3499        dsb nshst3500        dsb nsh3501        dsb ishld3502        dsb ishst3503        dsb ish3504        dsb ld3505        dsb st3506        dsb sy3507// CHECK: ssbb                            // encoding: [0x9f,0x30,0x03,0xd5]3508// CHECK: pssbb                           // encoding: [0x9f,0x34,0x03,0xd5]3509// CHECK: dsb     #12                     // encoding: [0x9f,0x3c,0x03,0xd5]3510// CHECK: dsb     sy                      // encoding: [0x9f,0x3f,0x03,0xd5]3511// CHECK: dsb     oshld                   // encoding: [0x9f,0x31,0x03,0xd5]3512// CHECK: dsb     oshst                   // encoding: [0x9f,0x32,0x03,0xd5]3513// CHECK: dsb     osh                     // encoding: [0x9f,0x33,0x03,0xd5]3514// CHECK: dsb     nshld                   // encoding: [0x9f,0x35,0x03,0xd5]3515// CHECK: dsb     nshst                   // encoding: [0x9f,0x36,0x03,0xd5]3516// CHECK: dsb     nsh                     // encoding: [0x9f,0x37,0x03,0xd5]3517// CHECK: dsb     ishld                   // encoding: [0x9f,0x39,0x03,0xd5]3518// CHECK: dsb     ishst                   // encoding: [0x9f,0x3a,0x03,0xd5]3519// CHECK: dsb     ish                     // encoding: [0x9f,0x3b,0x03,0xd5]3520// CHECK: dsb     ld                      // encoding: [0x9f,0x3d,0x03,0xd5]3521// CHECK: dsb     st                      // encoding: [0x9f,0x3e,0x03,0xd5]3522// CHECK: dsb     sy                      // encoding: [0x9f,0x3f,0x03,0xd5]3523 3524        dmb #03525        dmb #123526        dmb #153527        dmb oshld3528        dmb oshst3529        dmb osh3530        dmb nshld3531        dmb nshst3532        dmb nsh3533        dmb ishld3534        dmb ishst3535        dmb ish3536        dmb ld3537        dmb st3538        dmb sy3539// CHECK: dmb     #0                      // encoding: [0xbf,0x30,0x03,0xd5]3540// CHECK: dmb     #12                     // encoding: [0xbf,0x3c,0x03,0xd5]3541// CHECK: dmb     sy                      // encoding: [0xbf,0x3f,0x03,0xd5]3542// CHECK: dmb     oshld                   // encoding: [0xbf,0x31,0x03,0xd5]3543// CHECK: dmb     oshst                   // encoding: [0xbf,0x32,0x03,0xd5]3544// CHECK: dmb     osh                     // encoding: [0xbf,0x33,0x03,0xd5]3545// CHECK: dmb     nshld                   // encoding: [0xbf,0x35,0x03,0xd5]3546// CHECK: dmb     nshst                   // encoding: [0xbf,0x36,0x03,0xd5]3547// CHECK: dmb     nsh                     // encoding: [0xbf,0x37,0x03,0xd5]3548// CHECK: dmb     ishld                   // encoding: [0xbf,0x39,0x03,0xd5]3549// CHECK: dmb     ishst                   // encoding: [0xbf,0x3a,0x03,0xd5]3550// CHECK: dmb     ish                     // encoding: [0xbf,0x3b,0x03,0xd5]3551// CHECK: dmb     ld                      // encoding: [0xbf,0x3d,0x03,0xd5]3552// CHECK: dmb     st                      // encoding: [0xbf,0x3e,0x03,0xd5]3553// CHECK: dmb     sy                      // encoding: [0xbf,0x3f,0x03,0xd5]3554 3555        isb sy3556        isb3557        isb #123558// CHECK: isb                             // encoding: [0xdf,0x3f,0x03,0xd5]3559// CHECK: isb                             // encoding: [0xdf,0x3f,0x03,0xd5]3560// CHECK: isb     #12                     // encoding: [0xdf,0x3c,0x03,0xd5]3561 3562 3563        msr spsel, #03564        msr daifset, #153565        msr daifclr, #123566// CHECK: msr     {{SPSel|SPSEL}}, #0               // encoding: [0xbf,0x40,0x00,0xd5]3567// CHECK: msr     {{DAIFSet|DAIFSET}}, #15            // encoding: [0xdf,0x4f,0x03,0xd5]3568// CHECK: msr     {{DAIFClr|DAIFCLR}}, #12            // encoding: [0xff,0x4c,0x03,0xd5]3569 3570        sys #7, c5, c9, #7, x53571        sys #0, c15, c15, #23572// CHECK: sys     #7, c5, c9, #7, x5      // encoding: [0xe5,0x59,0x0f,0xd5]3573// CHECK: sys     #0, c15, c15, #2   // encoding: [0x5f,0xff,0x08,0xd5]3574 3575        sysl x9, #7, c5, c9, #73576        sysl x1, #0, c15, c15, #23577// CHECK: sysl    x9, #7, c5, c9, #7      // encoding: [0xe9,0x59,0x2f,0xd5]3578// CHECK: sysl    x1, #0, c15, c15, #2    // encoding: [0x41,0xff,0x28,0xd5]3579 3580        ic ialluis3581        ic iallu3582        ic ivau, x93583// CHECK:         ic      ialluis                 // encoding: [0x1f,0x71,0x08,0xd5]3584// CHECK:         ic      iallu                   // encoding: [0x1f,0x75,0x08,0xd5]3585// CHECK:         ic      ivau, x9                // encoding: [0x29,0x75,0x0b,0xd5]3586 3587        dc zva, x123588        dc ivac, xzr3589        dc isw, x23590        dc cvac, x93591        dc csw, x103592        dc cvau, x03593        dc civac, x33594        dc cisw, x303595// CHECK:         dc      zva, x12                // encoding: [0x2c,0x74,0x0b,0xd5]3596// CHECK:         dc      ivac, xzr               // encoding: [0x3f,0x76,0x08,0xd5]3597// CHECK:         dc      isw, x2                 // encoding: [0x42,0x76,0x08,0xd5]3598// CHECK:         dc      cvac, x9                // encoding: [0x29,0x7a,0x0b,0xd5]3599// CHECK:         dc      csw, x10                // encoding: [0x4a,0x7a,0x08,0xd5]3600// CHECK:         dc      cvau, x0                // encoding: [0x20,0x7b,0x0b,0xd5]3601// CHECK:         dc      civac, x3               // encoding: [0x23,0x7e,0x0b,0xd5]3602// CHECK:         dc      cisw, x30               // encoding: [0x5e,0x7e,0x08,0xd5]3603 3604        at S1E1R, x193605        at S1E2R, x193606        at S1E3R, x193607        at S1E1W, x193608        at S1E2W, x193609        at S1E3W, x193610        at S1E0R, x193611        at S1E0W, x193612        at S12E1R, x203613        at S12E1W, x203614        at S12E0R, x203615        at S12E0W, x203616// CHECK: at      s1e1r, x19              // encoding: [0x13,0x78,0x08,0xd5]3617// CHECK: at      s1e2r, x19              // encoding: [0x13,0x78,0x0c,0xd5]3618// CHECK: at      s1e3r, x19              // encoding: [0x13,0x78,0x0e,0xd5]3619// CHECK: at      s1e1w, x19              // encoding: [0x33,0x78,0x08,0xd5]3620// CHECK: at      s1e2w, x19              // encoding: [0x33,0x78,0x0c,0xd5]3621// CHECK: at      s1e3w, x19              // encoding: [0x33,0x78,0x0e,0xd5]3622// CHECK: at      s1e0r, x19              // encoding: [0x53,0x78,0x08,0xd5]3623// CHECK: at      s1e0w, x19              // encoding: [0x73,0x78,0x08,0xd5]3624// CHECK: at      s12e1r, x20             // encoding: [0x94,0x78,0x0c,0xd5]3625// CHECK: at      s12e1w, x20             // encoding: [0xb4,0x78,0x0c,0xd5]3626// CHECK: at      s12e0r, x20             // encoding: [0xd4,0x78,0x0c,0xd5]3627// CHECK: at      s12e0w, x20             // encoding: [0xf4,0x78,0x0c,0xd5]3628 3629        tlbi IPAS2E1IS, x43630        tlbi IPAS2LE1IS, x93631        tlbi VMALLE1IS3632        tlbi ALLE2IS3633        tlbi ALLE3IS3634        tlbi VAE1IS, x13635        tlbi VAE2IS, x23636        tlbi VAE3IS, x33637        tlbi ASIDE1IS, x53638        tlbi VAAE1IS, x93639        tlbi ALLE1IS3640        tlbi VALE1IS, x103641        tlbi VALE2IS, x113642        tlbi VALE3IS, x133643        tlbi VMALLS12E1IS3644        tlbi VAALE1IS, x143645        tlbi IPAS2E1, x153646        tlbi IPAS2LE1, x163647        tlbi VMALLE13648        tlbi ALLE23649        tlbi ALLE33650        tlbi VAE1, x173651        tlbi VAE2, x183652        tlbi VAE3, x193653        tlbi ASIDE1, x203654        tlbi VAAE1, x213655        tlbi ALLE13656        tlbi VALE1, x223657        tlbi VALE2, x233658        tlbi VALE3, x243659        tlbi VMALLS12E13660        tlbi VAALE1, x253661// CHECK: tlbi    ipas2e1is, x4           // encoding: [0x24,0x80,0x0c,0xd5]3662// CHECK: tlbi    ipas2le1is, x9          // encoding: [0xa9,0x80,0x0c,0xd5]3663// CHECK: tlbi    vmalle1is               // encoding: [0x1f,0x83,0x08,0xd5]3664// CHECK: tlbi    alle2is                 // encoding: [0x1f,0x83,0x0c,0xd5]3665// CHECK: tlbi    alle3is                 // encoding: [0x1f,0x83,0x0e,0xd5]3666// CHECK: tlbi    vae1is, x1              // encoding: [0x21,0x83,0x08,0xd5]3667// CHECK: tlbi    vae2is, x2              // encoding: [0x22,0x83,0x0c,0xd5]3668// CHECK: tlbi    vae3is, x3              // encoding: [0x23,0x83,0x0e,0xd5]3669// CHECK: tlbi    aside1is, x5            // encoding: [0x45,0x83,0x08,0xd5]3670// CHECK: tlbi    vaae1is, x9             // encoding: [0x69,0x83,0x08,0xd5]3671// CHECK: tlbi    alle1is                 // encoding: [0x9f,0x83,0x0c,0xd5]3672// CHECK: tlbi    vale1is, x10            // encoding: [0xaa,0x83,0x08,0xd5]3673// CHECK: tlbi    vale2is, x11            // encoding: [0xab,0x83,0x0c,0xd5]3674// CHECK: tlbi    vale3is, x13            // encoding: [0xad,0x83,0x0e,0xd5]3675// CHECK: tlbi    vmalls12e1is            // encoding: [0xdf,0x83,0x0c,0xd5]3676// CHECK: tlbi    vaale1is, x14           // encoding: [0xee,0x83,0x08,0xd5]3677// CHECK: tlbi    ipas2e1, x15            // encoding: [0x2f,0x84,0x0c,0xd5]3678// CHECK: tlbi    ipas2le1, x16           // encoding: [0xb0,0x84,0x0c,0xd5]3679// CHECK: tlbi    vmalle1                 // encoding: [0x1f,0x87,0x08,0xd5]3680// CHECK: tlbi    alle2                   // encoding: [0x1f,0x87,0x0c,0xd5]3681// CHECK: tlbi    alle3                   // encoding: [0x1f,0x87,0x0e,0xd5]3682// CHECK: tlbi    vae1, x17               // encoding: [0x31,0x87,0x08,0xd5]3683// CHECK: tlbi    vae2, x18               // encoding: [0x32,0x87,0x0c,0xd5]3684// CHECK: tlbi    vae3, x19               // encoding: [0x33,0x87,0x0e,0xd5]3685// CHECK: tlbi    aside1, x20             // encoding: [0x54,0x87,0x08,0xd5]3686// CHECK: tlbi    vaae1, x21              // encoding: [0x75,0x87,0x08,0xd5]3687// CHECK: tlbi    alle1                   // encoding: [0x9f,0x87,0x0c,0xd5]3688// CHECK: tlbi    vale1, x22              // encoding: [0xb6,0x87,0x08,0xd5]3689// CHECK: tlbi    vale2, x23              // encoding: [0xb7,0x87,0x0c,0xd5]3690// CHECK: tlbi    vale3, x24              // encoding: [0xb8,0x87,0x0e,0xd5]3691// CHECK: tlbi    vmalls12e1              // encoding: [0xdf,0x87,0x0c,0xd5]3692// CHECK: tlbi    vaale1, x25             // encoding: [0xf9,0x87,0x08,0xd5]3693 3694	msr TEECR32_EL1, x123695	msr OSDTRRX_EL1, x123696	msr MDCCINT_EL1, x123697	msr MDSCR_EL1, x123698	msr OSDTRTX_EL1, x123699	msr DBGDTR_EL0, x123700	msr DBGDTRTX_EL0, x123701	msr OSECCR_EL1, x123702	msr DBGVCR32_EL2, x123703	msr DBGBVR0_EL1, x123704	msr DBGBVR1_EL1, x123705	msr DBGBVR2_EL1, x123706	msr DBGBVR3_EL1, x123707	msr DBGBVR4_EL1, x123708	msr DBGBVR5_EL1, x123709	msr DBGBVR6_EL1, x123710	msr DBGBVR7_EL1, x123711	msr DBGBVR8_EL1, x123712	msr DBGBVR9_EL1, x123713	msr DBGBVR10_EL1, x123714	msr DBGBVR11_EL1, x123715	msr DBGBVR12_EL1, x123716	msr DBGBVR13_EL1, x123717	msr DBGBVR14_EL1, x123718	msr DBGBVR15_EL1, x123719	msr DBGBCR0_EL1, x123720	msr DBGBCR1_EL1, x123721	msr DBGBCR2_EL1, x123722	msr DBGBCR3_EL1, x123723	msr DBGBCR4_EL1, x123724	msr DBGBCR5_EL1, x123725	msr DBGBCR6_EL1, x123726	msr DBGBCR7_EL1, x123727	msr DBGBCR8_EL1, x123728	msr DBGBCR9_EL1, x123729	msr DBGBCR10_EL1, x123730	msr DBGBCR11_EL1, x123731	msr DBGBCR12_EL1, x123732	msr DBGBCR13_EL1, x123733	msr DBGBCR14_EL1, x123734	msr DBGBCR15_EL1, x123735	msr DBGWVR0_EL1, x123736	msr DBGWVR1_EL1, x123737	msr DBGWVR2_EL1, x123738	msr DBGWVR3_EL1, x123739	msr DBGWVR4_EL1, x123740	msr DBGWVR5_EL1, x123741	msr DBGWVR6_EL1, x123742	msr DBGWVR7_EL1, x123743	msr DBGWVR8_EL1, x123744	msr DBGWVR9_EL1, x123745	msr DBGWVR10_EL1, x123746	msr DBGWVR11_EL1, x123747	msr DBGWVR12_EL1, x123748	msr DBGWVR13_EL1, x123749	msr DBGWVR14_EL1, x123750	msr DBGWVR15_EL1, x123751	msr DBGWCR0_EL1, x123752	msr DBGWCR1_EL1, x123753	msr DBGWCR2_EL1, x123754	msr DBGWCR3_EL1, x123755	msr DBGWCR4_EL1, x123756	msr DBGWCR5_EL1, x123757	msr DBGWCR6_EL1, x123758	msr DBGWCR7_EL1, x123759	msr DBGWCR8_EL1, x123760	msr DBGWCR9_EL1, x123761	msr DBGWCR10_EL1, x123762	msr DBGWCR11_EL1, x123763	msr DBGWCR12_EL1, x123764	msr DBGWCR13_EL1, x123765	msr DBGWCR14_EL1, x123766	msr DBGWCR15_EL1, x123767	msr TEEHBR32_EL1, x123768	msr OSLAR_EL1, x123769	msr OSDLR_EL1, x123770	msr DBGPRCR_EL1, x123771	msr DBGCLAIMSET_EL1, x123772	msr DBGCLAIMCLR_EL1, x123773	msr CSSELR_EL1, x123774	msr VPIDR_EL2, x123775	msr VMPIDR_EL2, x123776	msr SCTLR_EL1, x123777	msr SCTLR_EL2, x123778	msr SCTLR_EL3, x123779	msr ACTLR_EL1, x123780	msr ACTLR_EL2, x123781	msr ACTLR_EL3, x123782	msr CPACR_EL1, x123783	msr HCR_EL2, x123784	msr SCR_EL3, x123785	msr MDCR_EL2, x123786	msr SDER32_EL3, x123787	msr CPTR_EL2, x123788	msr CPTR_EL3, x123789	msr HSTR_EL2, x123790	msr HACR_EL2, x123791	msr MDCR_EL3, x123792	msr TTBR0_EL1, x123793	msr TTBR0_EL2, x123794	msr TTBR0_EL3, x123795	msr TTBR1_EL1, x123796	msr TCR_EL1, x123797	msr TCR_EL2, x123798	msr TCR_EL3, x123799	msr VTTBR_EL2, x123800	msr VTCR_EL2, x123801	msr DACR32_EL2, x123802	msr SPSR_EL1, x123803	msr SPSR_EL2, x123804	msr SPSR_EL3, x123805	msr ELR_EL1, x123806	msr ELR_EL2, x123807	msr ELR_EL3, x123808	msr SP_EL0, x123809	msr SP_EL1, x123810	msr SP_EL2, x123811	msr SPSel, x123812	msr NZCV, x123813	msr DAIF, x123814	msr SPSR_irq, x123815	msr SPSR_abt, x123816	msr SPSR_und, x123817	msr SPSR_fiq, x123818	msr FPCR, x123819	msr FPSR, x123820	msr DSPSR_EL0, x123821	msr DLR_EL0, x123822	msr IFSR32_EL2, x123823	msr AFSR0_EL1, x123824	msr AFSR0_EL2, x123825	msr AFSR0_EL3, x123826	msr AFSR1_EL1, x123827	msr AFSR1_EL2, x123828	msr AFSR1_EL3, x123829	msr ESR_EL1, x123830	msr ESR_EL2, x123831	msr ESR_EL3, x123832	msr FPEXC32_EL2, x123833	msr FAR_EL1, x123834	msr FAR_EL2, x123835	msr FAR_EL3, x123836	msr HPFAR_EL2, x123837	msr PAR_EL1, x123838	msr PMCR_EL0, x123839	msr PMCNTENSET_EL0, x123840	msr PMCNTENCLR_EL0, x123841	msr PMOVSCLR_EL0, x123842	msr PMSELR_EL0, x123843	msr PMCCNTR_EL0, x123844	msr PMXEVTYPER_EL0, x123845	msr PMXEVCNTR_EL0, x123846	msr PMUSERENR_EL0, x123847	msr PMINTENSET_EL1, x123848	msr PMINTENCLR_EL1, x123849	msr PMOVSSET_EL0, x123850	msr MAIR_EL1, x123851	msr MAIR_EL2, x123852	msr MAIR_EL3, x123853	msr AMAIR_EL1, x123854	msr AMAIR_EL2, x123855	msr AMAIR_EL3, x123856	msr VBAR_EL1, x123857	msr VBAR_EL2, x123858	msr VBAR_EL3, x123859	msr RMR_EL1, x123860	msr RMR_EL2, x123861	msr RMR_EL3, x123862	msr CONTEXTIDR_EL1, x123863	msr TPIDR_EL0, x123864	msr TPIDR_EL2, x123865	msr TPIDR_EL3, x123866	msr TPIDRRO_EL0, x123867	msr TPIDR_EL1, x123868	msr CNTFRQ_EL0, x123869	msr CNTVOFF_EL2, x123870	msr CNTKCTL_EL1, x123871	msr CNTHCTL_EL2, x123872	msr CNTP_TVAL_EL0, x123873	msr CNTHP_TVAL_EL2, x123874	msr CNTPS_TVAL_EL1, x123875	msr CNTP_CTL_EL0, x123876	msr CNTHP_CTL_EL2, x123877	msr CNTPS_CTL_EL1, x123878	msr CNTP_CVAL_EL0, x123879	msr CNTHP_CVAL_EL2, x123880	msr CNTPS_CVAL_EL1, x123881	msr CNTV_TVAL_EL0, x123882	msr CNTV_CTL_EL0, x123883	msr CNTV_CVAL_EL0, x123884	msr PMEVCNTR0_EL0, x123885	msr PMEVCNTR1_EL0, x123886	msr PMEVCNTR2_EL0, x123887	msr PMEVCNTR3_EL0, x123888	msr PMEVCNTR4_EL0, x123889	msr PMEVCNTR5_EL0, x123890	msr PMEVCNTR6_EL0, x123891	msr PMEVCNTR7_EL0, x123892	msr PMEVCNTR8_EL0, x123893	msr PMEVCNTR9_EL0, x123894	msr PMEVCNTR10_EL0, x123895	msr PMEVCNTR11_EL0, x123896	msr PMEVCNTR12_EL0, x123897	msr PMEVCNTR13_EL0, x123898	msr PMEVCNTR14_EL0, x123899	msr PMEVCNTR15_EL0, x123900	msr PMEVCNTR16_EL0, x123901	msr PMEVCNTR17_EL0, x123902	msr PMEVCNTR18_EL0, x123903	msr PMEVCNTR19_EL0, x123904	msr PMEVCNTR20_EL0, x123905	msr PMEVCNTR21_EL0, x123906	msr PMEVCNTR22_EL0, x123907	msr PMEVCNTR23_EL0, x123908	msr PMEVCNTR24_EL0, x123909	msr PMEVCNTR25_EL0, x123910	msr PMEVCNTR26_EL0, x123911	msr PMEVCNTR27_EL0, x123912	msr PMEVCNTR28_EL0, x123913	msr PMEVCNTR29_EL0, x123914	msr PMEVCNTR30_EL0, x123915	msr PMCCFILTR_EL0, x123916	msr PMEVTYPER0_EL0, x123917	msr PMEVTYPER1_EL0, x123918	msr PMEVTYPER2_EL0, x123919	msr PMEVTYPER3_EL0, x123920	msr PMEVTYPER4_EL0, x123921	msr PMEVTYPER5_EL0, x123922	msr PMEVTYPER6_EL0, x123923	msr PMEVTYPER7_EL0, x123924	msr PMEVTYPER8_EL0, x123925	msr PMEVTYPER9_EL0, x123926	msr PMEVTYPER10_EL0, x123927	msr PMEVTYPER11_EL0, x123928	msr PMEVTYPER12_EL0, x123929	msr PMEVTYPER13_EL0, x123930	msr PMEVTYPER14_EL0, x123931	msr PMEVTYPER15_EL0, x123932	msr PMEVTYPER16_EL0, x123933	msr PMEVTYPER17_EL0, x123934	msr PMEVTYPER18_EL0, x123935	msr PMEVTYPER19_EL0, x123936	msr PMEVTYPER20_EL0, x123937	msr PMEVTYPER21_EL0, x123938	msr PMEVTYPER22_EL0, x123939	msr PMEVTYPER23_EL0, x123940	msr PMEVTYPER24_EL0, x123941	msr PMEVTYPER25_EL0, x123942	msr PMEVTYPER26_EL0, x123943	msr PMEVTYPER27_EL0, x123944	msr PMEVTYPER28_EL0, x123945	msr PMEVTYPER29_EL0, x123946	msr PMEVTYPER30_EL0, x123947        msr AMAIR2_EL1, x123948        msr AMAIR2_EL12, x123949        msr AMAIR2_EL2, x123950        msr AMAIR2_EL3, x123951        msr MAIR2_EL1, x123952        msr MAIR2_EL12, x123953        msr MAIR2_EL2, x123954        msr MAIR2_EL3, x123955        msr PIRE0_EL1, x123956        msr PIRE0_EL12, x123957        msr PIRE0_EL2, x123958        msr PIR_EL1, x123959        msr PIR_EL12, x123960        msr PIR_EL2, x123961        msr PIR_EL3, x123962        msr S2PIR_EL2, x123963        msr POR_EL0, x123964        msr POR_EL1, x123965        msr POR_EL12, x123966        msr POR_EL2, x123967        msr POR_EL3, x123968        msr S2POR_EL1, x123969        msr SCTLR2_EL1, x123970        msr SCTLR2_EL12, x123971        msr SCTLR2_EL2, x123972        msr SCTLR2_EL3, x123973        msr TCR2_EL1, x123974        msr TCR2_EL12, x123975        msr TCR2_EL2, x123976// CHECK: msr      {{teecr32_el1|TEECR32_EL1}}, x12           // encoding: [0x0c,0x00,0x12,0xd5]3977// CHECK: msr      {{osdtrrx_el1|OSDTRRX_EL1}}, x12           // encoding: [0x4c,0x00,0x10,0xd5]3978// CHECK: msr      {{mdccint_el1|MDCCINT_EL1}}, x12           // encoding: [0x0c,0x02,0x10,0xd5]3979// CHECK: msr      {{mdscr_el1|MDSCR_EL1}}, x12             // encoding: [0x4c,0x02,0x10,0xd5]3980// CHECK: msr      {{osdtrtx_el1|OSDTRTX_EL1}}, x12           // encoding: [0x4c,0x03,0x10,0xd5]3981// CHECK: msr      {{dbgdtr_el0|DBGDTR_EL0}}, x12            // encoding: [0x0c,0x04,0x13,0xd5]3982// CHECK: msr      {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12          // encoding: [0x0c,0x05,0x13,0xd5]3983// CHECK: msr      {{oseccr_el1|OSECCR_EL1}}, x12            // encoding: [0x4c,0x06,0x10,0xd5]3984// CHECK: msr      {{dbgvcr32_el2|DBGVCR32_EL2}}, x12          // encoding: [0x0c,0x07,0x14,0xd5]3985// CHECK: msr      {{dbgbvr0_el1|DBGBVR0_EL1}}, x12           // encoding: [0x8c,0x00,0x10,0xd5]3986// CHECK: msr      {{dbgbvr1_el1|DBGBVR1_EL1}}, x12           // encoding: [0x8c,0x01,0x10,0xd5]3987// CHECK: msr      {{dbgbvr2_el1|DBGBVR2_EL1}}, x12           // encoding: [0x8c,0x02,0x10,0xd5]3988// CHECK: msr      {{dbgbvr3_el1|DBGBVR3_EL1}}, x12           // encoding: [0x8c,0x03,0x10,0xd5]3989// CHECK: msr      {{dbgbvr4_el1|DBGBVR4_EL1}}, x12           // encoding: [0x8c,0x04,0x10,0xd5]3990// CHECK: msr      {{dbgbvr5_el1|DBGBVR5_EL1}}, x12           // encoding: [0x8c,0x05,0x10,0xd5]3991// CHECK: msr      {{dbgbvr6_el1|DBGBVR6_EL1}}, x12           // encoding: [0x8c,0x06,0x10,0xd5]3992// CHECK: msr      {{dbgbvr7_el1|DBGBVR7_EL1}}, x12           // encoding: [0x8c,0x07,0x10,0xd5]3993// CHECK: msr      {{dbgbvr8_el1|DBGBVR8_EL1}}, x12           // encoding: [0x8c,0x08,0x10,0xd5]3994// CHECK: msr      {{dbgbvr9_el1|DBGBVR9_EL1}}, x12           // encoding: [0x8c,0x09,0x10,0xd5]3995// CHECK: msr      {{dbgbvr10_el1|DBGBVR10_EL1}}, x12          // encoding: [0x8c,0x0a,0x10,0xd5]3996// CHECK: msr      {{dbgbvr11_el1|DBGBVR11_EL1}}, x12          // encoding: [0x8c,0x0b,0x10,0xd5]3997// CHECK: msr      {{dbgbvr12_el1|DBGBVR12_EL1}}, x12          // encoding: [0x8c,0x0c,0x10,0xd5]3998// CHECK: msr      {{dbgbvr13_el1|DBGBVR13_EL1}}, x12          // encoding: [0x8c,0x0d,0x10,0xd5]3999// CHECK: msr      {{dbgbvr14_el1|DBGBVR14_EL1}}, x12          // encoding: [0x8c,0x0e,0x10,0xd5]4000// CHECK: msr      {{dbgbvr15_el1|DBGBVR15_EL1}}, x12          // encoding: [0x8c,0x0f,0x10,0xd5]4001// CHECK: msr      {{dbgbcr0_el1|DBGBCR0_EL1}}, x12           // encoding: [0xac,0x00,0x10,0xd5]4002// CHECK: msr      {{dbgbcr1_el1|DBGBCR1_EL1}}, x12           // encoding: [0xac,0x01,0x10,0xd5]4003// CHECK: msr      {{dbgbcr2_el1|DBGBCR2_EL1}}, x12           // encoding: [0xac,0x02,0x10,0xd5]4004// CHECK: msr      {{dbgbcr3_el1|DBGBCR3_EL1}}, x12           // encoding: [0xac,0x03,0x10,0xd5]4005// CHECK: msr      {{dbgbcr4_el1|DBGBCR4_EL1}}, x12           // encoding: [0xac,0x04,0x10,0xd5]4006// CHECK: msr      {{dbgbcr5_el1|DBGBCR5_EL1}}, x12           // encoding: [0xac,0x05,0x10,0xd5]4007// CHECK: msr      {{dbgbcr6_el1|DBGBCR6_EL1}}, x12           // encoding: [0xac,0x06,0x10,0xd5]4008// CHECK: msr      {{dbgbcr7_el1|DBGBCR7_EL1}}, x12           // encoding: [0xac,0x07,0x10,0xd5]4009// CHECK: msr      {{dbgbcr8_el1|DBGBCR8_EL1}}, x12           // encoding: [0xac,0x08,0x10,0xd5]4010// CHECK: msr      {{dbgbcr9_el1|DBGBCR9_EL1}}, x12           // encoding: [0xac,0x09,0x10,0xd5]4011// CHECK: msr      {{dbgbcr10_el1|DBGBCR10_EL1}}, x12          // encoding: [0xac,0x0a,0x10,0xd5]4012// CHECK: msr      {{dbgbcr11_el1|DBGBCR11_EL1}}, x12          // encoding: [0xac,0x0b,0x10,0xd5]4013// CHECK: msr      {{dbgbcr12_el1|DBGBCR12_EL1}}, x12          // encoding: [0xac,0x0c,0x10,0xd5]4014// CHECK: msr      {{dbgbcr13_el1|DBGBCR13_EL1}}, x12          // encoding: [0xac,0x0d,0x10,0xd5]4015// CHECK: msr      {{dbgbcr14_el1|DBGBCR14_EL1}}, x12          // encoding: [0xac,0x0e,0x10,0xd5]4016// CHECK: msr      {{dbgbcr15_el1|DBGBCR15_EL1}}, x12          // encoding: [0xac,0x0f,0x10,0xd5]4017// CHECK: msr      {{dbgwvr0_el1|DBGWVR0_EL1}}, x12           // encoding: [0xcc,0x00,0x10,0xd5]4018// CHECK: msr      {{dbgwvr1_el1|DBGWVR1_EL1}}, x12           // encoding: [0xcc,0x01,0x10,0xd5]4019// CHECK: msr      {{dbgwvr2_el1|DBGWVR2_EL1}}, x12           // encoding: [0xcc,0x02,0x10,0xd5]4020// CHECK: msr      {{dbgwvr3_el1|DBGWVR3_EL1}}, x12           // encoding: [0xcc,0x03,0x10,0xd5]4021// CHECK: msr      {{dbgwvr4_el1|DBGWVR4_EL1}}, x12           // encoding: [0xcc,0x04,0x10,0xd5]4022// CHECK: msr      {{dbgwvr5_el1|DBGWVR5_EL1}}, x12           // encoding: [0xcc,0x05,0x10,0xd5]4023// CHECK: msr      {{dbgwvr6_el1|DBGWVR6_EL1}}, x12           // encoding: [0xcc,0x06,0x10,0xd5]4024// CHECK: msr      {{dbgwvr7_el1|DBGWVR7_EL1}}, x12           // encoding: [0xcc,0x07,0x10,0xd5]4025// CHECK: msr      {{dbgwvr8_el1|DBGWVR8_EL1}}, x12           // encoding: [0xcc,0x08,0x10,0xd5]4026// CHECK: msr      {{dbgwvr9_el1|DBGWVR9_EL1}}, x12           // encoding: [0xcc,0x09,0x10,0xd5]4027// CHECK: msr      {{dbgwvr10_el1|DBGWVR10_EL1}}, x12          // encoding: [0xcc,0x0a,0x10,0xd5]4028// CHECK: msr      {{dbgwvr11_el1|DBGWVR11_EL1}}, x12          // encoding: [0xcc,0x0b,0x10,0xd5]4029// CHECK: msr      {{dbgwvr12_el1|DBGWVR12_EL1}}, x12          // encoding: [0xcc,0x0c,0x10,0xd5]4030// CHECK: msr      {{dbgwvr13_el1|DBGWVR13_EL1}}, x12          // encoding: [0xcc,0x0d,0x10,0xd5]4031// CHECK: msr      {{dbgwvr14_el1|DBGWVR14_EL1}}, x12          // encoding: [0xcc,0x0e,0x10,0xd5]4032// CHECK: msr      {{dbgwvr15_el1|DBGWVR15_EL1}}, x12          // encoding: [0xcc,0x0f,0x10,0xd5]4033// CHECK: msr      {{dbgwcr0_el1|DBGWCR0_EL1}}, x12           // encoding: [0xec,0x00,0x10,0xd5]4034// CHECK: msr      {{dbgwcr1_el1|DBGWCR1_EL1}}, x12           // encoding: [0xec,0x01,0x10,0xd5]4035// CHECK: msr      {{dbgwcr2_el1|DBGWCR2_EL1}}, x12           // encoding: [0xec,0x02,0x10,0xd5]4036// CHECK: msr      {{dbgwcr3_el1|DBGWCR3_EL1}}, x12           // encoding: [0xec,0x03,0x10,0xd5]4037// CHECK: msr      {{dbgwcr4_el1|DBGWCR4_EL1}}, x12           // encoding: [0xec,0x04,0x10,0xd5]4038// CHECK: msr      {{dbgwcr5_el1|DBGWCR5_EL1}}, x12           // encoding: [0xec,0x05,0x10,0xd5]4039// CHECK: msr      {{dbgwcr6_el1|DBGWCR6_EL1}}, x12           // encoding: [0xec,0x06,0x10,0xd5]4040// CHECK: msr      {{dbgwcr7_el1|DBGWCR7_EL1}}, x12           // encoding: [0xec,0x07,0x10,0xd5]4041// CHECK: msr      {{dbgwcr8_el1|DBGWCR8_EL1}}, x12           // encoding: [0xec,0x08,0x10,0xd5]4042// CHECK: msr      {{dbgwcr9_el1|DBGWCR9_EL1}}, x12           // encoding: [0xec,0x09,0x10,0xd5]4043// CHECK: msr      {{dbgwcr10_el1|DBGWCR10_EL1}}, x12          // encoding: [0xec,0x0a,0x10,0xd5]4044// CHECK: msr      {{dbgwcr11_el1|DBGWCR11_EL1}}, x12          // encoding: [0xec,0x0b,0x10,0xd5]4045// CHECK: msr      {{dbgwcr12_el1|DBGWCR12_EL1}}, x12          // encoding: [0xec,0x0c,0x10,0xd5]4046// CHECK: msr      {{dbgwcr13_el1|DBGWCR13_EL1}}, x12          // encoding: [0xec,0x0d,0x10,0xd5]4047// CHECK: msr      {{dbgwcr14_el1|DBGWCR14_EL1}}, x12          // encoding: [0xec,0x0e,0x10,0xd5]4048// CHECK: msr      {{dbgwcr15_el1|DBGWCR15_EL1}}, x12          // encoding: [0xec,0x0f,0x10,0xd5]4049// CHECK: msr      {{teehbr32_el1|TEEHBR32_EL1}}, x12          // encoding: [0x0c,0x10,0x12,0xd5]4050// CHECK: msr      {{oslar_el1|OSLAR_EL1}}, x12             // encoding: [0x8c,0x10,0x10,0xd5]4051// CHECK: msr      {{osdlr_el1|OSDLR_EL1}}, x12             // encoding: [0x8c,0x13,0x10,0xd5]4052// CHECK: msr      {{dbgprcr_el1|DBGPRCR_EL1}}, x12           // encoding: [0x8c,0x14,0x10,0xd5]4053// CHECK: msr      {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12       // encoding: [0xcc,0x78,0x10,0xd5]4054// CHECK: msr      {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12       // encoding: [0xcc,0x79,0x10,0xd5]4055// CHECK: msr      {{csselr_el1|CSSELR_EL1}}, x12            // encoding: [0x0c,0x00,0x1a,0xd5]4056// CHECK: msr      {{vpidr_el2|VPIDR_EL2}}, x12             // encoding: [0x0c,0x00,0x1c,0xd5]4057// CHECK: msr      {{vmpidr_el2|VMPIDR_EL2}}, x12            // encoding: [0xac,0x00,0x1c,0xd5]4058// CHECK: msr      {{sctlr_el1|SCTLR_EL1}}, x12             // encoding: [0x0c,0x10,0x18,0xd5]4059// CHECK: msr      {{sctlr_el2|SCTLR_EL2}}, x12             // encoding: [0x0c,0x10,0x1c,0xd5]4060// CHECK: msr      {{sctlr_el3|SCTLR_EL3}}, x12             // encoding: [0x0c,0x10,0x1e,0xd5]4061// CHECK: msr      {{actlr_el1|ACTLR_EL1}}, x12             // encoding: [0x2c,0x10,0x18,0xd5]4062// CHECK: msr      {{actlr_el2|ACTLR_EL2}}, x12             // encoding: [0x2c,0x10,0x1c,0xd5]4063// CHECK: msr      {{actlr_el3|ACTLR_EL3}}, x12             // encoding: [0x2c,0x10,0x1e,0xd5]4064// CHECK: msr      {{cpacr_el1|CPACR_EL1}}, x12             // encoding: [0x4c,0x10,0x18,0xd5]4065// CHECK: msr      {{hcr_el2|HCR_EL2}}, x12               // encoding: [0x0c,0x11,0x1c,0xd5]4066// CHECK: msr      {{scr_el3|SCR_EL3}}, x12               // encoding: [0x0c,0x11,0x1e,0xd5]4067// CHECK: msr      {{mdcr_el2|MDCR_EL2}}, x12              // encoding: [0x2c,0x11,0x1c,0xd5]4068// CHECK: msr      {{sder32_el3|SDER32_EL3}}, x12            // encoding: [0x2c,0x11,0x1e,0xd5]4069// CHECK: msr      {{cptr_el2|CPTR_EL2}}, x12              // encoding: [0x4c,0x11,0x1c,0xd5]4070// CHECK: msr      {{cptr_el3|CPTR_EL3}}, x12              // encoding: [0x4c,0x11,0x1e,0xd5]4071// CHECK: msr      {{hstr_el2|HSTR_EL2}}, x12              // encoding: [0x6c,0x11,0x1c,0xd5]4072// CHECK: msr      {{hacr_el2|HACR_EL2}}, x12              // encoding: [0xec,0x11,0x1c,0xd5]4073// CHECK: msr      {{mdcr_el3|MDCR_EL3}}, x12              // encoding: [0x2c,0x13,0x1e,0xd5]4074// CHECK: msr      {{ttbr0_el1|TTBR0_EL1}}, x12             // encoding: [0x0c,0x20,0x18,0xd5]4075// CHECK: msr      {{ttbr0_el2|TTBR0_EL2}}, x12             // encoding: [0x0c,0x20,0x1c,0xd5]4076// CHECK: msr      {{ttbr0_el3|TTBR0_EL3}}, x12             // encoding: [0x0c,0x20,0x1e,0xd5]4077// CHECK: msr      {{ttbr1_el1|TTBR1_EL1}}, x12             // encoding: [0x2c,0x20,0x18,0xd5]4078// CHECK: msr      {{tcr_el1|TCR_EL1}}, x12               // encoding: [0x4c,0x20,0x18,0xd5]4079// CHECK: msr      {{tcr_el2|TCR_EL2}}, x12               // encoding: [0x4c,0x20,0x1c,0xd5]4080// CHECK: msr      {{tcr_el3|TCR_EL3}}, x12               // encoding: [0x4c,0x20,0x1e,0xd5]4081// CHECK: msr      {{vttbr_el2|VTTBR_EL2}}, x12            // encoding: [0x0c,0x21,0x1c,0xd5]4082// CHECK: msr      {{vtcr_el2|VTCR_EL2}}, x12              // encoding: [0x4c,0x21,0x1c,0xd5]4083// CHECK: msr      {{dacr32_el2|DACR32_EL2}}, x12            // encoding: [0x0c,0x30,0x1c,0xd5]4084// CHECK: msr      {{spsr_el1|SPSR_EL1}}, x12              // encoding: [0x0c,0x40,0x18,0xd5]4085// CHECK: msr      {{spsr_el2|SPSR_EL2}}, x12              // encoding: [0x0c,0x40,0x1c,0xd5]4086// CHECK: msr      {{spsr_el3|SPSR_EL3}}, x12              // encoding: [0x0c,0x40,0x1e,0xd5]4087// CHECK: msr      {{elr_el1|ELR_EL1}}, x12               // encoding: [0x2c,0x40,0x18,0xd5]4088// CHECK: msr      {{elr_el2|ELR_EL2}}, x12               // encoding: [0x2c,0x40,0x1c,0xd5]4089// CHECK: msr      {{elr_el3|ELR_EL3}}, x12               // encoding: [0x2c,0x40,0x1e,0xd5]4090// CHECK: msr      {{sp_el0|SP_EL0}}, x12                // encoding: [0x0c,0x41,0x18,0xd5]4091// CHECK: msr      {{sp_el1|SP_EL1}}, x12                // encoding: [0x0c,0x41,0x1c,0xd5]4092// CHECK: msr      {{sp_el2|SP_EL2}}, x12                // encoding: [0x0c,0x41,0x1e,0xd5]4093// CHECK: msr      {{SPSel|SPSEL}}, x12                 // encoding: [0x0c,0x42,0x18,0xd5]4094// CHECK: msr      {{nzcv|NZCV}}, x12                  // encoding: [0x0c,0x42,0x1b,0xd5]4095// CHECK: msr      {{daif|DAIF}}, x12                  // encoding: [0x2c,0x42,0x1b,0xd5]4096// CHECK: msr      {{SPSR_irq|SPSR_IRQ}}, x12              // encoding: [0x0c,0x43,0x1c,0xd5]4097// CHECK: msr      {{SPSR_abt|SPSR_ABT}}, x12              // encoding: [0x2c,0x43,0x1c,0xd5]4098// CHECK: msr      {{SPSR_und|SPSR_UND}}, x12              // encoding: [0x4c,0x43,0x1c,0xd5]4099// CHECK: msr      {{SPSR_fiq|SPSR_FIQ}}, x12              // encoding: [0x6c,0x43,0x1c,0xd5]4100// CHECK: msr      {{fpcr|FPCR}}, x12                  // encoding: [0x0c,0x44,0x1b,0xd5]4101// CHECK: msr      {{fpsr|FPSR}}, x12                  // encoding: [0x2c,0x44,0x1b,0xd5]4102// CHECK: msr      {{dspsr_el0|DSPSR_EL0}}, x12             // encoding: [0x0c,0x45,0x1b,0xd5]4103// CHECK: msr      {{dlr_el0|DLR_EL0}}, x12               // encoding: [0x2c,0x45,0x1b,0xd5]4104// CHECK: msr      {{ifsr32_el2|IFSR32_EL2}}, x12            // encoding: [0x2c,0x50,0x1c,0xd5]4105// CHECK: msr      {{afsr0_el1|AFSR0_EL1}}, x12             // encoding: [0x0c,0x51,0x18,0xd5]4106// CHECK: msr      {{afsr0_el2|AFSR0_EL2}}, x12             // encoding: [0x0c,0x51,0x1c,0xd5]4107// CHECK: msr      {{afsr0_el3|AFSR0_EL3}}, x12             // encoding: [0x0c,0x51,0x1e,0xd5]4108// CHECK: msr      {{afsr1_el1|AFSR1_EL1}}, x12             // encoding: [0x2c,0x51,0x18,0xd5]4109// CHECK: msr      {{afsr1_el2|AFSR1_EL2}}, x12             // encoding: [0x2c,0x51,0x1c,0xd5]4110// CHECK: msr      {{afsr1_el3|AFSR1_EL3}}, x12             // encoding: [0x2c,0x51,0x1e,0xd5]4111// CHECK: msr      {{esr_el1|ESR_EL1}}, x12               // encoding: [0x0c,0x52,0x18,0xd5]4112// CHECK: msr      {{esr_el2|ESR_EL2}}, x12               // encoding: [0x0c,0x52,0x1c,0xd5]4113// CHECK: msr      {{esr_el3|ESR_EL3}}, x12               // encoding: [0x0c,0x52,0x1e,0xd5]4114// CHECK: msr      {{fpexc32_el2|FPEXC32_EL2}}, x12           // encoding: [0x0c,0x53,0x1c,0xd5]4115// CHECK: msr      {{far_el1|FAR_EL1}}, x12               // encoding: [0x0c,0x60,0x18,0xd5]4116// CHECK: msr      {{far_el2|FAR_EL2}}, x12               // encoding: [0x0c,0x60,0x1c,0xd5]4117// CHECK: msr      {{far_el3|FAR_EL3}}, x12               // encoding: [0x0c,0x60,0x1e,0xd5]4118// CHECK: msr      {{hpfar_el2|HPFAR_EL2}}, x12             // encoding: [0x8c,0x60,0x1c,0xd5]4119// CHECK: msr      {{par_el1|PAR_EL1}}, x12               // encoding: [0x0c,0x74,0x18,0xd5]4120// CHECK: msr      {{pmcr_el0|PMCR_EL0}}, x12              // encoding: [0x0c,0x9c,0x1b,0xd5]4121// CHECK: msr      {{pmcntenset_el0|PMCNTENSET_EL0}}, x12        // encoding: [0x2c,0x9c,0x1b,0xd5]4122// CHECK: msr      {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12        // encoding: [0x4c,0x9c,0x1b,0xd5]4123// CHECK: msr      {{pmovsclr_el0|PMOVSCLR_EL0}}, x12          // encoding: [0x6c,0x9c,0x1b,0xd5]4124// CHECK: msr      {{pmselr_el0|PMSELR_EL0}}, x12            // encoding: [0xac,0x9c,0x1b,0xd5]4125// CHECK: msr      {{pmccntr_el0|PMCCNTR_EL0}}, x12           // encoding: [0x0c,0x9d,0x1b,0xd5]4126// CHECK: msr      {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12        // encoding: [0x2c,0x9d,0x1b,0xd5]4127// CHECK: msr      {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12         // encoding: [0x4c,0x9d,0x1b,0xd5]4128// CHECK: msr      {{pmuserenr_el0|PMUSERENR_EL0}}, x12         // encoding: [0x0c,0x9e,0x1b,0xd5]4129// CHECK: msr      {{pmintenset_el1|PMINTENSET_EL1}}, x12        // encoding: [0x2c,0x9e,0x18,0xd5]4130// CHECK: msr      {{pmintenclr_el1|PMINTENCLR_EL1}}, x12        // encoding: [0x4c,0x9e,0x18,0xd5]4131// CHECK: msr      {{pmovsset_el0|PMOVSSET_EL0}}, x12          // encoding: [0x6c,0x9e,0x1b,0xd5]4132// CHECK: msr      {{mair_el1|MAIR_EL1}}, x12              // encoding: [0x0c,0xa2,0x18,0xd5]4133// CHECK: msr      {{mair_el2|MAIR_EL2}}, x12              // encoding: [0x0c,0xa2,0x1c,0xd5]4134// CHECK: msr      {{mair_el3|MAIR_EL3}}, x12              // encoding: [0x0c,0xa2,0x1e,0xd5]4135// CHECK: msr      {{amair_el1|AMAIR_EL1}}, x12             // encoding: [0x0c,0xa3,0x18,0xd5]4136// CHECK: msr      {{amair_el2|AMAIR_EL2}}, x12             // encoding: [0x0c,0xa3,0x1c,0xd5]4137// CHECK: msr      {{amair_el3|AMAIR_EL3}}, x12             // encoding: [0x0c,0xa3,0x1e,0xd5]4138// CHECK: msr      {{vbar_el1|VBAR_EL1}}, x12              // encoding: [0x0c,0xc0,0x18,0xd5]4139// CHECK: msr      {{vbar_el2|VBAR_EL2}}, x12              // encoding: [0x0c,0xc0,0x1c,0xd5]4140// CHECK: msr      {{vbar_el3|VBAR_EL3}}, x12              // encoding: [0x0c,0xc0,0x1e,0xd5]4141// CHECK: msr      {{rmr_el1|RMR_EL1}}, x12               // encoding: [0x4c,0xc0,0x18,0xd5]4142// CHECK: msr      {{rmr_el2|RMR_EL2}}, x12               // encoding: [0x4c,0xc0,0x1c,0xd5]4143// CHECK: msr      {{rmr_el3|RMR_EL3}}, x12               // encoding: [0x4c,0xc0,0x1e,0xd5]4144// CHECK: msr      {{contextidr_el1|CONTEXTIDR_EL1}}, x12        // encoding: [0x2c,0xd0,0x18,0xd5]4145// CHECK: msr      {{tpidr_el0|TPIDR_EL0}}, x12             // encoding: [0x4c,0xd0,0x1b,0xd5]4146// CHECK: msr      {{tpidr_el2|TPIDR_EL2}}, x12             // encoding: [0x4c,0xd0,0x1c,0xd5]4147// CHECK: msr      {{tpidr_el3|TPIDR_EL3}}, x12             // encoding: [0x4c,0xd0,0x1e,0xd5]4148// CHECK: msr      {{tpidrro_el0|TPIDRRO_EL0}}, x12           // encoding: [0x6c,0xd0,0x1b,0xd5]4149// CHECK: msr      {{tpidr_el1|TPIDR_EL1}}, x12             // encoding: [0x8c,0xd0,0x18,0xd5]4150// CHECK: msr      {{cntfrq_el0|CNTFRQ_EL0}}, x12            // encoding: [0x0c,0xe0,0x1b,0xd5]4151// CHECK: msr      {{cntvoff_el2|CNTVOFF_EL2}}, x12           // encoding: [0x6c,0xe0,0x1c,0xd5]4152// CHECK: msr      {{cntkctl_el1|CNTKCTL_EL1}}, x12           // encoding: [0x0c,0xe1,0x18,0xd5]4153// CHECK: msr      {{cnthctl_el2|CNTHCTL_EL2}}, x12           // encoding: [0x0c,0xe1,0x1c,0xd5]4154// CHECK: msr      {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12         // encoding: [0x0c,0xe2,0x1b,0xd5]4155// CHECK: msr      {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12        // encoding: [0x0c,0xe2,0x1c,0xd5]4156// CHECK: msr      {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12        // encoding: [0x0c,0xe2,0x1f,0xd5]4157// CHECK: msr      {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12          // encoding: [0x2c,0xe2,0x1b,0xd5]4158// CHECK: msr      {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12         // encoding: [0x2c,0xe2,0x1c,0xd5]4159// CHECK: msr      {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12         // encoding: [0x2c,0xe2,0x1f,0xd5]4160// CHECK: msr      {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12         // encoding: [0x4c,0xe2,0x1b,0xd5]4161// CHECK: msr      {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12        // encoding: [0x4c,0xe2,0x1c,0xd5]4162// CHECK: msr      {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12        // encoding: [0x4c,0xe2,0x1f,0xd5]4163// CHECK: msr      {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12         // encoding: [0x0c,0xe3,0x1b,0xd5]4164// CHECK: msr      {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12          // encoding: [0x2c,0xe3,0x1b,0xd5]4165// CHECK: msr      {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12         // encoding: [0x4c,0xe3,0x1b,0xd5]4166// CHECK: msr      {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12         // encoding: [0x0c,0xe8,0x1b,0xd5]4167// CHECK: msr      {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12         // encoding: [0x2c,0xe8,0x1b,0xd5]4168// CHECK: msr      {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12         // encoding: [0x4c,0xe8,0x1b,0xd5]4169// CHECK: msr      {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12         // encoding: [0x6c,0xe8,0x1b,0xd5]4170// CHECK: msr      {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12         // encoding: [0x8c,0xe8,0x1b,0xd5]4171// CHECK: msr      {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12         // encoding: [0xac,0xe8,0x1b,0xd5]4172// CHECK: msr      {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12         // encoding: [0xcc,0xe8,0x1b,0xd5]4173// CHECK: msr      {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12         // encoding: [0xec,0xe8,0x1b,0xd5]4174// CHECK: msr      {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12         // encoding: [0x0c,0xe9,0x1b,0xd5]4175// CHECK: msr      {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12         // encoding: [0x2c,0xe9,0x1b,0xd5]4176// CHECK: msr      {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12        // encoding: [0x4c,0xe9,0x1b,0xd5]4177// CHECK: msr      {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12        // encoding: [0x6c,0xe9,0x1b,0xd5]4178// CHECK: msr      {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12        // encoding: [0x8c,0xe9,0x1b,0xd5]4179// CHECK: msr      {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12        // encoding: [0xac,0xe9,0x1b,0xd5]4180// CHECK: msr      {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12        // encoding: [0xcc,0xe9,0x1b,0xd5]4181// CHECK: msr      {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12        // encoding: [0xec,0xe9,0x1b,0xd5]4182// CHECK: msr      {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12        // encoding: [0x0c,0xea,0x1b,0xd5]4183// CHECK: msr      {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12        // encoding: [0x2c,0xea,0x1b,0xd5]4184// CHECK: msr      {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12        // encoding: [0x4c,0xea,0x1b,0xd5]4185// CHECK: msr      {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12        // encoding: [0x6c,0xea,0x1b,0xd5]4186// CHECK: msr      {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12        // encoding: [0x8c,0xea,0x1b,0xd5]4187// CHECK: msr      {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12        // encoding: [0xac,0xea,0x1b,0xd5]4188// CHECK: msr      {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12        // encoding: [0xcc,0xea,0x1b,0xd5]4189// CHECK: msr      {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12        // encoding: [0xec,0xea,0x1b,0xd5]4190// CHECK: msr      {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12        // encoding: [0x0c,0xeb,0x1b,0xd5]4191// CHECK: msr      {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12        // encoding: [0x2c,0xeb,0x1b,0xd5]4192// CHECK: msr      {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12        // encoding: [0x4c,0xeb,0x1b,0xd5]4193// CHECK: msr      {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12        // encoding: [0x6c,0xeb,0x1b,0xd5]4194// CHECK: msr      {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12        // encoding: [0x8c,0xeb,0x1b,0xd5]4195// CHECK: msr      {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12        // encoding: [0xac,0xeb,0x1b,0xd5]4196// CHECK: msr      {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12        // encoding: [0xcc,0xeb,0x1b,0xd5]4197// CHECK: msr      {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12         // encoding: [0xec,0xef,0x1b,0xd5]4198// CHECK: msr      {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12        // encoding: [0x0c,0xec,0x1b,0xd5]4199// CHECK: msr      {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12        // encoding: [0x2c,0xec,0x1b,0xd5]4200// CHECK: msr      {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12        // encoding: [0x4c,0xec,0x1b,0xd5]4201// CHECK: msr      {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12        // encoding: [0x6c,0xec,0x1b,0xd5]4202// CHECK: msr      {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12        // encoding: [0x8c,0xec,0x1b,0xd5]4203// CHECK: msr      {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12        // encoding: [0xac,0xec,0x1b,0xd5]4204// CHECK: msr      {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12        // encoding: [0xcc,0xec,0x1b,0xd5]4205// CHECK: msr      {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12        // encoding: [0xec,0xec,0x1b,0xd5]4206// CHECK: msr      {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12        // encoding: [0x0c,0xed,0x1b,0xd5]4207// CHECK: msr      {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12        // encoding: [0x2c,0xed,0x1b,0xd5]4208// CHECK: msr      {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12       // encoding: [0x4c,0xed,0x1b,0xd5]4209// CHECK: msr      {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12       // encoding: [0x6c,0xed,0x1b,0xd5]4210// CHECK: msr      {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12       // encoding: [0x8c,0xed,0x1b,0xd5]4211// CHECK: msr      {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12       // encoding: [0xac,0xed,0x1b,0xd5]4212// CHECK: msr      {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12       // encoding: [0xcc,0xed,0x1b,0xd5]4213// CHECK: msr      {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12       // encoding: [0xec,0xed,0x1b,0xd5]4214// CHECK: msr      {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12       // encoding: [0x0c,0xee,0x1b,0xd5]4215// CHECK: msr      {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12       // encoding: [0x2c,0xee,0x1b,0xd5]4216// CHECK: msr      {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12       // encoding: [0x4c,0xee,0x1b,0xd5]4217// CHECK: msr      {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12       // encoding: [0x6c,0xee,0x1b,0xd5]4218// CHECK: msr      {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12       // encoding: [0x8c,0xee,0x1b,0xd5]4219// CHECK: msr      {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12       // encoding: [0xac,0xee,0x1b,0xd5]4220// CHECK: msr      {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12       // encoding: [0xcc,0xee,0x1b,0xd5]4221// CHECK: msr      {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12       // encoding: [0xec,0xee,0x1b,0xd5]4222// CHECK: msr      {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12       // encoding: [0x0c,0xef,0x1b,0xd5]4223// CHECK: msr      {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12       // encoding: [0x2c,0xef,0x1b,0xd5]4224// CHECK: msr      {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12       // encoding: [0x4c,0xef,0x1b,0xd5]4225// CHECK: msr      {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12       // encoding: [0x6c,0xef,0x1b,0xd5]4226// CHECK: msr      {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12       // encoding: [0x8c,0xef,0x1b,0xd5]4227// CHECK: msr      {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12       // encoding: [0xac,0xef,0x1b,0xd5]4228// CHECK: msr      {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12       // encoding: [0xcc,0xef,0x1b,0xd5]4229// CHECK: msr      {{amair2_el1|AMAIR2_EL1}}, x12       // encoding: [0x2c,0xa3,0x18,0xd5]4230// CHECK: msr      {{amair2_el12|AMAIR2_EL12}}, x12       // encoding: [0x2c,0xa3,0x1d,0xd5]4231// CHECK: msr      {{amair2_el2|AMAIR2_EL2}}, x12       // encoding: [0x2c,0xa3,0x1c,0xd5]4232// CHECK: msr      {{amair2_el3|AMAIR2_EL3}}, x12       // encoding: [0x2c,0xa3,0x1e,0xd5]4233// CHECK: msr      {{mair2_el1|MAIR2_EL1}}, x12       // encoding: [0x2c,0xa2,0x18,0xd5]4234// CHECK: msr      {{mair2_el12|MAIR2_EL12}}, x12       // encoding: [0x2c,0xa2,0x1d,0xd5]4235// CHECK: msr      {{mair2_el2|MAIR2_EL2}}, x12       // encoding: [0x2c,0xa1,0x1c,0xd5]4236// CHECK: msr      {{mair2_el3|MAIR2_EL3}}, x12       // encoding: [0x2c,0xa1,0x1e,0xd5]4237// CHECK: msr      {{pire0_el1|PIRE0_EL1}}, x12       // encoding: [0x4c,0xa2,0x18,0xd5]4238// CHECK: msr      {{pire0_el12|PIRE0_EL12}}, x12     // encoding: [0x4c,0xa2,0x1d,0xd5]4239// CHECK: msr      {{pire0_el2|PIRE0_EL2}}, x12       // encoding: [0x4c,0xa2,0x1c,0xd5]4240// CHECK: msr      {{pir_el1|PIR_EL1}}, x12       // encoding: [0x6c,0xa2,0x18,0xd5]4241// CHECK: msr      {{pir_el12|PIR_EL12}}, x12       // encoding: [0x6c,0xa2,0x1d,0xd5]4242// CHECK: msr      {{pir_el2|PIR_EL2}}, x12       // encoding: [0x6c,0xa2,0x1c,0xd5]4243// CHECK: msr      {{pir_el3|PIR_EL3}}, x12       // encoding: [0x6c,0xa2,0x1e,0xd5]4244// CHECK: msr      {{s2pir_el2|S2PIR_EL2}}, x12       // encoding: [0xac,0xa2,0x1c,0xd5]4245// CHECK: msr      {{por_el0|POR_EL0}}, x12       // encoding: [0x8c,0xa2,0x1b,0xd5]4246// CHECK: msr      {{por_el1|POR_EL1}}, x12       // encoding: [0x8c,0xa2,0x18,0xd5]4247// CHECK: msr      {{por_el12|POR_EL12}}, x12       // encoding: [0x8c,0xa2,0x1d,0xd5]4248// CHECK: msr      {{por_el2|POR_EL2}}, x12       // encoding: [0x8c,0xa2,0x1c,0xd5]4249// CHECK: msr      {{por_el3|POR_EL3}}, x12       // encoding: [0x8c,0xa2,0x1e,0xd5]4250// CHECK: msr      {{s2por_el1|S2POR_EL1}}, x12       // encoding: [0xac,0xa2,0x18,0xd5]4251// CHECK: msr      {{sctlr2_el1|SCTLR2_EL1}}, x12       // encoding: [0x6c,0x10,0x18,0xd5]4252// CHECK: msr      {{sctlr2_el12|SCTLR2_EL12}}, x12       // encoding: [0x6c,0x10,0x1d,0xd5]4253// CHECK: msr      {{sctlr2_el2|SCTLR2_EL2}}, x12       // encoding: [0x6c,0x10,0x1c,0xd5]4254// CHECK: msr      {{sctlr2_el3|SCTLR2_EL3}}, x12       // encoding: [0x6c,0x10,0x1e,0xd5]4255// CHECK: msr      {{tcr2_el1|TCR2_EL1}}, x12       // encoding: [0x6c,0x20,0x18,0xd5]4256// CHECK: msr      {{tcr2_el12|TCR2_EL12}}, x12       // encoding: [0x6c,0x20,0x1d,0xd5]4257// CHECK: msr      {{tcr2_el2|TCR2_EL2}}, x12       // encoding: [0x6c,0x20,0x1c,0xd5]4258 4259	mrs x9, TEECR32_EL14260	mrs x9, OSDTRRX_EL14261	mrs x9, MDCCSR_EL04262	mrs x9, MDCCINT_EL14263	mrs x9, MDSCR_EL14264	mrs x9, OSDTRTX_EL14265	mrs x9, DBGDTR_EL04266	mrs x9, DBGDTRRX_EL04267	mrs x9, OSECCR_EL14268	mrs x9, DBGVCR32_EL24269	mrs x9, DBGBVR0_EL14270	mrs x9, DBGBVR1_EL14271	mrs x9, DBGBVR2_EL14272	mrs x9, DBGBVR3_EL14273	mrs x9, DBGBVR4_EL14274	mrs x9, DBGBVR5_EL14275	mrs x9, DBGBVR6_EL14276	mrs x9, DBGBVR7_EL14277	mrs x9, DBGBVR8_EL14278	mrs x9, DBGBVR9_EL14279	mrs x9, DBGBVR10_EL14280	mrs x9, DBGBVR11_EL14281	mrs x9, DBGBVR12_EL14282	mrs x9, DBGBVR13_EL14283	mrs x9, DBGBVR14_EL14284	mrs x9, DBGBVR15_EL14285	mrs x9, DBGBCR0_EL14286	mrs x9, DBGBCR1_EL14287	mrs x9, DBGBCR2_EL14288	mrs x9, DBGBCR3_EL14289	mrs x9, DBGBCR4_EL14290	mrs x9, DBGBCR5_EL14291	mrs x9, DBGBCR6_EL14292	mrs x9, DBGBCR7_EL14293	mrs x9, DBGBCR8_EL14294	mrs x9, DBGBCR9_EL14295	mrs x9, DBGBCR10_EL14296	mrs x9, DBGBCR11_EL14297	mrs x9, DBGBCR12_EL14298	mrs x9, DBGBCR13_EL14299	mrs x9, DBGBCR14_EL14300	mrs x9, DBGBCR15_EL14301	mrs x9, DBGWVR0_EL14302	mrs x9, DBGWVR1_EL14303	mrs x9, DBGWVR2_EL14304	mrs x9, DBGWVR3_EL14305	mrs x9, DBGWVR4_EL14306	mrs x9, DBGWVR5_EL14307	mrs x9, DBGWVR6_EL14308	mrs x9, DBGWVR7_EL14309	mrs x9, DBGWVR8_EL14310	mrs x9, DBGWVR9_EL14311	mrs x9, DBGWVR10_EL14312	mrs x9, DBGWVR11_EL14313	mrs x9, DBGWVR12_EL14314	mrs x9, DBGWVR13_EL14315	mrs x9, DBGWVR14_EL14316	mrs x9, DBGWVR15_EL14317	mrs x9, DBGWCR0_EL14318	mrs x9, DBGWCR1_EL14319	mrs x9, DBGWCR2_EL14320	mrs x9, DBGWCR3_EL14321	mrs x9, DBGWCR4_EL14322	mrs x9, DBGWCR5_EL14323	mrs x9, DBGWCR6_EL14324	mrs x9, DBGWCR7_EL14325	mrs x9, DBGWCR8_EL14326	mrs x9, DBGWCR9_EL14327	mrs x9, DBGWCR10_EL14328	mrs x9, DBGWCR11_EL14329	mrs x9, DBGWCR12_EL14330	mrs x9, DBGWCR13_EL14331	mrs x9, DBGWCR14_EL14332	mrs x9, DBGWCR15_EL14333	mrs x9, MDRAR_EL14334	mrs x9, TEEHBR32_EL14335	mrs x9, OSLSR_EL14336	mrs x9, OSDLR_EL14337	mrs x9, DBGPRCR_EL14338	mrs x9, DBGCLAIMSET_EL14339	mrs x9, DBGCLAIMCLR_EL14340	mrs x9, DBGAUTHSTATUS_EL14341	mrs x9, MIDR_EL14342	mrs x9, CCSIDR_EL14343	mrs x9, CSSELR_EL14344	mrs x9, VPIDR_EL24345	mrs x9, CLIDR_EL14346	mrs x9, CTR_EL04347	mrs x9, MPIDR_EL14348	mrs x9, VMPIDR_EL24349	mrs x9, REVIDR_EL14350	mrs x9, AIDR_EL14351	mrs x9, DCZID_EL04352	mrs x9, ID_PFR0_EL14353	mrs x9, ID_PFR1_EL14354	mrs x9, ID_DFR0_EL14355	mrs x9, ID_DFR1_EL14356	mrs x9, ID_AFR0_EL14357	mrs x9, ID_MMFR0_EL14358	mrs x9, ID_MMFR1_EL14359	mrs x9, ID_MMFR2_EL14360	mrs x9, ID_MMFR3_EL14361	mrs x9, ID_MMFR4_EL14362	mrs x9, ID_MMFR5_EL14363	mrs x9, ID_ISAR0_EL14364	mrs x9, ID_ISAR1_EL14365	mrs x9, ID_ISAR2_EL14366	mrs x9, ID_ISAR3_EL14367	mrs x9, ID_ISAR4_EL14368	mrs x9, ID_ISAR5_EL14369	mrs x9, MVFR0_EL14370	mrs x9, MVFR1_EL14371	mrs x9, MVFR2_EL14372	mrs x9, ID_AA64PFR0_EL14373	mrs x9, ID_AA64PFR1_EL14374	mrs x9, ID_AA64PFR2_EL14375	mrs x9, ID_AA64DFR0_EL14376	mrs x9, ID_AA64DFR1_EL14377	mrs x9, ID_AA64DFR2_EL14378	mrs x9, ID_AA64AFR0_EL14379	mrs x9, ID_AA64AFR1_EL14380	mrs x9, ID_AA64ISAR0_EL14381	mrs x9, ID_AA64ISAR1_EL14382	mrs x9, ID_AA64ISAR2_EL14383	mrs x9, ID_AA64ISAR3_EL14384	mrs x9, ID_AA64MMFR0_EL14385	mrs x9, ID_AA64MMFR1_EL14386	mrs x9, ID_AA64MMFR2_EL14387	mrs x9, ID_AA64MMFR3_EL14388	mrs x9, ID_AA64MMFR4_EL14389	mrs x9, SCTLR_EL14390	mrs x9, SCTLR_EL24391	mrs x9, SCTLR_EL34392	mrs x9, ACTLR_EL14393	mrs x9, ACTLR_EL24394	mrs x9, ACTLR_EL34395	mrs x9, CPACR_EL14396	mrs x9, HCR_EL24397	mrs x9, SCR_EL34398	mrs x9, MDCR_EL24399	mrs x9, SDER32_EL34400	mrs x9, CPTR_EL24401	mrs x9, CPTR_EL34402	mrs x9, HSTR_EL24403	mrs x9, HACR_EL24404	mrs x9, MDCR_EL34405	mrs x9, TTBR0_EL14406	mrs x9, TTBR0_EL24407	mrs x9, TTBR0_EL34408	mrs x9, TTBR1_EL14409	mrs x9, TCR_EL14410	mrs x9, TCR_EL24411	mrs x9, TCR_EL34412	mrs x9, VTTBR_EL24413	mrs x9, VTCR_EL24414	mrs x9, DACR32_EL24415	mrs x9, SPSR_EL14416	mrs x9, SPSR_EL24417	mrs x9, SPSR_EL34418	mrs x9, ELR_EL14419	mrs x9, ELR_EL24420	mrs x9, ELR_EL34421	mrs x9, SP_EL04422	mrs x9, SP_EL14423	mrs x9, SP_EL24424	mrs x9, SPSel4425	mrs x9, NZCV4426	mrs x9, DAIF4427	mrs x9, CurrentEL4428	mrs x9, SPSR_irq4429	mrs x9, SPSR_abt4430	mrs x9, SPSR_und4431	mrs x9, SPSR_fiq4432	mrs x9, FPCR4433	mrs x9, FPSR4434	mrs x9, DSPSR_EL04435	mrs x9, DLR_EL04436	mrs x9, IFSR32_EL24437	mrs x9, AFSR0_EL14438	mrs x9, AFSR0_EL24439	mrs x9, AFSR0_EL34440	mrs x9, AFSR1_EL14441	mrs x9, AFSR1_EL24442	mrs x9, AFSR1_EL34443	mrs x9, ESR_EL14444	mrs x9, ESR_EL24445	mrs x9, ESR_EL34446	mrs x9, FPEXC32_EL24447	mrs x9, FAR_EL14448	mrs x9, FAR_EL24449	mrs x9, FAR_EL34450	mrs x9, HPFAR_EL24451	mrs x9, PAR_EL14452	mrs x9, PMCR_EL04453	mrs x9, PMCNTENSET_EL04454	mrs x9, PMCNTENCLR_EL04455	mrs x9, PMOVSCLR_EL04456	mrs x9, PMSELR_EL04457	mrs x9, PMCEID0_EL04458	mrs x9, PMCEID1_EL04459	mrs x9, PMCCNTR_EL04460	mrs x9, PMXEVTYPER_EL04461	mrs x9, PMXEVCNTR_EL04462	mrs x9, PMUSERENR_EL04463	mrs x9, PMINTENSET_EL14464	mrs x9, PMINTENCLR_EL14465	mrs x9, PMOVSSET_EL04466	mrs x9, PMMIR_EL14467	mrs x9, MAIR_EL14468	mrs x9, MAIR_EL24469	mrs x9, MAIR_EL34470	mrs x9, AMAIR_EL14471	mrs x9, AMAIR_EL24472	mrs x9, AMAIR_EL34473	mrs x9, VBAR_EL14474	mrs x9, VBAR_EL24475	mrs x9, VBAR_EL34476	mrs x9, RVBAR_EL14477	mrs x9, RVBAR_EL24478	mrs x9, RVBAR_EL34479	mrs x9, RMR_EL14480	mrs x9, RMR_EL24481	mrs x9, RMR_EL34482	mrs x9, ISR_EL14483	mrs x9, CONTEXTIDR_EL14484	mrs x9, TPIDR_EL04485	mrs x9, TPIDR_EL24486	mrs x9, TPIDR_EL34487	mrs x9, TPIDRRO_EL04488	mrs x9, TPIDR_EL14489	mrs x9, CNTFRQ_EL04490	mrs x9, CNTPCT_EL04491	mrs x9, CNTVCT_EL04492	mrs x9, CNTVOFF_EL24493	mrs x9, CNTKCTL_EL14494	mrs x9, CNTHCTL_EL24495	mrs x9, CNTP_TVAL_EL04496	mrs x9, CNTHP_TVAL_EL24497	mrs x9, CNTPS_TVAL_EL14498	mrs x9, CNTP_CTL_EL04499	mrs x9, CNTHP_CTL_EL24500	mrs x9, CNTPS_CTL_EL14501	mrs x9, CNTP_CVAL_EL04502	mrs x9, CNTHP_CVAL_EL24503	mrs x9, CNTPS_CVAL_EL14504	mrs x9, CNTV_TVAL_EL04505	mrs x9, CNTV_CTL_EL04506	mrs x9, CNTV_CVAL_EL04507	mrs x9, PMEVCNTR0_EL04508	mrs x9, PMEVCNTR1_EL04509	mrs x9, PMEVCNTR2_EL04510	mrs x9, PMEVCNTR3_EL04511	mrs x9, PMEVCNTR4_EL04512	mrs x9, PMEVCNTR5_EL04513	mrs x9, PMEVCNTR6_EL04514	mrs x9, PMEVCNTR7_EL04515	mrs x9, PMEVCNTR8_EL04516	mrs x9, PMEVCNTR9_EL04517	mrs x9, PMEVCNTR10_EL04518	mrs x9, PMEVCNTR11_EL04519	mrs x9, PMEVCNTR12_EL04520	mrs x9, PMEVCNTR13_EL04521	mrs x9, PMEVCNTR14_EL04522	mrs x9, PMEVCNTR15_EL04523	mrs x9, PMEVCNTR16_EL04524	mrs x9, PMEVCNTR17_EL04525	mrs x9, PMEVCNTR18_EL04526	mrs x9, PMEVCNTR19_EL04527	mrs x9, PMEVCNTR20_EL04528	mrs x9, PMEVCNTR21_EL04529	mrs x9, PMEVCNTR22_EL04530	mrs x9, PMEVCNTR23_EL04531	mrs x9, PMEVCNTR24_EL04532	mrs x9, PMEVCNTR25_EL04533	mrs x9, PMEVCNTR26_EL04534	mrs x9, PMEVCNTR27_EL04535	mrs x9, PMEVCNTR28_EL04536	mrs x9, PMEVCNTR29_EL04537	mrs x9, PMEVCNTR30_EL04538	mrs x9, PMCCFILTR_EL04539	mrs x9, PMEVTYPER0_EL04540	mrs x9, PMEVTYPER1_EL04541	mrs x9, PMEVTYPER2_EL04542	mrs x9, PMEVTYPER3_EL04543	mrs x9, PMEVTYPER4_EL04544	mrs x9, PMEVTYPER5_EL04545	mrs x9, PMEVTYPER6_EL04546	mrs x9, PMEVTYPER7_EL04547	mrs x9, PMEVTYPER8_EL04548	mrs x9, PMEVTYPER9_EL04549	mrs x9, PMEVTYPER10_EL04550	mrs x9, PMEVTYPER11_EL04551	mrs x9, PMEVTYPER12_EL04552	mrs x9, PMEVTYPER13_EL04553	mrs x9, PMEVTYPER14_EL04554	mrs x9, PMEVTYPER15_EL04555	mrs x9, PMEVTYPER16_EL04556	mrs x9, PMEVTYPER17_EL04557	mrs x9, PMEVTYPER18_EL04558	mrs x9, PMEVTYPER19_EL04559	mrs x9, PMEVTYPER20_EL04560	mrs x9, PMEVTYPER21_EL04561	mrs x9, PMEVTYPER22_EL04562	mrs x9, PMEVTYPER23_EL04563	mrs x9, PMEVTYPER24_EL04564	mrs x9, PMEVTYPER25_EL04565	mrs x9, PMEVTYPER26_EL04566	mrs x9, PMEVTYPER27_EL04567	mrs x9, PMEVTYPER28_EL04568	mrs x9, PMEVTYPER29_EL04569	mrs x9, PMEVTYPER30_EL04570        mrs x9, AMAIR2_EL14571        mrs x9, AMAIR2_EL124572        mrs x9, AMAIR2_EL24573        mrs x9, AMAIR2_EL34574        mrs x9, MAIR2_EL14575        mrs x9, MAIR2_EL124576        mrs x9, MAIR2_EL24577        mrs x9, MAIR2_EL34578        mrs x9, PIRE0_EL14579        mrs x9, PIRE0_EL124580        mrs x9, PIRE0_EL24581        mrs x9, PIR_EL14582        mrs x9, PIR_EL124583        mrs x9, PIR_EL24584        mrs x9, PIR_EL34585        mrs x9, S2PIR_EL24586        mrs x9, POR_EL04587        mrs x9, POR_EL14588        mrs x9, POR_EL124589        mrs x9, POR_EL24590        mrs x9, POR_EL34591        mrs x9, S2POR_EL14592        mrs x9, SCTLR2_EL14593        mrs x9, SCTLR2_EL124594        mrs x9, SCTLR2_EL24595        mrs x9, SCTLR2_EL34596        mrs x9, TCR2_EL14597        mrs x9, TCR2_EL124598        mrs x9, TCR2_EL24599// CHECK: mrs      x9, {{teecr32_el1|TEECR32_EL1}}            // encoding: [0x09,0x00,0x32,0xd5]4600// CHECK: mrs      x9, {{osdtrrx_el1|OSDTRRX_EL1}}            // encoding: [0x49,0x00,0x30,0xd5]4601// CHECK: mrs      x9, {{mdccsr_el0|MDCCSR_EL0}}             // encoding: [0x09,0x01,0x33,0xd5]4602// CHECK: mrs      x9, {{mdccint_el1|MDCCINT_EL1}}            // encoding: [0x09,0x02,0x30,0xd5]4603// CHECK: mrs      x9, {{mdscr_el1|MDSCR_EL1}}              // encoding: [0x49,0x02,0x30,0xd5]4604// CHECK: mrs      x9, {{osdtrtx_el1|OSDTRTX_EL1}}            // encoding: [0x49,0x03,0x30,0xd5]4605// CHECK: mrs      x9, {{dbgdtr_el0|DBGDTR_EL0}}             // encoding: [0x09,0x04,0x33,0xd5]4606// CHECK: mrs      x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}}           // encoding: [0x09,0x05,0x33,0xd5]4607// CHECK: mrs      x9, {{oseccr_el1|OSECCR_EL1}}             // encoding: [0x49,0x06,0x30,0xd5]4608// CHECK: mrs      x9, {{dbgvcr32_el2|DBGVCR32_EL2}}           // encoding: [0x09,0x07,0x34,0xd5]4609// CHECK: mrs      x9, {{dbgbvr0_el1|DBGBVR0_EL1}}            // encoding: [0x89,0x00,0x30,0xd5]4610// CHECK: mrs      x9, {{dbgbvr1_el1|DBGBVR1_EL1}}            // encoding: [0x89,0x01,0x30,0xd5]4611// CHECK: mrs      x9, {{dbgbvr2_el1|DBGBVR2_EL1}}            // encoding: [0x89,0x02,0x30,0xd5]4612// CHECK: mrs      x9, {{dbgbvr3_el1|DBGBVR3_EL1}}            // encoding: [0x89,0x03,0x30,0xd5]4613// CHECK: mrs      x9, {{dbgbvr4_el1|DBGBVR4_EL1}}            // encoding: [0x89,0x04,0x30,0xd5]4614// CHECK: mrs      x9, {{dbgbvr5_el1|DBGBVR5_EL1}}            // encoding: [0x89,0x05,0x30,0xd5]4615// CHECK: mrs      x9, {{dbgbvr6_el1|DBGBVR6_EL1}}            // encoding: [0x89,0x06,0x30,0xd5]4616// CHECK: mrs      x9, {{dbgbvr7_el1|DBGBVR7_EL1}}            // encoding: [0x89,0x07,0x30,0xd5]4617// CHECK: mrs      x9, {{dbgbvr8_el1|DBGBVR8_EL1}}            // encoding: [0x89,0x08,0x30,0xd5]4618// CHECK: mrs      x9, {{dbgbvr9_el1|DBGBVR9_EL1}}            // encoding: [0x89,0x09,0x30,0xd5]4619// CHECK: mrs      x9, {{dbgbvr10_el1|DBGBVR10_EL1}}           // encoding: [0x89,0x0a,0x30,0xd5]4620// CHECK: mrs      x9, {{dbgbvr11_el1|DBGBVR11_EL1}}           // encoding: [0x89,0x0b,0x30,0xd5]4621// CHECK: mrs      x9, {{dbgbvr12_el1|DBGBVR12_EL1}}           // encoding: [0x89,0x0c,0x30,0xd5]4622// CHECK: mrs      x9, {{dbgbvr13_el1|DBGBVR13_EL1}}           // encoding: [0x89,0x0d,0x30,0xd5]4623// CHECK: mrs      x9, {{dbgbvr14_el1|DBGBVR14_EL1}}           // encoding: [0x89,0x0e,0x30,0xd5]4624// CHECK: mrs      x9, {{dbgbvr15_el1|DBGBVR15_EL1}}           // encoding: [0x89,0x0f,0x30,0xd5]4625// CHECK: mrs      x9, {{dbgbcr0_el1|DBGBCR0_EL1}}            // encoding: [0xa9,0x00,0x30,0xd5]4626// CHECK: mrs      x9, {{dbgbcr1_el1|DBGBCR1_EL1}}            // encoding: [0xa9,0x01,0x30,0xd5]4627// CHECK: mrs      x9, {{dbgbcr2_el1|DBGBCR2_EL1}}            // encoding: [0xa9,0x02,0x30,0xd5]4628// CHECK: mrs      x9, {{dbgbcr3_el1|DBGBCR3_EL1}}            // encoding: [0xa9,0x03,0x30,0xd5]4629// CHECK: mrs      x9, {{dbgbcr4_el1|DBGBCR4_EL1}}            // encoding: [0xa9,0x04,0x30,0xd5]4630// CHECK: mrs      x9, {{dbgbcr5_el1|DBGBCR5_EL1}}            // encoding: [0xa9,0x05,0x30,0xd5]4631// CHECK: mrs      x9, {{dbgbcr6_el1|DBGBCR6_EL1}}            // encoding: [0xa9,0x06,0x30,0xd5]4632// CHECK: mrs      x9, {{dbgbcr7_el1|DBGBCR7_EL1}}            // encoding: [0xa9,0x07,0x30,0xd5]4633// CHECK: mrs      x9, {{dbgbcr8_el1|DBGBCR8_EL1}}            // encoding: [0xa9,0x08,0x30,0xd5]4634// CHECK: mrs      x9, {{dbgbcr9_el1|DBGBCR9_EL1}}            // encoding: [0xa9,0x09,0x30,0xd5]4635// CHECK: mrs      x9, {{dbgbcr10_el1|DBGBCR10_EL1}}           // encoding: [0xa9,0x0a,0x30,0xd5]4636// CHECK: mrs      x9, {{dbgbcr11_el1|DBGBCR11_EL1}}           // encoding: [0xa9,0x0b,0x30,0xd5]4637// CHECK: mrs      x9, {{dbgbcr12_el1|DBGBCR12_EL1}}           // encoding: [0xa9,0x0c,0x30,0xd5]4638// CHECK: mrs      x9, {{dbgbcr13_el1|DBGBCR13_EL1}}           // encoding: [0xa9,0x0d,0x30,0xd5]4639// CHECK: mrs      x9, {{dbgbcr14_el1|DBGBCR14_EL1}}           // encoding: [0xa9,0x0e,0x30,0xd5]4640// CHECK: mrs      x9, {{dbgbcr15_el1|DBGBCR15_EL1}}           // encoding: [0xa9,0x0f,0x30,0xd5]4641// CHECK: mrs      x9, {{dbgwvr0_el1|DBGWVR0_EL1}}            // encoding: [0xc9,0x00,0x30,0xd5]4642// CHECK: mrs      x9, {{dbgwvr1_el1|DBGWVR1_EL1}}            // encoding: [0xc9,0x01,0x30,0xd5]4643// CHECK: mrs      x9, {{dbgwvr2_el1|DBGWVR2_EL1}}            // encoding: [0xc9,0x02,0x30,0xd5]4644// CHECK: mrs      x9, {{dbgwvr3_el1|DBGWVR3_EL1}}            // encoding: [0xc9,0x03,0x30,0xd5]4645// CHECK: mrs      x9, {{dbgwvr4_el1|DBGWVR4_EL1}}            // encoding: [0xc9,0x04,0x30,0xd5]4646// CHECK: mrs      x9, {{dbgwvr5_el1|DBGWVR5_EL1}}            // encoding: [0xc9,0x05,0x30,0xd5]4647// CHECK: mrs      x9, {{dbgwvr6_el1|DBGWVR6_EL1}}            // encoding: [0xc9,0x06,0x30,0xd5]4648// CHECK: mrs      x9, {{dbgwvr7_el1|DBGWVR7_EL1}}            // encoding: [0xc9,0x07,0x30,0xd5]4649// CHECK: mrs      x9, {{dbgwvr8_el1|DBGWVR8_EL1}}            // encoding: [0xc9,0x08,0x30,0xd5]4650// CHECK: mrs      x9, {{dbgwvr9_el1|DBGWVR9_EL1}}            // encoding: [0xc9,0x09,0x30,0xd5]4651// CHECK: mrs      x9, {{dbgwvr10_el1|DBGWVR10_EL1}}           // encoding: [0xc9,0x0a,0x30,0xd5]4652// CHECK: mrs      x9, {{dbgwvr11_el1|DBGWVR11_EL1}}           // encoding: [0xc9,0x0b,0x30,0xd5]4653// CHECK: mrs      x9, {{dbgwvr12_el1|DBGWVR12_EL1}}           // encoding: [0xc9,0x0c,0x30,0xd5]4654// CHECK: mrs      x9, {{dbgwvr13_el1|DBGWVR13_EL1}}           // encoding: [0xc9,0x0d,0x30,0xd5]4655// CHECK: mrs      x9, {{dbgwvr14_el1|DBGWVR14_EL1}}           // encoding: [0xc9,0x0e,0x30,0xd5]4656// CHECK: mrs      x9, {{dbgwvr15_el1|DBGWVR15_EL1}}           // encoding: [0xc9,0x0f,0x30,0xd5]4657// CHECK: mrs      x9, {{dbgwcr0_el1|DBGWCR0_EL1}}            // encoding: [0xe9,0x00,0x30,0xd5]4658// CHECK: mrs      x9, {{dbgwcr1_el1|DBGWCR1_EL1}}            // encoding: [0xe9,0x01,0x30,0xd5]4659// CHECK: mrs      x9, {{dbgwcr2_el1|DBGWCR2_EL1}}            // encoding: [0xe9,0x02,0x30,0xd5]4660// CHECK: mrs      x9, {{dbgwcr3_el1|DBGWCR3_EL1}}            // encoding: [0xe9,0x03,0x30,0xd5]4661// CHECK: mrs      x9, {{dbgwcr4_el1|DBGWCR4_EL1}}            // encoding: [0xe9,0x04,0x30,0xd5]4662// CHECK: mrs      x9, {{dbgwcr5_el1|DBGWCR5_EL1}}            // encoding: [0xe9,0x05,0x30,0xd5]4663// CHECK: mrs      x9, {{dbgwcr6_el1|DBGWCR6_EL1}}            // encoding: [0xe9,0x06,0x30,0xd5]4664// CHECK: mrs      x9, {{dbgwcr7_el1|DBGWCR7_EL1}}            // encoding: [0xe9,0x07,0x30,0xd5]4665// CHECK: mrs      x9, {{dbgwcr8_el1|DBGWCR8_EL1}}            // encoding: [0xe9,0x08,0x30,0xd5]4666// CHECK: mrs      x9, {{dbgwcr9_el1|DBGWCR9_EL1}}            // encoding: [0xe9,0x09,0x30,0xd5]4667// CHECK: mrs      x9, {{dbgwcr10_el1|DBGWCR10_EL1}}           // encoding: [0xe9,0x0a,0x30,0xd5]4668// CHECK: mrs      x9, {{dbgwcr11_el1|DBGWCR11_EL1}}           // encoding: [0xe9,0x0b,0x30,0xd5]4669// CHECK: mrs      x9, {{dbgwcr12_el1|DBGWCR12_EL1}}           // encoding: [0xe9,0x0c,0x30,0xd5]4670// CHECK: mrs      x9, {{dbgwcr13_el1|DBGWCR13_EL1}}           // encoding: [0xe9,0x0d,0x30,0xd5]4671// CHECK: mrs      x9, {{dbgwcr14_el1|DBGWCR14_EL1}}           // encoding: [0xe9,0x0e,0x30,0xd5]4672// CHECK: mrs      x9, {{dbgwcr15_el1|DBGWCR15_EL1}}           // encoding: [0xe9,0x0f,0x30,0xd5]4673// CHECK: mrs      x9, {{mdrar_el1|MDRAR_EL1}}              // encoding: [0x09,0x10,0x30,0xd5]4674// CHECK: mrs      x9, {{teehbr32_el1|TEEHBR32_EL1}}           // encoding: [0x09,0x10,0x32,0xd5]4675// CHECK: mrs      x9, {{oslsr_el1|OSLSR_EL1}}              // encoding: [0x89,0x11,0x30,0xd5]4676// CHECK: mrs      x9, {{osdlr_el1|OSDLR_EL1}}              // encoding: [0x89,0x13,0x30,0xd5]4677// CHECK: mrs      x9, {{dbgprcr_el1|DBGPRCR_EL1}}            // encoding: [0x89,0x14,0x30,0xd5]4678// CHECK: mrs      x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}}        // encoding: [0xc9,0x78,0x30,0xd5]4679// CHECK: mrs      x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}        // encoding: [0xc9,0x79,0x30,0xd5]4680// CHECK: mrs      x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}}      // encoding: [0xc9,0x7e,0x30,0xd5]4681// CHECK: mrs      x9, {{midr_el1|MIDR_EL1}}               // encoding: [0x09,0x00,0x38,0xd5]4682// CHECK: mrs      x9, {{ccsidr_el1|CCSIDR_EL1}}             // encoding: [0x09,0x00,0x39,0xd5]4683// CHECK: mrs      x9, {{csselr_el1|CSSELR_EL1}}             // encoding: [0x09,0x00,0x3a,0xd5]4684// CHECK: mrs      x9, {{vpidr_el2|VPIDR_EL2}}              // encoding: [0x09,0x00,0x3c,0xd5]4685// CHECK: mrs      x9, {{clidr_el1|CLIDR_EL1}}              // encoding: [0x29,0x00,0x39,0xd5]4686// CHECK: mrs      x9, {{ctr_el0|CTR_EL0}}                // encoding: [0x29,0x00,0x3b,0xd5]4687// CHECK: mrs      x9, {{mpidr_el1|MPIDR_EL1}}              // encoding: [0xa9,0x00,0x38,0xd5]4688// CHECK: mrs      x9, {{vmpidr_el2|VMPIDR_EL2}}             // encoding: [0xa9,0x00,0x3c,0xd5]4689// CHECK: mrs      x9, {{revidr_el1|REVIDR_EL1}}             // encoding: [0xc9,0x00,0x38,0xd5]4690// CHECK: mrs      x9, {{aidr_el1|AIDR_EL1}}               // encoding: [0xe9,0x00,0x39,0xd5]4691// CHECK: mrs      x9, {{dczid_el0|DCZID_EL0}}              // encoding: [0xe9,0x00,0x3b,0xd5]4692// CHECK: mrs      x9, {{id_pfr0_el1|ID_PFR0_EL1}}            // encoding: [0x09,0x01,0x38,0xd5]4693// CHECK: mrs      x9, {{id_pfr1_el1|ID_PFR1_EL1}}            // encoding: [0x29,0x01,0x38,0xd5]4694// CHECK: mrs      x9, {{id_dfr0_el1|ID_DFR0_EL1}}            // encoding: [0x49,0x01,0x38,0xd5]4695// CHECK: mrs      x9, {{id_dfr1_el1|ID_DFR1_EL1}}            // encoding: [0xa9,0x03,0x38,0xd5]4696// CHECK: mrs      x9, {{id_afr0_el1|ID_AFR0_EL1}}            // encoding: [0x69,0x01,0x38,0xd5]4697// CHECK: mrs      x9, {{id_mmfr0_el1|ID_MMFR0_EL1}}           // encoding: [0x89,0x01,0x38,0xd5]4698// CHECK: mrs      x9, {{id_mmfr1_el1|ID_MMFR1_EL1}}           // encoding: [0xa9,0x01,0x38,0xd5]4699// CHECK: mrs      x9, {{id_mmfr2_el1|ID_MMFR2_EL1}}           // encoding: [0xc9,0x01,0x38,0xd5]4700// CHECK: mrs      x9, {{id_mmfr3_el1|ID_MMFR3_EL1}}           // encoding: [0xe9,0x01,0x38,0xd5]4701// CHECK: mrs      x9, {{id_mmfr4_el1|ID_MMFR4_EL1}}           // encoding: [0xc9,0x02,0x38,0xd5]4702// CHECK: mrs      x9, {{id_mmfr5_el1|ID_MMFR5_EL1}}           // encoding: [0xc9,0x03,0x38,0xd5]4703// CHECK: mrs      x9, {{id_isar0_el1|ID_ISAR0_EL1}}           // encoding: [0x09,0x02,0x38,0xd5]4704// CHECK: mrs      x9, {{id_isar1_el1|ID_ISAR1_EL1}}           // encoding: [0x29,0x02,0x38,0xd5]4705// CHECK: mrs      x9, {{id_isar2_el1|ID_ISAR2_EL1}}           // encoding: [0x49,0x02,0x38,0xd5]4706// CHECK: mrs      x9, {{id_isar3_el1|ID_ISAR3_EL1}}           // encoding: [0x69,0x02,0x38,0xd5]4707// CHECK: mrs      x9, {{id_isar4_el1|ID_ISAR4_EL1}}           // encoding: [0x89,0x02,0x38,0xd5]4708// CHECK: mrs      x9, {{id_isar5_el1|ID_ISAR5_EL1}}           // encoding: [0xa9,0x02,0x38,0xd5]4709// CHECK: mrs      x9, {{mvfr0_el1|MVFR0_EL1}}              // encoding: [0x09,0x03,0x38,0xd5]4710// CHECK: mrs      x9, {{mvfr1_el1|MVFR1_EL1}}              // encoding: [0x29,0x03,0x38,0xd5]4711// CHECK: mrs      x9, {{mvfr2_el1|MVFR2_EL1}}              // encoding: [0x49,0x03,0x38,0xd5]4712// CHECK: mrs      x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}}        // encoding: [0x09,0x04,0x38,0xd5]4713// CHECK: mrs      x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}}        // encoding: [0x29,0x04,0x38,0xd5]4714// CHECK: mrs      x9, {{id_aa64pfr2_el1|ID_AA64PFR2_EL1}}        // encoding: [0x49,0x04,0x38,0xd5]4715// CHECK: mrs      x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}}        // encoding: [0x09,0x05,0x38,0xd5]4716// CHECK: mrs      x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}}        // encoding: [0x29,0x05,0x38,0xd5]4717// CHECK: mrs      x9, {{id_aa64dfr2_el1|ID_AA64DFR2_EL1}}        // encoding: [0x49,0x05,0x38,0xd5]4718// CHECK: mrs      x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}}        // encoding: [0x89,0x05,0x38,0xd5]4719// CHECK: mrs      x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}}        // encoding: [0xa9,0x05,0x38,0xd5]4720// CHECK: mrs      x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}}       // encoding: [0x09,0x06,0x38,0xd5]4721// CHECK: mrs      x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}}       // encoding: [0x29,0x06,0x38,0xd5]4722// CHECK: mrs      x9, {{id_aa64isar2_el1|ID_AA64ISAR2_EL1}}       // encoding: [0x49,0x06,0x38,0xd5]4723// CHECK: mrs      x9, {{id_aa64isar3_el1|ID_AA64ISAR3_EL1}}       // encoding: [0x69,0x06,0x38,0xd5]4724// CHECK: mrs      x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}}       // encoding: [0x09,0x07,0x38,0xd5]4725// CHECK: mrs      x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}}       // encoding: [0x29,0x07,0x38,0xd5]4726// CHECK: mrs      x9, {{id_aa64mmfr2_el1|ID_AA64MMFR2_EL1}}       // encoding: [0x49,0x07,0x38,0xd5]4727// CHECK: mrs      x9, {{id_aa64mmfr3_el1|ID_AA64MMFR3_EL1}}       // encoding: [0x69,0x07,0x38,0xd5]4728// CHECK: mrs      x9, {{id_aa64mmfr4_el1|ID_AA64MMFR4_EL1}}       // encoding: [0x89,0x07,0x38,0xd5]4729// CHECK: mrs      x9, {{sctlr_el1|SCTLR_EL1}}              // encoding: [0x09,0x10,0x38,0xd5]4730// CHECK: mrs      x9, {{sctlr_el2|SCTLR_EL2}}              // encoding: [0x09,0x10,0x3c,0xd5]4731// CHECK: mrs      x9, {{sctlr_el3|SCTLR_EL3}}              // encoding: [0x09,0x10,0x3e,0xd5]4732// CHECK: mrs      x9, {{actlr_el1|ACTLR_EL1}}              // encoding: [0x29,0x10,0x38,0xd5]4733// CHECK: mrs      x9, {{actlr_el2|ACTLR_EL2}}              // encoding: [0x29,0x10,0x3c,0xd5]4734// CHECK: mrs      x9, {{actlr_el3|ACTLR_EL3}}              // encoding: [0x29,0x10,0x3e,0xd5]4735// CHECK: mrs      x9, {{cpacr_el1|CPACR_EL1}}              // encoding: [0x49,0x10,0x38,0xd5]4736// CHECK: mrs      x9, {{hcr_el2|HCR_EL2}}                // encoding: [0x09,0x11,0x3c,0xd5]4737// CHECK: mrs      x9, {{scr_el3|SCR_EL3}}                // encoding: [0x09,0x11,0x3e,0xd5]4738// CHECK: mrs      x9, {{mdcr_el2|MDCR_EL2}}               // encoding: [0x29,0x11,0x3c,0xd5]4739// CHECK: mrs      x9, {{sder32_el3|SDER32_EL3}}             // encoding: [0x29,0x11,0x3e,0xd5]4740// CHECK: mrs      x9, {{cptr_el2|CPTR_EL2}}               // encoding: [0x49,0x11,0x3c,0xd5]4741// CHECK: mrs      x9, {{cptr_el3|CPTR_EL3}}               // encoding: [0x49,0x11,0x3e,0xd5]4742// CHECK: mrs      x9, {{hstr_el2|HSTR_EL2}}               // encoding: [0x69,0x11,0x3c,0xd5]4743// CHECK: mrs      x9, {{hacr_el2|HACR_EL2}}               // encoding: [0xe9,0x11,0x3c,0xd5]4744// CHECK: mrs      x9, {{mdcr_el3|MDCR_EL3}}               // encoding: [0x29,0x13,0x3e,0xd5]4745// CHECK: mrs      x9, {{ttbr0_el1|TTBR0_EL1}}              // encoding: [0x09,0x20,0x38,0xd5]4746// CHECK: mrs      x9, {{ttbr0_el2|TTBR0_EL2}}              // encoding: [0x09,0x20,0x3c,0xd5]4747// CHECK: mrs      x9, {{ttbr0_el3|TTBR0_EL3}}              // encoding: [0x09,0x20,0x3e,0xd5]4748// CHECK: mrs      x9, {{ttbr1_el1|TTBR1_EL1}}              // encoding: [0x29,0x20,0x38,0xd5]4749// CHECK: mrs      x9, {{tcr_el1|TCR_EL1}}                // encoding: [0x49,0x20,0x38,0xd5]4750// CHECK: mrs      x9, {{tcr_el2|TCR_EL2}}                // encoding: [0x49,0x20,0x3c,0xd5]4751// CHECK: mrs      x9, {{tcr_el3|TCR_EL3}}                // encoding: [0x49,0x20,0x3e,0xd5]4752// CHECK: mrs      x9, {{vttbr_el2|VTTBR_EL2}}              // encoding: [0x09,0x21,0x3c,0xd5]4753// CHECK: mrs      x9, {{vtcr_el2|VTCR_EL2}}               // encoding: [0x49,0x21,0x3c,0xd5]4754// CHECK: mrs      x9, {{dacr32_el2|DACR32_EL2}}             // encoding: [0x09,0x30,0x3c,0xd5]4755// CHECK: mrs      x9, {{spsr_el1|SPSR_EL1}}               // encoding: [0x09,0x40,0x38,0xd5]4756// CHECK: mrs      x9, {{spsr_el2|SPSR_EL2}}               // encoding: [0x09,0x40,0x3c,0xd5]4757// CHECK: mrs      x9, {{spsr_el3|SPSR_EL3}}               // encoding: [0x09,0x40,0x3e,0xd5]4758// CHECK: mrs      x9, {{elr_el1|ELR_EL1}}                // encoding: [0x29,0x40,0x38,0xd5]4759// CHECK: mrs      x9, {{elr_el2|ELR_EL2}}                // encoding: [0x29,0x40,0x3c,0xd5]4760// CHECK: mrs      x9, {{elr_el3|ELR_EL3}}                // encoding: [0x29,0x40,0x3e,0xd5]4761// CHECK: mrs      x9, {{sp_el0|SP_EL0}}                 // encoding: [0x09,0x41,0x38,0xd5]4762// CHECK: mrs      x9, {{sp_el1|SP_EL1}}                 // encoding: [0x09,0x41,0x3c,0xd5]4763// CHECK: mrs      x9, {{sp_el2|SP_EL2}}                 // encoding: [0x09,0x41,0x3e,0xd5]4764// CHECK: mrs      x9, {{SPSel|SPSEL}}                  // encoding: [0x09,0x42,0x38,0xd5]4765// CHECK: mrs      x9, {{nzcv|NZCV}}                   // encoding: [0x09,0x42,0x3b,0xd5]4766// CHECK: mrs      x9, {{daif|DAIF}}                   // encoding: [0x29,0x42,0x3b,0xd5]4767// CHECK: mrs      x9, {{CurrentEL|CURRENTEL}}              // encoding: [0x49,0x42,0x38,0xd5]4768// CHECK: mrs      x9, {{SPSR_irq|SPSR_IRQ}}               // encoding: [0x09,0x43,0x3c,0xd5]4769// CHECK: mrs      x9, {{SPSR_abt|SPSR_ABT}}               // encoding: [0x29,0x43,0x3c,0xd5]4770// CHECK: mrs      x9, {{SPSR_und|SPSR_UND}}               // encoding: [0x49,0x43,0x3c,0xd5]4771// CHECK: mrs      x9, {{SPSR_fiq|SPSR_FIQ}}               // encoding: [0x69,0x43,0x3c,0xd5]4772// CHECK: mrs      x9, {{fpcr|FPCR}}                   // encoding: [0x09,0x44,0x3b,0xd5]4773// CHECK: mrs      x9, {{fpsr|FPSR}}                   // encoding: [0x29,0x44,0x3b,0xd5]4774// CHECK: mrs      x9, {{dspsr_el0|DSPSR_EL0}}              // encoding: [0x09,0x45,0x3b,0xd5]4775// CHECK: mrs      x9, {{dlr_el0|DLR_EL0}}                // encoding: [0x29,0x45,0x3b,0xd5]4776// CHECK: mrs      x9, {{ifsr32_el2|IFSR32_EL2}}             // encoding: [0x29,0x50,0x3c,0xd5]4777// CHECK: mrs      x9, {{afsr0_el1|AFSR0_EL1}}              // encoding: [0x09,0x51,0x38,0xd5]4778// CHECK: mrs      x9, {{afsr0_el2|AFSR0_EL2}}              // encoding: [0x09,0x51,0x3c,0xd5]4779// CHECK: mrs      x9, {{afsr0_el3|AFSR0_EL3}}              // encoding: [0x09,0x51,0x3e,0xd5]4780// CHECK: mrs      x9, {{afsr1_el1|AFSR1_EL1}}              // encoding: [0x29,0x51,0x38,0xd5]4781// CHECK: mrs      x9, {{afsr1_el2|AFSR1_EL2}}              // encoding: [0x29,0x51,0x3c,0xd5]4782// CHECK: mrs      x9, {{afsr1_el3|AFSR1_EL3}}              // encoding: [0x29,0x51,0x3e,0xd5]4783// CHECK: mrs      x9, {{esr_el1|ESR_EL1}}                // encoding: [0x09,0x52,0x38,0xd5]4784// CHECK: mrs      x9, {{esr_el2|ESR_EL2}}                // encoding: [0x09,0x52,0x3c,0xd5]4785// CHECK: mrs      x9, {{esr_el3|ESR_EL3}}                // encoding: [0x09,0x52,0x3e,0xd5]4786// CHECK: mrs      x9, {{fpexc32_el2|FPEXC32_EL2}}            // encoding: [0x09,0x53,0x3c,0xd5]4787// CHECK: mrs      x9, {{far_el1|FAR_EL1}}                // encoding: [0x09,0x60,0x38,0xd5]4788// CHECK: mrs      x9, {{far_el2|FAR_EL2}}                // encoding: [0x09,0x60,0x3c,0xd5]4789// CHECK: mrs      x9, {{far_el3|FAR_EL3}}                // encoding: [0x09,0x60,0x3e,0xd5]4790// CHECK: mrs      x9, {{hpfar_el2|HPFAR_EL2}}              // encoding: [0x89,0x60,0x3c,0xd5]4791// CHECK: mrs      x9, {{par_el1|PAR_EL1}}                // encoding: [0x09,0x74,0x38,0xd5]4792// CHECK: mrs      x9, {{pmcr_el0|PMCR_EL0}}               // encoding: [0x09,0x9c,0x3b,0xd5]4793// CHECK: mrs      x9, {{pmcntenset_el0|PMCNTENSET_EL0}}         // encoding: [0x29,0x9c,0x3b,0xd5]4794// CHECK: mrs      x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}}         // encoding: [0x49,0x9c,0x3b,0xd5]4795// CHECK: mrs      x9, {{pmovsclr_el0|PMOVSCLR_EL0}}           // encoding: [0x69,0x9c,0x3b,0xd5]4796// CHECK: mrs      x9, {{pmselr_el0|PMSELR_EL0}}             // encoding: [0xa9,0x9c,0x3b,0xd5]4797// CHECK: mrs      x9, {{pmceid0_el0|PMCEID0_EL0}}            // encoding: [0xc9,0x9c,0x3b,0xd5]4798// CHECK: mrs      x9, {{pmceid1_el0|PMCEID1_EL0}}            // encoding: [0xe9,0x9c,0x3b,0xd5]4799// CHECK: mrs      x9, {{pmccntr_el0|PMCCNTR_EL0}}            // encoding: [0x09,0x9d,0x3b,0xd5]4800// CHECK: mrs      x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}}         // encoding: [0x29,0x9d,0x3b,0xd5]4801// CHECK: mrs      x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}}          // encoding: [0x49,0x9d,0x3b,0xd5]4802// CHECK: mrs      x9, {{pmuserenr_el0|PMUSERENR_EL0}}          // encoding: [0x09,0x9e,0x3b,0xd5]4803// CHECK: mrs      x9, {{pmintenset_el1|PMINTENSET_EL1}}         // encoding: [0x29,0x9e,0x38,0xd5]4804// CHECK: mrs      x9, {{pmintenclr_el1|PMINTENCLR_EL1}}         // encoding: [0x49,0x9e,0x38,0xd5]4805// CHECK: mrs      x9, {{pmovsset_el0|PMOVSSET_EL0}}           // encoding: [0x69,0x9e,0x3b,0xd5]4806// CHECK: mrs      x9, {{pmmir_el1|PMMIR_EL1}}             // encoding: [0xc9,0x9e,0x38,0xd5]4807// CHECK: mrs      x9, {{mair_el1|MAIR_EL1}}               // encoding: [0x09,0xa2,0x38,0xd5]4808// CHECK: mrs      x9, {{mair_el2|MAIR_EL2}}               // encoding: [0x09,0xa2,0x3c,0xd5]4809// CHECK: mrs      x9, {{mair_el3|MAIR_EL3}}               // encoding: [0x09,0xa2,0x3e,0xd5]4810// CHECK: mrs      x9, {{amair_el1|AMAIR_EL1}}              // encoding: [0x09,0xa3,0x38,0xd5]4811// CHECK: mrs      x9, {{amair_el2|AMAIR_EL2}}              // encoding: [0x09,0xa3,0x3c,0xd5]4812// CHECK: mrs      x9, {{amair_el3|AMAIR_EL3}}              // encoding: [0x09,0xa3,0x3e,0xd5]4813// CHECK: mrs      x9, {{vbar_el1|VBAR_EL1}}               // encoding: [0x09,0xc0,0x38,0xd5]4814// CHECK: mrs      x9, {{vbar_el2|VBAR_EL2}}               // encoding: [0x09,0xc0,0x3c,0xd5]4815// CHECK: mrs      x9, {{vbar_el3|VBAR_EL3}}               // encoding: [0x09,0xc0,0x3e,0xd5]4816// CHECK: mrs      x9, {{rvbar_el1|RVBAR_EL1}}              // encoding: [0x29,0xc0,0x38,0xd5]4817// CHECK: mrs      x9, {{rvbar_el2|RVBAR_EL2}}              // encoding: [0x29,0xc0,0x3c,0xd5]4818// CHECK: mrs      x9, {{rvbar_el3|RVBAR_EL3}}              // encoding: [0x29,0xc0,0x3e,0xd5]4819// CHECK: mrs      x9, {{rmr_el1|RMR_EL1}}                // encoding: [0x49,0xc0,0x38,0xd5]4820// CHECK: mrs      x9, {{rmr_el2|RMR_EL2}}                // encoding: [0x49,0xc0,0x3c,0xd5]4821// CHECK: mrs      x9, {{rmr_el3|RMR_EL3}}                // encoding: [0x49,0xc0,0x3e,0xd5]4822// CHECK: mrs      x9, {{isr_el1|ISR_EL1}}                // encoding: [0x09,0xc1,0x38,0xd5]4823// CHECK: mrs      x9, {{contextidr_el1|CONTEXTIDR_EL1}}         // encoding: [0x29,0xd0,0x38,0xd5]4824// CHECK: mrs      x9, {{tpidr_el0|TPIDR_EL0}}              // encoding: [0x49,0xd0,0x3b,0xd5]4825// CHECK: mrs      x9, {{tpidr_el2|TPIDR_EL2}}              // encoding: [0x49,0xd0,0x3c,0xd5]4826// CHECK: mrs      x9, {{tpidr_el3|TPIDR_EL3}}              // encoding: [0x49,0xd0,0x3e,0xd5]4827// CHECK: mrs      x9, {{tpidrro_el0|TPIDRRO_EL0}}            // encoding: [0x69,0xd0,0x3b,0xd5]4828// CHECK: mrs      x9, {{tpidr_el1|TPIDR_EL1}}              // encoding: [0x89,0xd0,0x38,0xd5]4829// CHECK: mrs      x9, {{cntfrq_el0|CNTFRQ_EL0}}             // encoding: [0x09,0xe0,0x3b,0xd5]4830// CHECK: mrs      x9, {{cntpct_el0|CNTPCT_EL0}}             // encoding: [0x29,0xe0,0x3b,0xd5]4831// CHECK: mrs      x9, {{cntvct_el0|CNTVCT_EL0}}             // encoding: [0x49,0xe0,0x3b,0xd5]4832// CHECK: mrs      x9, {{cntvoff_el2|CNTVOFF_EL2}}            // encoding: [0x69,0xe0,0x3c,0xd5]4833// CHECK: mrs      x9, {{cntkctl_el1|CNTKCTL_EL1}}            // encoding: [0x09,0xe1,0x38,0xd5]4834// CHECK: mrs      x9, {{cnthctl_el2|CNTHCTL_EL2}}            // encoding: [0x09,0xe1,0x3c,0xd5]4835// CHECK: mrs      x9, {{cntp_tval_el0|CNTP_TVAL_EL0}}          // encoding: [0x09,0xe2,0x3b,0xd5]4836// CHECK: mrs      x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}}         // encoding: [0x09,0xe2,0x3c,0xd5]4837// CHECK: mrs      x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}}         // encoding: [0x09,0xe2,0x3f,0xd5]4838// CHECK: mrs      x9, {{cntp_ctl_el0|CNTP_CTL_EL0}}           // encoding: [0x29,0xe2,0x3b,0xd5]4839// CHECK: mrs      x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}}          // encoding: [0x29,0xe2,0x3c,0xd5]4840// CHECK: mrs      x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}}          // encoding: [0x29,0xe2,0x3f,0xd5]4841// CHECK: mrs      x9, {{cntp_cval_el0|CNTP_CVAL_EL0}}          // encoding: [0x49,0xe2,0x3b,0xd5]4842// CHECK: mrs      x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}}         // encoding: [0x49,0xe2,0x3c,0xd5]4843// CHECK: mrs      x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}}         // encoding: [0x49,0xe2,0x3f,0xd5]4844// CHECK: mrs      x9, {{cntv_tval_el0|CNTV_TVAL_EL0}}          // encoding: [0x09,0xe3,0x3b,0xd5]4845// CHECK: mrs      x9, {{cntv_ctl_el0|CNTV_CTL_EL0}}           // encoding: [0x29,0xe3,0x3b,0xd5]4846// CHECK: mrs      x9, {{cntv_cval_el0|CNTV_CVAL_EL0}}          // encoding: [0x49,0xe3,0x3b,0xd5]4847// CHECK: mrs      x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}}          // encoding: [0x09,0xe8,0x3b,0xd5]4848// CHECK: mrs      x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}}          // encoding: [0x29,0xe8,0x3b,0xd5]4849// CHECK: mrs      x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}}          // encoding: [0x49,0xe8,0x3b,0xd5]4850// CHECK: mrs      x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}}          // encoding: [0x69,0xe8,0x3b,0xd5]4851// CHECK: mrs      x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}}          // encoding: [0x89,0xe8,0x3b,0xd5]4852// CHECK: mrs      x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}}          // encoding: [0xa9,0xe8,0x3b,0xd5]4853// CHECK: mrs      x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}}          // encoding: [0xc9,0xe8,0x3b,0xd5]4854// CHECK: mrs      x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}}          // encoding: [0xe9,0xe8,0x3b,0xd5]4855// CHECK: mrs      x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}}          // encoding: [0x09,0xe9,0x3b,0xd5]4856// CHECK: mrs      x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}}          // encoding: [0x29,0xe9,0x3b,0xd5]4857// CHECK: mrs      x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}}         // encoding: [0x49,0xe9,0x3b,0xd5]4858// CHECK: mrs      x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}}         // encoding: [0x69,0xe9,0x3b,0xd5]4859// CHECK: mrs      x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}}         // encoding: [0x89,0xe9,0x3b,0xd5]4860// CHECK: mrs      x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}}         // encoding: [0xa9,0xe9,0x3b,0xd5]4861// CHECK: mrs      x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}}         // encoding: [0xc9,0xe9,0x3b,0xd5]4862// CHECK: mrs      x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}}         // encoding: [0xe9,0xe9,0x3b,0xd5]4863// CHECK: mrs      x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}}         // encoding: [0x09,0xea,0x3b,0xd5]4864// CHECK: mrs      x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}}         // encoding: [0x29,0xea,0x3b,0xd5]4865// CHECK: mrs      x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}}         // encoding: [0x49,0xea,0x3b,0xd5]4866// CHECK: mrs      x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}}         // encoding: [0x69,0xea,0x3b,0xd5]4867// CHECK: mrs      x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}}         // encoding: [0x89,0xea,0x3b,0xd5]4868// CHECK: mrs      x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}}         // encoding: [0xa9,0xea,0x3b,0xd5]4869// CHECK: mrs      x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}}         // encoding: [0xc9,0xea,0x3b,0xd5]4870// CHECK: mrs      x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}}         // encoding: [0xe9,0xea,0x3b,0xd5]4871// CHECK: mrs      x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}}         // encoding: [0x09,0xeb,0x3b,0xd5]4872// CHECK: mrs      x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}}         // encoding: [0x29,0xeb,0x3b,0xd5]4873// CHECK: mrs      x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}}         // encoding: [0x49,0xeb,0x3b,0xd5]4874// CHECK: mrs      x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}}         // encoding: [0x69,0xeb,0x3b,0xd5]4875// CHECK: mrs      x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}}         // encoding: [0x89,0xeb,0x3b,0xd5]4876// CHECK: mrs      x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}}         // encoding: [0xa9,0xeb,0x3b,0xd5]4877// CHECK: mrs      x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}}         // encoding: [0xc9,0xeb,0x3b,0xd5]4878// CHECK: mrs      x9, {{pmccfiltr_el0|PMCCFILTR_EL0}}          // encoding: [0xe9,0xef,0x3b,0xd5]4879// CHECK: mrs      x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}}         // encoding: [0x09,0xec,0x3b,0xd5]4880// CHECK: mrs      x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}}         // encoding: [0x29,0xec,0x3b,0xd5]4881// CHECK: mrs      x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}}         // encoding: [0x49,0xec,0x3b,0xd5]4882// CHECK: mrs      x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}}         // encoding: [0x69,0xec,0x3b,0xd5]4883// CHECK: mrs      x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}}         // encoding: [0x89,0xec,0x3b,0xd5]4884// CHECK: mrs      x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}}         // encoding: [0xa9,0xec,0x3b,0xd5]4885// CHECK: mrs      x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}}         // encoding: [0xc9,0xec,0x3b,0xd5]4886// CHECK: mrs      x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}}         // encoding: [0xe9,0xec,0x3b,0xd5]4887// CHECK: mrs      x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}}         // encoding: [0x09,0xed,0x3b,0xd5]4888// CHECK: mrs      x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}}         // encoding: [0x29,0xed,0x3b,0xd5]4889// CHECK: mrs      x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}}        // encoding: [0x49,0xed,0x3b,0xd5]4890// CHECK: mrs      x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}}        // encoding: [0x69,0xed,0x3b,0xd5]4891// CHECK: mrs      x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}}        // encoding: [0x89,0xed,0x3b,0xd5]4892// CHECK: mrs      x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}}        // encoding: [0xa9,0xed,0x3b,0xd5]4893// CHECK: mrs      x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}}        // encoding: [0xc9,0xed,0x3b,0xd5]4894// CHECK: mrs      x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}}        // encoding: [0xe9,0xed,0x3b,0xd5]4895// CHECK: mrs      x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}}        // encoding: [0x09,0xee,0x3b,0xd5]4896// CHECK: mrs      x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}}        // encoding: [0x29,0xee,0x3b,0xd5]4897// CHECK: mrs      x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}}        // encoding: [0x49,0xee,0x3b,0xd5]4898// CHECK: mrs      x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}}        // encoding: [0x69,0xee,0x3b,0xd5]4899// CHECK: mrs      x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}}        // encoding: [0x89,0xee,0x3b,0xd5]4900// CHECK: mrs      x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}}        // encoding: [0xa9,0xee,0x3b,0xd5]4901// CHECK: mrs      x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}}        // encoding: [0xc9,0xee,0x3b,0xd5]4902// CHECK: mrs      x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}}        // encoding: [0xe9,0xee,0x3b,0xd5]4903// CHECK: mrs      x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}}        // encoding: [0x09,0xef,0x3b,0xd5]4904// CHECK: mrs      x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}}        // encoding: [0x29,0xef,0x3b,0xd5]4905// CHECK: mrs      x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}}        // encoding: [0x49,0xef,0x3b,0xd5]4906// CHECK: mrs      x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}}        // encoding: [0x69,0xef,0x3b,0xd5]4907// CHECK: mrs      x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}}        // encoding: [0x89,0xef,0x3b,0xd5]4908// CHECK: mrs      x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}}        // encoding: [0xa9,0xef,0x3b,0xd5]4909// CHECK: mrs      x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}}        // encoding: [0xc9,0xef,0x3b,0xd5]4910// CHECK: mrs      x9, {{amair2_el1|AMAIR2_EL1}}        // encoding: [0x29,0xa3,0x38,0xd5]4911// CHECK: mrs      x9, {{amair2_el12|AMAIR2_EL12}}        // encoding: [0x29,0xa3,0x3d,0xd5]4912// CHECK: mrs      x9, {{amair2_el2|AMAIR2_EL2}}        // encoding: [0x29,0xa3,0x3c,0xd5]4913// CHECK: mrs      x9, {{amair2_el3|AMAIR2_EL3}}        // encoding: [0x29,0xa3,0x3e,0xd5]4914// CHECK: mrs      x9, {{mair2_el1|MAIR2_EL1}}        // encoding: [0x29,0xa2,0x38,0xd5]4915// CHECK: mrs      x9, {{mair2_el12|MAIR2_EL12}}        // encoding: [0x29,0xa2,0x3d,0xd5]4916// CHECK: mrs      x9, {{mair2_el2|MAIR2_EL2}}        // encoding: [0x29,0xa1,0x3c,0xd5]4917// CHECK: mrs      x9, {{mair2_el3|MAIR2_EL3}}        // encoding: [0x29,0xa1,0x3e,0xd5]4918// CHECK: mrs      x9, {{pire0_el1|PIRE0_EL1}}        // encoding: [0x49,0xa2,0x38,0xd5]4919// CHECK: mrs      x9, {{pire0_el12|PIRE0_EL12}}      // encoding: [0x49,0xa2,0x3d,0xd5]4920// CHECK: mrs      x9, {{pire0_el2|PIRE0_EL2}}        // encoding: [0x49,0xa2,0x3c,0xd5]4921// CHECK: mrs      x9, {{pir_el1|PIR_EL1}}        // encoding: [0x69,0xa2,0x38,0xd5]4922// CHECK: mrs      x9, {{pir_el12|PIR_EL12}}        // encoding: [0x69,0xa2,0x3d,0xd5]4923// CHECK: mrs      x9, {{pir_el2|PIR_EL2}}        // encoding: [0x69,0xa2,0x3c,0xd5]4924// CHECK: mrs      x9, {{pir_el3|PIR_EL3}}        // encoding: [0x69,0xa2,0x3e,0xd5]4925// CHECK: mrs      x9, {{s2pir_el2|S2PIR_EL2}}        // encoding: [0xa9,0xa2,0x3c,0xd5]4926// CHECK: mrs      x9, {{por_el0|POR_EL0}}        // encoding: [0x89,0xa2,0x3b,0xd5]4927// CHECK: mrs      x9, {{por_el1|POR_EL1}}        // encoding: [0x89,0xa2,0x38,0xd5]4928// CHECK: mrs      x9, {{por_el12|POR_EL12}}        // encoding: [0x89,0xa2,0x3d,0xd5]4929// CHECK: mrs      x9, {{por_el2|POR_EL2}}        // encoding: [0x89,0xa2,0x3c,0xd5]4930// CHECK: mrs      x9, {{por_el3|POR_EL3}}        // encoding: [0x89,0xa2,0x3e,0xd5]4931// CHECK: mrs      x9, {{s2por_el1|S2POR_EL1}}        // encoding: [0xa9,0xa2,0x38,0xd5]4932// CHECK: mrs      x9, {{sctlr2_el1|SCTLR2_EL1}}        // encoding: [0x69,0x10,0x38,0xd5]4933// CHECK: mrs      x9, {{sctlr2_el12|SCTLR2_EL12}}        // encoding: [0x69,0x10,0x3d,0xd5]4934// CHECK: mrs      x9, {{sctlr2_el2|SCTLR2_EL2}}        // encoding: [0x69,0x10,0x3c,0xd5]4935// CHECK: mrs      x9, {{sctlr2_el3|SCTLR2_EL3}}        // encoding: [0x69,0x10,0x3e,0xd5]4936// CHECK: mrs      x9, {{tcr2_el1|TCR2_EL1}}        // encoding: [0x69,0x20,0x38,0xd5]4937// CHECK: mrs      x9, {{tcr2_el12|TCR2_EL12}}        // encoding: [0x69,0x20,0x3d,0xd5]4938// CHECK: mrs      x9, {{tcr2_el2|TCR2_EL2}}        // encoding: [0x69,0x20,0x3c,0xd5]4939 4940        mrs x12, s3_7_c15_c1_54941        mrs x13, s3_2_c11_c15_74942        mrs x14, s1_3_c9_c2_14943        msr s3_0_c15_c0_0, x124944        msr s3_7_c11_c13_7, x54945        msr s1_3_c9_c2_1, x44946// CHECK: mrs     x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}}      // encoding: [0xac,0xf1,0x3f,0xd5]4947// CHECK: mrs     x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}}    // encoding: [0xed,0xbf,0x3a,0xd5]4948// CHECK: mrs     x14, {{s1_3_c9_c2_1|S1_3_C9_C2_1}}        // encoding: [0x2e,0x92,0x2b,0xd5]4949// CHECK: msr     {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12      // encoding: [0x0c,0xf0,0x18,0xd5]4950// CHECK: msr     {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5     // encoding: [0xe5,0xbd,0x1f,0xd5]4951// CHECK: msr     {{s1_3_c9_c2_1|S1_3_C9_C2_1}}, x4         // encoding: [0x24,0x92,0x0b,0xd5]4952 4953//------------------------------------------------------------------------------4954// Unconditional branch (immediate)4955//------------------------------------------------------------------------------4956 4957        tbz x5, #0, somewhere4958        tbz xzr, #63, elsewhere4959        tbnz x5, #45, nowhere4960 4961// CHECK: tbz    w5, #0, somewhere       // encoding: [0bAAA00101,A,0b00000AAA,0x36]4962// CHECK:                                //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_pcrel_branch144963// CHECK: tbz    xzr, #63, elsewhere     // encoding: [0bAAA11111,A,0b11111AAA,0xb6]4964// CHECK:                                //   fixup A - offset: 0, value: elsewhere, kind: fixup_aarch64_pcrel_branch144965// CHECK: tbnz   x5, #45, nowhere        // encoding: [0bAAA00101,A,0b01101AAA,0xb7]4966// CHECK:                                //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_pcrel_branch144967 4968 4969        tbnz w3, #2, there4970        tbnz wzr, #31, nowhere4971        tbz w5, #12, anywhere4972 4973// CHECK: tbnz    w3, #2, there           // encoding: [0bAAA00011,A,0b00010AAA,0x37]4974// CHECK:                                 //   fixup A - offset: 0, value: there, kind: fixup_aarch64_pcrel_branch144975// CHECK: tbnz    wzr, #31, nowhere       // encoding: [0bAAA11111,A,0b11111AAA,0x37]4976// CHECK:                                 //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_pcrel_branch144977// CHECK: tbz     w5, #12, anywhere       // encoding: [0bAAA00101,A,0b01100AAA,0x36]4978// CHECK:                                 //   fixup A - offset: 0, value: anywhere, kind: fixup_aarch64_pcrel_branch144979 4980//------------------------------------------------------------------------------4981// Unconditional branch (immediate)4982//------------------------------------------------------------------------------4983 4984        b somewhere4985        bl elsewhere4986 4987// CHECK: b    somewhere               // encoding: [A,A,A,0b000101AA]4988// CHECK:                              //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_pcrel_branch264989// CHECK: bl    elsewhere               // encoding: [A,A,A,0b100101AA]4990// CHECK:                               //   fixup A - offset: 0, value: elsewhere, kind: fixup_aarch64_pcrel_call264991 4992        b #44993        bl #04994        b #1342177244995        bl #-1342177284996// CHECK: b       #4                      // encoding: [0x01,0x00,0x00,0x14]4997// CHECK: bl      #0                      // encoding: [0x00,0x00,0x00,0x94]4998// CHECK: b       #134217724              // encoding: [0xff,0xff,0xff,0x15]4999// CHECK: bl      #-134217728             // encoding: [0x00,0x00,0x00,0x96]5000 5001//------------------------------------------------------------------------------5002// Unconditional branch (register)5003//------------------------------------------------------------------------------5004 5005        br x205006        blr xzr5007        ret x105008// CHECK: br       x20                        // encoding: [0x80,0x02,0x1f,0xd6]5009// CHECK: blr      xzr                        // encoding: [0xe0,0x03,0x3f,0xd6]5010// CHECK: ret      x10                        // encoding: [0x40,0x01,0x5f,0xd6]5011 5012        ret5013        eret5014        drps5015// CHECK: ret                                 // encoding: [0xc0,0x03,0x5f,0xd6]5016// CHECK: eret                                // encoding: [0xe0,0x03,0x9f,0xd6]5017// CHECK: drps                                // encoding: [0xe0,0x03,0xbf,0xd6]5018 5019