xref: /aosp_15_r20/external/llvm/test/MC/AArch64/basic-a64-instructions.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+fp-armv8 < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker  .globl _func
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax from the ARM ARM.
5*9880d681SAndroid Build Coastguard Worker// For complex constructs like shifter operands, check more thoroughly for them
6*9880d681SAndroid Build Coastguard Worker// once then spot check that following instructions accept the form generally.
7*9880d681SAndroid Build Coastguard Worker// This gives us good coverage while keeping the overall size of the test
8*9880d681SAndroid Build Coastguard Worker// more reasonable.
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker_func:
12*9880d681SAndroid Build Coastguard Worker// CHECK: _func
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
15*9880d681SAndroid Build Coastguard Worker// Add/sub (extended register)
16*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
17*9880d681SAndroid Build Coastguard Worker        // Basic extends 64-bit ops
18*9880d681SAndroid Build Coastguard Worker        add x2, x4, w5, uxtb
19*9880d681SAndroid Build Coastguard Worker        add x20, sp, w19, uxth
20*9880d681SAndroid Build Coastguard Worker        add x12, x1, w20, uxtw
21*9880d681SAndroid Build Coastguard Worker        add x20, x3, x13, uxtx
22*9880d681SAndroid Build Coastguard Worker        add x17, x25, w20, sxtb
23*9880d681SAndroid Build Coastguard Worker        add x18, x13, w19, sxth
24*9880d681SAndroid Build Coastguard Worker        add sp, x2, w3, sxtw
25*9880d681SAndroid Build Coastguard Worker        add x3, x5, x9, sxtx
26*9880d681SAndroid Build Coastguard Worker// CHECK: add      x2, x4, w5, uxtb           // encoding: [0x82,0x00,0x25,0x8b]
27*9880d681SAndroid Build Coastguard Worker// CHECK: add      x20, sp, w19, uxth         // encoding: [0xf4,0x23,0x33,0x8b]
28*9880d681SAndroid Build Coastguard Worker// CHECK: add      x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0x8b]
29*9880d681SAndroid Build Coastguard Worker// CHECK: add      x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0x8b]
30*9880d681SAndroid Build Coastguard Worker// CHECK: add      x17, x25, w20, sxtb        // encoding: [0x31,0x83,0x34,0x8b]
31*9880d681SAndroid Build Coastguard Worker// CHECK: add      x18, x13, w19, sxth        // encoding: [0xb2,0xa1,0x33,0x8b]
32*9880d681SAndroid Build Coastguard Worker// CHECK: add      sp, x2, w3, sxtw           // encoding: [0x5f,0xc0,0x23,0x8b]
33*9880d681SAndroid Build Coastguard Worker// CHECK: add      x3, x5, x9, sxtx           // encoding: [0xa3,0xe0,0x29,0x8b]
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker        // Basic extends, 32-bit ops
36*9880d681SAndroid Build Coastguard Worker        add w2, w5, w7, uxtb
37*9880d681SAndroid Build Coastguard Worker        add w21, w15, w17, uxth
38*9880d681SAndroid Build Coastguard Worker        add w30, w29, wzr, uxtw
39*9880d681SAndroid Build Coastguard Worker        add w19, w17, w1, uxtx  // Goodness knows what this means
40*9880d681SAndroid Build Coastguard Worker        add w2, w5, w1, sxtb
41*9880d681SAndroid Build Coastguard Worker        add w26, w17, w19, sxth
42*9880d681SAndroid Build Coastguard Worker        add w0, w2, w3, sxtw
43*9880d681SAndroid Build Coastguard Worker        add w2, w3, w5, sxtx
44*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x0b]
45*9880d681SAndroid Build Coastguard Worker// CHECK: add      w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x0b]
46*9880d681SAndroid Build Coastguard Worker// CHECK: add      w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x0b]
47*9880d681SAndroid Build Coastguard Worker// CHECK: add      w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x0b]
48*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, w5, w1, sxtb           // encoding: [0xa2,0x80,0x21,0x0b]
49*9880d681SAndroid Build Coastguard Worker// CHECK: add      w26, w17, w19, sxth        // encoding: [0x3a,0xa2,0x33,0x0b]
50*9880d681SAndroid Build Coastguard Worker// CHECK: add      w0, w2, w3, sxtw           // encoding: [0x40,0xc0,0x23,0x0b]
51*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x0b]
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker        // Nonzero shift amounts
54*9880d681SAndroid Build Coastguard Worker        add x2, x3, w5, sxtb #0
55*9880d681SAndroid Build Coastguard Worker        add x7, x11, w13, uxth #4
56*9880d681SAndroid Build Coastguard Worker        add w17, w19, w23, uxtw #2
57*9880d681SAndroid Build Coastguard Worker        add w29, w23, w17, uxtx #1
58*9880d681SAndroid Build Coastguard Worker// CHECK: add      x2, x3, w5, sxtb           // encoding: [0x62,0x80,0x25,0x8b]
59*9880d681SAndroid Build Coastguard Worker// CHECK: add      x7, x11, w13, uxth #4      // encoding: [0x67,0x31,0x2d,0x8b]
60*9880d681SAndroid Build Coastguard Worker// CHECK: add      w17, w19, w23, uxtw #2     // encoding: [0x71,0x4a,0x37,0x0b]
61*9880d681SAndroid Build Coastguard Worker// CHECK: add      w29, w23, w17, uxtx #1     // encoding: [0xfd,0x66,0x31,0x0b]
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker        // Sub
64*9880d681SAndroid Build Coastguard Worker        sub x2, x4, w5, uxtb #2
65*9880d681SAndroid Build Coastguard Worker        sub x20, sp, w19, uxth #4
66*9880d681SAndroid Build Coastguard Worker        sub x12, x1, w20, uxtw
67*9880d681SAndroid Build Coastguard Worker        sub x20, x3, x13, uxtx #0
68*9880d681SAndroid Build Coastguard Worker        sub x17, x25, w20, sxtb
69*9880d681SAndroid Build Coastguard Worker        sub x18, x13, w19, sxth
70*9880d681SAndroid Build Coastguard Worker        sub sp, x2, w3, sxtw
71*9880d681SAndroid Build Coastguard Worker        sub x3, x5, x9, sxtx
72*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xcb]
73*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xcb]
74*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xcb]
75*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xcb]
76*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x17, x25, w20, sxtb        // encoding: [0x31,0x83,0x34,0xcb]
77*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x18, x13, w19, sxth        // encoding: [0xb2,0xa1,0x33,0xcb]
78*9880d681SAndroid Build Coastguard Worker// CHECK: sub      sp, x2, w3, sxtw           // encoding: [0x5f,0xc0,0x23,0xcb]
79*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x3, x5, x9, sxtx           // encoding: [0xa3,0xe0,0x29,0xcb]
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker        sub w2, w5, w7, uxtb
82*9880d681SAndroid Build Coastguard Worker        sub w21, w15, w17, uxth
83*9880d681SAndroid Build Coastguard Worker        sub w30, w29, wzr, uxtw
84*9880d681SAndroid Build Coastguard Worker        sub w19, w17, w1, uxtx  // Goodness knows what this means
85*9880d681SAndroid Build Coastguard Worker        sub w2, w5, w1, sxtb
86*9880d681SAndroid Build Coastguard Worker        sub w26, wsp, w19, sxth
87*9880d681SAndroid Build Coastguard Worker        sub wsp, w2, w3, sxtw
88*9880d681SAndroid Build Coastguard Worker        sub w2, w3, w5, sxtx
89*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x4b]
90*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x4b]
91*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x4b]
92*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x4b]
93*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w2, w5, w1, sxtb           // encoding: [0xa2,0x80,0x21,0x4b]
94*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x4b]
95*9880d681SAndroid Build Coastguard Worker// CHECK: sub      wsp, w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x4b]
96*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x4b]
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker        // Adds
99*9880d681SAndroid Build Coastguard Worker        adds x2, x4, w5, uxtb #2
100*9880d681SAndroid Build Coastguard Worker        adds x20, sp, w19, uxth #4
101*9880d681SAndroid Build Coastguard Worker        adds x12, x1, w20, uxtw
102*9880d681SAndroid Build Coastguard Worker        adds x20, x3, x13, uxtx #0
103*9880d681SAndroid Build Coastguard Worker        adds xzr, x25, w20, sxtb #3
104*9880d681SAndroid Build Coastguard Worker        adds x18, sp, w19, sxth
105*9880d681SAndroid Build Coastguard Worker        adds xzr, x2, w3, sxtw
106*9880d681SAndroid Build Coastguard Worker        adds x3, x5, x9, sxtx #2
107*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xab]
108*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xab]
109*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xab]
110*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xab]
111*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds xzr,|cmn}} x25, w20, sxtb #3     // encoding: [0x3f,0x8f,0x34,0xab]
112*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x18, sp, w19, sxth         // encoding: [0xf2,0xa3,0x33,0xab]
113*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds xzr,|cmn}} x2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0xab]
114*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x3, x5, x9, sxtx #2        // encoding: [0xa3,0xe8,0x29,0xab]
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Worker        adds w2, w5, w7, uxtb
117*9880d681SAndroid Build Coastguard Worker        adds w21, w15, w17, uxth
118*9880d681SAndroid Build Coastguard Worker        adds w30, w29, wzr, uxtw
119*9880d681SAndroid Build Coastguard Worker        adds w19, w17, w1, uxtx  // Goodness knows what this means
120*9880d681SAndroid Build Coastguard Worker        adds w2, w5, w1, sxtb #1
121*9880d681SAndroid Build Coastguard Worker        adds w26, wsp, w19, sxth
122*9880d681SAndroid Build Coastguard Worker        adds wzr, w2, w3, sxtw
123*9880d681SAndroid Build Coastguard Worker        adds w2, w3, w5, sxtx
124*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x2b]
125*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x2b]
126*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x2b]
127*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x2b]
128*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w2, w5, w1, sxtb #1        // encoding: [0xa2,0x84,0x21,0x2b]
129*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x2b]
130*9880d681SAndroid Build Coastguard Worker// CHECK: cmn w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x2b]
131*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x2b]
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker        // subs
134*9880d681SAndroid Build Coastguard Worker        subs x2, x4, w5, uxtb #2
135*9880d681SAndroid Build Coastguard Worker        subs x20, sp, w19, uxth #4
136*9880d681SAndroid Build Coastguard Worker        subs x12, x1, w20, uxtw
137*9880d681SAndroid Build Coastguard Worker        subs x20, x3, x13, uxtx #0
138*9880d681SAndroid Build Coastguard Worker        subs xzr, x25, w20, sxtb #3
139*9880d681SAndroid Build Coastguard Worker        subs x18, sp, w19, sxth
140*9880d681SAndroid Build Coastguard Worker        subs xzr, x2, w3, sxtw
141*9880d681SAndroid Build Coastguard Worker        subs x3, x5, x9, sxtx #2
142*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x2, x4, w5, uxtb #2        // encoding: [0x82,0x08,0x25,0xeb]
143*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x20, sp, w19, uxth #4      // encoding: [0xf4,0x33,0x33,0xeb]
144*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x12, x1, w20, uxtw         // encoding: [0x2c,0x40,0x34,0xeb]
145*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x20, x3, x13, uxtx         // encoding: [0x74,0x60,0x2d,0xeb]
146*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs xzr,|cmp}} x25, w20, sxtb #3     // encoding: [0x3f,0x8f,0x34,0xeb]
147*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x18, sp, w19, sxth         // encoding: [0xf2,0xa3,0x33,0xeb]
148*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs xzr,|cmp}} x2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0xeb]
149*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x3, x5, x9, sxtx #2        // encoding: [0xa3,0xe8,0x29,0xeb]
150*9880d681SAndroid Build Coastguard Worker
151*9880d681SAndroid Build Coastguard Worker        subs w2, w5, w7, uxtb
152*9880d681SAndroid Build Coastguard Worker        subs w21, w15, w17, uxth
153*9880d681SAndroid Build Coastguard Worker        subs w30, w29, wzr, uxtw
154*9880d681SAndroid Build Coastguard Worker        subs w19, w17, w1, uxtx  // Goodness knows what this means
155*9880d681SAndroid Build Coastguard Worker        subs w2, w5, w1, sxtb #1
156*9880d681SAndroid Build Coastguard Worker        subs w26, wsp, w19, sxth
157*9880d681SAndroid Build Coastguard Worker        subs wzr, w2, w3, sxtw
158*9880d681SAndroid Build Coastguard Worker        subs w2, w3, w5, sxtx
159*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w2, w5, w7, uxtb           // encoding: [0xa2,0x00,0x27,0x6b]
160*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w21, w15, w17, uxth        // encoding: [0xf5,0x21,0x31,0x6b]
161*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w30, w29, wzr, uxtw        // encoding: [0xbe,0x43,0x3f,0x6b]
162*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w19, w17, w1, uxtx         // encoding: [0x33,0x62,0x21,0x6b]
163*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w2, w5, w1, sxtb #1        // encoding: [0xa2,0x84,0x21,0x6b]
164*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w26, wsp, w19, sxth        // encoding: [0xfa,0xa3,0x33,0x6b]
165*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs wzr,|cmp}} w2, w3, sxtw          // encoding: [0x5f,0xc0,0x23,0x6b]
166*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w2, w3, w5, sxtx           // encoding: [0x62,0xe0,0x25,0x6b]
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker        // cmp
169*9880d681SAndroid Build Coastguard Worker        cmp x4, w5, uxtb #2
170*9880d681SAndroid Build Coastguard Worker        cmp sp, w19, uxth #4
171*9880d681SAndroid Build Coastguard Worker        cmp x1, w20, uxtw
172*9880d681SAndroid Build Coastguard Worker        cmp x3, x13, uxtx #0
173*9880d681SAndroid Build Coastguard Worker        cmp x25, w20, sxtb #3
174*9880d681SAndroid Build Coastguard Worker        cmp sp, w19, sxth
175*9880d681SAndroid Build Coastguard Worker        cmp x2, w3, sxtw
176*9880d681SAndroid Build Coastguard Worker        cmp x5, x9, sxtx #2
177*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x4, w5, uxtb #2            // encoding: [0x9f,0x08,0x25,0xeb]
178*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      sp, w19, uxth #4           // encoding: [0xff,0x33,0x33,0xeb]
179*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x1, w20, uxtw              // encoding: [0x3f,0x40,0x34,0xeb]
180*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x3, x13, uxtx              // encoding: [0x7f,0x60,0x2d,0xeb]
181*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x25, w20, sxtb #3          // encoding: [0x3f,0x8f,0x34,0xeb]
182*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      sp, w19, sxth              // encoding: [0xff,0xa3,0x33,0xeb]
183*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0xeb]
184*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x5, x9, sxtx #2            // encoding: [0xbf,0xe8,0x29,0xeb]
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Worker        cmp w5, w7, uxtb
187*9880d681SAndroid Build Coastguard Worker        cmp w15, w17, uxth
188*9880d681SAndroid Build Coastguard Worker        cmp w29, wzr, uxtw
189*9880d681SAndroid Build Coastguard Worker        cmp w17, w1, uxtx  // Goodness knows what this means
190*9880d681SAndroid Build Coastguard Worker        cmp w5, w1, sxtb #1
191*9880d681SAndroid Build Coastguard Worker        cmp wsp, w19, sxth
192*9880d681SAndroid Build Coastguard Worker        cmp w2, w3, sxtw
193*9880d681SAndroid Build Coastguard Worker        cmp w3, w5, sxtx
194*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w5, w7, uxtb               // encoding: [0xbf,0x00,0x27,0x6b]
195*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w15, w17, uxth             // encoding: [0xff,0x21,0x31,0x6b]
196*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w29, wzr, uxtw             // encoding: [0xbf,0x43,0x3f,0x6b]
197*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w17, w1, uxtx              // encoding: [0x3f,0x62,0x21,0x6b]
198*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w5, w1, sxtb #1            // encoding: [0xbf,0x84,0x21,0x6b]
199*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wsp, w19, sxth             // encoding: [0xff,0xa3,0x33,0x6b]
200*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0x6b]
201*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w3, w5, sxtx               // encoding: [0x7f,0xe0,0x25,0x6b]
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Worker
204*9880d681SAndroid Build Coastguard Worker        // cmn
205*9880d681SAndroid Build Coastguard Worker        cmn x4, w5, uxtb #2
206*9880d681SAndroid Build Coastguard Worker        cmn sp, w19, uxth #4
207*9880d681SAndroid Build Coastguard Worker        cmn x1, w20, uxtw
208*9880d681SAndroid Build Coastguard Worker        cmn x3, x13, uxtx #0
209*9880d681SAndroid Build Coastguard Worker        cmn x25, w20, sxtb #3
210*9880d681SAndroid Build Coastguard Worker        cmn sp, w19, sxth
211*9880d681SAndroid Build Coastguard Worker        cmn x2, w3, sxtw
212*9880d681SAndroid Build Coastguard Worker        cmn x5, x9, sxtx #2
213*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x4, w5, uxtb #2            // encoding: [0x9f,0x08,0x25,0xab]
214*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      sp, w19, uxth #4           // encoding: [0xff,0x33,0x33,0xab]
215*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x1, w20, uxtw              // encoding: [0x3f,0x40,0x34,0xab]
216*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x3, x13, uxtx              // encoding: [0x7f,0x60,0x2d,0xab]
217*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x25, w20, sxtb #3          // encoding: [0x3f,0x8f,0x34,0xab]
218*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      sp, w19, sxth              // encoding: [0xff,0xa3,0x33,0xab]
219*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0xab]
220*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x5, x9, sxtx #2            // encoding: [0xbf,0xe8,0x29,0xab]
221*9880d681SAndroid Build Coastguard Worker
222*9880d681SAndroid Build Coastguard Worker        cmn w5, w7, uxtb
223*9880d681SAndroid Build Coastguard Worker        cmn w15, w17, uxth
224*9880d681SAndroid Build Coastguard Worker        cmn w29, wzr, uxtw
225*9880d681SAndroid Build Coastguard Worker        cmn w17, w1, uxtx  // Goodness knows what this means
226*9880d681SAndroid Build Coastguard Worker        cmn w5, w1, sxtb #1
227*9880d681SAndroid Build Coastguard Worker        cmn wsp, w19, sxth
228*9880d681SAndroid Build Coastguard Worker        cmn w2, w3, sxtw
229*9880d681SAndroid Build Coastguard Worker        cmn w3, w5, sxtx
230*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w5, w7, uxtb               // encoding: [0xbf,0x00,0x27,0x2b]
231*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w15, w17, uxth             // encoding: [0xff,0x21,0x31,0x2b]
232*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w29, wzr, uxtw             // encoding: [0xbf,0x43,0x3f,0x2b]
233*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w17, w1, uxtx              // encoding: [0x3f,0x62,0x21,0x2b]
234*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w5, w1, sxtb #1            // encoding: [0xbf,0x84,0x21,0x2b]
235*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      wsp, w19, sxth             // encoding: [0xff,0xa3,0x33,0x2b]
236*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w2, w3, sxtw               // encoding: [0x5f,0xc0,0x23,0x2b]
237*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      w3, w5, sxtx               // encoding: [0x7f,0xe0,0x25,0x2b]
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Worker        // operands for cmp
240*9880d681SAndroid Build Coastguard Worker        cmp x20, w29, uxtb #3
241*9880d681SAndroid Build Coastguard Worker        cmp x12, x13, uxtx #4
242*9880d681SAndroid Build Coastguard Worker        cmp wsp, w1, uxtb
243*9880d681SAndroid Build Coastguard Worker        cmn wsp, wzr, sxtw
244*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x20, w29, uxtb #3          // encoding: [0x9f,0x0e,0x3d,0xeb]
245*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x12, x13, uxtx #4          // encoding: [0x9f,0x71,0x2d,0xeb]
246*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wsp, w1, uxtb              // encoding: [0xff,0x03,0x21,0x6b]
247*9880d681SAndroid Build Coastguard Worker// CHECK: {{cmn|adds wzr,}}      wsp, wzr, sxtw             // encoding: [0xff,0xc3,0x3f,0x2b]
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Worker        // LSL variant if sp involved
250*9880d681SAndroid Build Coastguard Worker        sub sp, x3, x7, lsl #4
251*9880d681SAndroid Build Coastguard Worker        add w2, wsp, w3, lsl #1
252*9880d681SAndroid Build Coastguard Worker        cmp wsp, w9, lsl #0
253*9880d681SAndroid Build Coastguard Worker        adds wzr, wsp, w3, lsl #4
254*9880d681SAndroid Build Coastguard Worker        subs x3, sp, x9, lsl #2
255*9880d681SAndroid Build Coastguard Worker// CHECK: sub      sp, x3, x7, lsl #4         // encoding: [0x7f,0x70,0x27,0xcb]
256*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, wsp, w3, lsl #1        // encoding: [0xe2,0x47,0x23,0x0b]
257*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wsp, w9                    // encoding: [0xff,0x43,0x29,0x6b]
258*9880d681SAndroid Build Coastguard Worker// CHECK: cmn wsp, w3, lsl #4       // encoding: [0xff,0x53,0x23,0x2b]
259*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x3, sp, x9, lsl #2         // encoding: [0xe3,0x6b,0x29,0xeb]
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
262*9880d681SAndroid Build Coastguard Worker// Add/sub (immediate)
263*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
264*9880d681SAndroid Build Coastguard Worker
265*9880d681SAndroid Build Coastguard Worker// Check basic immediate values: an unsigned 12-bit immediate, optionally
266*9880d681SAndroid Build Coastguard Worker// shifted left by 12 bits.
267*9880d681SAndroid Build Coastguard Worker        add w4, w5, #0x0
268*9880d681SAndroid Build Coastguard Worker        add w2, w3, #4095
269*9880d681SAndroid Build Coastguard Worker        add w30, w29, #1, lsl #12
270*9880d681SAndroid Build Coastguard Worker        add w13, w5, #4095, lsl #12
271*9880d681SAndroid Build Coastguard Worker        add x5, x7, #1638
272*9880d681SAndroid Build Coastguard Worker// CHECK: add      w4, w5, #0                 // encoding: [0xa4,0x00,0x00,0x11]
273*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, w3, #4095              // encoding: [0x62,0xfc,0x3f,0x11]
274*9880d681SAndroid Build Coastguard Worker// CHECK: add      w30, w29, #1, lsl #12      // encoding: [0xbe,0x07,0x40,0x11]
275*9880d681SAndroid Build Coastguard Worker// CHECK: add      w13, w5, #4095, lsl #12    // encoding: [0xad,0xfc,0x7f,0x11]
276*9880d681SAndroid Build Coastguard Worker// CHECK: add      x5, x7, #1638              // encoding: [0xe5,0x98,0x19,0x91]
277*9880d681SAndroid Build Coastguard Worker
278*9880d681SAndroid Build Coastguard Worker// All registers involved in the non-S variants have 31 encoding sp rather than zr
279*9880d681SAndroid Build Coastguard Worker        add w20, wsp, #801, lsl #0
280*9880d681SAndroid Build Coastguard Worker        add wsp, wsp, #1104
281*9880d681SAndroid Build Coastguard Worker        add wsp, w30, #4084
282*9880d681SAndroid Build Coastguard Worker// CHECK: add      w20, wsp, #801             // encoding: [0xf4,0x87,0x0c,0x11]
283*9880d681SAndroid Build Coastguard Worker// CHECK: add      wsp, wsp, #1104            // encoding: [0xff,0x43,0x11,0x11]
284*9880d681SAndroid Build Coastguard Worker// CHECK: add      wsp, w30, #4084            // encoding: [0xdf,0xd3,0x3f,0x11]
285*9880d681SAndroid Build Coastguard Worker
286*9880d681SAndroid Build Coastguard Worker// A few checks on the sanity of 64-bit versions
287*9880d681SAndroid Build Coastguard Worker        add x0, x24, #291
288*9880d681SAndroid Build Coastguard Worker        add x3, x24, #4095, lsl #12
289*9880d681SAndroid Build Coastguard Worker        add x8, sp, #1074
290*9880d681SAndroid Build Coastguard Worker        add sp, x29, #3816
291*9880d681SAndroid Build Coastguard Worker// CHECK: add      x0, x24, #291              // encoding: [0x00,0x8f,0x04,0x91]
292*9880d681SAndroid Build Coastguard Worker// CHECK: add      x3, x24, #4095, lsl #12    // encoding: [0x03,0xff,0x7f,0x91]
293*9880d681SAndroid Build Coastguard Worker// CHECK: add      x8, sp, #1074              // encoding: [0xe8,0xcb,0x10,0x91]
294*9880d681SAndroid Build Coastguard Worker// CHECK: add      sp, x29, #3816             // encoding: [0xbf,0xa3,0x3b,0x91]
295*9880d681SAndroid Build Coastguard Worker
296*9880d681SAndroid Build Coastguard Worker// And on sub
297*9880d681SAndroid Build Coastguard Worker        sub w0, wsp, #4077
298*9880d681SAndroid Build Coastguard Worker        sub w4, w20, #546, lsl #12
299*9880d681SAndroid Build Coastguard Worker        sub sp, sp, #288
300*9880d681SAndroid Build Coastguard Worker        sub wsp, w19, #16
301*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w0, wsp, #4077             // encoding: [0xe0,0xb7,0x3f,0x51]
302*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w4, w20, #546, lsl #12     // encoding: [0x84,0x8a,0x48,0x51]
303*9880d681SAndroid Build Coastguard Worker// CHECK: sub      sp, sp, #288               // encoding: [0xff,0x83,0x04,0xd1]
304*9880d681SAndroid Build Coastguard Worker// CHECK: sub      wsp, w19, #16              // encoding: [0x7f,0x42,0x00,0x51]
305*9880d681SAndroid Build Coastguard Worker
306*9880d681SAndroid Build Coastguard Worker// ADDS/SUBS accept zr in the Rd position but sp in the Rn position
307*9880d681SAndroid Build Coastguard Worker        adds w13, w23, #291, lsl #12
308*9880d681SAndroid Build Coastguard Worker        adds wzr, w2, #4095                  // FIXME: canonically should be cmn
309*9880d681SAndroid Build Coastguard Worker        adds w20, wsp, #0x0
310*9880d681SAndroid Build Coastguard Worker        adds xzr, x3, #0x1, lsl #12          // FIXME: canonically should be cmn
311*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w13, w23, #291, lsl #12    // encoding: [0xed,0x8e,0x44,0x31]
312*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds wzr,|cmn}} w2, #4095         // encoding: [0x5f,0xfc,0x3f,0x31]
313*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w20, wsp, #0               // encoding: [0xf4,0x03,0x00,0x31]
314*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds xzr,|cmn}} x3, #1, lsl #12   // encoding: [0x7f,0x04,0x40,0xb1]
315*9880d681SAndroid Build Coastguard Worker
316*9880d681SAndroid Build Coastguard Worker// Checks for subs
317*9880d681SAndroid Build Coastguard Worker        subs xzr, sp, #20, lsl #12           // FIXME: canonically should be cmp
318*9880d681SAndroid Build Coastguard Worker        subs xzr, x30, #4095, lsl #0         // FIXME: canonically should be cmp
319*9880d681SAndroid Build Coastguard Worker        subs x4, sp, #3822
320*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs xzr,|cmp}} sp, #20, lsl #12  // encoding: [0xff,0x53,0x40,0xf1]
321*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs xzr,|cmp}} x30, #4095        // encoding: [0xdf,0xff,0x3f,0xf1]
322*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x4, sp, #3822              // encoding: [0xe4,0xbb,0x3b,0xf1]
323*9880d681SAndroid Build Coastguard Worker
324*9880d681SAndroid Build Coastguard Worker// cmn is an alias for adds zr, ...
325*9880d681SAndroid Build Coastguard Worker        cmn w3, #291, lsl #12
326*9880d681SAndroid Build Coastguard Worker        cmn wsp, #1365, lsl #0
327*9880d681SAndroid Build Coastguard Worker        cmn sp, #1092, lsl #12
328*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w3, #291, lsl #12          // encoding: [0x7f,0x8c,0x44,0x31]
329*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      wsp, #1365                 // encoding: [0xff,0x57,0x15,0x31]
330*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      sp, #1092, lsl #12         // encoding: [0xff,0x13,0x51,0xb1]
331*9880d681SAndroid Build Coastguard Worker
332*9880d681SAndroid Build Coastguard Worker// cmp is an alias for subs zr, ... (FIXME: should always disassemble as such too).
333*9880d681SAndroid Build Coastguard Worker        cmp x4, #300, lsl #12
334*9880d681SAndroid Build Coastguard Worker        cmp wsp, #500
335*9880d681SAndroid Build Coastguard Worker        cmp sp, #200, lsl #0
336*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x4, #300, lsl #12          // encoding: [0x9f,0xb0,0x44,0xf1]
337*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wsp, #500                  // encoding: [0xff,0xd3,0x07,0x71]
338*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      sp, #200                   // encoding: [0xff,0x23,0x03,0xf1]
339*9880d681SAndroid Build Coastguard Worker
340*9880d681SAndroid Build Coastguard Worker// A "MOV" involving sp is encoded in this manner: add Reg, Reg, #0
341*9880d681SAndroid Build Coastguard Worker        mov sp, x30
342*9880d681SAndroid Build Coastguard Worker        mov wsp, w20
343*9880d681SAndroid Build Coastguard Worker        mov x11, sp
344*9880d681SAndroid Build Coastguard Worker        mov w24, wsp
345*9880d681SAndroid Build Coastguard Worker// CHECK: mov      sp, x30                    // encoding: [0xdf,0x03,0x00,0x91]
346*9880d681SAndroid Build Coastguard Worker// CHECK: mov      wsp, w20                   // encoding: [0x9f,0x02,0x00,0x11]
347*9880d681SAndroid Build Coastguard Worker// CHECK: mov      x11, sp                    // encoding: [0xeb,0x03,0x00,0x91]
348*9880d681SAndroid Build Coastguard Worker// CHECK: mov      w24, wsp                   // encoding: [0xf8,0x03,0x00,0x11]
349*9880d681SAndroid Build Coastguard Worker
350*9880d681SAndroid Build Coastguard Worker// A relocation check (default to lo12, which is the only sane relocation anyway really)
351*9880d681SAndroid Build Coastguard Worker        add x0, x4, #:lo12:var
352*9880d681SAndroid Build Coastguard Worker// CHECK: add x0, x4, :lo12:var       // encoding: [0x80,0bAAAAAA00,0b00AAAAAA,0x91]
353*9880d681SAndroid Build Coastguard Worker// CHECK:                             // fixup A - offset: 0, value: :lo12:var, kind: fixup_aarch64_add_imm12
354*9880d681SAndroid Build Coastguard Worker
355*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
356*9880d681SAndroid Build Coastguard Worker// Add-sub (shifted register)
357*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
358*9880d681SAndroid Build Coastguard Worker
359*9880d681SAndroid Build Coastguard Worker// As usual, we don't print the canonical forms of many instructions.
360*9880d681SAndroid Build Coastguard Worker
361*9880d681SAndroid Build Coastguard Worker        add w3, w5, w7
362*9880d681SAndroid Build Coastguard Worker        add wzr, w3, w5
363*9880d681SAndroid Build Coastguard Worker        add w20, wzr, w4
364*9880d681SAndroid Build Coastguard Worker        add w4, w6, wzr
365*9880d681SAndroid Build Coastguard Worker// CHECK: add      w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x0b]
366*9880d681SAndroid Build Coastguard Worker// CHECK: add      wzr, w3, w5                // encoding: [0x7f,0x00,0x05,0x0b]
367*9880d681SAndroid Build Coastguard Worker// CHECK: add      w20, wzr, w4               // encoding: [0xf4,0x03,0x04,0x0b]
368*9880d681SAndroid Build Coastguard Worker// CHECK: add      w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x0b]
369*9880d681SAndroid Build Coastguard Worker
370*9880d681SAndroid Build Coastguard Worker        add w11, w13, w15, lsl #0
371*9880d681SAndroid Build Coastguard Worker        add w9, w3, wzr, lsl #10
372*9880d681SAndroid Build Coastguard Worker        add w17, w29, w20, lsl #31
373*9880d681SAndroid Build Coastguard Worker        add w17, w29, w20, lsl #(31-2)
374*9880d681SAndroid Build Coastguard Worker// CHECK: add      w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x0b]
375*9880d681SAndroid Build Coastguard Worker// CHECK: add      w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x0b]
376*9880d681SAndroid Build Coastguard Worker// CHECK: add      w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x0b]
377*9880d681SAndroid Build Coastguard Worker// CHECK: add      w17, w29, w20, lsl #29     // encoding: [0xb1,0x77,0x14,0x0b]
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Worker        add w21, w22, w23, lsr #0
380*9880d681SAndroid Build Coastguard Worker        add w24, w25, w26, lsr #18
381*9880d681SAndroid Build Coastguard Worker        add w27, w28, w29, lsr #31
382*9880d681SAndroid Build Coastguard Worker        add w27, w28, w29, lsr #(31-2)
383*9880d681SAndroid Build Coastguard Worker// CHECK: add      w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x0b]
384*9880d681SAndroid Build Coastguard Worker// CHECK: add      w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x0b]
385*9880d681SAndroid Build Coastguard Worker// CHECK: add      w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x0b]
386*9880d681SAndroid Build Coastguard Worker// CHECK: add      w27, w28, w29, lsr #29     // encoding: [0x9b,0x77,0x5d,0x0b]
387*9880d681SAndroid Build Coastguard Worker
388*9880d681SAndroid Build Coastguard Worker        add w2, w3, w4, asr #0
389*9880d681SAndroid Build Coastguard Worker        add w5, w6, w7, asr #21
390*9880d681SAndroid Build Coastguard Worker        add w8, w9, w10, asr #31
391*9880d681SAndroid Build Coastguard Worker        add w8, w9, w10, asr #(31-2)
392*9880d681SAndroid Build Coastguard Worker// CHECK: add      w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x0b]
393*9880d681SAndroid Build Coastguard Worker// CHECK: add      w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x0b]
394*9880d681SAndroid Build Coastguard Worker// CHECK: add      w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x0b]
395*9880d681SAndroid Build Coastguard Worker// CHECK: add      w8, w9, w10, asr #29       // encoding: [0x28,0x75,0x8a,0x0b]
396*9880d681SAndroid Build Coastguard Worker
397*9880d681SAndroid Build Coastguard Worker        add x3, x5, x7
398*9880d681SAndroid Build Coastguard Worker        add xzr, x3, x5
399*9880d681SAndroid Build Coastguard Worker        add x20, xzr, x4
400*9880d681SAndroid Build Coastguard Worker        add x4, x6, xzr
401*9880d681SAndroid Build Coastguard Worker// CHECK: add      x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0x8b]
402*9880d681SAndroid Build Coastguard Worker// CHECK: add      xzr, x3, x5                // encoding: [0x7f,0x00,0x05,0x8b]
403*9880d681SAndroid Build Coastguard Worker// CHECK: add      x20, xzr, x4               // encoding: [0xf4,0x03,0x04,0x8b]
404*9880d681SAndroid Build Coastguard Worker// CHECK: add      x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0x8b]
405*9880d681SAndroid Build Coastguard Worker
406*9880d681SAndroid Build Coastguard Worker        add x11, x13, x15, lsl #0
407*9880d681SAndroid Build Coastguard Worker        add x9, x3, xzr, lsl #10
408*9880d681SAndroid Build Coastguard Worker        add x17, x29, x20, lsl #63
409*9880d681SAndroid Build Coastguard Worker        add x17, x29, x20, lsl #(63-5)
410*9880d681SAndroid Build Coastguard Worker// CHECK: add      x11, x13, x15              // encoding: [0xab,0x01,0x0f,0x8b]
411*9880d681SAndroid Build Coastguard Worker// CHECK: add      x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x8b]
412*9880d681SAndroid Build Coastguard Worker// CHECK: add      x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0x8b]
413*9880d681SAndroid Build Coastguard Worker// CHECK: add	   x17, x29, x20, lsl #58     // encoding: [0xb1,0xeb,0x14,0x8b]
414*9880d681SAndroid Build Coastguard Worker
415*9880d681SAndroid Build Coastguard Worker        add x21, x22, x23, lsr #0
416*9880d681SAndroid Build Coastguard Worker        add x24, x25, x26, lsr #18
417*9880d681SAndroid Build Coastguard Worker        add x27, x28, x29, lsr #63
418*9880d681SAndroid Build Coastguard Worker        add x17, x29, x20, lsr #(63-5)
419*9880d681SAndroid Build Coastguard Worker// CHECK: add      x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0x8b]
420*9880d681SAndroid Build Coastguard Worker// CHECK: add      x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x8b]
421*9880d681SAndroid Build Coastguard Worker// CHECK: add      x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0x8b]
422*9880d681SAndroid Build Coastguard Worker// CHECK: add	   x17, x29, x20, lsr #58     // encoding: [0xb1,0xeb,0x54,0x8b]
423*9880d681SAndroid Build Coastguard Worker
424*9880d681SAndroid Build Coastguard Worker        add x2, x3, x4, asr #0
425*9880d681SAndroid Build Coastguard Worker        add x5, x6, x7, asr #21
426*9880d681SAndroid Build Coastguard Worker        add x8, x9, x10, asr #63
427*9880d681SAndroid Build Coastguard Worker        add x17, x29, x20, asr #(63-5)
428*9880d681SAndroid Build Coastguard Worker// CHECK: add      x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0x8b]
429*9880d681SAndroid Build Coastguard Worker// CHECK: add      x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0x8b]
430*9880d681SAndroid Build Coastguard Worker// CHECK: add      x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0x8b]
431*9880d681SAndroid Build Coastguard Worker// CHECK: add	   x17, x29, x20, asr #58     // encoding: [0xb1,0xeb,0x94,0x8b]
432*9880d681SAndroid Build Coastguard Worker
433*9880d681SAndroid Build Coastguard Worker        adds w3, w5, w7
434*9880d681SAndroid Build Coastguard Worker        adds wzr, w3, w5
435*9880d681SAndroid Build Coastguard Worker        adds w20, wzr, w4
436*9880d681SAndroid Build Coastguard Worker        adds w4, w6, wzr
437*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x2b]
438*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds wzr,|cmn}} w3, w5                // encoding: [0x7f,0x00,0x05,0x2b]
439*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w20, wzr, w4               // encoding: [0xf4,0x03,0x04,0x2b]
440*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x2b]
441*9880d681SAndroid Build Coastguard Worker
442*9880d681SAndroid Build Coastguard Worker        adds w11, w13, w15, lsl #0
443*9880d681SAndroid Build Coastguard Worker        adds w9, w3, wzr, lsl #10
444*9880d681SAndroid Build Coastguard Worker        adds w17, w29, w20, lsl #31
445*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x2b]
446*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x2b]
447*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x2b]
448*9880d681SAndroid Build Coastguard Worker
449*9880d681SAndroid Build Coastguard Worker        adds w21, w22, w23, lsr #0
450*9880d681SAndroid Build Coastguard Worker        adds w24, w25, w26, lsr #18
451*9880d681SAndroid Build Coastguard Worker        adds w27, w28, w29, lsr #31
452*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x2b]
453*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x2b]
454*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x2b]
455*9880d681SAndroid Build Coastguard Worker
456*9880d681SAndroid Build Coastguard Worker        adds w2, w3, w4, asr #0
457*9880d681SAndroid Build Coastguard Worker        adds w5, w6, w7, asr #21
458*9880d681SAndroid Build Coastguard Worker        adds w8, w9, w10, asr #31
459*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x2b]
460*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x2b]
461*9880d681SAndroid Build Coastguard Worker// CHECK: adds     w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x2b]
462*9880d681SAndroid Build Coastguard Worker
463*9880d681SAndroid Build Coastguard Worker        adds x3, x5, x7
464*9880d681SAndroid Build Coastguard Worker        adds xzr, x3, x5
465*9880d681SAndroid Build Coastguard Worker        adds x20, xzr, x4
466*9880d681SAndroid Build Coastguard Worker        adds x4, x6, xzr
467*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xab]
468*9880d681SAndroid Build Coastguard Worker// CHECK: {{adds xzr,|cmn}} x3, x5                // encoding: [0x7f,0x00,0x05,0xab]
469*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x20, xzr, x4               // encoding: [0xf4,0x03,0x04,0xab]
470*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xab]
471*9880d681SAndroid Build Coastguard Worker
472*9880d681SAndroid Build Coastguard Worker        adds x11, x13, x15, lsl #0
473*9880d681SAndroid Build Coastguard Worker        adds x9, x3, xzr, lsl #10
474*9880d681SAndroid Build Coastguard Worker        adds x17, x29, x20, lsl #63
475*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xab]
476*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xab]
477*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xab]
478*9880d681SAndroid Build Coastguard Worker
479*9880d681SAndroid Build Coastguard Worker        adds x21, x22, x23, lsr #0
480*9880d681SAndroid Build Coastguard Worker        adds x24, x25, x26, lsr #18
481*9880d681SAndroid Build Coastguard Worker        adds x27, x28, x29, lsr #63
482*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xab]
483*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xab]
484*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xab]
485*9880d681SAndroid Build Coastguard Worker
486*9880d681SAndroid Build Coastguard Worker        adds x2, x3, x4, asr #0
487*9880d681SAndroid Build Coastguard Worker        adds x5, x6, x7, asr #21
488*9880d681SAndroid Build Coastguard Worker        adds x8, x9, x10, asr #63
489*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xab]
490*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xab]
491*9880d681SAndroid Build Coastguard Worker// CHECK: adds     x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xab]
492*9880d681SAndroid Build Coastguard Worker
493*9880d681SAndroid Build Coastguard Worker        sub w3, w5, w7
494*9880d681SAndroid Build Coastguard Worker        sub wzr, w3, w5
495*9880d681SAndroid Build Coastguard Worker        sub w20, wzr, w4
496*9880d681SAndroid Build Coastguard Worker        sub w4, w6, wzr
497*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x4b]
498*9880d681SAndroid Build Coastguard Worker// CHECK: sub      wzr, w3, w5                // encoding: [0x7f,0x00,0x05,0x4b]
499*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w20, w4              // encoding: [0xf4,0x03,0x04,0x4b]
500*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x4b]
501*9880d681SAndroid Build Coastguard Worker
502*9880d681SAndroid Build Coastguard Worker        sub w11, w13, w15, lsl #0
503*9880d681SAndroid Build Coastguard Worker        sub w9, w3, wzr, lsl #10
504*9880d681SAndroid Build Coastguard Worker        sub w17, w29, w20, lsl #31
505*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x4b]
506*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x4b]
507*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x4b]
508*9880d681SAndroid Build Coastguard Worker
509*9880d681SAndroid Build Coastguard Worker        sub w21, w22, w23, lsr #0
510*9880d681SAndroid Build Coastguard Worker        sub w24, w25, w26, lsr #18
511*9880d681SAndroid Build Coastguard Worker        sub w27, w28, w29, lsr #31
512*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x4b]
513*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x4b]
514*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x4b]
515*9880d681SAndroid Build Coastguard Worker
516*9880d681SAndroid Build Coastguard Worker        sub w2, w3, w4, asr #0
517*9880d681SAndroid Build Coastguard Worker        sub w5, w6, w7, asr #21
518*9880d681SAndroid Build Coastguard Worker        sub w8, w9, w10, asr #31
519*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x4b]
520*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x4b]
521*9880d681SAndroid Build Coastguard Worker// CHECK: sub      w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x4b]
522*9880d681SAndroid Build Coastguard Worker
523*9880d681SAndroid Build Coastguard Worker        sub x3, x5, x7
524*9880d681SAndroid Build Coastguard Worker        sub xzr, x3, x5
525*9880d681SAndroid Build Coastguard Worker        sub x20, xzr, x4
526*9880d681SAndroid Build Coastguard Worker        sub x4, x6, xzr
527*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xcb]
528*9880d681SAndroid Build Coastguard Worker// CHECK: sub      xzr, x3, x5                // encoding: [0x7f,0x00,0x05,0xcb]
529*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x20, x4              // encoding: [0xf4,0x03,0x04,0xcb]
530*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xcb]
531*9880d681SAndroid Build Coastguard Worker
532*9880d681SAndroid Build Coastguard Worker        sub x11, x13, x15, lsl #0
533*9880d681SAndroid Build Coastguard Worker        sub x9, x3, xzr, lsl #10
534*9880d681SAndroid Build Coastguard Worker        sub x17, x29, x20, lsl #63
535*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xcb]
536*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xcb]
537*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xcb]
538*9880d681SAndroid Build Coastguard Worker
539*9880d681SAndroid Build Coastguard Worker        sub x21, x22, x23, lsr #0
540*9880d681SAndroid Build Coastguard Worker        sub x24, x25, x26, lsr #18
541*9880d681SAndroid Build Coastguard Worker        sub x27, x28, x29, lsr #63
542*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xcb]
543*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xcb]
544*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xcb]
545*9880d681SAndroid Build Coastguard Worker
546*9880d681SAndroid Build Coastguard Worker        sub x2, x3, x4, asr #0
547*9880d681SAndroid Build Coastguard Worker        sub x5, x6, x7, asr #21
548*9880d681SAndroid Build Coastguard Worker        sub x8, x9, x10, asr #63
549*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xcb]
550*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xcb]
551*9880d681SAndroid Build Coastguard Worker// CHECK: sub      x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xcb]
552*9880d681SAndroid Build Coastguard Worker
553*9880d681SAndroid Build Coastguard Worker        subs w3, w5, w7
554*9880d681SAndroid Build Coastguard Worker        subs wzr, w3, w5
555*9880d681SAndroid Build Coastguard Worker        subs w20, wzr, w4
556*9880d681SAndroid Build Coastguard Worker        subs w4, w6, wzr
557*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w3, w5, w7                 // encoding: [0xa3,0x00,0x07,0x6b]
558*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs wzr,|cmp}} w3, w5            // encoding: [0x7f,0x00,0x05,0x6b]
559*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w20, w4              // encoding: [0xf4,0x03,0x04,0x6b]
560*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w4, w6, wzr                // encoding: [0xc4,0x00,0x1f,0x6b]
561*9880d681SAndroid Build Coastguard Worker
562*9880d681SAndroid Build Coastguard Worker        subs w11, w13, w15, lsl #0
563*9880d681SAndroid Build Coastguard Worker        subs w9, w3, wzr, lsl #10
564*9880d681SAndroid Build Coastguard Worker        subs w17, w29, w20, lsl #31
565*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w11, w13, w15              // encoding: [0xab,0x01,0x0f,0x6b]
566*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w9, w3, wzr, lsl #10       // encoding: [0x69,0x28,0x1f,0x6b]
567*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w17, w29, w20, lsl #31     // encoding: [0xb1,0x7f,0x14,0x6b]
568*9880d681SAndroid Build Coastguard Worker
569*9880d681SAndroid Build Coastguard Worker        subs w21, w22, w23, lsr #0
570*9880d681SAndroid Build Coastguard Worker        subs w24, w25, w26, lsr #18
571*9880d681SAndroid Build Coastguard Worker        subs w27, w28, w29, lsr #31
572*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w21, w22, w23, lsr #0      // encoding: [0xd5,0x02,0x57,0x6b]
573*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w24, w25, w26, lsr #18     // encoding: [0x38,0x4b,0x5a,0x6b]
574*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w27, w28, w29, lsr #31     // encoding: [0x9b,0x7f,0x5d,0x6b]
575*9880d681SAndroid Build Coastguard Worker
576*9880d681SAndroid Build Coastguard Worker        subs w2, w3, w4, asr #0
577*9880d681SAndroid Build Coastguard Worker        subs w5, w6, w7, asr #21
578*9880d681SAndroid Build Coastguard Worker        subs w8, w9, w10, asr #31
579*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w2, w3, w4, asr #0         // encoding: [0x62,0x00,0x84,0x6b]
580*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w5, w6, w7, asr #21        // encoding: [0xc5,0x54,0x87,0x6b]
581*9880d681SAndroid Build Coastguard Worker// CHECK: subs     w8, w9, w10, asr #31       // encoding: [0x28,0x7d,0x8a,0x6b]
582*9880d681SAndroid Build Coastguard Worker
583*9880d681SAndroid Build Coastguard Worker        subs x3, x5, x7
584*9880d681SAndroid Build Coastguard Worker        subs xzr, x3, x5
585*9880d681SAndroid Build Coastguard Worker        subs x20, xzr, x4
586*9880d681SAndroid Build Coastguard Worker        subs x4, x6, xzr
587*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x3, x5, x7                 // encoding: [0xa3,0x00,0x07,0xeb]
588*9880d681SAndroid Build Coastguard Worker// CHECK: {{subs xzr,|cmp}} x3, x5            // encoding: [0x7f,0x00,0x05,0xeb]
589*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x20, x4              // encoding: [0xf4,0x03,0x04,0xeb]
590*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x4, x6, xzr                // encoding: [0xc4,0x00,0x1f,0xeb]
591*9880d681SAndroid Build Coastguard Worker
592*9880d681SAndroid Build Coastguard Worker        subs x11, x13, x15, lsl #0
593*9880d681SAndroid Build Coastguard Worker        subs x9, x3, xzr, lsl #10
594*9880d681SAndroid Build Coastguard Worker        subs x17, x29, x20, lsl #63
595*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x11, x13, x15              // encoding: [0xab,0x01,0x0f,0xeb]
596*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x9, x3, xzr, lsl #10       // encoding: [0x69,0x28,0x1f,0xeb]
597*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x17, x29, x20, lsl #63     // encoding: [0xb1,0xff,0x14,0xeb]
598*9880d681SAndroid Build Coastguard Worker
599*9880d681SAndroid Build Coastguard Worker        subs x21, x22, x23, lsr #0
600*9880d681SAndroid Build Coastguard Worker        subs x24, x25, x26, lsr #18
601*9880d681SAndroid Build Coastguard Worker        subs x27, x28, x29, lsr #63
602*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x21, x22, x23, lsr #0      // encoding: [0xd5,0x02,0x57,0xeb]
603*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x24, x25, x26, lsr #18     // encoding: [0x38,0x4b,0x5a,0xeb]
604*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x27, x28, x29, lsr #63     // encoding: [0x9b,0xff,0x5d,0xeb]
605*9880d681SAndroid Build Coastguard Worker
606*9880d681SAndroid Build Coastguard Worker        subs x2, x3, x4, asr #0
607*9880d681SAndroid Build Coastguard Worker        subs x5, x6, x7, asr #21
608*9880d681SAndroid Build Coastguard Worker        subs x8, x9, x10, asr #63
609*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x2, x3, x4, asr #0         // encoding: [0x62,0x00,0x84,0xeb]
610*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x5, x6, x7, asr #21        // encoding: [0xc5,0x54,0x87,0xeb]
611*9880d681SAndroid Build Coastguard Worker// CHECK: subs     x8, x9, x10, asr #63       // encoding: [0x28,0xfd,0x8a,0xeb]
612*9880d681SAndroid Build Coastguard Worker
613*9880d681SAndroid Build Coastguard Worker        cmn w0, w3
614*9880d681SAndroid Build Coastguard Worker        cmn wzr, w4
615*9880d681SAndroid Build Coastguard Worker        cmn w5, wzr
616*9880d681SAndroid Build Coastguard Worker        cmn wsp, w6
617*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w0, w3                     // encoding: [0x1f,0x00,0x03,0x2b]
618*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      wzr, w4                    // encoding: [0xff,0x03,0x04,0x2b]
619*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w5, wzr                    // encoding: [0xbf,0x00,0x1f,0x2b]
620*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      wsp, w6                    // encoding: [0xff,0x43,0x26,0x2b]
621*9880d681SAndroid Build Coastguard Worker
622*9880d681SAndroid Build Coastguard Worker        cmn w6, w7, lsl #0
623*9880d681SAndroid Build Coastguard Worker        cmn w8, w9, lsl #15
624*9880d681SAndroid Build Coastguard Worker        cmn w10, w11, lsl #31
625*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w6, w7                     // encoding: [0xdf,0x00,0x07,0x2b]
626*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w8, w9, lsl #15            // encoding: [0x1f,0x3d,0x09,0x2b]
627*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w10, w11, lsl #31          // encoding: [0x5f,0x7d,0x0b,0x2b]
628*9880d681SAndroid Build Coastguard Worker
629*9880d681SAndroid Build Coastguard Worker        cmn w12, w13, lsr #0
630*9880d681SAndroid Build Coastguard Worker        cmn w14, w15, lsr #21
631*9880d681SAndroid Build Coastguard Worker        cmn w16, w17, lsr #31
632*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w12, w13, lsr #0           // encoding: [0x9f,0x01,0x4d,0x2b]
633*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w14, w15, lsr #21          // encoding: [0xdf,0x55,0x4f,0x2b]
634*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w16, w17, lsr #31          // encoding: [0x1f,0x7e,0x51,0x2b]
635*9880d681SAndroid Build Coastguard Worker
636*9880d681SAndroid Build Coastguard Worker        cmn w18, w19, asr #0
637*9880d681SAndroid Build Coastguard Worker        cmn w20, w21, asr #22
638*9880d681SAndroid Build Coastguard Worker        cmn w22, w23, asr #31
639*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w18, w19, asr #0           // encoding: [0x5f,0x02,0x93,0x2b]
640*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w20, w21, asr #22          // encoding: [0x9f,0x5a,0x95,0x2b]
641*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      w22, w23, asr #31          // encoding: [0xdf,0x7e,0x97,0x2b]
642*9880d681SAndroid Build Coastguard Worker
643*9880d681SAndroid Build Coastguard Worker        cmn x0, x3
644*9880d681SAndroid Build Coastguard Worker        cmn xzr, x4
645*9880d681SAndroid Build Coastguard Worker        cmn x5, xzr
646*9880d681SAndroid Build Coastguard Worker        cmn sp, x6
647*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x0, x3                     // encoding: [0x1f,0x00,0x03,0xab]
648*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      xzr, x4                    // encoding: [0xff,0x03,0x04,0xab]
649*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x5, xzr                    // encoding: [0xbf,0x00,0x1f,0xab]
650*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      sp, x6                     // encoding: [0xff,0x63,0x26,0xab]
651*9880d681SAndroid Build Coastguard Worker
652*9880d681SAndroid Build Coastguard Worker        cmn x6, x7, lsl #0
653*9880d681SAndroid Build Coastguard Worker        cmn x8, x9, lsl #15
654*9880d681SAndroid Build Coastguard Worker        cmn x10, x11, lsl #63
655*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x6, x7                     // encoding: [0xdf,0x00,0x07,0xab]
656*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x8, x9, lsl #15            // encoding: [0x1f,0x3d,0x09,0xab]
657*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x10, x11, lsl #63          // encoding: [0x5f,0xfd,0x0b,0xab]
658*9880d681SAndroid Build Coastguard Worker
659*9880d681SAndroid Build Coastguard Worker        cmn x12, x13, lsr #0
660*9880d681SAndroid Build Coastguard Worker        cmn x14, x15, lsr #41
661*9880d681SAndroid Build Coastguard Worker        cmn x16, x17, lsr #63
662*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x12, x13, lsr #0           // encoding: [0x9f,0x01,0x4d,0xab]
663*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x14, x15, lsr #41          // encoding: [0xdf,0xa5,0x4f,0xab]
664*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x16, x17, lsr #63          // encoding: [0x1f,0xfe,0x51,0xab]
665*9880d681SAndroid Build Coastguard Worker
666*9880d681SAndroid Build Coastguard Worker        cmn x18, x19, asr #0
667*9880d681SAndroid Build Coastguard Worker        cmn x20, x21, asr #55
668*9880d681SAndroid Build Coastguard Worker        cmn x22, x23, asr #63
669*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x18, x19, asr #0           // encoding: [0x5f,0x02,0x93,0xab]
670*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x20, x21, asr #55          // encoding: [0x9f,0xde,0x95,0xab]
671*9880d681SAndroid Build Coastguard Worker// CHECK: cmn      x22, x23, asr #63          // encoding: [0xdf,0xfe,0x97,0xab]
672*9880d681SAndroid Build Coastguard Worker
673*9880d681SAndroid Build Coastguard Worker        cmp w0, w3
674*9880d681SAndroid Build Coastguard Worker        cmp wzr, w4
675*9880d681SAndroid Build Coastguard Worker        cmp w5, wzr
676*9880d681SAndroid Build Coastguard Worker        cmp wsp, w6
677*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w0, w3                     // encoding: [0x1f,0x00,0x03,0x6b]
678*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wzr, w4                    // encoding: [0xff,0x03,0x04,0x6b]
679*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w5, wzr                    // encoding: [0xbf,0x00,0x1f,0x6b]
680*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wsp, w6                    // encoding: [0xff,0x43,0x26,0x6b]
681*9880d681SAndroid Build Coastguard Worker
682*9880d681SAndroid Build Coastguard Worker        cmp w6, w7, lsl #0
683*9880d681SAndroid Build Coastguard Worker        cmp w8, w9, lsl #15
684*9880d681SAndroid Build Coastguard Worker        cmp w10, w11, lsl #31
685*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w6, w7                     // encoding: [0xdf,0x00,0x07,0x6b]
686*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w8, w9, lsl #15            // encoding: [0x1f,0x3d,0x09,0x6b]
687*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w10, w11, lsl #31          // encoding: [0x5f,0x7d,0x0b,0x6b]
688*9880d681SAndroid Build Coastguard Worker
689*9880d681SAndroid Build Coastguard Worker        cmp w12, w13, lsr #0
690*9880d681SAndroid Build Coastguard Worker        cmp w14, w15, lsr #21
691*9880d681SAndroid Build Coastguard Worker        cmp w16, w17, lsr #31
692*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w12, w13, lsr #0           // encoding: [0x9f,0x01,0x4d,0x6b]
693*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w14, w15, lsr #21          // encoding: [0xdf,0x55,0x4f,0x6b]
694*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w16, w17, lsr #31          // encoding: [0x1f,0x7e,0x51,0x6b]
695*9880d681SAndroid Build Coastguard Worker
696*9880d681SAndroid Build Coastguard Worker        cmp w18, w19, asr #0
697*9880d681SAndroid Build Coastguard Worker        cmp w20, w21, asr #22
698*9880d681SAndroid Build Coastguard Worker        cmp w22, w23, asr #31
699*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w18, w19, asr #0           // encoding: [0x5f,0x02,0x93,0x6b]
700*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w20, w21, asr #22          // encoding: [0x9f,0x5a,0x95,0x6b]
701*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      w22, w23, asr #31          // encoding: [0xdf,0x7e,0x97,0x6b]
702*9880d681SAndroid Build Coastguard Worker
703*9880d681SAndroid Build Coastguard Worker        cmp x0, x3
704*9880d681SAndroid Build Coastguard Worker        cmp xzr, x4
705*9880d681SAndroid Build Coastguard Worker        cmp x5, xzr
706*9880d681SAndroid Build Coastguard Worker        cmp sp, x6
707*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x0, x3                     // encoding: [0x1f,0x00,0x03,0xeb]
708*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      xzr, x4                    // encoding: [0xff,0x03,0x04,0xeb]
709*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x5, xzr                    // encoding: [0xbf,0x00,0x1f,0xeb]
710*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      sp, x6                     // encoding: [0xff,0x63,0x26,0xeb]
711*9880d681SAndroid Build Coastguard Worker
712*9880d681SAndroid Build Coastguard Worker        cmp x6, x7, lsl #0
713*9880d681SAndroid Build Coastguard Worker        cmp x8, x9, lsl #15
714*9880d681SAndroid Build Coastguard Worker        cmp x10, x11, lsl #63
715*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x6, x7                     // encoding: [0xdf,0x00,0x07,0xeb]
716*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x8, x9, lsl #15            // encoding: [0x1f,0x3d,0x09,0xeb]
717*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x10, x11, lsl #63          // encoding: [0x5f,0xfd,0x0b,0xeb]
718*9880d681SAndroid Build Coastguard Worker
719*9880d681SAndroid Build Coastguard Worker        cmp x12, x13, lsr #0
720*9880d681SAndroid Build Coastguard Worker        cmp x14, x15, lsr #41
721*9880d681SAndroid Build Coastguard Worker        cmp x16, x17, lsr #63
722*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x12, x13, lsr #0           // encoding: [0x9f,0x01,0x4d,0xeb]
723*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x14, x15, lsr #41          // encoding: [0xdf,0xa5,0x4f,0xeb]
724*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x16, x17, lsr #63          // encoding: [0x1f,0xfe,0x51,0xeb]
725*9880d681SAndroid Build Coastguard Worker
726*9880d681SAndroid Build Coastguard Worker        cmp x18, x19, asr #0
727*9880d681SAndroid Build Coastguard Worker        cmp x20, x21, asr #55
728*9880d681SAndroid Build Coastguard Worker        cmp x22, x23, asr #63
729*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x18, x19, asr #0           // encoding: [0x5f,0x02,0x93,0xeb]
730*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x20, x21, asr #55          // encoding: [0x9f,0xde,0x95,0xeb]
731*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      x22, x23, asr #63          // encoding: [0xdf,0xfe,0x97,0xeb]
732*9880d681SAndroid Build Coastguard Worker
733*9880d681SAndroid Build Coastguard Worker        neg w29, w30
734*9880d681SAndroid Build Coastguard Worker        neg w30, wzr
735*9880d681SAndroid Build Coastguard Worker        neg wzr, w0
736*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w29, w30              // encoding: [0xfd,0x03,0x1e,0x4b]
737*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w30, wzr              // encoding: [0xfe,0x03,0x1f,0x4b]
738*9880d681SAndroid Build Coastguard Worker// CHECK: neg      wzr, w0               // encoding: [0xff,0x03,0x00,0x4b]
739*9880d681SAndroid Build Coastguard Worker
740*9880d681SAndroid Build Coastguard Worker        neg w28, w27, lsl #0
741*9880d681SAndroid Build Coastguard Worker        neg w26, w25, lsl #29
742*9880d681SAndroid Build Coastguard Worker        neg w24, w23, lsl #31
743*9880d681SAndroid Build Coastguard Worker
744*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w28, w27              // encoding: [0xfc,0x03,0x1b,0x4b]
745*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w26, w25, lsl #29     // encoding: [0xfa,0x77,0x19,0x4b]
746*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w24, w23, lsl #31     // encoding: [0xf8,0x7f,0x17,0x4b]
747*9880d681SAndroid Build Coastguard Worker
748*9880d681SAndroid Build Coastguard Worker        neg w22, w21, lsr #0
749*9880d681SAndroid Build Coastguard Worker        neg w20, w19, lsr #1
750*9880d681SAndroid Build Coastguard Worker        neg w18, w17, lsr #31
751*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w22, w21, lsr #0      // encoding: [0xf6,0x03,0x55,0x4b]
752*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w20, w19, lsr #1      // encoding: [0xf4,0x07,0x53,0x4b]
753*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w18, w17, lsr #31     // encoding: [0xf2,0x7f,0x51,0x4b]
754*9880d681SAndroid Build Coastguard Worker
755*9880d681SAndroid Build Coastguard Worker        neg w16, w15, asr #0
756*9880d681SAndroid Build Coastguard Worker        neg w14, w13, asr #12
757*9880d681SAndroid Build Coastguard Worker        neg w12, w11, asr #31
758*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w16, w15, asr #0      // encoding: [0xf0,0x03,0x8f,0x4b]
759*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w14, w13, asr #12     // encoding: [0xee,0x33,0x8d,0x4b]
760*9880d681SAndroid Build Coastguard Worker// CHECK: neg      w12, w11, asr #31     // encoding: [0xec,0x7f,0x8b,0x4b]
761*9880d681SAndroid Build Coastguard Worker
762*9880d681SAndroid Build Coastguard Worker        neg x29, x30
763*9880d681SAndroid Build Coastguard Worker        neg x30, xzr
764*9880d681SAndroid Build Coastguard Worker        neg xzr, x0
765*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x29, x30              // encoding: [0xfd,0x03,0x1e,0xcb]
766*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x30, xzr              // encoding: [0xfe,0x03,0x1f,0xcb]
767*9880d681SAndroid Build Coastguard Worker// CHECK: neg      xzr, x0               // encoding: [0xff,0x03,0x00,0xcb]
768*9880d681SAndroid Build Coastguard Worker
769*9880d681SAndroid Build Coastguard Worker        neg x28, x27, lsl #0
770*9880d681SAndroid Build Coastguard Worker        neg x26, x25, lsl #29
771*9880d681SAndroid Build Coastguard Worker        neg x24, x23, lsl #31
772*9880d681SAndroid Build Coastguard Worker
773*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x28, x27              // encoding: [0xfc,0x03,0x1b,0xcb]
774*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x26, x25, lsl #29     // encoding: [0xfa,0x77,0x19,0xcb]
775*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x24, x23, lsl #31     // encoding: [0xf8,0x7f,0x17,0xcb]
776*9880d681SAndroid Build Coastguard Worker
777*9880d681SAndroid Build Coastguard Worker        neg x22, x21, lsr #0
778*9880d681SAndroid Build Coastguard Worker        neg x20, x19, lsr #1
779*9880d681SAndroid Build Coastguard Worker        neg x18, x17, lsr #31
780*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x22, x21, lsr #0      // encoding: [0xf6,0x03,0x55,0xcb]
781*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x20, x19, lsr #1      // encoding: [0xf4,0x07,0x53,0xcb]
782*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x18, x17, lsr #31     // encoding: [0xf2,0x7f,0x51,0xcb]
783*9880d681SAndroid Build Coastguard Worker
784*9880d681SAndroid Build Coastguard Worker        neg x16, x15, asr #0
785*9880d681SAndroid Build Coastguard Worker        neg x14, x13, asr #12
786*9880d681SAndroid Build Coastguard Worker        neg x12, x11, asr #31
787*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x16, x15, asr #0      // encoding: [0xf0,0x03,0x8f,0xcb]
788*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x14, x13, asr #12     // encoding: [0xee,0x33,0x8d,0xcb]
789*9880d681SAndroid Build Coastguard Worker// CHECK: neg      x12, x11, asr #31     // encoding: [0xec,0x7f,0x8b,0xcb]
790*9880d681SAndroid Build Coastguard Worker
791*9880d681SAndroid Build Coastguard Worker        negs w29, w30
792*9880d681SAndroid Build Coastguard Worker        negs w30, wzr
793*9880d681SAndroid Build Coastguard Worker        negs wzr, w0
794*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w29, w30              // encoding: [0xfd,0x03,0x1e,0x6b]
795*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w30, wzr              // encoding: [0xfe,0x03,0x1f,0x6b]
796*9880d681SAndroid Build Coastguard Worker// CHECK: cmp      wzr, w0               // encoding: [0xff,0x03,0x00,0x6b]
797*9880d681SAndroid Build Coastguard Worker
798*9880d681SAndroid Build Coastguard Worker        negs w28, w27, lsl #0
799*9880d681SAndroid Build Coastguard Worker        negs w26, w25, lsl #29
800*9880d681SAndroid Build Coastguard Worker        negs w24, w23, lsl #31
801*9880d681SAndroid Build Coastguard Worker
802*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w28, w27             // encoding: [0xfc,0x03,0x1b,0x6b]
803*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w26, w25, lsl #29     // encoding: [0xfa,0x77,0x19,0x6b]
804*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w24, w23, lsl #31     // encoding: [0xf8,0x7f,0x17,0x6b]
805*9880d681SAndroid Build Coastguard Worker
806*9880d681SAndroid Build Coastguard Worker        negs w22, w21, lsr #0
807*9880d681SAndroid Build Coastguard Worker        negs w20, w19, lsr #1
808*9880d681SAndroid Build Coastguard Worker        negs w18, w17, lsr #31
809*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w22, w21, lsr #0      // encoding: [0xf6,0x03,0x55,0x6b]
810*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w20, w19, lsr #1      // encoding: [0xf4,0x07,0x53,0x6b]
811*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w18, w17, lsr #31     // encoding: [0xf2,0x7f,0x51,0x6b]
812*9880d681SAndroid Build Coastguard Worker
813*9880d681SAndroid Build Coastguard Worker        negs w16, w15, asr #0
814*9880d681SAndroid Build Coastguard Worker        negs w14, w13, asr #12
815*9880d681SAndroid Build Coastguard Worker        negs w12, w11, asr #31
816*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w16, w15, asr #0      // encoding: [0xf0,0x03,0x8f,0x6b]
817*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w14, w13, asr #12     // encoding: [0xee,0x33,0x8d,0x6b]
818*9880d681SAndroid Build Coastguard Worker// CHECK: negs     w12, w11, asr #31     // encoding: [0xec,0x7f,0x8b,0x6b]
819*9880d681SAndroid Build Coastguard Worker
820*9880d681SAndroid Build Coastguard Worker        negs x29, x30
821*9880d681SAndroid Build Coastguard Worker        negs x30, xzr
822*9880d681SAndroid Build Coastguard Worker        negs xzr, x0
823*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x29, x30              // encoding: [0xfd,0x03,0x1e,0xeb]
824*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x30, xzr              // encoding: [0xfe,0x03,0x1f,0xeb]
825*9880d681SAndroid Build Coastguard Worker// CHECK: cmp     xzr, x0                // encoding: [0xff,0x03,0x00,0xeb]
826*9880d681SAndroid Build Coastguard Worker
827*9880d681SAndroid Build Coastguard Worker        negs x28, x27, lsl #0
828*9880d681SAndroid Build Coastguard Worker        negs x26, x25, lsl #29
829*9880d681SAndroid Build Coastguard Worker        negs x24, x23, lsl #31
830*9880d681SAndroid Build Coastguard Worker
831*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x28, x27              // encoding: [0xfc,0x03,0x1b,0xeb]
832*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x26, x25, lsl #29     // encoding: [0xfa,0x77,0x19,0xeb]
833*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x24, x23, lsl #31     // encoding: [0xf8,0x7f,0x17,0xeb]
834*9880d681SAndroid Build Coastguard Worker
835*9880d681SAndroid Build Coastguard Worker        negs x22, x21, lsr #0
836*9880d681SAndroid Build Coastguard Worker        negs x20, x19, lsr #1
837*9880d681SAndroid Build Coastguard Worker        negs x18, x17, lsr #31
838*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x22, x21, lsr #0      // encoding: [0xf6,0x03,0x55,0xeb]
839*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x20, x19, lsr #1      // encoding: [0xf4,0x07,0x53,0xeb]
840*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x18, x17, lsr #31     // encoding: [0xf2,0x7f,0x51,0xeb]
841*9880d681SAndroid Build Coastguard Worker
842*9880d681SAndroid Build Coastguard Worker        negs x16, x15, asr #0
843*9880d681SAndroid Build Coastguard Worker        negs x14, x13, asr #12
844*9880d681SAndroid Build Coastguard Worker        negs x12, x11, asr #31
845*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x16, x15, asr #0      // encoding: [0xf0,0x03,0x8f,0xeb]
846*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x14, x13, asr #12     // encoding: [0xee,0x33,0x8d,0xeb]
847*9880d681SAndroid Build Coastguard Worker// CHECK: negs     x12, x11, asr #31     // encoding: [0xec,0x7f,0x8b,0xeb]
848*9880d681SAndroid Build Coastguard Worker
849*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
850*9880d681SAndroid Build Coastguard Worker// Add-sub (shifted register)
851*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
852*9880d681SAndroid Build Coastguard Worker        adc w29, w27, w25
853*9880d681SAndroid Build Coastguard Worker        adc wzr, w3, w4
854*9880d681SAndroid Build Coastguard Worker        adc w9, wzr, w10
855*9880d681SAndroid Build Coastguard Worker        adc w20, w0, wzr
856*9880d681SAndroid Build Coastguard Worker// CHECK: adc      w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x1a]
857*9880d681SAndroid Build Coastguard Worker// CHECK: adc      wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x1a]
858*9880d681SAndroid Build Coastguard Worker// CHECK: adc      w9, wzr, w10               // encoding: [0xe9,0x03,0x0a,0x1a]
859*9880d681SAndroid Build Coastguard Worker// CHECK: adc      w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x1a]
860*9880d681SAndroid Build Coastguard Worker
861*9880d681SAndroid Build Coastguard Worker        adc x29, x27, x25
862*9880d681SAndroid Build Coastguard Worker        adc xzr, x3, x4
863*9880d681SAndroid Build Coastguard Worker        adc x9, xzr, x10
864*9880d681SAndroid Build Coastguard Worker        adc x20, x0, xzr
865*9880d681SAndroid Build Coastguard Worker// CHECK: adc      x29, x27, x25              // encoding: [0x7d,0x03,0x19,0x9a]
866*9880d681SAndroid Build Coastguard Worker// CHECK: adc      xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0x9a]
867*9880d681SAndroid Build Coastguard Worker// CHECK: adc      x9, xzr, x10               // encoding: [0xe9,0x03,0x0a,0x9a]
868*9880d681SAndroid Build Coastguard Worker// CHECK: adc      x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0x9a]
869*9880d681SAndroid Build Coastguard Worker
870*9880d681SAndroid Build Coastguard Worker        adcs w29, w27, w25
871*9880d681SAndroid Build Coastguard Worker        adcs wzr, w3, w4
872*9880d681SAndroid Build Coastguard Worker        adcs w9, wzr, w10
873*9880d681SAndroid Build Coastguard Worker        adcs w20, w0, wzr
874*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x3a]
875*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x3a]
876*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     w9, wzr, w10               // encoding: [0xe9,0x03,0x0a,0x3a]
877*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x3a]
878*9880d681SAndroid Build Coastguard Worker
879*9880d681SAndroid Build Coastguard Worker        adcs x29, x27, x25
880*9880d681SAndroid Build Coastguard Worker        adcs xzr, x3, x4
881*9880d681SAndroid Build Coastguard Worker        adcs x9, xzr, x10
882*9880d681SAndroid Build Coastguard Worker        adcs x20, x0, xzr
883*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xba]
884*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xba]
885*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     x9, xzr, x10               // encoding: [0xe9,0x03,0x0a,0xba]
886*9880d681SAndroid Build Coastguard Worker// CHECK: adcs     x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xba]
887*9880d681SAndroid Build Coastguard Worker
888*9880d681SAndroid Build Coastguard Worker        sbc w29, w27, w25
889*9880d681SAndroid Build Coastguard Worker        sbc wzr, w3, w4
890*9880d681SAndroid Build Coastguard Worker        sbc w9, wzr, w10
891*9880d681SAndroid Build Coastguard Worker        sbc w20, w0, wzr
892*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x5a]
893*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x5a]
894*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      w9, w10                    // encoding: [0xe9,0x03,0x0a,0x5a]
895*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x5a]
896*9880d681SAndroid Build Coastguard Worker
897*9880d681SAndroid Build Coastguard Worker        sbc x29, x27, x25
898*9880d681SAndroid Build Coastguard Worker        sbc xzr, x3, x4
899*9880d681SAndroid Build Coastguard Worker        sbc x9, xzr, x10
900*9880d681SAndroid Build Coastguard Worker        sbc x20, x0, xzr
901*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xda]
902*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xda]
903*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      x9, x10                    // encoding: [0xe9,0x03,0x0a,0xda]
904*9880d681SAndroid Build Coastguard Worker// CHECK: sbc      x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xda]
905*9880d681SAndroid Build Coastguard Worker
906*9880d681SAndroid Build Coastguard Worker        sbcs w29, w27, w25
907*9880d681SAndroid Build Coastguard Worker        sbcs wzr, w3, w4
908*9880d681SAndroid Build Coastguard Worker        sbcs w9, wzr, w10
909*9880d681SAndroid Build Coastguard Worker        sbcs w20, w0, wzr
910*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     w29, w27, w25              // encoding: [0x7d,0x03,0x19,0x7a]
911*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     wzr, w3, w4                // encoding: [0x7f,0x00,0x04,0x7a]
912*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     w9, w10                    // encoding: [0xe9,0x03,0x0a,0x7a]
913*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     w20, w0, wzr               // encoding: [0x14,0x00,0x1f,0x7a]
914*9880d681SAndroid Build Coastguard Worker
915*9880d681SAndroid Build Coastguard Worker        sbcs x29, x27, x25
916*9880d681SAndroid Build Coastguard Worker        sbcs xzr, x3, x4
917*9880d681SAndroid Build Coastguard Worker        sbcs x9, xzr, x10
918*9880d681SAndroid Build Coastguard Worker        sbcs x20, x0, xzr
919*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     x29, x27, x25              // encoding: [0x7d,0x03,0x19,0xfa]
920*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     xzr, x3, x4                // encoding: [0x7f,0x00,0x04,0xfa]
921*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     x9, x10                    // encoding: [0xe9,0x03,0x0a,0xfa]
922*9880d681SAndroid Build Coastguard Worker// CHECK: sbcs     x20, x0, xzr               // encoding: [0x14,0x00,0x1f,0xfa]
923*9880d681SAndroid Build Coastguard Worker
924*9880d681SAndroid Build Coastguard Worker        ngc w3, w12
925*9880d681SAndroid Build Coastguard Worker        ngc wzr, w9
926*9880d681SAndroid Build Coastguard Worker        ngc w23, wzr
927*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      w3, w12                    // encoding: [0xe3,0x03,0x0c,0x5a]
928*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      wzr, w9                    // encoding: [0xff,0x03,0x09,0x5a]
929*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      w23, wzr                   // encoding: [0xf7,0x03,0x1f,0x5a]
930*9880d681SAndroid Build Coastguard Worker
931*9880d681SAndroid Build Coastguard Worker        ngc x29, x30
932*9880d681SAndroid Build Coastguard Worker        ngc xzr, x0
933*9880d681SAndroid Build Coastguard Worker        ngc x0, xzr
934*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      x29, x30                   // encoding: [0xfd,0x03,0x1e,0xda]
935*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      xzr, x0                    // encoding: [0xff,0x03,0x00,0xda]
936*9880d681SAndroid Build Coastguard Worker// CHECK: ngc      x0, xzr                    // encoding: [0xe0,0x03,0x1f,0xda]
937*9880d681SAndroid Build Coastguard Worker
938*9880d681SAndroid Build Coastguard Worker        ngcs w3, w12
939*9880d681SAndroid Build Coastguard Worker        ngcs wzr, w9
940*9880d681SAndroid Build Coastguard Worker        ngcs w23, wzr
941*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     w3, w12                    // encoding: [0xe3,0x03,0x0c,0x7a]
942*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     wzr, w9                    // encoding: [0xff,0x03,0x09,0x7a]
943*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     w23, wzr                   // encoding: [0xf7,0x03,0x1f,0x7a]
944*9880d681SAndroid Build Coastguard Worker
945*9880d681SAndroid Build Coastguard Worker        ngcs x29, x30
946*9880d681SAndroid Build Coastguard Worker        ngcs xzr, x0
947*9880d681SAndroid Build Coastguard Worker        ngcs x0, xzr
948*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     x29, x30                   // encoding: [0xfd,0x03,0x1e,0xfa]
949*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     xzr, x0                    // encoding: [0xff,0x03,0x00,0xfa]
950*9880d681SAndroid Build Coastguard Worker// CHECK: ngcs     x0, xzr                    // encoding: [0xe0,0x03,0x1f,0xfa]
951*9880d681SAndroid Build Coastguard Worker
952*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
953*9880d681SAndroid Build Coastguard Worker// Bitfield
954*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
955*9880d681SAndroid Build Coastguard Worker
956*9880d681SAndroid Build Coastguard Worker        sbfm x1, x2, #3, #4
957*9880d681SAndroid Build Coastguard Worker        sbfm x3, x4, #63, #63
958*9880d681SAndroid Build Coastguard Worker        sbfm wzr, wzr, #31, #31
959*9880d681SAndroid Build Coastguard Worker        sbfm w12, w9, #0, #0
960*9880d681SAndroid Build Coastguard Worker
961*9880d681SAndroid Build Coastguard Worker// CHECK: sbfx     x1, x2, #3, #2       // encoding: [0x41,0x10,0x43,0x93]
962*9880d681SAndroid Build Coastguard Worker// CHECK: asr      x3, x4, #63          // encoding: [0x83,0xfc,0x7f,0x93]
963*9880d681SAndroid Build Coastguard Worker// CHECK: asr      wzr, wzr, #31        // encoding: [0xff,0x7f,0x1f,0x13]
964*9880d681SAndroid Build Coastguard Worker// CHECK: sbfx     w12, w9, #0, #1      // encoding: [0x2c,0x01,0x00,0x13]
965*9880d681SAndroid Build Coastguard Worker
966*9880d681SAndroid Build Coastguard Worker        ubfm x4, x5, #12, #10
967*9880d681SAndroid Build Coastguard Worker        ubfm xzr, x4, #0, #0
968*9880d681SAndroid Build Coastguard Worker        ubfm x4, xzr, #63, #5
969*9880d681SAndroid Build Coastguard Worker        ubfm x5, x6, #12, #63
970*9880d681SAndroid Build Coastguard Worker// CHECK: ubfiz    x4, x5, #52, #11        // encoding: [0xa4,0x28,0x4c,0xd3]
971*9880d681SAndroid Build Coastguard Worker// CHECK: ubfx     xzr, x4, #0, #1         // encoding: [0x9f,0x00,0x40,0xd3]
972*9880d681SAndroid Build Coastguard Worker// CHECK: ubfiz    x4, xzr, #1, #6         // encoding: [0xe4,0x17,0x7f,0xd3]
973*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      x5, x6, #12             // encoding: [0xc5,0xfc,0x4c,0xd3]
974*9880d681SAndroid Build Coastguard Worker
975*9880d681SAndroid Build Coastguard Worker        bfm x4, x5, #12, #10
976*9880d681SAndroid Build Coastguard Worker        bfm xzr, x4, #0, #0
977*9880d681SAndroid Build Coastguard Worker        bfm x4, xzr, #63, #5
978*9880d681SAndroid Build Coastguard Worker        bfm x5, x6, #12, #63
979*9880d681SAndroid Build Coastguard Worker// CHECK: bfi      x4, x5, #52, #11           // encoding: [0xa4,0x28,0x4c,0xb3]
980*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    xzr, x4, #0, #1            // encoding: [0x9f,0x00,0x40,0xb3]
981*9880d681SAndroid Build Coastguard Worker// CHECK: bfc      x4, #1, #6                 // encoding: [0xe4,0x17,0x7f,0xb3]
982*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    x5, x6, #12, #52           // encoding: [0xc5,0xfc,0x4c,0xb3]
983*9880d681SAndroid Build Coastguard Worker
984*9880d681SAndroid Build Coastguard Worker        sxtb w1, w2
985*9880d681SAndroid Build Coastguard Worker        sxtb xzr, w3
986*9880d681SAndroid Build Coastguard Worker        sxth w9, w10
987*9880d681SAndroid Build Coastguard Worker        sxth x0, w1
988*9880d681SAndroid Build Coastguard Worker        sxtw x3, w30
989*9880d681SAndroid Build Coastguard Worker// CHECK: sxtb     w1, w2                     // encoding: [0x41,0x1c,0x00,0x13]
990*9880d681SAndroid Build Coastguard Worker// CHECK: sxtb     xzr, w3                    // encoding: [0x7f,0x1c,0x40,0x93]
991*9880d681SAndroid Build Coastguard Worker// CHECK: sxth     w9, w10                    // encoding: [0x49,0x3d,0x00,0x13]
992*9880d681SAndroid Build Coastguard Worker// CHECK: sxth     x0, w1                     // encoding: [0x20,0x3c,0x40,0x93]
993*9880d681SAndroid Build Coastguard Worker// CHECK: sxtw     x3, w30                    // encoding: [0xc3,0x7f,0x40,0x93]
994*9880d681SAndroid Build Coastguard Worker
995*9880d681SAndroid Build Coastguard Worker        uxtb w1, w2
996*9880d681SAndroid Build Coastguard Worker        uxtb xzr, w3
997*9880d681SAndroid Build Coastguard Worker        uxth w9, w10
998*9880d681SAndroid Build Coastguard Worker        uxth x0, w1
999*9880d681SAndroid Build Coastguard Worker// CHECK: uxtb     w1, w2                     // encoding: [0x41,0x1c,0x00,0x53]
1000*9880d681SAndroid Build Coastguard Worker// CHECK: uxtb     {{[wx]}}zr, w3             // encoding: [0x7f,0x1c,0x00,0x53]
1001*9880d681SAndroid Build Coastguard Worker// CHECK: uxth     w9, w10                    // encoding: [0x49,0x3d,0x00,0x53]
1002*9880d681SAndroid Build Coastguard Worker// CHECK: uxth     {{[wx]}}0, w1              // encoding: [0x20,0x3c,0x00,0x53]
1003*9880d681SAndroid Build Coastguard Worker
1004*9880d681SAndroid Build Coastguard Worker        asr w3, w2, #0
1005*9880d681SAndroid Build Coastguard Worker        asr w9, w10, #31
1006*9880d681SAndroid Build Coastguard Worker        asr x20, x21, #63
1007*9880d681SAndroid Build Coastguard Worker        asr w1, wzr, #3
1008*9880d681SAndroid Build Coastguard Worker// CHECK: asr      w3, w2, #0                 // encoding: [0x43,0x7c,0x00,0x13]
1009*9880d681SAndroid Build Coastguard Worker// CHECK: asr      w9, w10, #31               // encoding: [0x49,0x7d,0x1f,0x13]
1010*9880d681SAndroid Build Coastguard Worker// CHECK: asr      x20, x21, #63              // encoding: [0xb4,0xfe,0x7f,0x93]
1011*9880d681SAndroid Build Coastguard Worker// CHECK: asr      w1, wzr, #3                // encoding: [0xe1,0x7f,0x03,0x13]
1012*9880d681SAndroid Build Coastguard Worker
1013*9880d681SAndroid Build Coastguard Worker        lsr w3, w2, #0
1014*9880d681SAndroid Build Coastguard Worker        lsr w9, w10, #31
1015*9880d681SAndroid Build Coastguard Worker        lsr x20, x21, #63
1016*9880d681SAndroid Build Coastguard Worker        lsr wzr, wzr, #3
1017*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      w3, w2, #0                 // encoding: [0x43,0x7c,0x00,0x53]
1018*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      w9, w10, #31               // encoding: [0x49,0x7d,0x1f,0x53]
1019*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      x20, x21, #63              // encoding: [0xb4,0xfe,0x7f,0xd3]
1020*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      wzr, wzr, #3               // encoding: [0xff,0x7f,0x03,0x53]
1021*9880d681SAndroid Build Coastguard Worker
1022*9880d681SAndroid Build Coastguard Worker        lsl w3, w2, #0
1023*9880d681SAndroid Build Coastguard Worker        lsl w9, w10, #31
1024*9880d681SAndroid Build Coastguard Worker        lsl x20, x21, #63
1025*9880d681SAndroid Build Coastguard Worker        lsl w1, wzr, #3
1026*9880d681SAndroid Build Coastguard Worker// CHECK: {{lsl|lsr}}      w3, w2, #0         // encoding: [0x43,0x7c,0x00,0x53]
1027*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      w9, w10, #31               // encoding: [0x49,0x01,0x01,0x53]
1028*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      x20, x21, #63              // encoding: [0xb4,0x02,0x41,0xd3]
1029*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      w1, wzr, #3                // encoding: [0xe1,0x73,0x1d,0x53]
1030*9880d681SAndroid Build Coastguard Worker
1031*9880d681SAndroid Build Coastguard Worker        sbfiz w9, w10, #0, #1
1032*9880d681SAndroid Build Coastguard Worker        sbfiz x2, x3, #63, #1
1033*9880d681SAndroid Build Coastguard Worker        sbfiz x19, x20, #0, #64
1034*9880d681SAndroid Build Coastguard Worker        sbfiz x9, x10, #5, #59
1035*9880d681SAndroid Build Coastguard Worker        sbfiz w9, w10, #0, #32
1036*9880d681SAndroid Build Coastguard Worker        sbfiz w11, w12, #31, #1
1037*9880d681SAndroid Build Coastguard Worker        sbfiz w13, w14, #29, #3
1038*9880d681SAndroid Build Coastguard Worker        sbfiz xzr, xzr, #10, #11
1039*9880d681SAndroid Build Coastguard Worker// CHECK: {{sbfiz|sbfx}}    w9, w10, #0, #1   // encoding: [0x49,0x01,0x00,0x13]
1040*9880d681SAndroid Build Coastguard Worker// CHECK: sbfiz    x2, x3, #63, #1            // encoding: [0x62,0x00,0x41,0x93]
1041*9880d681SAndroid Build Coastguard Worker// CHECK: asr    x19, x20, #0           // encoding: [0x93,0xfe,0x40,0x93]
1042*9880d681SAndroid Build Coastguard Worker// CHECK: sbfiz    x9, x10, #5, #59           // encoding: [0x49,0xe9,0x7b,0x93]
1043*9880d681SAndroid Build Coastguard Worker// CHECK: asr    w9, w10, #0            // encoding: [0x49,0x7d,0x00,0x13]
1044*9880d681SAndroid Build Coastguard Worker// CHECK: sbfiz    w11, w12, #31, #1          // encoding: [0x8b,0x01,0x01,0x13]
1045*9880d681SAndroid Build Coastguard Worker// CHECK: sbfiz    w13, w14, #29, #3          // encoding: [0xcd,0x09,0x03,0x13]
1046*9880d681SAndroid Build Coastguard Worker// CHECK: sbfiz    xzr, xzr, #10, #11         // encoding: [0xff,0x2b,0x76,0x93]
1047*9880d681SAndroid Build Coastguard Worker
1048*9880d681SAndroid Build Coastguard Worker        sbfx w9, w10, #0, #1
1049*9880d681SAndroid Build Coastguard Worker        sbfx x2, x3, #63, #1
1050*9880d681SAndroid Build Coastguard Worker        sbfx x19, x20, #0, #64
1051*9880d681SAndroid Build Coastguard Worker        sbfx x9, x10, #5, #59
1052*9880d681SAndroid Build Coastguard Worker        sbfx w9, w10, #0, #32
1053*9880d681SAndroid Build Coastguard Worker        sbfx w11, w12, #31, #1
1054*9880d681SAndroid Build Coastguard Worker        sbfx w13, w14, #29, #3
1055*9880d681SAndroid Build Coastguard Worker        sbfx xzr, xzr, #10, #11
1056*9880d681SAndroid Build Coastguard Worker// CHECK: sbfx     w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x13]
1057*9880d681SAndroid Build Coastguard Worker// CHECK: asr     x2, x3, #63           // encoding: [0x62,0xfc,0x7f,0x93]
1058*9880d681SAndroid Build Coastguard Worker// CHECK: asr     x19, x20, #0          // encoding: [0x93,0xfe,0x40,0x93]
1059*9880d681SAndroid Build Coastguard Worker// CHECK: asr     x9, x10, #5           // encoding: [0x49,0xfd,0x45,0x93]
1060*9880d681SAndroid Build Coastguard Worker// CHECK: asr     w9, w10, #0           // encoding: [0x49,0x7d,0x00,0x13]
1061*9880d681SAndroid Build Coastguard Worker// CHECK: asr     w11, w12, #31         // encoding: [0x8b,0x7d,0x1f,0x13]
1062*9880d681SAndroid Build Coastguard Worker// CHECK: asr     w13, w14, #29         // encoding: [0xcd,0x7d,0x1d,0x13]
1063*9880d681SAndroid Build Coastguard Worker// CHECK: sbfx     xzr, xzr, #10, #11         // encoding: [0xff,0x53,0x4a,0x93]
1064*9880d681SAndroid Build Coastguard Worker
1065*9880d681SAndroid Build Coastguard Worker        bfi w9, w10, #0, #1
1066*9880d681SAndroid Build Coastguard Worker        bfi x2, x3, #63, #1
1067*9880d681SAndroid Build Coastguard Worker        bfi x19, x20, #0, #64
1068*9880d681SAndroid Build Coastguard Worker        bfi x9, x10, #5, #59
1069*9880d681SAndroid Build Coastguard Worker        bfi w9, w10, #0, #32
1070*9880d681SAndroid Build Coastguard Worker        bfi w11, w12, #31, #1
1071*9880d681SAndroid Build Coastguard Worker        bfi w13, w14, #29, #3
1072*9880d681SAndroid Build Coastguard Worker        bfi xzr, xzr, #10, #11
1073*9880d681SAndroid Build Coastguard Worker
1074*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x33]
1075*9880d681SAndroid Build Coastguard Worker// CHECK: bfi      x2, x3, #63, #1            // encoding: [0x62,0x00,0x41,0xb3]
1076*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    x19, x20, #0, #64          // encoding: [0x93,0xfe,0x40,0xb3]
1077*9880d681SAndroid Build Coastguard Worker// CHECK: bfi      x9, x10, #5, #59           // encoding: [0x49,0xe9,0x7b,0xb3]
1078*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w9, w10, #0, #32           // encoding: [0x49,0x7d,0x00,0x33]
1079*9880d681SAndroid Build Coastguard Worker// CHECK: bfi      w11, w12, #31, #1          // encoding: [0x8b,0x01,0x01,0x33]
1080*9880d681SAndroid Build Coastguard Worker// CHECK: bfi      w13, w14, #29, #3          // encoding: [0xcd,0x09,0x03,0x33]
1081*9880d681SAndroid Build Coastguard Worker// CHECK: bfc      xzr, #10, #11              // encoding: [0xff,0x2b,0x76,0xb3]
1082*9880d681SAndroid Build Coastguard Worker
1083*9880d681SAndroid Build Coastguard Worker        bfxil w9, w10, #0, #1
1084*9880d681SAndroid Build Coastguard Worker        bfxil x2, x3, #63, #1
1085*9880d681SAndroid Build Coastguard Worker        bfxil x19, x20, #0, #64
1086*9880d681SAndroid Build Coastguard Worker        bfxil x9, x10, #5, #59
1087*9880d681SAndroid Build Coastguard Worker        bfxil w9, w10, #0, #32
1088*9880d681SAndroid Build Coastguard Worker        bfxil w11, w12, #31, #1
1089*9880d681SAndroid Build Coastguard Worker        bfxil w13, w14, #29, #3
1090*9880d681SAndroid Build Coastguard Worker        bfxil xzr, xzr, #10, #11
1091*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w9, w10, #0, #1            // encoding: [0x49,0x01,0x00,0x33]
1092*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    x2, x3, #63, #1            // encoding: [0x62,0xfc,0x7f,0xb3]
1093*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    x19, x20, #0, #64          // encoding: [0x93,0xfe,0x40,0xb3]
1094*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    x9, x10, #5, #59           // encoding: [0x49,0xfd,0x45,0xb3]
1095*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w9, w10, #0, #32           // encoding: [0x49,0x7d,0x00,0x33]
1096*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w11, w12, #31, #1          // encoding: [0x8b,0x7d,0x1f,0x33]
1097*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    w13, w14, #29, #3          // encoding: [0xcd,0x7d,0x1d,0x33]
1098*9880d681SAndroid Build Coastguard Worker// CHECK: bfxil    xzr, xzr, #10, #11         // encoding: [0xff,0x53,0x4a,0xb3]
1099*9880d681SAndroid Build Coastguard Worker
1100*9880d681SAndroid Build Coastguard Worker        ubfiz w9, w10, #0, #1
1101*9880d681SAndroid Build Coastguard Worker        ubfiz x2, x3, #63, #1
1102*9880d681SAndroid Build Coastguard Worker        ubfiz x19, x20, #0, #64
1103*9880d681SAndroid Build Coastguard Worker        ubfiz x9, x10, #5, #59
1104*9880d681SAndroid Build Coastguard Worker        ubfiz w9, w10, #0, #32
1105*9880d681SAndroid Build Coastguard Worker        ubfiz w11, w12, #31, #1
1106*9880d681SAndroid Build Coastguard Worker        ubfiz w13, w14, #29, #3
1107*9880d681SAndroid Build Coastguard Worker        ubfiz xzr, xzr, #10, #11
1108*9880d681SAndroid Build Coastguard Worker
1109*9880d681SAndroid Build Coastguard Worker// CHECK: ubfx     w9, w10, #0, #1         // encoding: [0x49,0x01,0x00,0x53]
1110*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      x2, x3, #63             // encoding: [0x62,0x00,0x41,0xd3]
1111*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      x19, x20, #0            // encoding: [0x93,0xfe,0x40,0xd3]
1112*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      x9, x10, #5             // encoding: [0x49,0xe9,0x7b,0xd3]
1113*9880d681SAndroid Build Coastguard Worker// CHECK: lsr      w9, w10, #0             // encoding: [0x49,0x7d,0x00,0x53]
1114*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      w11, w12, #31           // encoding: [0x8b,0x01,0x01,0x53]
1115*9880d681SAndroid Build Coastguard Worker// CHECK: lsl      w13, w14, #29           // encoding: [0xcd,0x09,0x03,0x53]
1116*9880d681SAndroid Build Coastguard Worker// CHECK: ubfiz    xzr, xzr, #10, #11      // encoding: [0xff,0x2b,0x76,0xd3]
1117*9880d681SAndroid Build Coastguard Worker
1118*9880d681SAndroid Build Coastguard Worker        ubfx w9, w10, #0, #1
1119*9880d681SAndroid Build Coastguard Worker        ubfx x2, x3, #63, #1
1120*9880d681SAndroid Build Coastguard Worker        ubfx x19, x20, #0, #64
1121*9880d681SAndroid Build Coastguard Worker        ubfx x9, x10, #5, #59
1122*9880d681SAndroid Build Coastguard Worker        ubfx w9, w10, #0, #32
1123*9880d681SAndroid Build Coastguard Worker        ubfx w11, w12, #31, #1
1124*9880d681SAndroid Build Coastguard Worker        ubfx w13, w14, #29, #3
1125*9880d681SAndroid Build Coastguard Worker        ubfx xzr, xzr, #10, #11
1126*9880d681SAndroid Build Coastguard Worker
1127*9880d681SAndroid Build Coastguard Worker// CHECK: ubfx    w9, w10, #0, #1         // encoding: [0x49,0x01,0x00,0x53]
1128*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     x2, x3, #63             // encoding: [0x62,0xfc,0x7f,0xd3]
1129*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     x19, x20, #0            // encoding: [0x93,0xfe,0x40,0xd3]
1130*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     x9, x10, #5             // encoding: [0x49,0xfd,0x45,0xd3]
1131*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     w9, w10, #0             // encoding: [0x49,0x7d,0x00,0x53]
1132*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     w11, w12, #31           // encoding: [0x8b,0x7d,0x1f,0x53]
1133*9880d681SAndroid Build Coastguard Worker// CHECK: lsr     w13, w14, #29           // encoding: [0xcd,0x7d,0x1d,0x53]
1134*9880d681SAndroid Build Coastguard Worker// CHECK: ubfx    xzr, xzr, #10, #11      // encoding: [0xff,0x53,0x4a,0xd3]
1135*9880d681SAndroid Build Coastguard Worker
1136*9880d681SAndroid Build Coastguard Worker        bfc w3, #0, #32
1137*9880d681SAndroid Build Coastguard Worker        bfc wzr, #31, #1
1138*9880d681SAndroid Build Coastguard Worker        bfc x0, #5, #9
1139*9880d681SAndroid Build Coastguard Worker        bfc xzr, #63, #1
1140*9880d681SAndroid Build Coastguard Worker// CHECK: bfc w3, #0, #32             // encoding: [0xe3,0x7f,0x00,0x33]
1141*9880d681SAndroid Build Coastguard Worker// CHECK: bfc wzr, #31, #1            // encoding: [0xff,0x03,0x01,0x33]
1142*9880d681SAndroid Build Coastguard Worker// CHECK: bfc x0, #5, #9              // encoding: [0xe0,0x23,0x7b,0xb3]
1143*9880d681SAndroid Build Coastguard Worker// CHECK: bfc xzr, #63, #1            // encoding: [0xff,0x03,0x41,0xb3]
1144*9880d681SAndroid Build Coastguard Worker
1145*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1146*9880d681SAndroid Build Coastguard Worker// Compare & branch (immediate)
1147*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1148*9880d681SAndroid Build Coastguard Worker
1149*9880d681SAndroid Build Coastguard Worker        cbz w5, lbl
1150*9880d681SAndroid Build Coastguard Worker        cbz x5, lbl
1151*9880d681SAndroid Build Coastguard Worker        cbnz x2, lbl
1152*9880d681SAndroid Build Coastguard Worker        cbnz x26, lbl
1153*9880d681SAndroid Build Coastguard Worker// CHECK: cbz    w5, lbl                 // encoding: [0bAAA00101,A,A,0x34]
1154*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1155*9880d681SAndroid Build Coastguard Worker// CHECK: cbz    x5, lbl                 // encoding: [0bAAA00101,A,A,0xb4]
1156*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1157*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz    x2, lbl                 // encoding: [0bAAA00010,A,A,0xb5]
1158*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1159*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz    x26, lbl                // encoding: [0bAAA11010,A,A,0xb5]
1160*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1161*9880d681SAndroid Build Coastguard Worker
1162*9880d681SAndroid Build Coastguard Worker        cbz wzr, lbl
1163*9880d681SAndroid Build Coastguard Worker        cbnz xzr, lbl
1164*9880d681SAndroid Build Coastguard Worker
1165*9880d681SAndroid Build Coastguard Worker// CHECK: cbz    wzr, lbl                // encoding: [0bAAA11111,A,A,0x34]
1166*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1167*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz    xzr, lbl                // encoding: [0bAAA11111,A,A,0xb5]
1168*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1169*9880d681SAndroid Build Coastguard Worker
1170*9880d681SAndroid Build Coastguard Worker        cbz w5, #0
1171*9880d681SAndroid Build Coastguard Worker        cbnz x3, #-4
1172*9880d681SAndroid Build Coastguard Worker        cbz w20, #1048572
1173*9880d681SAndroid Build Coastguard Worker        cbnz xzr, #-1048576
1174*9880d681SAndroid Build Coastguard Worker// CHECK: cbz     w5, #0                  // encoding: [0x05,0x00,0x00,0x34]
1175*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz    x3, #-4                 // encoding: [0xe3,0xff,0xff,0xb5]
1176*9880d681SAndroid Build Coastguard Worker// CHECK: cbz     w20, #1048572           // encoding: [0xf4,0xff,0x7f,0x34]
1177*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz    xzr, #-1048576          // encoding: [0x1f,0x00,0x80,0xb5]
1178*9880d681SAndroid Build Coastguard Worker
1179*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1180*9880d681SAndroid Build Coastguard Worker// Conditional branch (immediate)
1181*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1182*9880d681SAndroid Build Coastguard Worker
1183*9880d681SAndroid Build Coastguard Worker        b.eq lbl
1184*9880d681SAndroid Build Coastguard Worker        b.ne lbl
1185*9880d681SAndroid Build Coastguard Worker        b.cs lbl
1186*9880d681SAndroid Build Coastguard Worker        b.hs lbl
1187*9880d681SAndroid Build Coastguard Worker        b.lo lbl
1188*9880d681SAndroid Build Coastguard Worker        b.cc lbl
1189*9880d681SAndroid Build Coastguard Worker        b.mi lbl
1190*9880d681SAndroid Build Coastguard Worker        b.pl lbl
1191*9880d681SAndroid Build Coastguard Worker        b.vs lbl
1192*9880d681SAndroid Build Coastguard Worker        b.vc lbl
1193*9880d681SAndroid Build Coastguard Worker        b.hi lbl
1194*9880d681SAndroid Build Coastguard Worker        b.ls lbl
1195*9880d681SAndroid Build Coastguard Worker        b.ge lbl
1196*9880d681SAndroid Build Coastguard Worker        b.lt lbl
1197*9880d681SAndroid Build Coastguard Worker        b.gt lbl
1198*9880d681SAndroid Build Coastguard Worker        b.le lbl
1199*9880d681SAndroid Build Coastguard Worker        b.al lbl
1200*9880d681SAndroid Build Coastguard Worker
1201*9880d681SAndroid Build Coastguard Worker// CHECK: b.eq lbl                     // encoding: [0bAAA00000,A,A,0x54]
1202*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1203*9880d681SAndroid Build Coastguard Worker// CHECK: b.ne lbl                     // encoding: [0bAAA00001,A,A,0x54]
1204*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1205*9880d681SAndroid Build Coastguard Worker// CHECK: b.hs lbl                     // encoding: [0bAAA00010,A,A,0x54]
1206*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1207*9880d681SAndroid Build Coastguard Worker// CHECK: b.hs lbl                     // encoding: [0bAAA00010,A,A,0x54]
1208*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1209*9880d681SAndroid Build Coastguard Worker// CHECK: b.lo lbl                     // encoding: [0bAAA00011,A,A,0x54]
1210*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1211*9880d681SAndroid Build Coastguard Worker// CHECK: b.lo lbl                     // encoding: [0bAAA00011,A,A,0x54]
1212*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1213*9880d681SAndroid Build Coastguard Worker// CHECK: b.mi lbl                     // encoding: [0bAAA00100,A,A,0x54]
1214*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1215*9880d681SAndroid Build Coastguard Worker// CHECK: b.pl lbl                     // encoding: [0bAAA00101,A,A,0x54]
1216*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1217*9880d681SAndroid Build Coastguard Worker// CHECK: b.vs lbl                     // encoding: [0bAAA00110,A,A,0x54]
1218*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1219*9880d681SAndroid Build Coastguard Worker// CHECK: b.vc lbl                     // encoding: [0bAAA00111,A,A,0x54]
1220*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1221*9880d681SAndroid Build Coastguard Worker// CHECK: b.hi lbl                     // encoding: [0bAAA01000,A,A,0x54]
1222*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1223*9880d681SAndroid Build Coastguard Worker// CHECK: b.ls lbl                     // encoding: [0bAAA01001,A,A,0x54]
1224*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1225*9880d681SAndroid Build Coastguard Worker// CHECK: b.ge lbl                     // encoding: [0bAAA01010,A,A,0x54]
1226*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1227*9880d681SAndroid Build Coastguard Worker// CHECK: b.lt lbl                     // encoding: [0bAAA01011,A,A,0x54]
1228*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1229*9880d681SAndroid Build Coastguard Worker// CHECK: b.gt lbl                     // encoding: [0bAAA01100,A,A,0x54]
1230*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1231*9880d681SAndroid Build Coastguard Worker// CHECK: b.le lbl                     // encoding: [0bAAA01101,A,A,0x54]
1232*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1233*9880d681SAndroid Build Coastguard Worker// CHECK: b.al lbl                     // encoding: [0bAAA01110,A,A,0x54]
1234*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: lbl, kind: fixup_aarch64_pcrel_branch19
1235*9880d681SAndroid Build Coastguard Worker
1236*9880d681SAndroid Build Coastguard Worker        //  ARM64 has these in a separate file
1237*9880d681SAndroid Build Coastguard Worker        beq lbl
1238*9880d681SAndroid Build Coastguard Worker        bne lbl
1239*9880d681SAndroid Build Coastguard Worker        bcs lbl
1240*9880d681SAndroid Build Coastguard Worker        bhs lbl
1241*9880d681SAndroid Build Coastguard Worker        blo lbl
1242*9880d681SAndroid Build Coastguard Worker        bcc lbl
1243*9880d681SAndroid Build Coastguard Worker        bmi lbl
1244*9880d681SAndroid Build Coastguard Worker        bpl lbl
1245*9880d681SAndroid Build Coastguard Worker        bvs lbl
1246*9880d681SAndroid Build Coastguard Worker        bvc lbl
1247*9880d681SAndroid Build Coastguard Worker        bhi lbl
1248*9880d681SAndroid Build Coastguard Worker        bls lbl
1249*9880d681SAndroid Build Coastguard Worker        bge lbl
1250*9880d681SAndroid Build Coastguard Worker        blt lbl
1251*9880d681SAndroid Build Coastguard Worker        bgt lbl
1252*9880d681SAndroid Build Coastguard Worker        ble lbl
1253*9880d681SAndroid Build Coastguard Worker        bal lbl
1254*9880d681SAndroid Build Coastguard Worker
1255*9880d681SAndroid Build Coastguard Worker        b.eq #0
1256*9880d681SAndroid Build Coastguard Worker        b.lt #-4
1257*9880d681SAndroid Build Coastguard Worker        b.cc #1048572
1258*9880d681SAndroid Build Coastguard Worker// CHECK: b.eq #0                         // encoding: [0x00,0x00,0x00,0x54]
1259*9880d681SAndroid Build Coastguard Worker// CHECK: b.lt #-4                        // encoding: [0xeb,0xff,0xff,0x54]
1260*9880d681SAndroid Build Coastguard Worker// CHECK: b.lo #1048572                   // encoding: [0xe3,0xff,0x7f,0x54]
1261*9880d681SAndroid Build Coastguard Worker
1262*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1263*9880d681SAndroid Build Coastguard Worker// Conditional compare (immediate)
1264*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1265*9880d681SAndroid Build Coastguard Worker
1266*9880d681SAndroid Build Coastguard Worker        ccmp w1, #31, #0, eq
1267*9880d681SAndroid Build Coastguard Worker        ccmp w3, #0, #15, hs
1268*9880d681SAndroid Build Coastguard Worker        ccmp wzr, #15, #13, cs
1269*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    w1, #31, #0, eq         // encoding: [0x20,0x08,0x5f,0x7a]
1270*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    w3, #0, #15, hs         // encoding: [0x6f,0x28,0x40,0x7a]
1271*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    wzr, #15, #13, hs       // encoding: [0xed,0x2b,0x4f,0x7a]
1272*9880d681SAndroid Build Coastguard Worker
1273*9880d681SAndroid Build Coastguard Worker        ccmp x9, #31, #0, le
1274*9880d681SAndroid Build Coastguard Worker        ccmp x3, #0, #15, gt
1275*9880d681SAndroid Build Coastguard Worker        ccmp xzr, #5, #7, ne
1276*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    x9, #31, #0, le         // encoding: [0x20,0xd9,0x5f,0xfa]
1277*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    x3, #0, #15, gt         // encoding: [0x6f,0xc8,0x40,0xfa]
1278*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    xzr, #5, #7, ne         // encoding: [0xe7,0x1b,0x45,0xfa]
1279*9880d681SAndroid Build Coastguard Worker
1280*9880d681SAndroid Build Coastguard Worker        ccmn w1, #31, #0, eq
1281*9880d681SAndroid Build Coastguard Worker        ccmn w3, #0, #15, hs
1282*9880d681SAndroid Build Coastguard Worker        ccmn wzr, #15, #13, cs
1283*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    w1, #31, #0, eq         // encoding: [0x20,0x08,0x5f,0x3a]
1284*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    w3, #0, #15, hs         // encoding: [0x6f,0x28,0x40,0x3a]
1285*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    wzr, #15, #13, hs       // encoding: [0xed,0x2b,0x4f,0x3a]
1286*9880d681SAndroid Build Coastguard Worker
1287*9880d681SAndroid Build Coastguard Worker        ccmn x9, #31, #0, le
1288*9880d681SAndroid Build Coastguard Worker        ccmn x3, #0, #15, gt
1289*9880d681SAndroid Build Coastguard Worker        ccmn xzr, #5, #7, ne
1290*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    x9, #31, #0, le         // encoding: [0x20,0xd9,0x5f,0xba]
1291*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    x3, #0, #15, gt         // encoding: [0x6f,0xc8,0x40,0xba]
1292*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    xzr, #5, #7, ne         // encoding: [0xe7,0x1b,0x45,0xba]
1293*9880d681SAndroid Build Coastguard Worker
1294*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1295*9880d681SAndroid Build Coastguard Worker// Conditional compare (register)
1296*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1297*9880d681SAndroid Build Coastguard Worker
1298*9880d681SAndroid Build Coastguard Worker        ccmp w1, wzr, #0, eq
1299*9880d681SAndroid Build Coastguard Worker        ccmp w3, w0, #15, hs
1300*9880d681SAndroid Build Coastguard Worker        ccmp wzr, w15, #13, cs
1301*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    w1, wzr, #0, eq         // encoding: [0x20,0x00,0x5f,0x7a]
1302*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    w3, w0, #15, hs         // encoding: [0x6f,0x20,0x40,0x7a]
1303*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    wzr, w15, #13, hs       // encoding: [0xed,0x23,0x4f,0x7a]
1304*9880d681SAndroid Build Coastguard Worker
1305*9880d681SAndroid Build Coastguard Worker        ccmp x9, xzr, #0, le
1306*9880d681SAndroid Build Coastguard Worker        ccmp x3, x0, #15, gt
1307*9880d681SAndroid Build Coastguard Worker        ccmp xzr, x5, #7, ne
1308*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    x9, xzr, #0, le         // encoding: [0x20,0xd1,0x5f,0xfa]
1309*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    x3, x0, #15, gt         // encoding: [0x6f,0xc0,0x40,0xfa]
1310*9880d681SAndroid Build Coastguard Worker// CHECK: ccmp    xzr, x5, #7, ne         // encoding: [0xe7,0x13,0x45,0xfa]
1311*9880d681SAndroid Build Coastguard Worker
1312*9880d681SAndroid Build Coastguard Worker        ccmn w1, wzr, #0, eq
1313*9880d681SAndroid Build Coastguard Worker        ccmn w3, w0, #15, hs
1314*9880d681SAndroid Build Coastguard Worker        ccmn wzr, w15, #13, cs
1315*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    w1, wzr, #0, eq         // encoding: [0x20,0x00,0x5f,0x3a]
1316*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    w3, w0, #15, hs         // encoding: [0x6f,0x20,0x40,0x3a]
1317*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    wzr, w15, #13, hs       // encoding: [0xed,0x23,0x4f,0x3a]
1318*9880d681SAndroid Build Coastguard Worker
1319*9880d681SAndroid Build Coastguard Worker        ccmn x9, xzr, #0, le
1320*9880d681SAndroid Build Coastguard Worker        ccmn x3, x0, #15, gt
1321*9880d681SAndroid Build Coastguard Worker        ccmn xzr, x5, #7, ne
1322*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    x9, xzr, #0, le         // encoding: [0x20,0xd1,0x5f,0xba]
1323*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    x3, x0, #15, gt         // encoding: [0x6f,0xc0,0x40,0xba]
1324*9880d681SAndroid Build Coastguard Worker// CHECK: ccmn    xzr, x5, #7, ne         // encoding: [0xe7,0x13,0x45,0xba]
1325*9880d681SAndroid Build Coastguard Worker
1326*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1327*9880d681SAndroid Build Coastguard Worker// Conditional select
1328*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1329*9880d681SAndroid Build Coastguard Worker        csel w1, w0, w19, ne
1330*9880d681SAndroid Build Coastguard Worker        csel wzr, w5, w9, eq
1331*9880d681SAndroid Build Coastguard Worker        csel w9, wzr, w30, gt
1332*9880d681SAndroid Build Coastguard Worker        csel w1, w28, wzr, mi
1333*9880d681SAndroid Build Coastguard Worker// CHECK: csel     w1, w0, w19, ne            // encoding: [0x01,0x10,0x93,0x1a]
1334*9880d681SAndroid Build Coastguard Worker// CHECK: csel     wzr, w5, w9, eq            // encoding: [0xbf,0x00,0x89,0x1a]
1335*9880d681SAndroid Build Coastguard Worker// CHECK: csel     w9, wzr, w30, gt           // encoding: [0xe9,0xc3,0x9e,0x1a]
1336*9880d681SAndroid Build Coastguard Worker// CHECK: csel     w1, w28, wzr, mi           // encoding: [0x81,0x43,0x9f,0x1a]
1337*9880d681SAndroid Build Coastguard Worker
1338*9880d681SAndroid Build Coastguard Worker        csel x19, x23, x29, lt
1339*9880d681SAndroid Build Coastguard Worker        csel xzr, x3, x4, ge
1340*9880d681SAndroid Build Coastguard Worker        csel x5, xzr, x6, cs
1341*9880d681SAndroid Build Coastguard Worker        csel x7, x8, xzr, cc
1342*9880d681SAndroid Build Coastguard Worker// CHECK: csel     x19, x23, x29, lt          // encoding: [0xf3,0xb2,0x9d,0x9a]
1343*9880d681SAndroid Build Coastguard Worker// CHECK: csel     xzr, x3, x4, ge            // encoding: [0x7f,0xa0,0x84,0x9a]
1344*9880d681SAndroid Build Coastguard Worker// CHECK: csel     x5, xzr, x6, hs            // encoding: [0xe5,0x23,0x86,0x9a]
1345*9880d681SAndroid Build Coastguard Worker// CHECK: csel     x7, x8, xzr, lo            // encoding: [0x07,0x31,0x9f,0x9a]
1346*9880d681SAndroid Build Coastguard Worker
1347*9880d681SAndroid Build Coastguard Worker        csinc w1, w0, w19, ne
1348*9880d681SAndroid Build Coastguard Worker        csinc wzr, w5, w9, eq
1349*9880d681SAndroid Build Coastguard Worker        csinc w9, wzr, w30, gt
1350*9880d681SAndroid Build Coastguard Worker        csinc w1, w28, wzr, mi
1351*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    w1, w0, w19, ne            // encoding: [0x01,0x14,0x93,0x1a]
1352*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    wzr, w5, w9, eq            // encoding: [0xbf,0x04,0x89,0x1a]
1353*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    w9, wzr, w30, gt           // encoding: [0xe9,0xc7,0x9e,0x1a]
1354*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    w1, w28, wzr, mi           // encoding: [0x81,0x47,0x9f,0x1a]
1355*9880d681SAndroid Build Coastguard Worker
1356*9880d681SAndroid Build Coastguard Worker        csinc x19, x23, x29, lt
1357*9880d681SAndroid Build Coastguard Worker        csinc xzr, x3, x4, ge
1358*9880d681SAndroid Build Coastguard Worker        csinc x5, xzr, x6, cs
1359*9880d681SAndroid Build Coastguard Worker        csinc x7, x8, xzr, cc
1360*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    x19, x23, x29, lt          // encoding: [0xf3,0xb6,0x9d,0x9a]
1361*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    xzr, x3, x4, ge            // encoding: [0x7f,0xa4,0x84,0x9a]
1362*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    x5, xzr, x6, hs            // encoding: [0xe5,0x27,0x86,0x9a]
1363*9880d681SAndroid Build Coastguard Worker// CHECK: csinc    x7, x8, xzr, lo            // encoding: [0x07,0x35,0x9f,0x9a]
1364*9880d681SAndroid Build Coastguard Worker
1365*9880d681SAndroid Build Coastguard Worker        csinv w1, w0, w19, ne
1366*9880d681SAndroid Build Coastguard Worker        csinv wzr, w5, w9, eq
1367*9880d681SAndroid Build Coastguard Worker        csinv w9, wzr, w30, gt
1368*9880d681SAndroid Build Coastguard Worker        csinv w1, w28, wzr, mi
1369*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    w1, w0, w19, ne            // encoding: [0x01,0x10,0x93,0x5a]
1370*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    wzr, w5, w9, eq            // encoding: [0xbf,0x00,0x89,0x5a]
1371*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    w9, wzr, w30, gt           // encoding: [0xe9,0xc3,0x9e,0x5a]
1372*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    w1, w28, wzr, mi           // encoding: [0x81,0x43,0x9f,0x5a]
1373*9880d681SAndroid Build Coastguard Worker
1374*9880d681SAndroid Build Coastguard Worker        csinv x19, x23, x29, lt
1375*9880d681SAndroid Build Coastguard Worker        csinv xzr, x3, x4, ge
1376*9880d681SAndroid Build Coastguard Worker        csinv x5, xzr, x6, cs
1377*9880d681SAndroid Build Coastguard Worker        csinv x7, x8, xzr, cc
1378*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    x19, x23, x29, lt          // encoding: [0xf3,0xb2,0x9d,0xda]
1379*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    xzr, x3, x4, ge            // encoding: [0x7f,0xa0,0x84,0xda]
1380*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    x5, xzr, x6, hs            // encoding: [0xe5,0x23,0x86,0xda]
1381*9880d681SAndroid Build Coastguard Worker// CHECK: csinv    x7, x8, xzr, lo            // encoding: [0x07,0x31,0x9f,0xda]
1382*9880d681SAndroid Build Coastguard Worker
1383*9880d681SAndroid Build Coastguard Worker        csneg w1, w0, w19, ne
1384*9880d681SAndroid Build Coastguard Worker        csneg wzr, w5, w9, eq
1385*9880d681SAndroid Build Coastguard Worker        csneg w9, wzr, w30, gt
1386*9880d681SAndroid Build Coastguard Worker        csneg w1, w28, wzr, mi
1387*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    w1, w0, w19, ne            // encoding: [0x01,0x14,0x93,0x5a]
1388*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    wzr, w5, w9, eq            // encoding: [0xbf,0x04,0x89,0x5a]
1389*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    w9, wzr, w30, gt           // encoding: [0xe9,0xc7,0x9e,0x5a]
1390*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    w1, w28, wzr, mi           // encoding: [0x81,0x47,0x9f,0x5a]
1391*9880d681SAndroid Build Coastguard Worker
1392*9880d681SAndroid Build Coastguard Worker        csneg x19, x23, x29, lt
1393*9880d681SAndroid Build Coastguard Worker        csneg xzr, x3, x4, ge
1394*9880d681SAndroid Build Coastguard Worker        csneg x5, xzr, x6, cs
1395*9880d681SAndroid Build Coastguard Worker        csneg x7, x8, xzr, cc
1396*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    x19, x23, x29, lt          // encoding: [0xf3,0xb6,0x9d,0xda]
1397*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    xzr, x3, x4, ge            // encoding: [0x7f,0xa4,0x84,0xda]
1398*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    x5, xzr, x6, hs            // encoding: [0xe5,0x27,0x86,0xda]
1399*9880d681SAndroid Build Coastguard Worker// CHECK: csneg    x7, x8, xzr, lo            // encoding: [0x07,0x35,0x9f,0xda]
1400*9880d681SAndroid Build Coastguard Worker
1401*9880d681SAndroid Build Coastguard Worker        cset w3, eq
1402*9880d681SAndroid Build Coastguard Worker        cset x9, pl
1403*9880d681SAndroid Build Coastguard Worker// CHECK: cset    w3, eq           // encoding: [0xe3,0x17,0x9f,0x1a]
1404*9880d681SAndroid Build Coastguard Worker// CHECK: cset    x9, pl           // encoding: [0xe9,0x47,0x9f,0x9a]
1405*9880d681SAndroid Build Coastguard Worker
1406*9880d681SAndroid Build Coastguard Worker        csetm w20, ne
1407*9880d681SAndroid Build Coastguard Worker        csetm x30, ge
1408*9880d681SAndroid Build Coastguard Worker// CHECK: csetm    w20, ne          // encoding: [0xf4,0x03,0x9f,0x5a]
1409*9880d681SAndroid Build Coastguard Worker// CHECK: csetm    x30, ge          // encoding: [0xfe,0xb3,0x9f,0xda]
1410*9880d681SAndroid Build Coastguard Worker
1411*9880d681SAndroid Build Coastguard Worker        cinc w3, w5, gt
1412*9880d681SAndroid Build Coastguard Worker        cinc wzr, w4, le
1413*9880d681SAndroid Build Coastguard Worker        cinc w9, wzr, lt
1414*9880d681SAndroid Build Coastguard Worker// CHECK: cinc    w3, w5, gt             // encoding: [0xa3,0xd4,0x85,0x1a]
1415*9880d681SAndroid Build Coastguard Worker// CHECK: cinc    wzr, w4, le            // encoding: [0x9f,0xc4,0x84,0x1a]
1416*9880d681SAndroid Build Coastguard Worker// CHECK: cset    w9, lt           // encoding: [0xe9,0xa7,0x9f,0x1a]
1417*9880d681SAndroid Build Coastguard Worker
1418*9880d681SAndroid Build Coastguard Worker        cinc x3, x5, gt
1419*9880d681SAndroid Build Coastguard Worker        cinc xzr, x4, le
1420*9880d681SAndroid Build Coastguard Worker        cinc x9, xzr, lt
1421*9880d681SAndroid Build Coastguard Worker// CHECK: cinc     x3, x5, gt             // encoding: [0xa3,0xd4,0x85,0x9a]
1422*9880d681SAndroid Build Coastguard Worker// CHECK: cinc     xzr, x4, le            // encoding: [0x9f,0xc4,0x84,0x9a]
1423*9880d681SAndroid Build Coastguard Worker// CHECK: cset     x9, lt           // encoding: [0xe9,0xa7,0x9f,0x9a]
1424*9880d681SAndroid Build Coastguard Worker
1425*9880d681SAndroid Build Coastguard Worker        cinv w3, w5, gt
1426*9880d681SAndroid Build Coastguard Worker        cinv wzr, w4, le
1427*9880d681SAndroid Build Coastguard Worker        cinv w9, wzr, lt
1428*9880d681SAndroid Build Coastguard Worker// CHECK: cinv    w3, w5, gt             // encoding: [0xa3,0xd0,0x85,0x5a]
1429*9880d681SAndroid Build Coastguard Worker// CHECK: cinv    wzr, w4, le            // encoding: [0x9f,0xc0,0x84,0x5a]
1430*9880d681SAndroid Build Coastguard Worker// CHECK: csetm    w9, lt           // encoding: [0xe9,0xa3,0x9f,0x5a]
1431*9880d681SAndroid Build Coastguard Worker
1432*9880d681SAndroid Build Coastguard Worker        cinv x3, x5, gt
1433*9880d681SAndroid Build Coastguard Worker        cinv xzr, x4, le
1434*9880d681SAndroid Build Coastguard Worker        cinv x9, xzr, lt
1435*9880d681SAndroid Build Coastguard Worker// CHECK: cinv    x3, x5, gt             // encoding: [0xa3,0xd0,0x85,0xda]
1436*9880d681SAndroid Build Coastguard Worker// CHECK: cinv    xzr, x4, le            // encoding: [0x9f,0xc0,0x84,0xda]
1437*9880d681SAndroid Build Coastguard Worker// CHECK: csetm    x9, lt           // encoding: [0xe9,0xa3,0x9f,0xda]
1438*9880d681SAndroid Build Coastguard Worker
1439*9880d681SAndroid Build Coastguard Worker        cneg w3, w5, gt
1440*9880d681SAndroid Build Coastguard Worker        cneg wzr, w4, le
1441*9880d681SAndroid Build Coastguard Worker        cneg w9, wzr, lt
1442*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    w3, w5, gt            // encoding: [0xa3,0xd4,0x85,0x5a]
1443*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    wzr, w4, le            // encoding: [0x9f,0xc4,0x84,0x5a]
1444*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    w9, wzr, lt           // encoding: [0xe9,0xa7,0x9f,0x5a]
1445*9880d681SAndroid Build Coastguard Worker
1446*9880d681SAndroid Build Coastguard Worker        cneg x3, x5, gt
1447*9880d681SAndroid Build Coastguard Worker        cneg xzr, x4, le
1448*9880d681SAndroid Build Coastguard Worker        cneg x9, xzr, lt
1449*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    x3, x5, gt             // encoding: [0xa3,0xd4,0x85,0xda]
1450*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    xzr, x4, le            // encoding: [0x9f,0xc4,0x84,0xda]
1451*9880d681SAndroid Build Coastguard Worker// CHECK: cneg    x9, xzr, lt           // encoding: [0xe9,0xa7,0x9f,0xda]
1452*9880d681SAndroid Build Coastguard Worker
1453*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1454*9880d681SAndroid Build Coastguard Worker// Data-processing (1 source)
1455*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1456*9880d681SAndroid Build Coastguard Worker
1457*9880d681SAndroid Build Coastguard Worker	rbit	w0, w7
1458*9880d681SAndroid Build Coastguard Worker	rbit	x18, x3
1459*9880d681SAndroid Build Coastguard Worker	rev16	w17, w1
1460*9880d681SAndroid Build Coastguard Worker	rev16	x5, x2
1461*9880d681SAndroid Build Coastguard Worker	rev	w18, w0
1462*9880d681SAndroid Build Coastguard Worker	rev32	x20, x1
1463*9880d681SAndroid Build Coastguard Worker	rev32	x20, xzr
1464*9880d681SAndroid Build Coastguard Worker// CHECK: rbit	w0, w7                       // encoding: [0xe0,0x00,0xc0,0x5a]
1465*9880d681SAndroid Build Coastguard Worker// CHECK: rbit	x18, x3                      // encoding: [0x72,0x00,0xc0,0xda]
1466*9880d681SAndroid Build Coastguard Worker// CHECK: rev16 w17, w1                      // encoding: [0x31,0x04,0xc0,0x5a]
1467*9880d681SAndroid Build Coastguard Worker// CHECK: rev16	x5, x2                       // encoding: [0x45,0x04,0xc0,0xda]
1468*9880d681SAndroid Build Coastguard Worker// CHECK: rev	w18, w0                      // encoding: [0x12,0x08,0xc0,0x5a]
1469*9880d681SAndroid Build Coastguard Worker// CHECK: rev32	x20, x1                      // encoding: [0x34,0x08,0xc0,0xda]
1470*9880d681SAndroid Build Coastguard Worker// CHECK: rev32	x20, xzr                     // encoding: [0xf4,0x0b,0xc0,0xda]
1471*9880d681SAndroid Build Coastguard Worker
1472*9880d681SAndroid Build Coastguard Worker	rev	x22, x2
1473*9880d681SAndroid Build Coastguard Worker	rev	x18, xzr
1474*9880d681SAndroid Build Coastguard Worker	rev	w7, wzr
1475*9880d681SAndroid Build Coastguard Worker	clz	w24, w3
1476*9880d681SAndroid Build Coastguard Worker	clz	x26, x4
1477*9880d681SAndroid Build Coastguard Worker	cls	w3, w5
1478*9880d681SAndroid Build Coastguard Worker	cls	x20, x5
1479*9880d681SAndroid Build Coastguard Worker// CHECK: rev	x22, x2                      // encoding: [0x56,0x0c,0xc0,0xda]
1480*9880d681SAndroid Build Coastguard Worker// CHECK: rev	x18, xzr                     // encoding: [0xf2,0x0f,0xc0,0xda]
1481*9880d681SAndroid Build Coastguard Worker// CHECK: rev	w7, wzr                      // encoding: [0xe7,0x0b,0xc0,0x5a]
1482*9880d681SAndroid Build Coastguard Worker// CHECK: clz	w24, w3                      // encoding: [0x78,0x10,0xc0,0x5a]
1483*9880d681SAndroid Build Coastguard Worker// CHECK: clz	x26, x4                      // encoding: [0x9a,0x10,0xc0,0xda]
1484*9880d681SAndroid Build Coastguard Worker// CHECK: cls	w3, w5                       // encoding: [0xa3,0x14,0xc0,0x5a]
1485*9880d681SAndroid Build Coastguard Worker// CHECK: cls	x20, x5                      // encoding: [0xb4,0x14,0xc0,0xda]
1486*9880d681SAndroid Build Coastguard Worker
1487*9880d681SAndroid Build Coastguard Worker	clz	w24, wzr
1488*9880d681SAndroid Build Coastguard Worker	rev	x22, xzr
1489*9880d681SAndroid Build Coastguard Worker// CHECK: clz	w24, wzr                     // encoding: [0xf8,0x13,0xc0,0x5a]
1490*9880d681SAndroid Build Coastguard Worker// CHECK: rev	x22, xzr                     // encoding: [0xf6,0x0f,0xc0,0xda]
1491*9880d681SAndroid Build Coastguard Worker
1492*9880d681SAndroid Build Coastguard Worker	rev64	x13, x12
1493*9880d681SAndroid Build Coastguard Worker// CHECK: rev	x13, x12                     // encoding: [0x8d,0x0d,0xc0,0xda]
1494*9880d681SAndroid Build Coastguard Worker
1495*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1496*9880d681SAndroid Build Coastguard Worker// Data-processing (2 source)
1497*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1498*9880d681SAndroid Build Coastguard Worker
1499*9880d681SAndroid Build Coastguard Worker        crc32b  w5, w7, w20
1500*9880d681SAndroid Build Coastguard Worker        crc32h  w28, wzr, w30
1501*9880d681SAndroid Build Coastguard Worker        crc32w  w0, w1, w2
1502*9880d681SAndroid Build Coastguard Worker        crc32x  w7, w9, x20
1503*9880d681SAndroid Build Coastguard Worker        crc32cb w9, w5, w4
1504*9880d681SAndroid Build Coastguard Worker        crc32ch w13, w17, w25
1505*9880d681SAndroid Build Coastguard Worker        crc32cw wzr, w3, w5
1506*9880d681SAndroid Build Coastguard Worker        crc32cx w18, w16, xzr
1507*9880d681SAndroid Build Coastguard Worker// CHECK: crc32b   w5, w7, w20             // encoding: [0xe5,0x40,0xd4,0x1a]
1508*9880d681SAndroid Build Coastguard Worker// CHECK: crc32h   w28, wzr, w30           // encoding: [0xfc,0x47,0xde,0x1a]
1509*9880d681SAndroid Build Coastguard Worker// CHECK: crc32w   w0, w1, w2              // encoding: [0x20,0x48,0xc2,0x1a]
1510*9880d681SAndroid Build Coastguard Worker// CHECK: crc32x   w7, w9, x20             // encoding: [0x27,0x4d,0xd4,0x9a]
1511*9880d681SAndroid Build Coastguard Worker// CHECK: crc32cb  w9, w5, w4              // encoding: [0xa9,0x50,0xc4,0x1a]
1512*9880d681SAndroid Build Coastguard Worker// CHECK: crc32ch  w13, w17, w25           // encoding: [0x2d,0x56,0xd9,0x1a]
1513*9880d681SAndroid Build Coastguard Worker// CHECK: crc32cw  wzr, w3, w5             // encoding: [0x7f,0x58,0xc5,0x1a]
1514*9880d681SAndroid Build Coastguard Worker// CHECK: crc32cx  w18, w16, xzr           // encoding: [0x12,0x5e,0xdf,0x9a]
1515*9880d681SAndroid Build Coastguard Worker
1516*9880d681SAndroid Build Coastguard Worker        udiv	w0, w7, w10
1517*9880d681SAndroid Build Coastguard Worker        udiv	x9, x22, x4
1518*9880d681SAndroid Build Coastguard Worker        sdiv	w12, w21, w0
1519*9880d681SAndroid Build Coastguard Worker        sdiv	x13, x2, x1
1520*9880d681SAndroid Build Coastguard Worker        lslv	w11, w12, w13
1521*9880d681SAndroid Build Coastguard Worker        lslv	x14, x15, x16
1522*9880d681SAndroid Build Coastguard Worker        lsrv	w17, w18, w19
1523*9880d681SAndroid Build Coastguard Worker        lsrv	x20, x21, x22
1524*9880d681SAndroid Build Coastguard Worker        asrv	w23, w24, w25
1525*9880d681SAndroid Build Coastguard Worker        asrv	x26, x27, x28
1526*9880d681SAndroid Build Coastguard Worker        rorv	w0, w1, w2
1527*9880d681SAndroid Build Coastguard Worker        rorv    x3, x4, x5
1528*9880d681SAndroid Build Coastguard Worker
1529*9880d681SAndroid Build Coastguard Worker
1530*9880d681SAndroid Build Coastguard Worker// CHECK: udiv	w0, w7, w10                   // encoding: [0xe0,0x08,0xca,0x1a]
1531*9880d681SAndroid Build Coastguard Worker// CHECK: udiv	x9, x22, x4                   // encoding: [0xc9,0x0a,0xc4,0x9a]
1532*9880d681SAndroid Build Coastguard Worker// CHECK: sdiv	w12, w21, w0                  // encoding: [0xac,0x0e,0xc0,0x1a]
1533*9880d681SAndroid Build Coastguard Worker// CHECK: sdiv	x13, x2, x1                   // encoding: [0x4d,0x0c,0xc1,0x9a]
1534*9880d681SAndroid Build Coastguard Worker// CHECK: lsl	w11, w12, w13                 // encoding: [0x8b,0x21,0xcd,0x1a]
1535*9880d681SAndroid Build Coastguard Worker// CHECK: lsl	x14, x15, x16                 // encoding: [0xee,0x21,0xd0,0x9a]
1536*9880d681SAndroid Build Coastguard Worker// CHECK: lsr	w17, w18, w19                 // encoding: [0x51,0x26,0xd3,0x1a]
1537*9880d681SAndroid Build Coastguard Worker// CHECK: lsr	x20, x21, x22                 // encoding: [0xb4,0x26,0xd6,0x9a]
1538*9880d681SAndroid Build Coastguard Worker// CHECK: asr	w23, w24, w25                 // encoding: [0x17,0x2b,0xd9,0x1a]
1539*9880d681SAndroid Build Coastguard Worker// CHECK: asr	x26, x27, x28                 // encoding: [0x7a,0x2b,0xdc,0x9a]
1540*9880d681SAndroid Build Coastguard Worker// CHECK: ror	w0, w1, w2                    // encoding: [0x20,0x2c,0xc2,0x1a]
1541*9880d681SAndroid Build Coastguard Worker// CHECK: ror  x3, x4, x5                     // encoding: [0x83,0x2c,0xc5,0x9a]
1542*9880d681SAndroid Build Coastguard Worker
1543*9880d681SAndroid Build Coastguard Worker
1544*9880d681SAndroid Build Coastguard Worker        lsl	w6, w7, w8
1545*9880d681SAndroid Build Coastguard Worker        lsl	x9, x10, x11
1546*9880d681SAndroid Build Coastguard Worker        lsr	w12, w13, w14
1547*9880d681SAndroid Build Coastguard Worker        lsr	x15, x16, x17
1548*9880d681SAndroid Build Coastguard Worker        asr	w18, w19, w20
1549*9880d681SAndroid Build Coastguard Worker        asr	x21, x22, x23
1550*9880d681SAndroid Build Coastguard Worker        ror	w24, w25, w26
1551*9880d681SAndroid Build Coastguard Worker        ror	x27, x28, x29
1552*9880d681SAndroid Build Coastguard Worker// CHECK: lsl	w6, w7, w8                    // encoding: [0xe6,0x20,0xc8,0x1a]
1553*9880d681SAndroid Build Coastguard Worker// CHECK: lsl	x9, x10, x11                  // encoding: [0x49,0x21,0xcb,0x9a]
1554*9880d681SAndroid Build Coastguard Worker// CHECK: lsr	w12, w13, w14                 // encoding: [0xac,0x25,0xce,0x1a]
1555*9880d681SAndroid Build Coastguard Worker// CHECK: lsr	x15, x16, x17                 // encoding: [0x0f,0x26,0xd1,0x9a]
1556*9880d681SAndroid Build Coastguard Worker// CHECK: asr	w18, w19, w20                 // encoding: [0x72,0x2a,0xd4,0x1a]
1557*9880d681SAndroid Build Coastguard Worker// CHECK: asr	x21, x22, x23                 // encoding: [0xd5,0x2a,0xd7,0x9a]
1558*9880d681SAndroid Build Coastguard Worker// CHECK: ror	w24, w25, w26                 // encoding: [0x38,0x2f,0xda,0x1a]
1559*9880d681SAndroid Build Coastguard Worker// CHECK: ror	x27, x28, x29                 // encoding: [0x9b,0x2f,0xdd,0x9a]
1560*9880d681SAndroid Build Coastguard Worker
1561*9880d681SAndroid Build Coastguard Worker        madd w1, w3, w7, w4
1562*9880d681SAndroid Build Coastguard Worker        madd wzr, w0, w9, w11
1563*9880d681SAndroid Build Coastguard Worker        madd w13, wzr, w4, w4
1564*9880d681SAndroid Build Coastguard Worker        madd w19, w30, wzr, w29
1565*9880d681SAndroid Build Coastguard Worker        madd w4, w5, w6, wzr
1566*9880d681SAndroid Build Coastguard Worker// CHECK: madd     w1, w3, w7, w4             // encoding: [0x61,0x10,0x07,0x1b]
1567*9880d681SAndroid Build Coastguard Worker// CHECK: madd     wzr, w0, w9, w11           // encoding: [0x1f,0x2c,0x09,0x1b]
1568*9880d681SAndroid Build Coastguard Worker// CHECK: madd     w13, wzr, w4, w4           // encoding: [0xed,0x13,0x04,0x1b]
1569*9880d681SAndroid Build Coastguard Worker// CHECK: madd     w19, w30, wzr, w29         // encoding: [0xd3,0x77,0x1f,0x1b]
1570*9880d681SAndroid Build Coastguard Worker// CHECK: mul      w4, w5, w6                 // encoding: [0xa4,0x7c,0x06,0x1b]
1571*9880d681SAndroid Build Coastguard Worker
1572*9880d681SAndroid Build Coastguard Worker        madd x1, x3, x7, x4
1573*9880d681SAndroid Build Coastguard Worker        madd xzr, x0, x9, x11
1574*9880d681SAndroid Build Coastguard Worker        madd x13, xzr, x4, x4
1575*9880d681SAndroid Build Coastguard Worker        madd x19, x30, xzr, x29
1576*9880d681SAndroid Build Coastguard Worker        madd x4, x5, x6, xzr
1577*9880d681SAndroid Build Coastguard Worker// CHECK: madd     x1, x3, x7, x4             // encoding: [0x61,0x10,0x07,0x9b]
1578*9880d681SAndroid Build Coastguard Worker// CHECK: madd     xzr, x0, x9, x11           // encoding: [0x1f,0x2c,0x09,0x9b]
1579*9880d681SAndroid Build Coastguard Worker// CHECK: madd     x13, xzr, x4, x4           // encoding: [0xed,0x13,0x04,0x9b]
1580*9880d681SAndroid Build Coastguard Worker// CHECK: madd     x19, x30, xzr, x29         // encoding: [0xd3,0x77,0x1f,0x9b]
1581*9880d681SAndroid Build Coastguard Worker// CHECK: mul      x4, x5, x6                 // encoding: [0xa4,0x7c,0x06,0x9b]
1582*9880d681SAndroid Build Coastguard Worker
1583*9880d681SAndroid Build Coastguard Worker        msub w1, w3, w7, w4
1584*9880d681SAndroid Build Coastguard Worker        msub wzr, w0, w9, w11
1585*9880d681SAndroid Build Coastguard Worker        msub w13, wzr, w4, w4
1586*9880d681SAndroid Build Coastguard Worker        msub w19, w30, wzr, w29
1587*9880d681SAndroid Build Coastguard Worker        msub w4, w5, w6, wzr
1588*9880d681SAndroid Build Coastguard Worker// CHECK: msub     w1, w3, w7, w4             // encoding: [0x61,0x90,0x07,0x1b]
1589*9880d681SAndroid Build Coastguard Worker// CHECK: msub     wzr, w0, w9, w11           // encoding: [0x1f,0xac,0x09,0x1b]
1590*9880d681SAndroid Build Coastguard Worker// CHECK: msub     w13, wzr, w4, w4           // encoding: [0xed,0x93,0x04,0x1b]
1591*9880d681SAndroid Build Coastguard Worker// CHECK: msub     w19, w30, wzr, w29         // encoding: [0xd3,0xf7,0x1f,0x1b]
1592*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     w4, w5, w6                 // encoding: [0xa4,0xfc,0x06,0x1b]
1593*9880d681SAndroid Build Coastguard Worker
1594*9880d681SAndroid Build Coastguard Worker        msub x1, x3, x7, x4
1595*9880d681SAndroid Build Coastguard Worker        msub xzr, x0, x9, x11
1596*9880d681SAndroid Build Coastguard Worker        msub x13, xzr, x4, x4
1597*9880d681SAndroid Build Coastguard Worker        msub x19, x30, xzr, x29
1598*9880d681SAndroid Build Coastguard Worker        msub x4, x5, x6, xzr
1599*9880d681SAndroid Build Coastguard Worker// CHECK: msub     x1, x3, x7, x4             // encoding: [0x61,0x90,0x07,0x9b]
1600*9880d681SAndroid Build Coastguard Worker// CHECK: msub     xzr, x0, x9, x11           // encoding: [0x1f,0xac,0x09,0x9b]
1601*9880d681SAndroid Build Coastguard Worker// CHECK: msub     x13, xzr, x4, x4           // encoding: [0xed,0x93,0x04,0x9b]
1602*9880d681SAndroid Build Coastguard Worker// CHECK: msub     x19, x30, xzr, x29         // encoding: [0xd3,0xf7,0x1f,0x9b]
1603*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     x4, x5, x6                 // encoding: [0xa4,0xfc,0x06,0x9b]
1604*9880d681SAndroid Build Coastguard Worker
1605*9880d681SAndroid Build Coastguard Worker        smaddl x3, w5, w2, x9
1606*9880d681SAndroid Build Coastguard Worker        smaddl xzr, w10, w11, x12
1607*9880d681SAndroid Build Coastguard Worker        smaddl x13, wzr, w14, x15
1608*9880d681SAndroid Build Coastguard Worker        smaddl x16, w17, wzr, x18
1609*9880d681SAndroid Build Coastguard Worker        smaddl x19, w20, w21, xzr
1610*9880d681SAndroid Build Coastguard Worker// CHECK: smaddl   x3, w5, w2, x9             // encoding: [0xa3,0x24,0x22,0x9b]
1611*9880d681SAndroid Build Coastguard Worker// CHECK: smaddl   xzr, w10, w11, x12         // encoding: [0x5f,0x31,0x2b,0x9b]
1612*9880d681SAndroid Build Coastguard Worker// CHECK: smaddl   x13, wzr, w14, x15         // encoding: [0xed,0x3f,0x2e,0x9b]
1613*9880d681SAndroid Build Coastguard Worker// CHECK: smaddl   x16, w17, wzr, x18         // encoding: [0x30,0x4a,0x3f,0x9b]
1614*9880d681SAndroid Build Coastguard Worker// CHECK: smull    x19, w20, w21              // encoding: [0x93,0x7e,0x35,0x9b]
1615*9880d681SAndroid Build Coastguard Worker
1616*9880d681SAndroid Build Coastguard Worker        smsubl x3, w5, w2, x9
1617*9880d681SAndroid Build Coastguard Worker        smsubl xzr, w10, w11, x12
1618*9880d681SAndroid Build Coastguard Worker        smsubl x13, wzr, w14, x15
1619*9880d681SAndroid Build Coastguard Worker        smsubl x16, w17, wzr, x18
1620*9880d681SAndroid Build Coastguard Worker        smsubl x19, w20, w21, xzr
1621*9880d681SAndroid Build Coastguard Worker// CHECK: smsubl   x3, w5, w2, x9             // encoding: [0xa3,0xa4,0x22,0x9b]
1622*9880d681SAndroid Build Coastguard Worker// CHECK: smsubl   xzr, w10, w11, x12         // encoding: [0x5f,0xb1,0x2b,0x9b]
1623*9880d681SAndroid Build Coastguard Worker// CHECK: smsubl   x13, wzr, w14, x15         // encoding: [0xed,0xbf,0x2e,0x9b]
1624*9880d681SAndroid Build Coastguard Worker// CHECK: smsubl   x16, w17, wzr, x18         // encoding: [0x30,0xca,0x3f,0x9b]
1625*9880d681SAndroid Build Coastguard Worker// CHECK: smnegl   x19, w20, w21              // encoding: [0x93,0xfe,0x35,0x9b]
1626*9880d681SAndroid Build Coastguard Worker
1627*9880d681SAndroid Build Coastguard Worker        umaddl x3, w5, w2, x9
1628*9880d681SAndroid Build Coastguard Worker        umaddl xzr, w10, w11, x12
1629*9880d681SAndroid Build Coastguard Worker        umaddl x13, wzr, w14, x15
1630*9880d681SAndroid Build Coastguard Worker        umaddl x16, w17, wzr, x18
1631*9880d681SAndroid Build Coastguard Worker        umaddl x19, w20, w21, xzr
1632*9880d681SAndroid Build Coastguard Worker// CHECK: umaddl   x3, w5, w2, x9             // encoding: [0xa3,0x24,0xa2,0x9b]
1633*9880d681SAndroid Build Coastguard Worker// CHECK: umaddl   xzr, w10, w11, x12         // encoding: [0x5f,0x31,0xab,0x9b]
1634*9880d681SAndroid Build Coastguard Worker// CHECK: umaddl   x13, wzr, w14, x15         // encoding: [0xed,0x3f,0xae,0x9b]
1635*9880d681SAndroid Build Coastguard Worker// CHECK: umaddl   x16, w17, wzr, x18         // encoding: [0x30,0x4a,0xbf,0x9b]
1636*9880d681SAndroid Build Coastguard Worker// CHECK: umull    x19, w20, w21              // encoding: [0x93,0x7e,0xb5,0x9b]
1637*9880d681SAndroid Build Coastguard Worker
1638*9880d681SAndroid Build Coastguard Worker
1639*9880d681SAndroid Build Coastguard Worker
1640*9880d681SAndroid Build Coastguard Worker        umsubl x3, w5, w2, x9
1641*9880d681SAndroid Build Coastguard Worker        umsubl xzr, w10, w11, x12
1642*9880d681SAndroid Build Coastguard Worker        umsubl x13, wzr, w14, x15
1643*9880d681SAndroid Build Coastguard Worker        umsubl x16, w17, wzr, x18
1644*9880d681SAndroid Build Coastguard Worker        umsubl x19, w20, w21, xzr
1645*9880d681SAndroid Build Coastguard Worker// CHECK: umsubl   x3, w5, w2, x9             // encoding: [0xa3,0xa4,0xa2,0x9b]
1646*9880d681SAndroid Build Coastguard Worker// CHECK: umsubl   xzr, w10, w11, x12         // encoding: [0x5f,0xb1,0xab,0x9b]
1647*9880d681SAndroid Build Coastguard Worker// CHECK: umsubl   x13, wzr, w14, x15         // encoding: [0xed,0xbf,0xae,0x9b]
1648*9880d681SAndroid Build Coastguard Worker// CHECK: umsubl   x16, w17, wzr, x18         // encoding: [0x30,0xca,0xbf,0x9b]
1649*9880d681SAndroid Build Coastguard Worker// CHECK: umnegl   x19, w20, w21              // encoding: [0x93,0xfe,0xb5,0x9b]
1650*9880d681SAndroid Build Coastguard Worker
1651*9880d681SAndroid Build Coastguard Worker        smulh x30, x29, x28
1652*9880d681SAndroid Build Coastguard Worker        smulh xzr, x27, x26
1653*9880d681SAndroid Build Coastguard Worker        smulh x25, xzr, x24
1654*9880d681SAndroid Build Coastguard Worker        smulh x23, x22, xzr
1655*9880d681SAndroid Build Coastguard Worker// CHECK: smulh    x30, x29, x28              // encoding: [0xbe,0x7f,0x5c,0x9b]
1656*9880d681SAndroid Build Coastguard Worker// CHECK: smulh    xzr, x27, x26              // encoding: [0x7f,0x7f,0x5a,0x9b]
1657*9880d681SAndroid Build Coastguard Worker// CHECK: smulh    x25, xzr, x24              // encoding: [0xf9,0x7f,0x58,0x9b]
1658*9880d681SAndroid Build Coastguard Worker// CHECK: smulh    x23, x22, xzr              // encoding: [0xd7,0x7e,0x5f,0x9b]
1659*9880d681SAndroid Build Coastguard Worker
1660*9880d681SAndroid Build Coastguard Worker        umulh x30, x29, x28
1661*9880d681SAndroid Build Coastguard Worker        umulh xzr, x27, x26
1662*9880d681SAndroid Build Coastguard Worker        umulh x25, xzr, x24
1663*9880d681SAndroid Build Coastguard Worker        umulh x23, x22, xzr
1664*9880d681SAndroid Build Coastguard Worker// CHECK: umulh    x30, x29, x28              // encoding: [0xbe,0x7f,0xdc,0x9b]
1665*9880d681SAndroid Build Coastguard Worker// CHECK: umulh    xzr, x27, x26              // encoding: [0x7f,0x7f,0xda,0x9b]
1666*9880d681SAndroid Build Coastguard Worker// CHECK: umulh    x25, xzr, x24              // encoding: [0xf9,0x7f,0xd8,0x9b]
1667*9880d681SAndroid Build Coastguard Worker// CHECK: umulh    x23, x22, xzr              // encoding: [0xd7,0x7e,0xdf,0x9b]
1668*9880d681SAndroid Build Coastguard Worker
1669*9880d681SAndroid Build Coastguard Worker        mul w3, w4, w5
1670*9880d681SAndroid Build Coastguard Worker        mul wzr, w6, w7
1671*9880d681SAndroid Build Coastguard Worker        mul w8, wzr, w9
1672*9880d681SAndroid Build Coastguard Worker        mul w10, w11, wzr
1673*9880d681SAndroid Build Coastguard Worker
1674*9880d681SAndroid Build Coastguard Worker        mul x12, x13, x14
1675*9880d681SAndroid Build Coastguard Worker        mul xzr, x15, x16
1676*9880d681SAndroid Build Coastguard Worker        mul x17, xzr, x18
1677*9880d681SAndroid Build Coastguard Worker        mul x19, x20, xzr
1678*9880d681SAndroid Build Coastguard Worker
1679*9880d681SAndroid Build Coastguard Worker        mneg w21, w22, w23
1680*9880d681SAndroid Build Coastguard Worker        mneg wzr, w24, w25
1681*9880d681SAndroid Build Coastguard Worker        mneg w26, wzr, w27
1682*9880d681SAndroid Build Coastguard Worker        mneg w28, w29, wzr
1683*9880d681SAndroid Build Coastguard Worker
1684*9880d681SAndroid Build Coastguard Worker        smull x11, w13, w17
1685*9880d681SAndroid Build Coastguard Worker        umull x11, w13, w17
1686*9880d681SAndroid Build Coastguard Worker        smnegl x11, w13, w17
1687*9880d681SAndroid Build Coastguard Worker        umnegl x11, w13, w17
1688*9880d681SAndroid Build Coastguard Worker// CHECK: mul      w3, w4, w5                 // encoding: [0x83,0x7c,0x05,0x1b]
1689*9880d681SAndroid Build Coastguard Worker// CHECK: mul      wzr, w6, w7                // encoding: [0xdf,0x7c,0x07,0x1b]
1690*9880d681SAndroid Build Coastguard Worker// CHECK: mul      w8, wzr, w9                // encoding: [0xe8,0x7f,0x09,0x1b]
1691*9880d681SAndroid Build Coastguard Worker// CHECK: mul      w10, w11, wzr              // encoding: [0x6a,0x7d,0x1f,0x1b]
1692*9880d681SAndroid Build Coastguard Worker// CHECK: mul      x12, x13, x14              // encoding: [0xac,0x7d,0x0e,0x9b]
1693*9880d681SAndroid Build Coastguard Worker// CHECK: mul      xzr, x15, x16              // encoding: [0xff,0x7d,0x10,0x9b]
1694*9880d681SAndroid Build Coastguard Worker// CHECK: mul      x17, xzr, x18              // encoding: [0xf1,0x7f,0x12,0x9b]
1695*9880d681SAndroid Build Coastguard Worker// CHECK: mul      x19, x20, xzr              // encoding: [0x93,0x7e,0x1f,0x9b]
1696*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     w21, w22, w23              // encoding: [0xd5,0xfe,0x17,0x1b]
1697*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     wzr, w24, w25              // encoding: [0x1f,0xff,0x19,0x1b]
1698*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     w26, wzr, w27              // encoding: [0xfa,0xff,0x1b,0x1b]
1699*9880d681SAndroid Build Coastguard Worker// CHECK: mneg     w28, w29, wzr              // encoding: [0xbc,0xff,0x1f,0x1b]
1700*9880d681SAndroid Build Coastguard Worker// CHECK: smull    x11, w13, w17              // encoding: [0xab,0x7d,0x31,0x9b]
1701*9880d681SAndroid Build Coastguard Worker// CHECK: umull    x11, w13, w17              // encoding: [0xab,0x7d,0xb1,0x9b]
1702*9880d681SAndroid Build Coastguard Worker// CHECK: smnegl   x11, w13, w17              // encoding: [0xab,0xfd,0x31,0x9b]
1703*9880d681SAndroid Build Coastguard Worker// CHECK: umnegl   x11, w13, w17              // encoding: [0xab,0xfd,0xb1,0x9b]
1704*9880d681SAndroid Build Coastguard Worker
1705*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1706*9880d681SAndroid Build Coastguard Worker// Exception generation
1707*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1708*9880d681SAndroid Build Coastguard Worker        svc #0
1709*9880d681SAndroid Build Coastguard Worker        svc #65535
1710*9880d681SAndroid Build Coastguard Worker// CHECK: svc      #0                         // encoding: [0x01,0x00,0x00,0xd4]
1711*9880d681SAndroid Build Coastguard Worker// CHECK: svc      #{{65535|0xffff}}          // encoding: [0xe1,0xff,0x1f,0xd4]
1712*9880d681SAndroid Build Coastguard Worker
1713*9880d681SAndroid Build Coastguard Worker        hvc #1
1714*9880d681SAndroid Build Coastguard Worker        smc #12000
1715*9880d681SAndroid Build Coastguard Worker        brk #12
1716*9880d681SAndroid Build Coastguard Worker        hlt #123
1717*9880d681SAndroid Build Coastguard Worker// CHECK: hvc      #{{1|0x1}}                 // encoding: [0x22,0x00,0x00,0xd4]
1718*9880d681SAndroid Build Coastguard Worker// CHECK: smc      #{{12000|0x2ee0}}          // encoding: [0x03,0xdc,0x05,0xd4]
1719*9880d681SAndroid Build Coastguard Worker// CHECK: brk      #{{12|0xc}}                // encoding: [0x80,0x01,0x20,0xd4]
1720*9880d681SAndroid Build Coastguard Worker// CHECK: hlt      #{{123|0x7b}}              // encoding: [0x60,0x0f,0x40,0xd4]
1721*9880d681SAndroid Build Coastguard Worker
1722*9880d681SAndroid Build Coastguard Worker        dcps1 #42
1723*9880d681SAndroid Build Coastguard Worker        dcps2 #9
1724*9880d681SAndroid Build Coastguard Worker        dcps3 #1000
1725*9880d681SAndroid Build Coastguard Worker// CHECK: dcps1    #{{42|0x2a}}               // encoding: [0x41,0x05,0xa0,0xd4]
1726*9880d681SAndroid Build Coastguard Worker// CHECK: dcps2    #{{9|0x9}}                 // encoding: [0x22,0x01,0xa0,0xd4]
1727*9880d681SAndroid Build Coastguard Worker// CHECK: dcps3    #{{1000|0x3e8}}            // encoding: [0x03,0x7d,0xa0,0xd4]
1728*9880d681SAndroid Build Coastguard Worker
1729*9880d681SAndroid Build Coastguard Worker        dcps1
1730*9880d681SAndroid Build Coastguard Worker        dcps2
1731*9880d681SAndroid Build Coastguard Worker        dcps3
1732*9880d681SAndroid Build Coastguard Worker// CHECK: dcps1                               // encoding: [0x01,0x00,0xa0,0xd4]
1733*9880d681SAndroid Build Coastguard Worker// CHECK: dcps2                               // encoding: [0x02,0x00,0xa0,0xd4]
1734*9880d681SAndroid Build Coastguard Worker// CHECK: dcps3                               // encoding: [0x03,0x00,0xa0,0xd4]
1735*9880d681SAndroid Build Coastguard Worker
1736*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1737*9880d681SAndroid Build Coastguard Worker// Extract (immediate)
1738*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1739*9880d681SAndroid Build Coastguard Worker
1740*9880d681SAndroid Build Coastguard Worker        extr w3, w5, w7, #0
1741*9880d681SAndroid Build Coastguard Worker        extr w11, w13, w17, #31
1742*9880d681SAndroid Build Coastguard Worker// CHECK: extr     w3, w5, w7, #0             // encoding: [0xa3,0x00,0x87,0x13]
1743*9880d681SAndroid Build Coastguard Worker// CHECK: extr     w11, w13, w17, #31         // encoding: [0xab,0x7d,0x91,0x13]
1744*9880d681SAndroid Build Coastguard Worker
1745*9880d681SAndroid Build Coastguard Worker        extr x3, x5, x7, #15
1746*9880d681SAndroid Build Coastguard Worker        extr x11, x13, x17, #63
1747*9880d681SAndroid Build Coastguard Worker// CHECK: extr     x3, x5, x7, #15            // encoding: [0xa3,0x3c,0xc7,0x93]
1748*9880d681SAndroid Build Coastguard Worker// CHECK: extr     x11, x13, x17, #63         // encoding: [0xab,0xfd,0xd1,0x93]
1749*9880d681SAndroid Build Coastguard Worker
1750*9880d681SAndroid Build Coastguard Worker        ror x19, x23, #24
1751*9880d681SAndroid Build Coastguard Worker        ror x29, xzr, #63
1752*9880d681SAndroid Build Coastguard Worker// CHECK: ror     x19, x23, #24         // encoding: [0xf3,0x62,0xd7,0x93]
1753*9880d681SAndroid Build Coastguard Worker// CHECK: ror     x29, xzr, #63         // encoding: [0xfd,0xff,0xdf,0x93]
1754*9880d681SAndroid Build Coastguard Worker
1755*9880d681SAndroid Build Coastguard Worker        ror w9, w13, #31
1756*9880d681SAndroid Build Coastguard Worker// CHECK: ror     w9, w13, #31          // encoding: [0xa9,0x7d,0x8d,0x13]
1757*9880d681SAndroid Build Coastguard Worker
1758*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1759*9880d681SAndroid Build Coastguard Worker// Floating-point compare
1760*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1761*9880d681SAndroid Build Coastguard Worker
1762*9880d681SAndroid Build Coastguard Worker        fcmp s3, s5
1763*9880d681SAndroid Build Coastguard Worker        fcmp s31, #0.0
1764*9880d681SAndroid Build Coastguard Worker// CHECK: fcmp    s3, s5                  // encoding: [0x60,0x20,0x25,0x1e]
1765*9880d681SAndroid Build Coastguard Worker// CHECK: fcmp    s31, #0.0               // encoding: [0xe8,0x23,0x20,0x1e]
1766*9880d681SAndroid Build Coastguard Worker
1767*9880d681SAndroid Build Coastguard Worker        fcmpe s29, s30
1768*9880d681SAndroid Build Coastguard Worker        fcmpe s15, #0.0
1769*9880d681SAndroid Build Coastguard Worker// CHECK: fcmpe   s29, s30                // encoding: [0xb0,0x23,0x3e,0x1e]
1770*9880d681SAndroid Build Coastguard Worker// CHECK: fcmpe   s15, #0.0               // encoding: [0xf8,0x21,0x20,0x1e]
1771*9880d681SAndroid Build Coastguard Worker
1772*9880d681SAndroid Build Coastguard Worker        fcmp d4, d12
1773*9880d681SAndroid Build Coastguard Worker        fcmp d23, #0.0
1774*9880d681SAndroid Build Coastguard Worker// CHECK: fcmp    d4, d12                 // encoding: [0x80,0x20,0x6c,0x1e]
1775*9880d681SAndroid Build Coastguard Worker// CHECK: fcmp    d23, #0.0               // encoding: [0xe8,0x22,0x60,0x1e]
1776*9880d681SAndroid Build Coastguard Worker
1777*9880d681SAndroid Build Coastguard Worker        fcmpe d26, d22
1778*9880d681SAndroid Build Coastguard Worker        fcmpe d29, #0.0
1779*9880d681SAndroid Build Coastguard Worker// CHECK: fcmpe   d26, d22                // encoding: [0x50,0x23,0x76,0x1e]
1780*9880d681SAndroid Build Coastguard Worker// CHECK: fcmpe   d29, #0.0               // encoding: [0xb8,0x23,0x60,0x1e]
1781*9880d681SAndroid Build Coastguard Worker
1782*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1783*9880d681SAndroid Build Coastguard Worker// Floating-point conditional compare
1784*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1785*9880d681SAndroid Build Coastguard Worker
1786*9880d681SAndroid Build Coastguard Worker        fccmp s1, s31, #0, eq
1787*9880d681SAndroid Build Coastguard Worker        fccmp s3, s0, #15, hs
1788*9880d681SAndroid Build Coastguard Worker        fccmp s31, s15, #13, cs
1789*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    s1, s31, #0, eq         // encoding: [0x20,0x04,0x3f,0x1e]
1790*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    s3, s0, #15, hs         // encoding: [0x6f,0x24,0x20,0x1e]
1791*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    s31, s15, #13, hs       // encoding: [0xed,0x27,0x2f,0x1e]
1792*9880d681SAndroid Build Coastguard Worker
1793*9880d681SAndroid Build Coastguard Worker        fccmp d9, d31, #0, le
1794*9880d681SAndroid Build Coastguard Worker        fccmp d3, d0, #15, gt
1795*9880d681SAndroid Build Coastguard Worker        fccmp d31, d5, #7, ne
1796*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    d9, d31, #0, le         // encoding: [0x20,0xd5,0x7f,0x1e]
1797*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    d3, d0, #15, gt         // encoding: [0x6f,0xc4,0x60,0x1e]
1798*9880d681SAndroid Build Coastguard Worker// CHECK: fccmp    d31, d5, #7, ne         // encoding: [0xe7,0x17,0x65,0x1e]
1799*9880d681SAndroid Build Coastguard Worker
1800*9880d681SAndroid Build Coastguard Worker        fccmpe s1, s31, #0, eq
1801*9880d681SAndroid Build Coastguard Worker        fccmpe s3, s0, #15, hs
1802*9880d681SAndroid Build Coastguard Worker        fccmpe s31, s15, #13, cs
1803*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    s1, s31, #0, eq         // encoding: [0x30,0x04,0x3f,0x1e]
1804*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    s3, s0, #15, hs         // encoding: [0x7f,0x24,0x20,0x1e]
1805*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    s31, s15, #13, hs       // encoding: [0xfd,0x27,0x2f,0x1e]
1806*9880d681SAndroid Build Coastguard Worker
1807*9880d681SAndroid Build Coastguard Worker        fccmpe d9, d31, #0, le
1808*9880d681SAndroid Build Coastguard Worker        fccmpe d3, d0, #15, gt
1809*9880d681SAndroid Build Coastguard Worker        fccmpe d31, d5, #7, ne
1810*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    d9, d31, #0, le         // encoding: [0x30,0xd5,0x7f,0x1e]
1811*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    d3, d0, #15, gt         // encoding: [0x7f,0xc4,0x60,0x1e]
1812*9880d681SAndroid Build Coastguard Worker// CHECK: fccmpe    d31, d5, #7, ne         // encoding: [0xf7,0x17,0x65,0x1e]
1813*9880d681SAndroid Build Coastguard Worker
1814*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1815*9880d681SAndroid Build Coastguard Worker// Floating-point conditional compare
1816*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1817*9880d681SAndroid Build Coastguard Worker
1818*9880d681SAndroid Build Coastguard Worker        fcsel s3, s20, s9, pl
1819*9880d681SAndroid Build Coastguard Worker        fcsel d9, d10, d11, mi
1820*9880d681SAndroid Build Coastguard Worker// CHECK: fcsel   s3, s20, s9, pl         // encoding: [0x83,0x5e,0x29,0x1e]
1821*9880d681SAndroid Build Coastguard Worker// CHECK: fcsel   d9, d10, d11, mi        // encoding: [0x49,0x4d,0x6b,0x1e]
1822*9880d681SAndroid Build Coastguard Worker
1823*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1824*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (1 source)
1825*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1826*9880d681SAndroid Build Coastguard Worker
1827*9880d681SAndroid Build Coastguard Worker        fmov s0, s1
1828*9880d681SAndroid Build Coastguard Worker        fabs s2, s3
1829*9880d681SAndroid Build Coastguard Worker        fneg s4, s5
1830*9880d681SAndroid Build Coastguard Worker        fsqrt s6, s7
1831*9880d681SAndroid Build Coastguard Worker        fcvt d8, s9
1832*9880d681SAndroid Build Coastguard Worker        fcvt h10, s11
1833*9880d681SAndroid Build Coastguard Worker        frintn s12, s13
1834*9880d681SAndroid Build Coastguard Worker        frintp s14, s15
1835*9880d681SAndroid Build Coastguard Worker        frintm s16, s17
1836*9880d681SAndroid Build Coastguard Worker        frintz s18, s19
1837*9880d681SAndroid Build Coastguard Worker        frinta s20, s21
1838*9880d681SAndroid Build Coastguard Worker        frintx s22, s23
1839*9880d681SAndroid Build Coastguard Worker        frinti s24, s25
1840*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s0, s1                // encoding: [0x20,0x40,0x20,0x1e]
1841*9880d681SAndroid Build Coastguard Worker// CHECK: fabs     s2, s3                // encoding: [0x62,0xc0,0x20,0x1e]
1842*9880d681SAndroid Build Coastguard Worker// CHECK: fneg     s4, s5                     // encoding: [0xa4,0x40,0x21,0x1e]
1843*9880d681SAndroid Build Coastguard Worker// CHECK: fsqrt    s6, s7                     // encoding: [0xe6,0xc0,0x21,0x1e]
1844*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     d8, s9                     // encoding: [0x28,0xc1,0x22,0x1e]
1845*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     h10, s11                   // encoding: [0x6a,0xc1,0x23,0x1e]
1846*9880d681SAndroid Build Coastguard Worker// CHECK: frintn   s12, s13                   // encoding: [0xac,0x41,0x24,0x1e]
1847*9880d681SAndroid Build Coastguard Worker// CHECK: frintp   s14, s15                   // encoding: [0xee,0xc1,0x24,0x1e]
1848*9880d681SAndroid Build Coastguard Worker// CHECK: frintm   s16, s17                   // encoding: [0x30,0x42,0x25,0x1e]
1849*9880d681SAndroid Build Coastguard Worker// CHECK: frintz   s18, s19                   // encoding: [0x72,0xc2,0x25,0x1e]
1850*9880d681SAndroid Build Coastguard Worker// CHECK: frinta   s20, s21                   // encoding: [0xb4,0x42,0x26,0x1e]
1851*9880d681SAndroid Build Coastguard Worker// CHECK: frintx   s22, s23                   // encoding: [0xf6,0x42,0x27,0x1e]
1852*9880d681SAndroid Build Coastguard Worker// CHECK: frinti   s24, s25                   // encoding: [0x38,0xc3,0x27,0x1e]
1853*9880d681SAndroid Build Coastguard Worker
1854*9880d681SAndroid Build Coastguard Worker        fmov d0, d1
1855*9880d681SAndroid Build Coastguard Worker        fabs d2, d3
1856*9880d681SAndroid Build Coastguard Worker        fneg d4, d5
1857*9880d681SAndroid Build Coastguard Worker        fsqrt d6, d7
1858*9880d681SAndroid Build Coastguard Worker        fcvt s8, d9
1859*9880d681SAndroid Build Coastguard Worker        fcvt h10, d11
1860*9880d681SAndroid Build Coastguard Worker        frintn d12, d13
1861*9880d681SAndroid Build Coastguard Worker        frintp d14, d15
1862*9880d681SAndroid Build Coastguard Worker        frintm d16, d17
1863*9880d681SAndroid Build Coastguard Worker        frintz d18, d19
1864*9880d681SAndroid Build Coastguard Worker        frinta d20, d21
1865*9880d681SAndroid Build Coastguard Worker        frintx d22, d23
1866*9880d681SAndroid Build Coastguard Worker        frinti d24, d25
1867*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     d0, d1                     // encoding: [0x20,0x40,0x60,0x1e]
1868*9880d681SAndroid Build Coastguard Worker// CHECK: fabs     d2, d3                     // encoding: [0x62,0xc0,0x60,0x1e]
1869*9880d681SAndroid Build Coastguard Worker// CHECK: fneg     d4, d5                     // encoding: [0xa4,0x40,0x61,0x1e]
1870*9880d681SAndroid Build Coastguard Worker// CHECK: fsqrt    d6, d7                     // encoding: [0xe6,0xc0,0x61,0x1e]
1871*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     s8, d9                     // encoding: [0x28,0x41,0x62,0x1e]
1872*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     h10, d11                   // encoding: [0x6a,0xc1,0x63,0x1e]
1873*9880d681SAndroid Build Coastguard Worker// CHECK: frintn   d12, d13                   // encoding: [0xac,0x41,0x64,0x1e]
1874*9880d681SAndroid Build Coastguard Worker// CHECK: frintp   d14, d15                   // encoding: [0xee,0xc1,0x64,0x1e]
1875*9880d681SAndroid Build Coastguard Worker// CHECK: frintm   d16, d17                   // encoding: [0x30,0x42,0x65,0x1e]
1876*9880d681SAndroid Build Coastguard Worker// CHECK: frintz   d18, d19                   // encoding: [0x72,0xc2,0x65,0x1e]
1877*9880d681SAndroid Build Coastguard Worker// CHECK: frinta   d20, d21                   // encoding: [0xb4,0x42,0x66,0x1e]
1878*9880d681SAndroid Build Coastguard Worker// CHECK: frintx   d22, d23                   // encoding: [0xf6,0x42,0x67,0x1e]
1879*9880d681SAndroid Build Coastguard Worker// CHECK: frinti   d24, d25                   // encoding: [0x38,0xc3,0x67,0x1e]
1880*9880d681SAndroid Build Coastguard Worker
1881*9880d681SAndroid Build Coastguard Worker        fcvt s26, h27
1882*9880d681SAndroid Build Coastguard Worker        fcvt d28, h29
1883*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     s26, h27                   // encoding: [0x7a,0x43,0xe2,0x1e]
1884*9880d681SAndroid Build Coastguard Worker// CHECK: fcvt     d28, h29                   // encoding: [0xbc,0xc3,0xe2,0x1e]
1885*9880d681SAndroid Build Coastguard Worker
1886*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1887*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (2 sources)
1888*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1889*9880d681SAndroid Build Coastguard Worker
1890*9880d681SAndroid Build Coastguard Worker        fmul s20, s19, s17
1891*9880d681SAndroid Build Coastguard Worker        fdiv s1, s2, s3
1892*9880d681SAndroid Build Coastguard Worker        fadd s4, s5, s6
1893*9880d681SAndroid Build Coastguard Worker        fsub s7, s8, s9
1894*9880d681SAndroid Build Coastguard Worker        fmax s10, s11, s12
1895*9880d681SAndroid Build Coastguard Worker        fmin s13, s14, s15
1896*9880d681SAndroid Build Coastguard Worker        fmaxnm s16, s17, s18
1897*9880d681SAndroid Build Coastguard Worker        fminnm s19, s20, s21
1898*9880d681SAndroid Build Coastguard Worker        fnmul s22, s23, s24
1899*9880d681SAndroid Build Coastguard Worker// CHECK: fmul     s20, s19, s17              // encoding: [0x74,0x0a,0x31,0x1e]
1900*9880d681SAndroid Build Coastguard Worker// CHECK: fdiv     s1, s2, s3                 // encoding: [0x41,0x18,0x23,0x1e]
1901*9880d681SAndroid Build Coastguard Worker// CHECK: fadd     s4, s5, s6                 // encoding: [0xa4,0x28,0x26,0x1e]
1902*9880d681SAndroid Build Coastguard Worker// CHECK: fsub     s7, s8, s9                 // encoding: [0x07,0x39,0x29,0x1e]
1903*9880d681SAndroid Build Coastguard Worker// CHECK: fmax     s10, s11, s12              // encoding: [0x6a,0x49,0x2c,0x1e]
1904*9880d681SAndroid Build Coastguard Worker// CHECK: fmin     s13, s14, s15              // encoding: [0xcd,0x59,0x2f,0x1e]
1905*9880d681SAndroid Build Coastguard Worker// CHECK: fmaxnm   s16, s17, s18              // encoding: [0x30,0x6a,0x32,0x1e]
1906*9880d681SAndroid Build Coastguard Worker// CHECK: fminnm   s19, s20, s21              // encoding: [0x93,0x7a,0x35,0x1e]
1907*9880d681SAndroid Build Coastguard Worker// CHECK: fnmul    s22, s23, s24              // encoding: [0xf6,0x8a,0x38,0x1e]
1908*9880d681SAndroid Build Coastguard Worker
1909*9880d681SAndroid Build Coastguard Worker        fmul d20, d19, d17
1910*9880d681SAndroid Build Coastguard Worker        fdiv d1, d2, d3
1911*9880d681SAndroid Build Coastguard Worker        fadd d4, d5, d6
1912*9880d681SAndroid Build Coastguard Worker        fsub d7, d8, d9
1913*9880d681SAndroid Build Coastguard Worker        fmax d10, d11, d12
1914*9880d681SAndroid Build Coastguard Worker        fmin d13, d14, d15
1915*9880d681SAndroid Build Coastguard Worker        fmaxnm d16, d17, d18
1916*9880d681SAndroid Build Coastguard Worker        fminnm d19, d20, d21
1917*9880d681SAndroid Build Coastguard Worker        fnmul d22, d23, d24
1918*9880d681SAndroid Build Coastguard Worker// CHECK: fmul     d20, d19, d17              // encoding: [0x74,0x0a,0x71,0x1e]
1919*9880d681SAndroid Build Coastguard Worker// CHECK: fdiv     d1, d2, d3                 // encoding: [0x41,0x18,0x63,0x1e]
1920*9880d681SAndroid Build Coastguard Worker// CHECK: fadd     d4, d5, d6                 // encoding: [0xa4,0x28,0x66,0x1e]
1921*9880d681SAndroid Build Coastguard Worker// CHECK: fsub     d7, d8, d9                 // encoding: [0x07,0x39,0x69,0x1e]
1922*9880d681SAndroid Build Coastguard Worker// CHECK: fmax     d10, d11, d12              // encoding: [0x6a,0x49,0x6c,0x1e]
1923*9880d681SAndroid Build Coastguard Worker// CHECK: fmin     d13, d14, d15              // encoding: [0xcd,0x59,0x6f,0x1e]
1924*9880d681SAndroid Build Coastguard Worker// CHECK: fmaxnm   d16, d17, d18              // encoding: [0x30,0x6a,0x72,0x1e]
1925*9880d681SAndroid Build Coastguard Worker// CHECK: fminnm   d19, d20, d21              // encoding: [0x93,0x7a,0x75,0x1e]
1926*9880d681SAndroid Build Coastguard Worker// CHECK: fnmul    d22, d23, d24              // encoding: [0xf6,0x8a,0x78,0x1e]
1927*9880d681SAndroid Build Coastguard Worker
1928*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1929*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (3 sources)
1930*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1931*9880d681SAndroid Build Coastguard Worker
1932*9880d681SAndroid Build Coastguard Worker        fmadd s3, s5, s6, s31
1933*9880d681SAndroid Build Coastguard Worker        fmadd d3, d13, d0, d23
1934*9880d681SAndroid Build Coastguard Worker        fmsub s3, s5, s6, s31
1935*9880d681SAndroid Build Coastguard Worker        fmsub d3, d13, d0, d23
1936*9880d681SAndroid Build Coastguard Worker        fnmadd s3, s5, s6, s31
1937*9880d681SAndroid Build Coastguard Worker        fnmadd d3, d13, d0, d23
1938*9880d681SAndroid Build Coastguard Worker        fnmsub s3, s5, s6, s31
1939*9880d681SAndroid Build Coastguard Worker        fnmsub d3, d13, d0, d23
1940*9880d681SAndroid Build Coastguard Worker// CHECK: fmadd   s3, s5, s6, s31         // encoding: [0xa3,0x7c,0x06,0x1f]
1941*9880d681SAndroid Build Coastguard Worker// CHECK: fmadd   d3, d13, d0, d23        // encoding: [0xa3,0x5d,0x40,0x1f]
1942*9880d681SAndroid Build Coastguard Worker// CHECK: fmsub   s3, s5, s6, s31         // encoding: [0xa3,0xfc,0x06,0x1f]
1943*9880d681SAndroid Build Coastguard Worker// CHECK: fmsub   d3, d13, d0, d23        // encoding: [0xa3,0xdd,0x40,0x1f]
1944*9880d681SAndroid Build Coastguard Worker// CHECK: fnmadd  s3, s5, s6, s31         // encoding: [0xa3,0x7c,0x26,0x1f]
1945*9880d681SAndroid Build Coastguard Worker// CHECK: fnmadd  d3, d13, d0, d23        // encoding: [0xa3,0x5d,0x60,0x1f]
1946*9880d681SAndroid Build Coastguard Worker// CHECK: fnmsub  s3, s5, s6, s31         // encoding: [0xa3,0xfc,0x26,0x1f]
1947*9880d681SAndroid Build Coastguard Worker// CHECK: fnmsub  d3, d13, d0, d23        // encoding: [0xa3,0xdd,0x60,0x1f]
1948*9880d681SAndroid Build Coastguard Worker
1949*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1950*9880d681SAndroid Build Coastguard Worker// Floating-point <-> fixed-point conversion
1951*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1952*9880d681SAndroid Build Coastguard Worker
1953*9880d681SAndroid Build Coastguard Worker        fcvtzs w3, s5, #1
1954*9880d681SAndroid Build Coastguard Worker        fcvtzs wzr, s20, #13
1955*9880d681SAndroid Build Coastguard Worker        fcvtzs w19, s0, #32
1956*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  w3, s5, #1              // encoding: [0xa3,0xfc,0x18,0x1e]
1957*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  wzr, s20, #13           // encoding: [0x9f,0xce,0x18,0x1e]
1958*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  w19, s0, #32            // encoding: [0x13,0x80,0x18,0x1e]
1959*9880d681SAndroid Build Coastguard Worker
1960*9880d681SAndroid Build Coastguard Worker        fcvtzs x3, s5, #1
1961*9880d681SAndroid Build Coastguard Worker        fcvtzs x12, s30, #45
1962*9880d681SAndroid Build Coastguard Worker        fcvtzs x19, s0, #64
1963*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x3, s5, #1              // encoding: [0xa3,0xfc,0x18,0x9e]
1964*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x12, s30, #45           // encoding: [0xcc,0x4f,0x18,0x9e]
1965*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x19, s0, #64            // encoding: [0x13,0x00,0x18,0x9e]
1966*9880d681SAndroid Build Coastguard Worker
1967*9880d681SAndroid Build Coastguard Worker        fcvtzs w3, d5, #1
1968*9880d681SAndroid Build Coastguard Worker        fcvtzs wzr, d20, #13
1969*9880d681SAndroid Build Coastguard Worker        fcvtzs w19, d0, #32
1970*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  w3, d5, #1              // encoding: [0xa3,0xfc,0x58,0x1e]
1971*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  wzr, d20, #13           // encoding: [0x9f,0xce,0x58,0x1e]
1972*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  w19, d0, #32            // encoding: [0x13,0x80,0x58,0x1e]
1973*9880d681SAndroid Build Coastguard Worker
1974*9880d681SAndroid Build Coastguard Worker        fcvtzs x3, d5, #1
1975*9880d681SAndroid Build Coastguard Worker        fcvtzs x12, d30, #45
1976*9880d681SAndroid Build Coastguard Worker        fcvtzs x19, d0, #64
1977*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x3, d5, #1              // encoding: [0xa3,0xfc,0x58,0x9e]
1978*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x12, d30, #45           // encoding: [0xcc,0x4f,0x58,0x9e]
1979*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs  x19, d0, #64            // encoding: [0x13,0x00,0x58,0x9e]
1980*9880d681SAndroid Build Coastguard Worker
1981*9880d681SAndroid Build Coastguard Worker        fcvtzu w3, s5, #1
1982*9880d681SAndroid Build Coastguard Worker        fcvtzu wzr, s20, #13
1983*9880d681SAndroid Build Coastguard Worker        fcvtzu w19, s0, #32
1984*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  w3, s5, #1              // encoding: [0xa3,0xfc,0x19,0x1e]
1985*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  wzr, s20, #13           // encoding: [0x9f,0xce,0x19,0x1e]
1986*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  w19, s0, #32            // encoding: [0x13,0x80,0x19,0x1e]
1987*9880d681SAndroid Build Coastguard Worker
1988*9880d681SAndroid Build Coastguard Worker        fcvtzu x3, s5, #1
1989*9880d681SAndroid Build Coastguard Worker        fcvtzu x12, s30, #45
1990*9880d681SAndroid Build Coastguard Worker        fcvtzu x19, s0, #64
1991*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x3, s5, #1              // encoding: [0xa3,0xfc,0x19,0x9e]
1992*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x12, s30, #45           // encoding: [0xcc,0x4f,0x19,0x9e]
1993*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x19, s0, #64            // encoding: [0x13,0x00,0x19,0x9e]
1994*9880d681SAndroid Build Coastguard Worker
1995*9880d681SAndroid Build Coastguard Worker        fcvtzu w3, d5, #1
1996*9880d681SAndroid Build Coastguard Worker        fcvtzu wzr, d20, #13
1997*9880d681SAndroid Build Coastguard Worker        fcvtzu w19, d0, #32
1998*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  w3, d5, #1              // encoding: [0xa3,0xfc,0x59,0x1e]
1999*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  wzr, d20, #13           // encoding: [0x9f,0xce,0x59,0x1e]
2000*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  w19, d0, #32            // encoding: [0x13,0x80,0x59,0x1e]
2001*9880d681SAndroid Build Coastguard Worker
2002*9880d681SAndroid Build Coastguard Worker        fcvtzu x3, d5, #1
2003*9880d681SAndroid Build Coastguard Worker        fcvtzu x12, d30, #45
2004*9880d681SAndroid Build Coastguard Worker        fcvtzu x19, d0, #64
2005*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x3, d5, #1              // encoding: [0xa3,0xfc,0x59,0x9e]
2006*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x12, d30, #45           // encoding: [0xcc,0x4f,0x59,0x9e]
2007*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu  x19, d0, #64            // encoding: [0x13,0x00,0x59,0x9e]
2008*9880d681SAndroid Build Coastguard Worker
2009*9880d681SAndroid Build Coastguard Worker        scvtf s23, w19, #1
2010*9880d681SAndroid Build Coastguard Worker        scvtf s31, wzr, #20
2011*9880d681SAndroid Build Coastguard Worker        scvtf s14, w0, #32
2012*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s23, w19, #1            // encoding: [0x77,0xfe,0x02,0x1e]
2013*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s31, wzr, #20           // encoding: [0xff,0xb3,0x02,0x1e]
2014*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s14, w0, #32            // encoding: [0x0e,0x80,0x02,0x1e]
2015*9880d681SAndroid Build Coastguard Worker
2016*9880d681SAndroid Build Coastguard Worker        scvtf s23, x19, #1
2017*9880d681SAndroid Build Coastguard Worker        scvtf s31, xzr, #20
2018*9880d681SAndroid Build Coastguard Worker        scvtf s14, x0, #64
2019*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s23, x19, #1            // encoding: [0x77,0xfe,0x02,0x9e]
2020*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s31, xzr, #20           // encoding: [0xff,0xb3,0x02,0x9e]
2021*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   s14, x0, #64            // encoding: [0x0e,0x00,0x02,0x9e]
2022*9880d681SAndroid Build Coastguard Worker
2023*9880d681SAndroid Build Coastguard Worker        scvtf d23, w19, #1
2024*9880d681SAndroid Build Coastguard Worker        scvtf d31, wzr, #20
2025*9880d681SAndroid Build Coastguard Worker        scvtf d14, w0, #32
2026*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d23, w19, #1            // encoding: [0x77,0xfe,0x42,0x1e]
2027*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d31, wzr, #20           // encoding: [0xff,0xb3,0x42,0x1e]
2028*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d14, w0, #32            // encoding: [0x0e,0x80,0x42,0x1e]
2029*9880d681SAndroid Build Coastguard Worker
2030*9880d681SAndroid Build Coastguard Worker        scvtf d23, x19, #1
2031*9880d681SAndroid Build Coastguard Worker        scvtf d31, xzr, #20
2032*9880d681SAndroid Build Coastguard Worker        scvtf d14, x0, #64
2033*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d23, x19, #1            // encoding: [0x77,0xfe,0x42,0x9e]
2034*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d31, xzr, #20           // encoding: [0xff,0xb3,0x42,0x9e]
2035*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf   d14, x0, #64            // encoding: [0x0e,0x00,0x42,0x9e]
2036*9880d681SAndroid Build Coastguard Worker
2037*9880d681SAndroid Build Coastguard Worker        ucvtf s23, w19, #1
2038*9880d681SAndroid Build Coastguard Worker        ucvtf s31, wzr, #20
2039*9880d681SAndroid Build Coastguard Worker        ucvtf s14, w0, #32
2040*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s23, w19, #1            // encoding: [0x77,0xfe,0x03,0x1e]
2041*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s31, wzr, #20           // encoding: [0xff,0xb3,0x03,0x1e]
2042*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s14, w0, #32            // encoding: [0x0e,0x80,0x03,0x1e]
2043*9880d681SAndroid Build Coastguard Worker
2044*9880d681SAndroid Build Coastguard Worker        ucvtf s23, x19, #1
2045*9880d681SAndroid Build Coastguard Worker        ucvtf s31, xzr, #20
2046*9880d681SAndroid Build Coastguard Worker        ucvtf s14, x0, #64
2047*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s23, x19, #1            // encoding: [0x77,0xfe,0x03,0x9e]
2048*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s31, xzr, #20           // encoding: [0xff,0xb3,0x03,0x9e]
2049*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   s14, x0, #64            // encoding: [0x0e,0x00,0x03,0x9e]
2050*9880d681SAndroid Build Coastguard Worker
2051*9880d681SAndroid Build Coastguard Worker        ucvtf d23, w19, #1
2052*9880d681SAndroid Build Coastguard Worker        ucvtf d31, wzr, #20
2053*9880d681SAndroid Build Coastguard Worker        ucvtf d14, w0, #32
2054*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d23, w19, #1            // encoding: [0x77,0xfe,0x43,0x1e]
2055*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d31, wzr, #20           // encoding: [0xff,0xb3,0x43,0x1e]
2056*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d14, w0, #32            // encoding: [0x0e,0x80,0x43,0x1e]
2057*9880d681SAndroid Build Coastguard Worker
2058*9880d681SAndroid Build Coastguard Worker        ucvtf d23, x19, #1
2059*9880d681SAndroid Build Coastguard Worker        ucvtf d31, xzr, #20
2060*9880d681SAndroid Build Coastguard Worker        ucvtf d14, x0, #64
2061*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d23, x19, #1            // encoding: [0x77,0xfe,0x43,0x9e]
2062*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d31, xzr, #20           // encoding: [0xff,0xb3,0x43,0x9e]
2063*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf   d14, x0, #64            // encoding: [0x0e,0x00,0x43,0x9e]
2064*9880d681SAndroid Build Coastguard Worker
2065*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2066*9880d681SAndroid Build Coastguard Worker// Floating-point <-> integer conversion
2067*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2068*9880d681SAndroid Build Coastguard Worker        fcvtns w3, s31
2069*9880d681SAndroid Build Coastguard Worker        fcvtns xzr, s12
2070*9880d681SAndroid Build Coastguard Worker        fcvtnu wzr, s12
2071*9880d681SAndroid Build Coastguard Worker        fcvtnu x0, s0
2072*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtns   w3, s31                    // encoding: [0xe3,0x03,0x20,0x1e]
2073*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtns   xzr, s12                   // encoding: [0x9f,0x01,0x20,0x9e]
2074*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtnu   wzr, s12                   // encoding: [0x9f,0x01,0x21,0x1e]
2075*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtnu   x0, s0                     // encoding: [0x00,0x00,0x21,0x9e]
2076*9880d681SAndroid Build Coastguard Worker
2077*9880d681SAndroid Build Coastguard Worker        fcvtps wzr, s9
2078*9880d681SAndroid Build Coastguard Worker        fcvtps x12, s20
2079*9880d681SAndroid Build Coastguard Worker        fcvtpu w30, s23
2080*9880d681SAndroid Build Coastguard Worker        fcvtpu x29, s3
2081*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtps   wzr, s9                    // encoding: [0x3f,0x01,0x28,0x1e]
2082*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtps   x12, s20                   // encoding: [0x8c,0x02,0x28,0x9e]
2083*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtpu   w30, s23                   // encoding: [0xfe,0x02,0x29,0x1e]
2084*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtpu   x29, s3                    // encoding: [0x7d,0x00,0x29,0x9e]
2085*9880d681SAndroid Build Coastguard Worker
2086*9880d681SAndroid Build Coastguard Worker        fcvtms w2, s3
2087*9880d681SAndroid Build Coastguard Worker        fcvtms x4, s5
2088*9880d681SAndroid Build Coastguard Worker        fcvtmu w6, s7
2089*9880d681SAndroid Build Coastguard Worker        fcvtmu x8, s9
2090*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtms   w2, s3                     // encoding: [0x62,0x00,0x30,0x1e]
2091*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtms   x4, s5                     // encoding: [0xa4,0x00,0x30,0x9e]
2092*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtmu   w6, s7                     // encoding: [0xe6,0x00,0x31,0x1e]
2093*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtmu   x8, s9                     // encoding: [0x28,0x01,0x31,0x9e]
2094*9880d681SAndroid Build Coastguard Worker
2095*9880d681SAndroid Build Coastguard Worker        fcvtzs w10, s11
2096*9880d681SAndroid Build Coastguard Worker        fcvtzs x12, s13
2097*9880d681SAndroid Build Coastguard Worker        fcvtzu w14, s15
2098*9880d681SAndroid Build Coastguard Worker        fcvtzu x15, s16
2099*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs   w10, s11                   // encoding: [0x6a,0x01,0x38,0x1e]
2100*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs   x12, s13                   // encoding: [0xac,0x01,0x38,0x9e]
2101*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu   w14, s15                   // encoding: [0xee,0x01,0x39,0x1e]
2102*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu   x15, s16                   // encoding: [0x0f,0x02,0x39,0x9e]
2103*9880d681SAndroid Build Coastguard Worker
2104*9880d681SAndroid Build Coastguard Worker        scvtf s17, w18
2105*9880d681SAndroid Build Coastguard Worker        scvtf s19, x20
2106*9880d681SAndroid Build Coastguard Worker        ucvtf s21, w22
2107*9880d681SAndroid Build Coastguard Worker        scvtf s23, x24
2108*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf    s17, w18                   // encoding: [0x51,0x02,0x22,0x1e]
2109*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf    s19, x20                   // encoding: [0x93,0x02,0x22,0x9e]
2110*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf    s21, w22                   // encoding: [0xd5,0x02,0x23,0x1e]
2111*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf    s23, x24                   // encoding: [0x17,0x03,0x22,0x9e]
2112*9880d681SAndroid Build Coastguard Worker
2113*9880d681SAndroid Build Coastguard Worker        fcvtas w25, s26
2114*9880d681SAndroid Build Coastguard Worker        fcvtas x27, s28
2115*9880d681SAndroid Build Coastguard Worker        fcvtau w29, s30
2116*9880d681SAndroid Build Coastguard Worker        fcvtau xzr, s0
2117*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtas   w25, s26                   // encoding: [0x59,0x03,0x24,0x1e]
2118*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtas   x27, s28                   // encoding: [0x9b,0x03,0x24,0x9e]
2119*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtau   w29, s30                   // encoding: [0xdd,0x03,0x25,0x1e]
2120*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtau   xzr, s0                    // encoding: [0x1f,0x00,0x25,0x9e]
2121*9880d681SAndroid Build Coastguard Worker
2122*9880d681SAndroid Build Coastguard Worker        fcvtns w3, d31
2123*9880d681SAndroid Build Coastguard Worker        fcvtns xzr, d12
2124*9880d681SAndroid Build Coastguard Worker        fcvtnu wzr, d12
2125*9880d681SAndroid Build Coastguard Worker        fcvtnu x0, d0
2126*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtns   w3, d31                    // encoding: [0xe3,0x03,0x60,0x1e]
2127*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtns   xzr, d12                   // encoding: [0x9f,0x01,0x60,0x9e]
2128*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtnu   wzr, d12                   // encoding: [0x9f,0x01,0x61,0x1e]
2129*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtnu   x0, d0                     // encoding: [0x00,0x00,0x61,0x9e]
2130*9880d681SAndroid Build Coastguard Worker
2131*9880d681SAndroid Build Coastguard Worker        fcvtps wzr, d9
2132*9880d681SAndroid Build Coastguard Worker        fcvtps x12, d20
2133*9880d681SAndroid Build Coastguard Worker        fcvtpu w30, d23
2134*9880d681SAndroid Build Coastguard Worker        fcvtpu x29, d3
2135*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtps   wzr, d9                    // encoding: [0x3f,0x01,0x68,0x1e]
2136*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtps   x12, d20                   // encoding: [0x8c,0x02,0x68,0x9e]
2137*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtpu   w30, d23                   // encoding: [0xfe,0x02,0x69,0x1e]
2138*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtpu   x29, d3                    // encoding: [0x7d,0x00,0x69,0x9e]
2139*9880d681SAndroid Build Coastguard Worker
2140*9880d681SAndroid Build Coastguard Worker        fcvtms w2, d3
2141*9880d681SAndroid Build Coastguard Worker        fcvtms x4, d5
2142*9880d681SAndroid Build Coastguard Worker        fcvtmu w6, d7
2143*9880d681SAndroid Build Coastguard Worker        fcvtmu x8, d9
2144*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtms   w2, d3                     // encoding: [0x62,0x00,0x70,0x1e]
2145*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtms   x4, d5                     // encoding: [0xa4,0x00,0x70,0x9e]
2146*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtmu   w6, d7                     // encoding: [0xe6,0x00,0x71,0x1e]
2147*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtmu   x8, d9                     // encoding: [0x28,0x01,0x71,0x9e]
2148*9880d681SAndroid Build Coastguard Worker
2149*9880d681SAndroid Build Coastguard Worker        fcvtzs w10, d11
2150*9880d681SAndroid Build Coastguard Worker        fcvtzs x12, d13
2151*9880d681SAndroid Build Coastguard Worker        fcvtzu w14, d15
2152*9880d681SAndroid Build Coastguard Worker        fcvtzu x15, d16
2153*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs   w10, d11                   // encoding: [0x6a,0x01,0x78,0x1e]
2154*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzs   x12, d13                   // encoding: [0xac,0x01,0x78,0x9e]
2155*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu   w14, d15                   // encoding: [0xee,0x01,0x79,0x1e]
2156*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtzu   x15, d16                   // encoding: [0x0f,0x02,0x79,0x9e]
2157*9880d681SAndroid Build Coastguard Worker
2158*9880d681SAndroid Build Coastguard Worker        scvtf d17, w18
2159*9880d681SAndroid Build Coastguard Worker        scvtf d19, x20
2160*9880d681SAndroid Build Coastguard Worker        ucvtf d21, w22
2161*9880d681SAndroid Build Coastguard Worker        ucvtf d23, x24
2162*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf    d17, w18                   // encoding: [0x51,0x02,0x62,0x1e]
2163*9880d681SAndroid Build Coastguard Worker// CHECK: scvtf    d19, x20                   // encoding: [0x93,0x02,0x62,0x9e]
2164*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf    d21, w22                   // encoding: [0xd5,0x02,0x63,0x1e]
2165*9880d681SAndroid Build Coastguard Worker// CHECK: ucvtf    d23, x24                   // encoding: [0x17,0x03,0x63,0x9e]
2166*9880d681SAndroid Build Coastguard Worker
2167*9880d681SAndroid Build Coastguard Worker        fcvtas w25, d26
2168*9880d681SAndroid Build Coastguard Worker        fcvtas x27, d28
2169*9880d681SAndroid Build Coastguard Worker        fcvtau w29, d30
2170*9880d681SAndroid Build Coastguard Worker        fcvtau xzr, d0
2171*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtas   w25, d26                   // encoding: [0x59,0x03,0x64,0x1e]
2172*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtas   x27, d28                   // encoding: [0x9b,0x03,0x64,0x9e]
2173*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtau   w29, d30                   // encoding: [0xdd,0x03,0x65,0x1e]
2174*9880d681SAndroid Build Coastguard Worker// CHECK: fcvtau   xzr, d0                    // encoding: [0x1f,0x00,0x65,0x9e]
2175*9880d681SAndroid Build Coastguard Worker
2176*9880d681SAndroid Build Coastguard Worker        fmov w3, s9
2177*9880d681SAndroid Build Coastguard Worker        fmov s9, w3
2178*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     w3, s9                     // encoding: [0x23,0x01,0x26,0x1e]
2179*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s9, w3                     // encoding: [0x69,0x00,0x27,0x1e]
2180*9880d681SAndroid Build Coastguard Worker
2181*9880d681SAndroid Build Coastguard Worker        fmov x20, d31
2182*9880d681SAndroid Build Coastguard Worker        fmov d1, x15
2183*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     x20, d31                   // encoding: [0xf4,0x03,0x66,0x9e]
2184*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     d1, x15                    // encoding: [0xe1,0x01,0x67,0x9e]
2185*9880d681SAndroid Build Coastguard Worker
2186*9880d681SAndroid Build Coastguard Worker        fmov x3, v12.d[1]
2187*9880d681SAndroid Build Coastguard Worker        fmov v1.d[1], x19
2188*9880d681SAndroid Build Coastguard Worker        fmov v3.d[1], xzr
2189*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     x3, v12.d[1]               // encoding: [0x83,0x01,0xae,0x9e]
2190*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     v1.d[1], x19               // encoding: [0x61,0x02,0xaf,0x9e]
2191*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     v3.d[1], xzr               // encoding: [0xe3,0x03,0xaf,0x9e]
2192*9880d681SAndroid Build Coastguard Worker
2193*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2194*9880d681SAndroid Build Coastguard Worker// Floating-point immediate
2195*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2196*9880d681SAndroid Build Coastguard Worker
2197*9880d681SAndroid Build Coastguard Worker        fmov s2, #0.125
2198*9880d681SAndroid Build Coastguard Worker        fmov s3, #1.0
2199*9880d681SAndroid Build Coastguard Worker        fmov d30, #16.0
2200*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s2, #{{0.12500000|1.250*e-01}}            // encoding: [0x02,0x10,0x28,0x1e]
2201*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s3, #{{1.00000000|1.0*e\+00}}            // encoding: [0x03,0x10,0x2e,0x1e]
2202*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     d30, #{{16.00000000|1.60*e\+01}}          // encoding: [0x1e,0x10,0x66,0x1e]
2203*9880d681SAndroid Build Coastguard Worker
2204*9880d681SAndroid Build Coastguard Worker        fmov s4, #1.0625
2205*9880d681SAndroid Build Coastguard Worker        fmov d10, #1.9375
2206*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s4, #{{1.06250*(e\+00)?}}            // encoding: [0x04,0x30,0x2e,0x1e]
2207*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     d10, #{{1.93750*(e\+00)?}}           // encoding: [0x0a,0xf0,0x6f,0x1e]
2208*9880d681SAndroid Build Coastguard Worker
2209*9880d681SAndroid Build Coastguard Worker        fmov s12, #-1.0
2210*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     s12, #{{-1.0*(e\+00)?}}          // encoding: [0x0c,0x10,0x3e,0x1e]
2211*9880d681SAndroid Build Coastguard Worker
2212*9880d681SAndroid Build Coastguard Worker        fmov d16, #8.5
2213*9880d681SAndroid Build Coastguard Worker// CHECK: fmov     d16, #{{8.50*(e\+00)?}}          // encoding: [0x10,0x30,0x64,0x1e]
2214*9880d681SAndroid Build Coastguard Worker
2215*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2216*9880d681SAndroid Build Coastguard Worker// Load-register (literal)
2217*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2218*9880d681SAndroid Build Coastguard Worker        ldr w3, here
2219*9880d681SAndroid Build Coastguard Worker        ldr x29, there
2220*9880d681SAndroid Build Coastguard Worker        ldrsw xzr, everywhere
2221*9880d681SAndroid Build Coastguard Worker
2222*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    w3, here                // encoding: [0bAAA00011,A,A,0x18]
2223*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: here, kind: fixup_aarch64_ldr_pcrel_imm19
2224*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    x29, there              // encoding: [0bAAA11101,A,A,0x58]
2225*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: there, kind: fixup_aarch64_ldr_pcrel_imm19
2226*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    xzr, everywhere         // encoding: [0bAAA11111,A,A,0x98]
2227*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: everywhere, kind: fixup_aarch64_ldr_pcrel_imm19
2228*9880d681SAndroid Build Coastguard Worker
2229*9880d681SAndroid Build Coastguard Worker        ldr s0, who_knows
2230*9880d681SAndroid Build Coastguard Worker        ldr d0, i_dont
2231*9880d681SAndroid Build Coastguard Worker        ldr q0, there_must_be_a_better_way
2232*9880d681SAndroid Build Coastguard Worker
2233*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    s0, who_knows           // encoding: [0bAAA00000,A,A,0x1c]
2234*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: who_knows, kind: fixup_aarch64_ldr_pcrel_imm19
2235*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    d0, i_dont              // encoding: [0bAAA00000,A,A,0x5c]
2236*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: i_dont, kind: fixup_aarch64_ldr_pcrel_imm19
2237*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    q0, there_must_be_a_better_way // encoding: [0bAAA00000,A,A,0x9c]
2238*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: there_must_be_a_better_way, kind: fixup_aarch64_ldr_pcrel_imm19
2239*9880d681SAndroid Build Coastguard Worker
2240*9880d681SAndroid Build Coastguard Worker        ldr w0, #1048572
2241*9880d681SAndroid Build Coastguard Worker        ldr x10, #-1048576
2242*9880d681SAndroid Build Coastguard Worker// CHECK: ldr     w0, #1048572            // encoding: [0xe0,0xff,0x7f,0x18]
2243*9880d681SAndroid Build Coastguard Worker// CHECK: ldr     x10, #-1048576          // encoding: [0x0a,0x00,0x80,0x58]
2244*9880d681SAndroid Build Coastguard Worker
2245*9880d681SAndroid Build Coastguard Worker        prfm pldl1strm, nowhere
2246*9880d681SAndroid Build Coastguard Worker        prfm #22, somewhere
2247*9880d681SAndroid Build Coastguard Worker
2248*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl1strm, nowhere      // encoding: [0bAAA00001,A,A,0xd8]
2249*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_ldr_pcrel_imm19
2250*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    #22, somewhere          // encoding: [0bAAA10110,A,A,0xd8]
2251*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_ldr_pcrel_imm19
2252*9880d681SAndroid Build Coastguard Worker
2253*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2254*9880d681SAndroid Build Coastguard Worker// Load/store exclusive
2255*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2256*9880d681SAndroid Build Coastguard Worker
2257*9880d681SAndroid Build Coastguard Worker        stxrb      w1, w2, [x3, #0]
2258*9880d681SAndroid Build Coastguard Worker        stxrh      w2, w3, [x4]
2259*9880d681SAndroid Build Coastguard Worker        stxr       wzr, w4, [sp]
2260*9880d681SAndroid Build Coastguard Worker        stxr       w5, x6, [x7]
2261*9880d681SAndroid Build Coastguard Worker// CHECK: stxrb    w1, w2, [x3]              // encoding: [0x62,0x7c,0x01,0x08]
2262*9880d681SAndroid Build Coastguard Worker// CHECK: stxrh    w2, w3, [x4]              // encoding: [0x83,0x7c,0x02,0x48]
2263*9880d681SAndroid Build Coastguard Worker// CHECK: stxr     wzr, w4, [sp]             // encoding: [0xe4,0x7f,0x1f,0x88]
2264*9880d681SAndroid Build Coastguard Worker// CHECK: stxr     w5, x6, [x7]              // encoding: [0xe6,0x7c,0x05,0xc8]
2265*9880d681SAndroid Build Coastguard Worker
2266*9880d681SAndroid Build Coastguard Worker        ldxrb      w7, [x9]
2267*9880d681SAndroid Build Coastguard Worker        ldxrh      wzr, [x10]
2268*9880d681SAndroid Build Coastguard Worker        ldxr       w9, [sp]
2269*9880d681SAndroid Build Coastguard Worker        ldxr       x10, [x11]
2270*9880d681SAndroid Build Coastguard Worker// CHECK: ldxrb    w7, [x9]                  // encoding: [0x27,0x7d,0x5f,0x08]
2271*9880d681SAndroid Build Coastguard Worker// CHECK: ldxrh    wzr, [x10]                // encoding: [0x5f,0x7d,0x5f,0x48]
2272*9880d681SAndroid Build Coastguard Worker// CHECK: ldxr     w9, [sp]                  // encoding: [0xe9,0x7f,0x5f,0x88]
2273*9880d681SAndroid Build Coastguard Worker// CHECK: ldxr     x10, [x11]                // encoding: [0x6a,0x7d,0x5f,0xc8]
2274*9880d681SAndroid Build Coastguard Worker
2275*9880d681SAndroid Build Coastguard Worker        stxp       w11, w12, w13, [x14]
2276*9880d681SAndroid Build Coastguard Worker        stxp       wzr, x23, x14, [x15]
2277*9880d681SAndroid Build Coastguard Worker// CHECK: stxp     w11, w12, w13, [x14]      // encoding: [0xcc,0x35,0x2b,0x88]
2278*9880d681SAndroid Build Coastguard Worker// CHECK: stxp     wzr, x23, x14, [x15]      // encoding: [0xf7,0x39,0x3f,0xc8]
2279*9880d681SAndroid Build Coastguard Worker
2280*9880d681SAndroid Build Coastguard Worker        ldxp       w12, wzr, [sp]
2281*9880d681SAndroid Build Coastguard Worker        ldxp       x13, x14, [x15]
2282*9880d681SAndroid Build Coastguard Worker// CHECK: ldxp     w12, wzr, [sp]            // encoding: [0xec,0x7f,0x7f,0x88]
2283*9880d681SAndroid Build Coastguard Worker// CHECK: ldxp     x13, x14, [x15]           // encoding: [0xed,0x39,0x7f,0xc8]
2284*9880d681SAndroid Build Coastguard Worker
2285*9880d681SAndroid Build Coastguard Worker        stlxrb     w14, w15, [x16]
2286*9880d681SAndroid Build Coastguard Worker        stlxrh     w15, w16, [x17,#0]
2287*9880d681SAndroid Build Coastguard Worker        stlxr      wzr, w17, [sp]
2288*9880d681SAndroid Build Coastguard Worker        stlxr      w18, x19, [x20]
2289*9880d681SAndroid Build Coastguard Worker// CHECK: stlxrb   w14, w15, [x16]           // encoding: [0x0f,0xfe,0x0e,0x08]
2290*9880d681SAndroid Build Coastguard Worker// CHECK: stlxrh   w15, w16, [x17]           // encoding: [0x30,0xfe,0x0f,0x48]
2291*9880d681SAndroid Build Coastguard Worker// CHECK: stlxr    wzr, w17, [sp]            // encoding: [0xf1,0xff,0x1f,0x88]
2292*9880d681SAndroid Build Coastguard Worker// CHECK: stlxr    w18, x19, [x20]           // encoding: [0x93,0xfe,0x12,0xc8]
2293*9880d681SAndroid Build Coastguard Worker
2294*9880d681SAndroid Build Coastguard Worker        ldaxrb     w19, [x21]
2295*9880d681SAndroid Build Coastguard Worker        ldaxrh     w20, [sp]
2296*9880d681SAndroid Build Coastguard Worker        ldaxr      wzr, [x22]
2297*9880d681SAndroid Build Coastguard Worker        ldaxr      x21, [x23]
2298*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxrb   w19, [x21]                // encoding: [0xb3,0xfe,0x5f,0x08]
2299*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxrh   w20, [sp]                 // encoding: [0xf4,0xff,0x5f,0x48]
2300*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxr    wzr, [x22]                // encoding: [0xdf,0xfe,0x5f,0x88]
2301*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxr    x21, [x23]                // encoding: [0xf5,0xfe,0x5f,0xc8]
2302*9880d681SAndroid Build Coastguard Worker
2303*9880d681SAndroid Build Coastguard Worker        stlxp      wzr, w22, w23, [x24]
2304*9880d681SAndroid Build Coastguard Worker        stlxp      w25, x26, x27, [sp]
2305*9880d681SAndroid Build Coastguard Worker// CHECK: stlxp    wzr, w22, w23, [x24]      // encoding: [0x16,0xdf,0x3f,0x88]
2306*9880d681SAndroid Build Coastguard Worker// CHECK: stlxp    w25, x26, x27, [sp]       // encoding: [0xfa,0xef,0x39,0xc8]
2307*9880d681SAndroid Build Coastguard Worker
2308*9880d681SAndroid Build Coastguard Worker        ldaxp      w26, wzr, [sp]
2309*9880d681SAndroid Build Coastguard Worker        ldaxp      x27, x28, [x30]
2310*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxp    w26, wzr, [sp]            // encoding: [0xfa,0xff,0x7f,0x88]
2311*9880d681SAndroid Build Coastguard Worker// CHECK: ldaxp    x27, x28, [x30]           // encoding: [0xdb,0xf3,0x7f,0xc8]
2312*9880d681SAndroid Build Coastguard Worker
2313*9880d681SAndroid Build Coastguard Worker        stlrb      w27, [sp]
2314*9880d681SAndroid Build Coastguard Worker        stlrh      w28, [x0]
2315*9880d681SAndroid Build Coastguard Worker        stlr       wzr, [x1]
2316*9880d681SAndroid Build Coastguard Worker        stlr       x30, [x2]
2317*9880d681SAndroid Build Coastguard Worker// CHECK: stlrb    w27, [sp]                 // encoding: [0xfb,0xff,0x9f,0x08]
2318*9880d681SAndroid Build Coastguard Worker// CHECK: stlrh    w28, [x0]                 // encoding: [0x1c,0xfc,0x9f,0x48]
2319*9880d681SAndroid Build Coastguard Worker// CHECK: stlr     wzr, [x1]                 // encoding: [0x3f,0xfc,0x9f,0x88]
2320*9880d681SAndroid Build Coastguard Worker// CHECK: stlr     x30, [x2]                 // encoding: [0x5e,0xfc,0x9f,0xc8]
2321*9880d681SAndroid Build Coastguard Worker
2322*9880d681SAndroid Build Coastguard Worker        ldarb      w29, [sp]
2323*9880d681SAndroid Build Coastguard Worker        ldarh      w30, [x0]
2324*9880d681SAndroid Build Coastguard Worker        ldar       wzr, [x1]
2325*9880d681SAndroid Build Coastguard Worker        ldar       x1, [x2]
2326*9880d681SAndroid Build Coastguard Worker// CHECK: ldarb    w29, [sp]                 // encoding: [0xfd,0xff,0xdf,0x08]
2327*9880d681SAndroid Build Coastguard Worker// CHECK: ldarh    w30, [x0]                 // encoding: [0x1e,0xfc,0xdf,0x48]
2328*9880d681SAndroid Build Coastguard Worker// CHECK: ldar     wzr, [x1]                 // encoding: [0x3f,0xfc,0xdf,0x88]
2329*9880d681SAndroid Build Coastguard Worker// CHECK: ldar     x1, [x2]                  // encoding: [0x41,0xfc,0xdf,0xc8]
2330*9880d681SAndroid Build Coastguard Worker
2331*9880d681SAndroid Build Coastguard Worker        stlxp      wzr, w22, w23, [x24,#0]
2332*9880d681SAndroid Build Coastguard Worker// CHECK: stlxp    wzr, w22, w23, [x24]      // encoding: [0x16,0xdf,0x3f,0x88]
2333*9880d681SAndroid Build Coastguard Worker
2334*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2335*9880d681SAndroid Build Coastguard Worker// Load/store (unaligned immediate)
2336*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2337*9880d681SAndroid Build Coastguard Worker
2338*9880d681SAndroid Build Coastguard Worker        sturb w9, [sp, #0]
2339*9880d681SAndroid Build Coastguard Worker        sturh wzr, [x12, #255]
2340*9880d681SAndroid Build Coastguard Worker        stur w16, [x0, #-256]
2341*9880d681SAndroid Build Coastguard Worker        stur x28, [x14, #1]
2342*9880d681SAndroid Build Coastguard Worker// CHECK: sturb    w9, [sp]                   // encoding: [0xe9,0x03,0x00,0x38]
2343*9880d681SAndroid Build Coastguard Worker// CHECK: sturh    wzr, [x12, #255]           // encoding: [0x9f,0xf1,0x0f,0x78]
2344*9880d681SAndroid Build Coastguard Worker// CHECK: stur     w16, [x0, #-256]           // encoding: [0x10,0x00,0x10,0xb8]
2345*9880d681SAndroid Build Coastguard Worker// CHECK: stur     x28, [x14, #1]             // encoding: [0xdc,0x11,0x00,0xf8]
2346*9880d681SAndroid Build Coastguard Worker
2347*9880d681SAndroid Build Coastguard Worker        ldurb w1, [x20, #255]
2348*9880d681SAndroid Build Coastguard Worker        ldurh w20, [x1, #255]
2349*9880d681SAndroid Build Coastguard Worker        ldur w12, [sp, #255]
2350*9880d681SAndroid Build Coastguard Worker        ldur xzr, [x12, #255]
2351*9880d681SAndroid Build Coastguard Worker// CHECK: ldurb    w1, [x20, #255]            // encoding: [0x81,0xf2,0x4f,0x38]
2352*9880d681SAndroid Build Coastguard Worker// CHECK: ldurh    w20, [x1, #255]            // encoding: [0x34,0xf0,0x4f,0x78]
2353*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     w12, [sp, #255]            // encoding: [0xec,0xf3,0x4f,0xb8]
2354*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     xzr, [x12, #255]           // encoding: [0x9f,0xf1,0x4f,0xf8]
2355*9880d681SAndroid Build Coastguard Worker
2356*9880d681SAndroid Build Coastguard Worker        ldursb x9, [x7, #-256]
2357*9880d681SAndroid Build Coastguard Worker        ldursh x17, [x19, #-256]
2358*9880d681SAndroid Build Coastguard Worker        ldursw x20, [x15, #-256]
2359*9880d681SAndroid Build Coastguard Worker        ldursw x13, [x2]
2360*9880d681SAndroid Build Coastguard Worker        prfum pldl2keep, [sp, #-256]
2361*9880d681SAndroid Build Coastguard Worker        ldursb w19, [x1, #-256]
2362*9880d681SAndroid Build Coastguard Worker        ldursh w15, [x21, #-256]
2363*9880d681SAndroid Build Coastguard Worker// CHECK: ldursb   x9, [x7, #-256]            // encoding: [0xe9,0x00,0x90,0x38]
2364*9880d681SAndroid Build Coastguard Worker// CHECK: ldursh   x17, [x19, #-256]          // encoding: [0x71,0x02,0x90,0x78]
2365*9880d681SAndroid Build Coastguard Worker// CHECK: ldursw   x20, [x15, #-256]          // encoding: [0xf4,0x01,0x90,0xb8]
2366*9880d681SAndroid Build Coastguard Worker// CHECK: ldursw   x13, [x2]                  // encoding: [0x4d,0x00,0x80,0xb8]
2367*9880d681SAndroid Build Coastguard Worker// CHECK: prfum    pldl2keep, [sp, #-256]     // encoding: [0xe2,0x03,0x90,0xf8]
2368*9880d681SAndroid Build Coastguard Worker// CHECK: ldursb   w19, [x1, #-256]           // encoding: [0x33,0x00,0xd0,0x38]
2369*9880d681SAndroid Build Coastguard Worker// CHECK: ldursh   w15, [x21, #-256]          // encoding: [0xaf,0x02,0xd0,0x78]
2370*9880d681SAndroid Build Coastguard Worker
2371*9880d681SAndroid Build Coastguard Worker        stur b0, [sp, #1]
2372*9880d681SAndroid Build Coastguard Worker        stur h12, [x12, #-1]
2373*9880d681SAndroid Build Coastguard Worker        stur s15, [x0, #255]
2374*9880d681SAndroid Build Coastguard Worker        stur d31, [x5, #25]
2375*9880d681SAndroid Build Coastguard Worker        stur q9, [x5]
2376*9880d681SAndroid Build Coastguard Worker// CHECK: stur     b0, [sp, #1]               // encoding: [0xe0,0x13,0x00,0x3c]
2377*9880d681SAndroid Build Coastguard Worker// CHECK: stur     h12, [x12, #-1]            // encoding: [0x8c,0xf1,0x1f,0x7c]
2378*9880d681SAndroid Build Coastguard Worker// CHECK: stur     s15, [x0, #255]            // encoding: [0x0f,0xf0,0x0f,0xbc]
2379*9880d681SAndroid Build Coastguard Worker// CHECK: stur     d31, [x5, #25]             // encoding: [0xbf,0x90,0x01,0xfc]
2380*9880d681SAndroid Build Coastguard Worker// CHECK: stur     q9, [x5]                   // encoding: [0xa9,0x00,0x80,0x3c]
2381*9880d681SAndroid Build Coastguard Worker
2382*9880d681SAndroid Build Coastguard Worker        ldur b3, [sp]
2383*9880d681SAndroid Build Coastguard Worker        ldur h5, [x4, #-256]
2384*9880d681SAndroid Build Coastguard Worker        ldur s7, [x12, #-1]
2385*9880d681SAndroid Build Coastguard Worker        ldur d11, [x19, #4]
2386*9880d681SAndroid Build Coastguard Worker        ldur q13, [x1, #2]
2387*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     b3, [sp]                   // encoding: [0xe3,0x03,0x40,0x3c]
2388*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     h5, [x4, #-256]            // encoding: [0x85,0x00,0x50,0x7c]
2389*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     s7, [x12, #-1]             // encoding: [0x87,0xf1,0x5f,0xbc]
2390*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     d11, [x19, #4]             // encoding: [0x6b,0x42,0x40,0xfc]
2391*9880d681SAndroid Build Coastguard Worker// CHECK: ldur     q13, [x1, #2]              // encoding: [0x2d,0x20,0xc0,0x3c]
2392*9880d681SAndroid Build Coastguard Worker
2393*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2394*9880d681SAndroid Build Coastguard Worker// Load/store (unsigned immediate)
2395*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2396*9880d681SAndroid Build Coastguard Worker
2397*9880d681SAndroid Build Coastguard Worker//// Basic addressing mode limits: 8 byte access
2398*9880d681SAndroid Build Coastguard Worker        ldr x0, [x0]
2399*9880d681SAndroid Build Coastguard Worker        ldr x4, [x29, #0]
2400*9880d681SAndroid Build Coastguard Worker        ldr x30, [x12, #32760]
2401*9880d681SAndroid Build Coastguard Worker        ldr x20, [sp, #8]
2402*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x0, [x0]                   // encoding: [0x00,0x00,0x40,0xf9]
2403*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x4, [x29]                  // encoding: [0xa4,0x03,0x40,0xf9]
2404*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x30, [x12, #32760]         // encoding: [0x9e,0xfd,0x7f,0xf9]
2405*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x20, [sp, #8]              // encoding: [0xf4,0x07,0x40,0xf9]
2406*9880d681SAndroid Build Coastguard Worker
2407*9880d681SAndroid Build Coastguard Worker//// Rt treats 31 as zero-register
2408*9880d681SAndroid Build Coastguard Worker        ldr xzr, [sp]
2409*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      xzr, [sp]                  // encoding: [0xff,0x03,0x40,0xf9]
2410*9880d681SAndroid Build Coastguard Worker
2411*9880d681SAndroid Build Coastguard Worker        //// 4-byte load, check still 64-bit address, limits
2412*9880d681SAndroid Build Coastguard Worker        ldr w2, [sp]
2413*9880d681SAndroid Build Coastguard Worker        ldr w17, [sp, #16380]
2414*9880d681SAndroid Build Coastguard Worker        ldr w13, [x2, #4]
2415*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w2, [sp]                   // encoding: [0xe2,0x03,0x40,0xb9]
2416*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w17, [sp, #16380]          // encoding: [0xf1,0xff,0x7f,0xb9]
2417*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w13, [x2, #4]              // encoding: [0x4d,0x04,0x40,0xb9]
2418*9880d681SAndroid Build Coastguard Worker
2419*9880d681SAndroid Build Coastguard Worker//// Signed 4-byte load. Limits.
2420*9880d681SAndroid Build Coastguard Worker        ldrsw x2, [x5,#4]
2421*9880d681SAndroid Build Coastguard Worker        ldrsw x23, [sp, #16380]
2422*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x2, [x5, #4]               // encoding: [0xa2,0x04,0x80,0xb9]
2423*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x23, [sp, #16380]          // encoding: [0xf7,0xff,0xbf,0xb9]
2424*9880d681SAndroid Build Coastguard Worker
2425*9880d681SAndroid Build Coastguard Worker////  2-byte loads
2426*9880d681SAndroid Build Coastguard Worker        ldrh w2, [x4]
2427*9880d681SAndroid Build Coastguard Worker        ldrsh w23, [x6, #8190]
2428*9880d681SAndroid Build Coastguard Worker        ldrsh wzr, [sp, #2]
2429*9880d681SAndroid Build Coastguard Worker        ldrsh x29, [x2, #2]
2430*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w2, [x4]                   // encoding: [0x82,0x00,0x40,0x79]
2431*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w23, [x6, #8190]           // encoding: [0xd7,0xfc,0xff,0x79]
2432*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    wzr, [sp, #2]              // encoding: [0xff,0x07,0xc0,0x79]
2433*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x29, [x2, #2]              // encoding: [0x5d,0x04,0x80,0x79]
2434*9880d681SAndroid Build Coastguard Worker
2435*9880d681SAndroid Build Coastguard Worker//// 1-byte loads
2436*9880d681SAndroid Build Coastguard Worker        ldrb w26, [x3, #121]
2437*9880d681SAndroid Build Coastguard Worker        ldrb w12, [x2, #0]
2438*9880d681SAndroid Build Coastguard Worker        ldrsb w27, [sp, #4095]
2439*9880d681SAndroid Build Coastguard Worker        ldrsb xzr, [x15]
2440*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w26, [x3, #121]            // encoding: [0x7a,0xe4,0x41,0x39]
2441*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w12, [x2]                  // encoding: [0x4c,0x00,0x40,0x39]
2442*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w27, [sp, #4095]           // encoding: [0xfb,0xff,0xff,0x39]
2443*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    xzr, [x15]                 // encoding: [0xff,0x01,0x80,0x39]
2444*9880d681SAndroid Build Coastguard Worker
2445*9880d681SAndroid Build Coastguard Worker//// Stores
2446*9880d681SAndroid Build Coastguard Worker        str x30, [sp]
2447*9880d681SAndroid Build Coastguard Worker        str w20, [x4, #16380]
2448*9880d681SAndroid Build Coastguard Worker        strh w20, [x10, #14]
2449*9880d681SAndroid Build Coastguard Worker        strh w17, [sp, #8190]
2450*9880d681SAndroid Build Coastguard Worker        strb w23, [x3, #4095]
2451*9880d681SAndroid Build Coastguard Worker        strb wzr, [x2]
2452*9880d681SAndroid Build Coastguard Worker// CHECK: str      x30, [sp]                  // encoding: [0xfe,0x03,0x00,0xf9]
2453*9880d681SAndroid Build Coastguard Worker// CHECK: str      w20, [x4, #16380]          // encoding: [0x94,0xfc,0x3f,0xb9]
2454*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w20, [x10, #14]            // encoding: [0x54,0x1d,0x00,0x79]
2455*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w17, [sp, #8190]           // encoding: [0xf1,0xff,0x3f,0x79]
2456*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w23, [x3, #4095]           // encoding: [0x77,0xfc,0x3f,0x39]
2457*9880d681SAndroid Build Coastguard Worker// CHECK: strb     wzr, [x2]                  // encoding: [0x5f,0x00,0x00,0x39]
2458*9880d681SAndroid Build Coastguard Worker
2459*9880d681SAndroid Build Coastguard Worker//// Relocations
2460*9880d681SAndroid Build Coastguard Worker        str x15, [x5, #:lo12:sym]
2461*9880d681SAndroid Build Coastguard Worker        ldrb w15, [x5, #:lo12:sym]
2462*9880d681SAndroid Build Coastguard Worker        ldrsh x15, [x5, #:lo12:sym]
2463*9880d681SAndroid Build Coastguard Worker        ldrsw x15, [x5, #:lo12:sym]
2464*9880d681SAndroid Build Coastguard Worker        ldr x15, [x5, #:lo12:sym]
2465*9880d681SAndroid Build Coastguard Worker        ldr q3, [x2, #:lo12:sym]
2466*9880d681SAndroid Build Coastguard Worker
2467*9880d681SAndroid Build Coastguard Worker// CHECK: str    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b00AAAAAA,0xf9]
2468*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale8
2469*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb    w15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b01AAAAAA,0x39]
2470*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale1
2471*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b10AAAAAA,0x79]
2472*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale2
2473*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b10AAAAAA,0xb9]
2474*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale4
2475*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    x15, [x5, :lo12:sym]    // encoding: [0xaf,0bAAAAAA00,0b01AAAAAA,0xf9]
2476*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale8
2477*9880d681SAndroid Build Coastguard Worker// CHECK: ldr    q3, [x2, :lo12:sym]     // encoding: [0x43,0bAAAAAA00,0b11AAAAAA,0x3d]
2478*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: :lo12:sym, kind: fixup_aarch64_ldst_imm12_scale16
2479*9880d681SAndroid Build Coastguard Worker
2480*9880d681SAndroid Build Coastguard Worker        prfm pldl1keep, [sp, #8]
2481*9880d681SAndroid Build Coastguard Worker        prfm pldl1strm, [x3]
2482*9880d681SAndroid Build Coastguard Worker        prfm pldl2keep, [x5,#16]
2483*9880d681SAndroid Build Coastguard Worker        prfm pldl2strm, [x2]
2484*9880d681SAndroid Build Coastguard Worker        prfm pldl3keep, [x5]
2485*9880d681SAndroid Build Coastguard Worker        prfm pldl3strm, [x6]
2486*9880d681SAndroid Build Coastguard Worker        prfm plil1keep, [sp, #8]
2487*9880d681SAndroid Build Coastguard Worker        prfm plil1strm, [x3]
2488*9880d681SAndroid Build Coastguard Worker        prfm plil2keep, [x5,#16]
2489*9880d681SAndroid Build Coastguard Worker        prfm plil2strm, [x2]
2490*9880d681SAndroid Build Coastguard Worker        prfm plil3keep, [x5]
2491*9880d681SAndroid Build Coastguard Worker        prfm plil3strm, [x6]
2492*9880d681SAndroid Build Coastguard Worker        prfm pstl1keep, [sp, #8]
2493*9880d681SAndroid Build Coastguard Worker        prfm pstl1strm, [x3]
2494*9880d681SAndroid Build Coastguard Worker        prfm pstl2keep, [x5,#16]
2495*9880d681SAndroid Build Coastguard Worker        prfm pstl2strm, [x2]
2496*9880d681SAndroid Build Coastguard Worker        prfm pstl3keep, [x5]
2497*9880d681SAndroid Build Coastguard Worker        prfm pstl3strm, [x6]
2498*9880d681SAndroid Build Coastguard Worker        prfm #15, [sp]
2499*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl1keep, [sp, #8]     // encoding: [0xe0,0x07,0x80,0xf9]
2500*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl1strm, [x3{{(, #0)?}}]     // encoding: [0x61,0x00,0x80,0xf9]
2501*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl2keep, [x5, #16]    // encoding: [0xa2,0x08,0x80,0xf9]
2502*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl2strm, [x2{{(, #0)?}}]     // encoding: [0x43,0x00,0x80,0xf9]
2503*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl3keep, [x5{{(, #0)?}}]     // encoding: [0xa4,0x00,0x80,0xf9]
2504*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pldl3strm, [x6{{(, #0)?}}]     // encoding: [0xc5,0x00,0x80,0xf9]
2505*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil1keep, [sp, #8]     // encoding: [0xe8,0x07,0x80,0xf9]
2506*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil1strm, [x3{{(, #0)?}}]     // encoding: [0x69,0x00,0x80,0xf9]
2507*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil2keep, [x5, #16]    // encoding: [0xaa,0x08,0x80,0xf9]
2508*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil2strm, [x2{{(, #0)?}}]     // encoding: [0x4b,0x00,0x80,0xf9]
2509*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil3keep, [x5{{(, #0)?}}]     // encoding: [0xac,0x00,0x80,0xf9]
2510*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    plil3strm, [x6{{(, #0)?}}]     // encoding: [0xcd,0x00,0x80,0xf9]
2511*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl1keep, [sp, #8]     // encoding: [0xf0,0x07,0x80,0xf9]
2512*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl1strm, [x3{{(, #0)?}}]     // encoding: [0x71,0x00,0x80,0xf9]
2513*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl2keep, [x5, #16]    // encoding: [0xb2,0x08,0x80,0xf9]
2514*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl2strm, [x2{{(, #0)?}}]     // encoding: [0x53,0x00,0x80,0xf9]
2515*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl3keep, [x5{{(, #0)?}}]     // encoding: [0xb4,0x00,0x80,0xf9]
2516*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    pstl3strm, [x6{{(, #0)?}}]     // encoding: [0xd5,0x00,0x80,0xf9]
2517*9880d681SAndroid Build Coastguard Worker// CHECK: prfm    #15, [sp{{(, #0)?}}]           // encoding: [0xef,0x03,0x80,0xf9]
2518*9880d681SAndroid Build Coastguard Worker
2519*9880d681SAndroid Build Coastguard Worker//// Floating-point versions
2520*9880d681SAndroid Build Coastguard Worker
2521*9880d681SAndroid Build Coastguard Worker        ldr b31, [sp, #4095]
2522*9880d681SAndroid Build Coastguard Worker        ldr h20, [x2, #8190]
2523*9880d681SAndroid Build Coastguard Worker        ldr s10, [x19, #16380]
2524*9880d681SAndroid Build Coastguard Worker        ldr d3, [x10, #32760]
2525*9880d681SAndroid Build Coastguard Worker        str q12, [sp, #65520]
2526*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b31, [sp, #4095]           // encoding: [0xff,0xff,0x7f,0x3d]
2527*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h20, [x2, #8190]           // encoding: [0x54,0xfc,0x7f,0x7d]
2528*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s10, [x19, #16380]         // encoding: [0x6a,0xfe,0x7f,0xbd]
2529*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d3, [x10, #32760]          // encoding: [0x43,0xfd,0x7f,0xfd]
2530*9880d681SAndroid Build Coastguard Worker// CHECK: str      q12, [sp, #65520]          // encoding: [0xec,0xff,0xbf,0x3d]
2531*9880d681SAndroid Build Coastguard Worker
2532*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2533*9880d681SAndroid Build Coastguard Worker// Load/store register (register offset)
2534*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2535*9880d681SAndroid Build Coastguard Worker
2536*9880d681SAndroid Build Coastguard Worker        ldrb w3, [sp, x5]
2537*9880d681SAndroid Build Coastguard Worker        ldrb w9, [x27, x6, lsl #0]
2538*9880d681SAndroid Build Coastguard Worker        ldrsb w10, [x30, x7]
2539*9880d681SAndroid Build Coastguard Worker        ldrb w11, [x29, x3, sxtx]
2540*9880d681SAndroid Build Coastguard Worker        strb w12, [x28, xzr, sxtx #0]
2541*9880d681SAndroid Build Coastguard Worker        ldrb w14, [x26, w6, uxtw]
2542*9880d681SAndroid Build Coastguard Worker        ldrsb w15, [x25, w7, uxtw #0]
2543*9880d681SAndroid Build Coastguard Worker        ldrb w17, [x23, w9, sxtw]
2544*9880d681SAndroid Build Coastguard Worker        ldrsb x18, [x22, w10, sxtw #0]
2545*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0x38]
2546*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w9, [x27, x6, lsl #0]      // encoding: [0x69,0x7b,0x66,0x38]
2547*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w10, [x30, x7]             // encoding: [0xca,0x6b,0xe7,0x38]
2548*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x63,0x38]
2549*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w12, [x28, xzr, sxtx #0]   // encoding: [0x8c,0xfb,0x3f,0x38]
2550*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x66,0x38]
2551*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w15, [x25, w7, uxtw #0]    // encoding: [0x2f,0x5b,0xe7,0x38]
2552*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0x38]
2553*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    x18, [x22, w10, sxtw #0]   // encoding: [0xd2,0xda,0xaa,0x38]
2554*9880d681SAndroid Build Coastguard Worker
2555*9880d681SAndroid Build Coastguard Worker        ldrsh w3, [sp, x5]
2556*9880d681SAndroid Build Coastguard Worker        ldrsh w9, [x27, x6, lsl #0]
2557*9880d681SAndroid Build Coastguard Worker        ldrh w10, [x30, x7, lsl #1]
2558*9880d681SAndroid Build Coastguard Worker        strh w11, [x29, x3, sxtx]
2559*9880d681SAndroid Build Coastguard Worker        ldrh w12, [x28, xzr, sxtx #0]
2560*9880d681SAndroid Build Coastguard Worker        ldrsh x13, [x27, x5, sxtx #1]
2561*9880d681SAndroid Build Coastguard Worker        ldrh w14, [x26, w6, uxtw]
2562*9880d681SAndroid Build Coastguard Worker        ldrh w15, [x25, w7, uxtw #0]
2563*9880d681SAndroid Build Coastguard Worker        ldrsh w16, [x24, w8, uxtw #1]
2564*9880d681SAndroid Build Coastguard Worker        ldrh w17, [x23, w9, sxtw]
2565*9880d681SAndroid Build Coastguard Worker        ldrh w18, [x22, w10, sxtw #0]
2566*9880d681SAndroid Build Coastguard Worker        strh w19, [x21, wzr, sxtw #1]
2567*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w3, [sp, x5]               // encoding: [0xe3,0x6b,0xe5,0x78]
2568*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w9, [x27, x6]              // encoding: [0x69,0x6b,0xe6,0x78]
2569*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w10, [x30, x7, lsl #1]     // encoding: [0xca,0x7b,0x67,0x78]
2570*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x23,0x78]
2571*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x7f,0x78]
2572*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x13, [x27, x5, sxtx #1]    // encoding: [0x6d,0xfb,0xa5,0x78]
2573*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x66,0x78]
2574*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0x78]
2575*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w16, [x24, w8, uxtw #1]    // encoding: [0x10,0x5b,0xe8,0x78]
2576*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0x78]
2577*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0x78]
2578*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w19, [x21, wzr, sxtw #1]   // encoding: [0xb3,0xda,0x3f,0x78]
2579*9880d681SAndroid Build Coastguard Worker
2580*9880d681SAndroid Build Coastguard Worker        ldr w3, [sp, x5]
2581*9880d681SAndroid Build Coastguard Worker        ldr s9, [x27, x6, lsl #0]
2582*9880d681SAndroid Build Coastguard Worker        ldr w10, [x30, x7, lsl #2]
2583*9880d681SAndroid Build Coastguard Worker        ldr w11, [x29, x3, sxtx]
2584*9880d681SAndroid Build Coastguard Worker        str s12, [x28, xzr, sxtx #0]
2585*9880d681SAndroid Build Coastguard Worker        str w13, [x27, x5, sxtx #2]
2586*9880d681SAndroid Build Coastguard Worker        str w14, [x26, w6, uxtw]
2587*9880d681SAndroid Build Coastguard Worker        ldr w15, [x25, w7, uxtw #0]
2588*9880d681SAndroid Build Coastguard Worker        ldr w16, [x24, w8, uxtw #2]
2589*9880d681SAndroid Build Coastguard Worker        ldrsw x17, [x23, w9, sxtw]
2590*9880d681SAndroid Build Coastguard Worker        ldr w18, [x22, w10, sxtw #0]
2591*9880d681SAndroid Build Coastguard Worker        ldrsw x19, [x21, wzr, sxtw #2]
2592*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0xb8]
2593*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s9, [x27, x6]              // encoding: [0x69,0x6b,0x66,0xbc]
2594*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w10, [x30, x7, lsl #2]     // encoding: [0xca,0x7b,0x67,0xb8]
2595*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x63,0xb8]
2596*9880d681SAndroid Build Coastguard Worker// CHECK: str      s12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x3f,0xbc]
2597*9880d681SAndroid Build Coastguard Worker// CHECK: str      w13, [x27, x5, sxtx #2]    // encoding: [0x6d,0xfb,0x25,0xb8]
2598*9880d681SAndroid Build Coastguard Worker// CHECK: str      w14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0x26,0xb8]
2599*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0xb8]
2600*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w16, [x24, w8, uxtw #2]    // encoding: [0x10,0x5b,0x68,0xb8]
2601*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0xa9,0xb8]
2602*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0xb8]
2603*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x19, [x21, wzr, sxtw #2]   // encoding: [0xb3,0xda,0xbf,0xb8]
2604*9880d681SAndroid Build Coastguard Worker
2605*9880d681SAndroid Build Coastguard Worker        ldr x3, [sp, x5]
2606*9880d681SAndroid Build Coastguard Worker        str x9, [x27, x6, lsl #0]
2607*9880d681SAndroid Build Coastguard Worker        ldr d10, [x30, x7, lsl #3]
2608*9880d681SAndroid Build Coastguard Worker        str x11, [x29, x3, sxtx]
2609*9880d681SAndroid Build Coastguard Worker        ldr x12, [x28, xzr, sxtx #0]
2610*9880d681SAndroid Build Coastguard Worker        ldr x13, [x27, x5, sxtx #3]
2611*9880d681SAndroid Build Coastguard Worker        prfm pldl1keep, [x26, w6, uxtw]
2612*9880d681SAndroid Build Coastguard Worker        ldr x15, [x25, w7, uxtw #0]
2613*9880d681SAndroid Build Coastguard Worker        ldr x16, [x24, w8, uxtw #3]
2614*9880d681SAndroid Build Coastguard Worker        ldr x17, [x23, w9, sxtw]
2615*9880d681SAndroid Build Coastguard Worker        ldr x18, [x22, w10, sxtw #0]
2616*9880d681SAndroid Build Coastguard Worker        str d19, [x21, wzr, sxtw #3]
2617*9880d681SAndroid Build Coastguard Worker        prfm #6, [x0, x5]
2618*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x3, [sp, x5]               // encoding: [0xe3,0x6b,0x65,0xf8]
2619*9880d681SAndroid Build Coastguard Worker// CHECK: str      x9, [x27, x6]              // encoding: [0x69,0x6b,0x26,0xf8]
2620*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d10, [x30, x7, lsl #3]     // encoding: [0xca,0x7b,0x67,0xfc]
2621*9880d681SAndroid Build Coastguard Worker// CHECK: str      x11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0x23,0xf8]
2622*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0x7f,0xf8]
2623*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x13, [x27, x5, sxtx #3]    // encoding: [0x6d,0xfb,0x65,0xf8]
2624*9880d681SAndroid Build Coastguard Worker// CHECK: prfm     pldl1keep, [x26, w6, uxtw] // encoding: [0x40,0x4b,0xa6,0xf8]
2625*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0x67,0xf8]
2626*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x16, [x24, w8, uxtw #3]    // encoding: [0x10,0x5b,0x68,0xf8]
2627*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0x69,0xf8]
2628*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0x6a,0xf8]
2629*9880d681SAndroid Build Coastguard Worker// CHECK: str      d19, [x21, wzr, sxtw #3]   // encoding: [0xb3,0xda,0x3f,0xfc]
2630*9880d681SAndroid Build Coastguard Worker// CHECK: prfm     #6, [x0, x5{{(, lsl #0)?}}]       // encoding: [0x06,0x68,0xa5,0xf8]
2631*9880d681SAndroid Build Coastguard Worker
2632*9880d681SAndroid Build Coastguard Worker        ldr q3, [sp, x5]
2633*9880d681SAndroid Build Coastguard Worker        ldr q9, [x27, x6, lsl #0]
2634*9880d681SAndroid Build Coastguard Worker        ldr q10, [x30, x7, lsl #4]
2635*9880d681SAndroid Build Coastguard Worker        str q11, [x29, x3, sxtx]
2636*9880d681SAndroid Build Coastguard Worker        str q12, [x28, xzr, sxtx #0]
2637*9880d681SAndroid Build Coastguard Worker        str q13, [x27, x5, sxtx #4]
2638*9880d681SAndroid Build Coastguard Worker        ldr q14, [x26, w6, uxtw]
2639*9880d681SAndroid Build Coastguard Worker        ldr q15, [x25, w7, uxtw #0]
2640*9880d681SAndroid Build Coastguard Worker        ldr q16, [x24, w8, uxtw #4]
2641*9880d681SAndroid Build Coastguard Worker        ldr q17, [x23, w9, sxtw]
2642*9880d681SAndroid Build Coastguard Worker        str q18, [x22, w10, sxtw #0]
2643*9880d681SAndroid Build Coastguard Worker        ldr q19, [x21, wzr, sxtw #4]
2644*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q3, [sp, x5]               // encoding: [0xe3,0x6b,0xe5,0x3c]
2645*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q9, [x27, x6]              // encoding: [0x69,0x6b,0xe6,0x3c]
2646*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q10, [x30, x7, lsl #4]     // encoding: [0xca,0x7b,0xe7,0x3c]
2647*9880d681SAndroid Build Coastguard Worker// CHECK: str      q11, [x29, x3, sxtx]       // encoding: [0xab,0xeb,0xa3,0x3c]
2648*9880d681SAndroid Build Coastguard Worker// CHECK: str      q12, [x28, xzr, sxtx]      // encoding: [0x8c,0xeb,0xbf,0x3c]
2649*9880d681SAndroid Build Coastguard Worker// CHECK: str      q13, [x27, x5, sxtx #4]    // encoding: [0x6d,0xfb,0xa5,0x3c]
2650*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q14, [x26, w6, uxtw]       // encoding: [0x4e,0x4b,0xe6,0x3c]
2651*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q15, [x25, w7, uxtw]       // encoding: [0x2f,0x4b,0xe7,0x3c]
2652*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q16, [x24, w8, uxtw #4]    // encoding: [0x10,0x5b,0xe8,0x3c]
2653*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q17, [x23, w9, sxtw]       // encoding: [0xf1,0xca,0xe9,0x3c]
2654*9880d681SAndroid Build Coastguard Worker// CHECK: str      q18, [x22, w10, sxtw]      // encoding: [0xd2,0xca,0xaa,0x3c]
2655*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q19, [x21, wzr, sxtw #4]   // encoding: [0xb3,0xda,0xff,0x3c]
2656*9880d681SAndroid Build Coastguard Worker
2657*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2658*9880d681SAndroid Build Coastguard Worker// Load/store register (immediate post-indexed)
2659*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2660*9880d681SAndroid Build Coastguard Worker
2661*9880d681SAndroid Build Coastguard Worker        strb w9, [x2], #255
2662*9880d681SAndroid Build Coastguard Worker        strb w10, [x3], #1
2663*9880d681SAndroid Build Coastguard Worker        strb w10, [x3], #-256
2664*9880d681SAndroid Build Coastguard Worker        strh w9, [x2], #255
2665*9880d681SAndroid Build Coastguard Worker        strh w9, [x2], #1
2666*9880d681SAndroid Build Coastguard Worker        strh w10, [x3], #-256
2667*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w9, [x2], #255             // encoding: [0x49,0xf4,0x0f,0x38]
2668*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w10, [x3], #1              // encoding: [0x6a,0x14,0x00,0x38]
2669*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w10, [x3], #-256           // encoding: [0x6a,0x04,0x10,0x38]
2670*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w9, [x2], #255             // encoding: [0x49,0xf4,0x0f,0x78]
2671*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w9, [x2], #1               // encoding: [0x49,0x14,0x00,0x78]
2672*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w10, [x3], #-256           // encoding: [0x6a,0x04,0x10,0x78]
2673*9880d681SAndroid Build Coastguard Worker
2674*9880d681SAndroid Build Coastguard Worker        str w19, [sp], #255
2675*9880d681SAndroid Build Coastguard Worker        str w20, [x30], #1
2676*9880d681SAndroid Build Coastguard Worker        str w21, [x12], #-256
2677*9880d681SAndroid Build Coastguard Worker        str xzr, [x9], #255
2678*9880d681SAndroid Build Coastguard Worker        str x2, [x3], #1
2679*9880d681SAndroid Build Coastguard Worker        str x19, [x12], #-256
2680*9880d681SAndroid Build Coastguard Worker// CHECK: str      w19, [sp], #255            // encoding: [0xf3,0xf7,0x0f,0xb8]
2681*9880d681SAndroid Build Coastguard Worker// CHECK: str      w20, [x30], #1             // encoding: [0xd4,0x17,0x00,0xb8]
2682*9880d681SAndroid Build Coastguard Worker// CHECK: str      w21, [x12], #-256          // encoding: [0x95,0x05,0x10,0xb8]
2683*9880d681SAndroid Build Coastguard Worker// CHECK: str      xzr, [x9], #255            // encoding: [0x3f,0xf5,0x0f,0xf8]
2684*9880d681SAndroid Build Coastguard Worker// CHECK: str      x2, [x3], #1               // encoding: [0x62,0x14,0x00,0xf8]
2685*9880d681SAndroid Build Coastguard Worker// CHECK: str      x19, [x12], #-256          // encoding: [0x93,0x05,0x10,0xf8]
2686*9880d681SAndroid Build Coastguard Worker
2687*9880d681SAndroid Build Coastguard Worker        ldrb w9, [x2], #255
2688*9880d681SAndroid Build Coastguard Worker        ldrb w10, [x3], #1
2689*9880d681SAndroid Build Coastguard Worker        ldrb w10, [x3], #-256
2690*9880d681SAndroid Build Coastguard Worker        ldrh w9, [x2], #255
2691*9880d681SAndroid Build Coastguard Worker        ldrh w9, [x2], #1
2692*9880d681SAndroid Build Coastguard Worker        ldrh w10, [x3], #-256
2693*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w9, [x2], #255             // encoding: [0x49,0xf4,0x4f,0x38]
2694*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w10, [x3], #1              // encoding: [0x6a,0x14,0x40,0x38]
2695*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w10, [x3], #-256           // encoding: [0x6a,0x04,0x50,0x38]
2696*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w9, [x2], #255             // encoding: [0x49,0xf4,0x4f,0x78]
2697*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w9, [x2], #1               // encoding: [0x49,0x14,0x40,0x78]
2698*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w10, [x3], #-256           // encoding: [0x6a,0x04,0x50,0x78]
2699*9880d681SAndroid Build Coastguard Worker
2700*9880d681SAndroid Build Coastguard Worker        ldr w19, [sp], #255
2701*9880d681SAndroid Build Coastguard Worker        ldr w20, [x30], #1
2702*9880d681SAndroid Build Coastguard Worker        ldr w21, [x12], #-256
2703*9880d681SAndroid Build Coastguard Worker        ldr xzr, [x9], #255
2704*9880d681SAndroid Build Coastguard Worker        ldr x2, [x3], #1
2705*9880d681SAndroid Build Coastguard Worker        ldr x19, [x12], #-256
2706*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w19, [sp], #255            // encoding: [0xf3,0xf7,0x4f,0xb8]
2707*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w20, [x30], #1             // encoding: [0xd4,0x17,0x40,0xb8]
2708*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w21, [x12], #-256          // encoding: [0x95,0x05,0x50,0xb8]
2709*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      xzr, [x9], #255            // encoding: [0x3f,0xf5,0x4f,0xf8]
2710*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x2, [x3], #1               // encoding: [0x62,0x14,0x40,0xf8]
2711*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x19, [x12], #-256          // encoding: [0x93,0x05,0x50,0xf8]
2712*9880d681SAndroid Build Coastguard Worker
2713*9880d681SAndroid Build Coastguard Worker        ldrsb xzr, [x9], #255
2714*9880d681SAndroid Build Coastguard Worker        ldrsb x2, [x3], #1
2715*9880d681SAndroid Build Coastguard Worker        ldrsb x19, [x12], #-256
2716*9880d681SAndroid Build Coastguard Worker        ldrsh xzr, [x9], #255
2717*9880d681SAndroid Build Coastguard Worker        ldrsh x2, [x3], #1
2718*9880d681SAndroid Build Coastguard Worker        ldrsh x19, [x12], #-256
2719*9880d681SAndroid Build Coastguard Worker        ldrsw xzr, [x9], #255
2720*9880d681SAndroid Build Coastguard Worker        ldrsw x2, [x3], #1
2721*9880d681SAndroid Build Coastguard Worker        ldrsw x19, [x12], #-256
2722*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0x38]
2723*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0x38]
2724*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0x38]
2725*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0x78]
2726*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0x78]
2727*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0x78]
2728*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    xzr, [x9], #255            // encoding: [0x3f,0xf5,0x8f,0xb8]
2729*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x2, [x3], #1               // encoding: [0x62,0x14,0x80,0xb8]
2730*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x19, [x12], #-256          // encoding: [0x93,0x05,0x90,0xb8]
2731*9880d681SAndroid Build Coastguard Worker
2732*9880d681SAndroid Build Coastguard Worker        ldrsb wzr, [x9], #255
2733*9880d681SAndroid Build Coastguard Worker        ldrsb w2, [x3], #1
2734*9880d681SAndroid Build Coastguard Worker        ldrsb w19, [x12], #-256
2735*9880d681SAndroid Build Coastguard Worker        ldrsh wzr, [x9], #255
2736*9880d681SAndroid Build Coastguard Worker        ldrsh w2, [x3], #1
2737*9880d681SAndroid Build Coastguard Worker        ldrsh w19, [x12], #-256
2738*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    wzr, [x9], #255            // encoding: [0x3f,0xf5,0xcf,0x38]
2739*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w2, [x3], #1               // encoding: [0x62,0x14,0xc0,0x38]
2740*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w19, [x12], #-256          // encoding: [0x93,0x05,0xd0,0x38]
2741*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    wzr, [x9], #255            // encoding: [0x3f,0xf5,0xcf,0x78]
2742*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w2, [x3], #1               // encoding: [0x62,0x14,0xc0,0x78]
2743*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w19, [x12], #-256          // encoding: [0x93,0x05,0xd0,0x78]
2744*9880d681SAndroid Build Coastguard Worker
2745*9880d681SAndroid Build Coastguard Worker        str b0, [x0], #255
2746*9880d681SAndroid Build Coastguard Worker        str b3, [x3], #1
2747*9880d681SAndroid Build Coastguard Worker        str b5, [sp], #-256
2748*9880d681SAndroid Build Coastguard Worker        str h10, [x10], #255
2749*9880d681SAndroid Build Coastguard Worker        str h13, [x23], #1
2750*9880d681SAndroid Build Coastguard Worker        str h15, [sp], #-256
2751*9880d681SAndroid Build Coastguard Worker        str s20, [x20], #255
2752*9880d681SAndroid Build Coastguard Worker        str s23, [x23], #1
2753*9880d681SAndroid Build Coastguard Worker        str s25, [x0], #-256
2754*9880d681SAndroid Build Coastguard Worker        str d20, [x20], #255
2755*9880d681SAndroid Build Coastguard Worker        str d23, [x23], #1
2756*9880d681SAndroid Build Coastguard Worker        str d25, [x0], #-256
2757*9880d681SAndroid Build Coastguard Worker// CHECK: str      b0, [x0], #255             // encoding: [0x00,0xf4,0x0f,0x3c]
2758*9880d681SAndroid Build Coastguard Worker// CHECK: str      b3, [x3], #1               // encoding: [0x63,0x14,0x00,0x3c]
2759*9880d681SAndroid Build Coastguard Worker// CHECK: str      b5, [sp], #-256            // encoding: [0xe5,0x07,0x10,0x3c]
2760*9880d681SAndroid Build Coastguard Worker// CHECK: str      h10, [x10], #255           // encoding: [0x4a,0xf5,0x0f,0x7c]
2761*9880d681SAndroid Build Coastguard Worker// CHECK: str      h13, [x23], #1             // encoding: [0xed,0x16,0x00,0x7c]
2762*9880d681SAndroid Build Coastguard Worker// CHECK: str      h15, [sp], #-256           // encoding: [0xef,0x07,0x10,0x7c]
2763*9880d681SAndroid Build Coastguard Worker// CHECK: str      s20, [x20], #255           // encoding: [0x94,0xf6,0x0f,0xbc]
2764*9880d681SAndroid Build Coastguard Worker// CHECK: str      s23, [x23], #1             // encoding: [0xf7,0x16,0x00,0xbc]
2765*9880d681SAndroid Build Coastguard Worker// CHECK: str      s25, [x0], #-256           // encoding: [0x19,0x04,0x10,0xbc]
2766*9880d681SAndroid Build Coastguard Worker// CHECK: str      d20, [x20], #255           // encoding: [0x94,0xf6,0x0f,0xfc]
2767*9880d681SAndroid Build Coastguard Worker// CHECK: str      d23, [x23], #1             // encoding: [0xf7,0x16,0x00,0xfc]
2768*9880d681SAndroid Build Coastguard Worker// CHECK: str      d25, [x0], #-256           // encoding: [0x19,0x04,0x10,0xfc]
2769*9880d681SAndroid Build Coastguard Worker
2770*9880d681SAndroid Build Coastguard Worker        ldr b0, [x0], #255
2771*9880d681SAndroid Build Coastguard Worker        ldr b3, [x3], #1
2772*9880d681SAndroid Build Coastguard Worker        ldr b5, [sp], #-256
2773*9880d681SAndroid Build Coastguard Worker        ldr h10, [x10], #255
2774*9880d681SAndroid Build Coastguard Worker        ldr h13, [x23], #1
2775*9880d681SAndroid Build Coastguard Worker        ldr h15, [sp], #-256
2776*9880d681SAndroid Build Coastguard Worker        ldr s20, [x20], #255
2777*9880d681SAndroid Build Coastguard Worker        ldr s23, [x23], #1
2778*9880d681SAndroid Build Coastguard Worker        ldr s25, [x0], #-256
2779*9880d681SAndroid Build Coastguard Worker        ldr d20, [x20], #255
2780*9880d681SAndroid Build Coastguard Worker        ldr d23, [x23], #1
2781*9880d681SAndroid Build Coastguard Worker        ldr d25, [x0], #-256
2782*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b0, [x0], #255             // encoding: [0x00,0xf4,0x4f,0x3c]
2783*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b3, [x3], #1               // encoding: [0x63,0x14,0x40,0x3c]
2784*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b5, [sp], #-256            // encoding: [0xe5,0x07,0x50,0x3c]
2785*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h10, [x10], #255           // encoding: [0x4a,0xf5,0x4f,0x7c]
2786*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h13, [x23], #1             // encoding: [0xed,0x16,0x40,0x7c]
2787*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h15, [sp], #-256           // encoding: [0xef,0x07,0x50,0x7c]
2788*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s20, [x20], #255           // encoding: [0x94,0xf6,0x4f,0xbc]
2789*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s23, [x23], #1             // encoding: [0xf7,0x16,0x40,0xbc]
2790*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s25, [x0], #-256           // encoding: [0x19,0x04,0x50,0xbc]
2791*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d20, [x20], #255           // encoding: [0x94,0xf6,0x4f,0xfc]
2792*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d23, [x23], #1             // encoding: [0xf7,0x16,0x40,0xfc]
2793*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d25, [x0], #-256           // encoding: [0x19,0x04,0x50,0xfc]
2794*9880d681SAndroid Build Coastguard Worker
2795*9880d681SAndroid Build Coastguard Worker        ldr q20, [x1], #255
2796*9880d681SAndroid Build Coastguard Worker        ldr q23, [x9], #1
2797*9880d681SAndroid Build Coastguard Worker        ldr q25, [x20], #-256
2798*9880d681SAndroid Build Coastguard Worker        str q10, [x1], #255
2799*9880d681SAndroid Build Coastguard Worker        str q22, [sp], #1
2800*9880d681SAndroid Build Coastguard Worker        str q21, [x20], #-256
2801*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q20, [x1], #255            // encoding: [0x34,0xf4,0xcf,0x3c]
2802*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q23, [x9], #1              // encoding: [0x37,0x15,0xc0,0x3c]
2803*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q25, [x20], #-256          // encoding: [0x99,0x06,0xd0,0x3c]
2804*9880d681SAndroid Build Coastguard Worker// CHECK: str      q10, [x1], #255            // encoding: [0x2a,0xf4,0x8f,0x3c]
2805*9880d681SAndroid Build Coastguard Worker// CHECK: str      q22, [sp], #1              // encoding: [0xf6,0x17,0x80,0x3c]
2806*9880d681SAndroid Build Coastguard Worker// CHECK: str      q21, [x20], #-256          // encoding: [0x95,0x06,0x90,0x3c]
2807*9880d681SAndroid Build Coastguard Worker
2808*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2809*9880d681SAndroid Build Coastguard Worker// Load/store register (immediate pre-indexed)
2810*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2811*9880d681SAndroid Build Coastguard Worker
2812*9880d681SAndroid Build Coastguard Worker        ldr x3, [x4, #0]!
2813*9880d681SAndroid Build Coastguard Worker        ldr xzr, [sp, #0]!
2814*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x3, [x4, #0]!              // encoding: [0x83,0x0c,0x40,0xf8]
2815*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      xzr, [sp, #0]!              // encoding: [0xff,0x0f,0x40,0xf8]
2816*9880d681SAndroid Build Coastguard Worker
2817*9880d681SAndroid Build Coastguard Worker        strb w9, [x2, #255]!
2818*9880d681SAndroid Build Coastguard Worker        strb w10, [x3, #1]!
2819*9880d681SAndroid Build Coastguard Worker        strb w10, [x3, #-256]!
2820*9880d681SAndroid Build Coastguard Worker        strh w9, [x2, #255]!
2821*9880d681SAndroid Build Coastguard Worker        strh w9, [x2, #1]!
2822*9880d681SAndroid Build Coastguard Worker        strh w10, [x3, #-256]!
2823*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x0f,0x38]
2824*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w10, [x3, #1]!             // encoding: [0x6a,0x1c,0x00,0x38]
2825*9880d681SAndroid Build Coastguard Worker// CHECK: strb     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x10,0x38]
2826*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x0f,0x78]
2827*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w9, [x2, #1]!              // encoding: [0x49,0x1c,0x00,0x78]
2828*9880d681SAndroid Build Coastguard Worker// CHECK: strh     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x10,0x78]
2829*9880d681SAndroid Build Coastguard Worker
2830*9880d681SAndroid Build Coastguard Worker        str w19, [sp, #255]!
2831*9880d681SAndroid Build Coastguard Worker        str w20, [x30, #1]!
2832*9880d681SAndroid Build Coastguard Worker        str w21, [x12, #-256]!
2833*9880d681SAndroid Build Coastguard Worker        str xzr, [x9, #255]!
2834*9880d681SAndroid Build Coastguard Worker        str x2, [x3, #1]!
2835*9880d681SAndroid Build Coastguard Worker        str x19, [x12, #-256]!
2836*9880d681SAndroid Build Coastguard Worker// CHECK: str      w19, [sp, #255]!           // encoding: [0xf3,0xff,0x0f,0xb8]
2837*9880d681SAndroid Build Coastguard Worker// CHECK: str      w20, [x30, #1]!            // encoding: [0xd4,0x1f,0x00,0xb8]
2838*9880d681SAndroid Build Coastguard Worker// CHECK: str      w21, [x12, #-256]!         // encoding: [0x95,0x0d,0x10,0xb8]
2839*9880d681SAndroid Build Coastguard Worker// CHECK: str      xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x0f,0xf8]
2840*9880d681SAndroid Build Coastguard Worker// CHECK: str      x2, [x3, #1]!              // encoding: [0x62,0x1c,0x00,0xf8]
2841*9880d681SAndroid Build Coastguard Worker// CHECK: str      x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x10,0xf8]
2842*9880d681SAndroid Build Coastguard Worker
2843*9880d681SAndroid Build Coastguard Worker        ldrb w9, [x2, #255]!
2844*9880d681SAndroid Build Coastguard Worker        ldrb w10, [x3, #1]!
2845*9880d681SAndroid Build Coastguard Worker        ldrb w10, [x3, #-256]!
2846*9880d681SAndroid Build Coastguard Worker        ldrh w9, [x2, #255]!
2847*9880d681SAndroid Build Coastguard Worker        ldrh w9, [x2, #1]!
2848*9880d681SAndroid Build Coastguard Worker        ldrh w10, [x3, #-256]!
2849*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x4f,0x38]
2850*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w10, [x3, #1]!             // encoding: [0x6a,0x1c,0x40,0x38]
2851*9880d681SAndroid Build Coastguard Worker// CHECK: ldrb     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x50,0x38]
2852*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w9, [x2, #255]!            // encoding: [0x49,0xfc,0x4f,0x78]
2853*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w9, [x2, #1]!              // encoding: [0x49,0x1c,0x40,0x78]
2854*9880d681SAndroid Build Coastguard Worker// CHECK: ldrh     w10, [x3, #-256]!          // encoding: [0x6a,0x0c,0x50,0x78]
2855*9880d681SAndroid Build Coastguard Worker
2856*9880d681SAndroid Build Coastguard Worker        ldr w19, [sp, #255]!
2857*9880d681SAndroid Build Coastguard Worker        ldr w20, [x30, #1]!
2858*9880d681SAndroid Build Coastguard Worker        ldr w21, [x12, #-256]!
2859*9880d681SAndroid Build Coastguard Worker        ldr xzr, [x9, #255]!
2860*9880d681SAndroid Build Coastguard Worker        ldr x2, [x3, #1]!
2861*9880d681SAndroid Build Coastguard Worker        ldr x19, [x12, #-256]!
2862*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w19, [sp, #255]!           // encoding: [0xf3,0xff,0x4f,0xb8]
2863*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w20, [x30, #1]!            // encoding: [0xd4,0x1f,0x40,0xb8]
2864*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      w21, [x12, #-256]!         // encoding: [0x95,0x0d,0x50,0xb8]
2865*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x4f,0xf8]
2866*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x2, [x3, #1]!              // encoding: [0x62,0x1c,0x40,0xf8]
2867*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x50,0xf8]
2868*9880d681SAndroid Build Coastguard Worker
2869*9880d681SAndroid Build Coastguard Worker        ldrsb xzr, [x9, #255]!
2870*9880d681SAndroid Build Coastguard Worker        ldrsb x2, [x3, #1]!
2871*9880d681SAndroid Build Coastguard Worker        ldrsb x19, [x12, #-256]!
2872*9880d681SAndroid Build Coastguard Worker        ldrsh xzr, [x9, #255]!
2873*9880d681SAndroid Build Coastguard Worker        ldrsh x2, [x3, #1]!
2874*9880d681SAndroid Build Coastguard Worker        ldrsh x19, [x12, #-256]!
2875*9880d681SAndroid Build Coastguard Worker        ldrsw xzr, [x9, #255]!
2876*9880d681SAndroid Build Coastguard Worker        ldrsw x2, [x3, #1]!
2877*9880d681SAndroid Build Coastguard Worker        ldrsw x19, [x12, #-256]!
2878*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0x38]
2879*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0x38]
2880*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0x38]
2881*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0x78]
2882*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0x78]
2883*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0x78]
2884*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    xzr, [x9, #255]!           // encoding: [0x3f,0xfd,0x8f,0xb8]
2885*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x2, [x3, #1]!              // encoding: [0x62,0x1c,0x80,0xb8]
2886*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsw    x19, [x12, #-256]!         // encoding: [0x93,0x0d,0x90,0xb8]
2887*9880d681SAndroid Build Coastguard Worker
2888*9880d681SAndroid Build Coastguard Worker        ldrsb wzr, [x9, #255]!
2889*9880d681SAndroid Build Coastguard Worker        ldrsb w2, [x3, #1]!
2890*9880d681SAndroid Build Coastguard Worker        ldrsb w19, [x12, #-256]!
2891*9880d681SAndroid Build Coastguard Worker        ldrsh wzr, [x9, #255]!
2892*9880d681SAndroid Build Coastguard Worker        ldrsh w2, [x3, #1]!
2893*9880d681SAndroid Build Coastguard Worker        ldrsh w19, [x12, #-256]!
2894*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    wzr, [x9, #255]!           // encoding: [0x3f,0xfd,0xcf,0x38]
2895*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w2, [x3, #1]!              // encoding: [0x62,0x1c,0xc0,0x38]
2896*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsb    w19, [x12, #-256]!         // encoding: [0x93,0x0d,0xd0,0x38]
2897*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    wzr, [x9, #255]!           // encoding: [0x3f,0xfd,0xcf,0x78]
2898*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w2, [x3, #1]!              // encoding: [0x62,0x1c,0xc0,0x78]
2899*9880d681SAndroid Build Coastguard Worker// CHECK: ldrsh    w19, [x12, #-256]!         // encoding: [0x93,0x0d,0xd0,0x78]
2900*9880d681SAndroid Build Coastguard Worker
2901*9880d681SAndroid Build Coastguard Worker        str b0, [x0, #255]!
2902*9880d681SAndroid Build Coastguard Worker        str b3, [x3, #1]!
2903*9880d681SAndroid Build Coastguard Worker        str b5, [sp, #-256]!
2904*9880d681SAndroid Build Coastguard Worker        str h10, [x10, #255]!
2905*9880d681SAndroid Build Coastguard Worker        str h13, [x23, #1]!
2906*9880d681SAndroid Build Coastguard Worker        str h15, [sp, #-256]!
2907*9880d681SAndroid Build Coastguard Worker        str s20, [x20, #255]!
2908*9880d681SAndroid Build Coastguard Worker        str s23, [x23, #1]!
2909*9880d681SAndroid Build Coastguard Worker        str s25, [x0, #-256]!
2910*9880d681SAndroid Build Coastguard Worker        str d20, [x20, #255]!
2911*9880d681SAndroid Build Coastguard Worker        str d23, [x23, #1]!
2912*9880d681SAndroid Build Coastguard Worker        str d25, [x0, #-256]!
2913*9880d681SAndroid Build Coastguard Worker// CHECK: str      b0, [x0, #255]!            // encoding: [0x00,0xfc,0x0f,0x3c]
2914*9880d681SAndroid Build Coastguard Worker// CHECK: str      b3, [x3, #1]!              // encoding: [0x63,0x1c,0x00,0x3c]
2915*9880d681SAndroid Build Coastguard Worker// CHECK: str      b5, [sp, #-256]!           // encoding: [0xe5,0x0f,0x10,0x3c]
2916*9880d681SAndroid Build Coastguard Worker// CHECK: str      h10, [x10, #255]!          // encoding: [0x4a,0xfd,0x0f,0x7c]
2917*9880d681SAndroid Build Coastguard Worker// CHECK: str      h13, [x23, #1]!            // encoding: [0xed,0x1e,0x00,0x7c]
2918*9880d681SAndroid Build Coastguard Worker// CHECK: str      h15, [sp, #-256]!          // encoding: [0xef,0x0f,0x10,0x7c]
2919*9880d681SAndroid Build Coastguard Worker// CHECK: str      s20, [x20, #255]!          // encoding: [0x94,0xfe,0x0f,0xbc]
2920*9880d681SAndroid Build Coastguard Worker// CHECK: str      s23, [x23, #1]!            // encoding: [0xf7,0x1e,0x00,0xbc]
2921*9880d681SAndroid Build Coastguard Worker// CHECK: str      s25, [x0, #-256]!          // encoding: [0x19,0x0c,0x10,0xbc]
2922*9880d681SAndroid Build Coastguard Worker// CHECK: str      d20, [x20, #255]!          // encoding: [0x94,0xfe,0x0f,0xfc]
2923*9880d681SAndroid Build Coastguard Worker// CHECK: str      d23, [x23, #1]!            // encoding: [0xf7,0x1e,0x00,0xfc]
2924*9880d681SAndroid Build Coastguard Worker// CHECK: str      d25, [x0, #-256]!          // encoding: [0x19,0x0c,0x10,0xfc]
2925*9880d681SAndroid Build Coastguard Worker
2926*9880d681SAndroid Build Coastguard Worker        ldr b0, [x0, #255]!
2927*9880d681SAndroid Build Coastguard Worker        ldr b3, [x3, #1]!
2928*9880d681SAndroid Build Coastguard Worker        ldr b5, [sp, #-256]!
2929*9880d681SAndroid Build Coastguard Worker        ldr h10, [x10, #255]!
2930*9880d681SAndroid Build Coastguard Worker        ldr h13, [x23, #1]!
2931*9880d681SAndroid Build Coastguard Worker        ldr h15, [sp, #-256]!
2932*9880d681SAndroid Build Coastguard Worker        ldr s20, [x20, #255]!
2933*9880d681SAndroid Build Coastguard Worker        ldr s23, [x23, #1]!
2934*9880d681SAndroid Build Coastguard Worker        ldr s25, [x0, #-256]!
2935*9880d681SAndroid Build Coastguard Worker        ldr d20, [x20, #255]!
2936*9880d681SAndroid Build Coastguard Worker        ldr d23, [x23, #1]!
2937*9880d681SAndroid Build Coastguard Worker        ldr d25, [x0, #-256]!
2938*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b0, [x0, #255]!            // encoding: [0x00,0xfc,0x4f,0x3c]
2939*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b3, [x3, #1]!              // encoding: [0x63,0x1c,0x40,0x3c]
2940*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      b5, [sp, #-256]!           // encoding: [0xe5,0x0f,0x50,0x3c]
2941*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h10, [x10, #255]!          // encoding: [0x4a,0xfd,0x4f,0x7c]
2942*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h13, [x23, #1]!            // encoding: [0xed,0x1e,0x40,0x7c]
2943*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      h15, [sp, #-256]!          // encoding: [0xef,0x0f,0x50,0x7c]
2944*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s20, [x20, #255]!          // encoding: [0x94,0xfe,0x4f,0xbc]
2945*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s23, [x23, #1]!            // encoding: [0xf7,0x1e,0x40,0xbc]
2946*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      s25, [x0, #-256]!          // encoding: [0x19,0x0c,0x50,0xbc]
2947*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d20, [x20, #255]!          // encoding: [0x94,0xfe,0x4f,0xfc]
2948*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d23, [x23, #1]!            // encoding: [0xf7,0x1e,0x40,0xfc]
2949*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      d25, [x0, #-256]!          // encoding: [0x19,0x0c,0x50,0xfc]
2950*9880d681SAndroid Build Coastguard Worker
2951*9880d681SAndroid Build Coastguard Worker        ldr q20, [x1, #255]!
2952*9880d681SAndroid Build Coastguard Worker        ldr q23, [x9, #1]!
2953*9880d681SAndroid Build Coastguard Worker        ldr q25, [x20, #-256]!
2954*9880d681SAndroid Build Coastguard Worker        str q10, [x1, #255]!
2955*9880d681SAndroid Build Coastguard Worker        str q22, [sp, #1]!
2956*9880d681SAndroid Build Coastguard Worker        str q21, [x20, #-256]!
2957*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q20, [x1, #255]!           // encoding: [0x34,0xfc,0xcf,0x3c]
2958*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q23, [x9, #1]!             // encoding: [0x37,0x1d,0xc0,0x3c]
2959*9880d681SAndroid Build Coastguard Worker// CHECK: ldr      q25, [x20, #-256]!         // encoding: [0x99,0x0e,0xd0,0x3c]
2960*9880d681SAndroid Build Coastguard Worker// CHECK: str      q10, [x1, #255]!           // encoding: [0x2a,0xfc,0x8f,0x3c]
2961*9880d681SAndroid Build Coastguard Worker// CHECK: str      q22, [sp, #1]!             // encoding: [0xf6,0x1f,0x80,0x3c]
2962*9880d681SAndroid Build Coastguard Worker// CHECK: str      q21, [x20, #-256]!         // encoding: [0x95,0x0e,0x90,0x3c]
2963*9880d681SAndroid Build Coastguard Worker
2964*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2965*9880d681SAndroid Build Coastguard Worker// Load/store (unprivileged)
2966*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2967*9880d681SAndroid Build Coastguard Worker
2968*9880d681SAndroid Build Coastguard Worker        sttrb w9, [sp, #0]
2969*9880d681SAndroid Build Coastguard Worker        sttrh wzr, [x12, #255]
2970*9880d681SAndroid Build Coastguard Worker        sttr w16, [x0, #-256]
2971*9880d681SAndroid Build Coastguard Worker        sttr x28, [x14, #1]
2972*9880d681SAndroid Build Coastguard Worker// CHECK: sttrb    w9, [sp]                   // encoding: [0xe9,0x0b,0x00,0x38]
2973*9880d681SAndroid Build Coastguard Worker// CHECK: sttrh    wzr, [x12, #255]           // encoding: [0x9f,0xf9,0x0f,0x78]
2974*9880d681SAndroid Build Coastguard Worker// CHECK: sttr     w16, [x0, #-256]           // encoding: [0x10,0x08,0x10,0xb8]
2975*9880d681SAndroid Build Coastguard Worker// CHECK: sttr     x28, [x14, #1]             // encoding: [0xdc,0x19,0x00,0xf8]
2976*9880d681SAndroid Build Coastguard Worker
2977*9880d681SAndroid Build Coastguard Worker        ldtrb w1, [x20, #255]
2978*9880d681SAndroid Build Coastguard Worker        ldtrh w20, [x1, #255]
2979*9880d681SAndroid Build Coastguard Worker        ldtr w12, [sp, #255]
2980*9880d681SAndroid Build Coastguard Worker        ldtr xzr, [x12, #255]
2981*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrb    w1, [x20, #255]            // encoding: [0x81,0xfa,0x4f,0x38]
2982*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrh    w20, [x1, #255]            // encoding: [0x34,0xf8,0x4f,0x78]
2983*9880d681SAndroid Build Coastguard Worker// CHECK: ldtr     w12, [sp, #255]            // encoding: [0xec,0xfb,0x4f,0xb8]
2984*9880d681SAndroid Build Coastguard Worker// CHECK: ldtr     xzr, [x12, #255]           // encoding: [0x9f,0xf9,0x4f,0xf8]
2985*9880d681SAndroid Build Coastguard Worker
2986*9880d681SAndroid Build Coastguard Worker        ldtrsb x9, [x7, #-256]
2987*9880d681SAndroid Build Coastguard Worker        ldtrsh x17, [x19, #-256]
2988*9880d681SAndroid Build Coastguard Worker        ldtrsw x20, [x15, #-256]
2989*9880d681SAndroid Build Coastguard Worker        ldtrsb w19, [x1, #-256]
2990*9880d681SAndroid Build Coastguard Worker        ldtrsh w15, [x21, #-256]
2991*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrsb   x9, [x7, #-256]            // encoding: [0xe9,0x08,0x90,0x38]
2992*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrsh   x17, [x19, #-256]          // encoding: [0x71,0x0a,0x90,0x78]
2993*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrsw   x20, [x15, #-256]          // encoding: [0xf4,0x09,0x90,0xb8]
2994*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrsb   w19, [x1, #-256]           // encoding: [0x33,0x08,0xd0,0x38]
2995*9880d681SAndroid Build Coastguard Worker// CHECK: ldtrsh   w15, [x21, #-256]          // encoding: [0xaf,0x0a,0xd0,0x78]
2996*9880d681SAndroid Build Coastguard Worker
2997*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2998*9880d681SAndroid Build Coastguard Worker// Load/store register pair (offset)
2999*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3000*9880d681SAndroid Build Coastguard Worker
3001*9880d681SAndroid Build Coastguard Worker        ldp w3, w5, [sp]
3002*9880d681SAndroid Build Coastguard Worker        stp wzr, w9, [sp, #252]
3003*9880d681SAndroid Build Coastguard Worker        ldp w2, wzr, [sp, #-256]
3004*9880d681SAndroid Build Coastguard Worker        ldp w9, w10, [sp, #4]
3005*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w3, w5, [sp]               // encoding: [0xe3,0x17,0x40,0x29]
3006*9880d681SAndroid Build Coastguard Worker// CHECK: stp      wzr, w9, [sp, #252]        // encoding: [0xff,0xa7,0x1f,0x29]
3007*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w2, wzr, [sp, #-256]       // encoding: [0xe2,0x7f,0x60,0x29]
3008*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w9, w10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x29]
3009*9880d681SAndroid Build Coastguard Worker
3010*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [sp, #4]
3011*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [x2, #-256]
3012*9880d681SAndroid Build Coastguard Worker        ldpsw x20, x30, [sp, #252]
3013*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x69]
3014*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [x2, #-256]       // encoding: [0x49,0x28,0x60,0x69]
3015*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x20, x30, [sp, #252]       // encoding: [0xf4,0xfb,0x5f,0x69]
3016*9880d681SAndroid Build Coastguard Worker
3017*9880d681SAndroid Build Coastguard Worker        ldp x21, x29, [x2, #504]
3018*9880d681SAndroid Build Coastguard Worker        ldp x22, x23, [x3, #-512]
3019*9880d681SAndroid Build Coastguard Worker        ldp x24, x25, [x4, #8]
3020*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x21, x29, [x2, #504]       // encoding: [0x55,0xf4,0x5f,0xa9]
3021*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x22, x23, [x3, #-512]      // encoding: [0x76,0x5c,0x60,0xa9]
3022*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x24, x25, [x4, #8]         // encoding: [0x98,0xe4,0x40,0xa9]
3023*9880d681SAndroid Build Coastguard Worker
3024*9880d681SAndroid Build Coastguard Worker        ldp s29, s28, [sp, #252]
3025*9880d681SAndroid Build Coastguard Worker        stp s27, s26, [sp, #-256]
3026*9880d681SAndroid Build Coastguard Worker        ldp s1, s2, [x3, #44]
3027*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s29, s28, [sp, #252]       // encoding: [0xfd,0xf3,0x5f,0x2d]
3028*9880d681SAndroid Build Coastguard Worker// CHECK: stp      s27, s26, [sp, #-256]      // encoding: [0xfb,0x6b,0x20,0x2d]
3029*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s1, s2, [x3, #44]          // encoding: [0x61,0x88,0x45,0x2d]
3030*9880d681SAndroid Build Coastguard Worker
3031*9880d681SAndroid Build Coastguard Worker        stp d3, d5, [x9, #504]
3032*9880d681SAndroid Build Coastguard Worker        stp d7, d11, [x10, #-512]
3033*9880d681SAndroid Build Coastguard Worker        ldp d2, d3, [x30, #-8]
3034*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d3, d5, [x9, #504]         // encoding: [0x23,0x95,0x1f,0x6d]
3035*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d7, d11, [x10, #-512]      // encoding: [0x47,0x2d,0x20,0x6d]
3036*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      d2, d3, [x30, #-8]         // encoding: [0xc2,0x8f,0x7f,0x6d]
3037*9880d681SAndroid Build Coastguard Worker
3038*9880d681SAndroid Build Coastguard Worker        stp q3, q5, [sp]
3039*9880d681SAndroid Build Coastguard Worker        stp q17, q19, [sp, #1008]
3040*9880d681SAndroid Build Coastguard Worker        ldp q23, q29, [x1, #-1024]
3041*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q3, q5, [sp]               // encoding: [0xe3,0x17,0x00,0xad]
3042*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q17, q19, [sp, #1008]      // encoding: [0xf1,0xcf,0x1f,0xad]
3043*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      q23, q29, [x1, #-1024]     // encoding: [0x37,0x74,0x60,0xad]
3044*9880d681SAndroid Build Coastguard Worker
3045*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3046*9880d681SAndroid Build Coastguard Worker// Load/store register pair (post-indexed)
3047*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3048*9880d681SAndroid Build Coastguard Worker
3049*9880d681SAndroid Build Coastguard Worker        ldp w3, w5, [sp], #0
3050*9880d681SAndroid Build Coastguard Worker        stp wzr, w9, [sp], #252
3051*9880d681SAndroid Build Coastguard Worker        ldp w2, wzr, [sp], #-256
3052*9880d681SAndroid Build Coastguard Worker        ldp w9, w10, [sp], #4
3053*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w3, w5, [sp], #0           // encoding: [0xe3,0x17,0xc0,0x28]
3054*9880d681SAndroid Build Coastguard Worker// CHECK: stp      wzr, w9, [sp], #252        // encoding: [0xff,0xa7,0x9f,0x28]
3055*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w2, wzr, [sp], #-256       // encoding: [0xe2,0x7f,0xe0,0x28]
3056*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w9, w10, [sp], #4          // encoding: [0xe9,0xab,0xc0,0x28]
3057*9880d681SAndroid Build Coastguard Worker
3058*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [sp], #4
3059*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [x2], #-256
3060*9880d681SAndroid Build Coastguard Worker        ldpsw x20, x30, [sp], #252
3061*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [sp], #4          // encoding: [0xe9,0xab,0xc0,0x68]
3062*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [x2], #-256       // encoding: [0x49,0x28,0xe0,0x68]
3063*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x20, x30, [sp], #252       // encoding: [0xf4,0xfb,0xdf,0x68]
3064*9880d681SAndroid Build Coastguard Worker
3065*9880d681SAndroid Build Coastguard Worker        ldp x21, x29, [x2], #504
3066*9880d681SAndroid Build Coastguard Worker        ldp x22, x23, [x3], #-512
3067*9880d681SAndroid Build Coastguard Worker        ldp x24, x25, [x4], #8
3068*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x21, x29, [x2], #504       // encoding: [0x55,0xf4,0xdf,0xa8]
3069*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x22, x23, [x3], #-512      // encoding: [0x76,0x5c,0xe0,0xa8]
3070*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x24, x25, [x4], #8         // encoding: [0x98,0xe4,0xc0,0xa8]
3071*9880d681SAndroid Build Coastguard Worker
3072*9880d681SAndroid Build Coastguard Worker        ldp s29, s28, [sp], #252
3073*9880d681SAndroid Build Coastguard Worker        stp s27, s26, [sp], #-256
3074*9880d681SAndroid Build Coastguard Worker        ldp s1, s2, [x3], #44
3075*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s29, s28, [sp], #252       // encoding: [0xfd,0xf3,0xdf,0x2c]
3076*9880d681SAndroid Build Coastguard Worker// CHECK: stp      s27, s26, [sp], #-256      // encoding: [0xfb,0x6b,0xa0,0x2c]
3077*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s1, s2, [x3], #44          // encoding: [0x61,0x88,0xc5,0x2c]
3078*9880d681SAndroid Build Coastguard Worker
3079*9880d681SAndroid Build Coastguard Worker        stp d3, d5, [x9], #504
3080*9880d681SAndroid Build Coastguard Worker        stp d7, d11, [x10], #-512
3081*9880d681SAndroid Build Coastguard Worker        ldp d2, d3, [x30], #-8
3082*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d3, d5, [x9], #504         // encoding: [0x23,0x95,0x9f,0x6c]
3083*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d7, d11, [x10], #-512      // encoding: [0x47,0x2d,0xa0,0x6c]
3084*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      d2, d3, [x30], #-8         // encoding: [0xc2,0x8f,0xff,0x6c]
3085*9880d681SAndroid Build Coastguard Worker
3086*9880d681SAndroid Build Coastguard Worker        stp q3, q5, [sp], #0
3087*9880d681SAndroid Build Coastguard Worker        stp q17, q19, [sp], #1008
3088*9880d681SAndroid Build Coastguard Worker        ldp q23, q29, [x1], #-1024
3089*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q3, q5, [sp], #0           // encoding: [0xe3,0x17,0x80,0xac]
3090*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q17, q19, [sp], #1008      // encoding: [0xf1,0xcf,0x9f,0xac]
3091*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      q23, q29, [x1], #-1024     // encoding: [0x37,0x74,0xe0,0xac]
3092*9880d681SAndroid Build Coastguard Worker
3093*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3094*9880d681SAndroid Build Coastguard Worker// Load/store register pair (pre-indexed)
3095*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3096*9880d681SAndroid Build Coastguard Worker        ldp w3, w5, [sp, #0]!
3097*9880d681SAndroid Build Coastguard Worker        stp wzr, w9, [sp, #252]!
3098*9880d681SAndroid Build Coastguard Worker        ldp w2, wzr, [sp, #-256]!
3099*9880d681SAndroid Build Coastguard Worker        ldp w9, w10, [sp, #4]!
3100*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w3, w5, [sp, #0]!          // encoding: [0xe3,0x17,0xc0,0x29]
3101*9880d681SAndroid Build Coastguard Worker// CHECK: stp      wzr, w9, [sp, #252]!       // encoding: [0xff,0xa7,0x9f,0x29]
3102*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w2, wzr, [sp, #-256]!      // encoding: [0xe2,0x7f,0xe0,0x29]
3103*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      w9, w10, [sp, #4]!         // encoding: [0xe9,0xab,0xc0,0x29]
3104*9880d681SAndroid Build Coastguard Worker
3105*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [sp, #4]!
3106*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x10, [x2, #-256]!
3107*9880d681SAndroid Build Coastguard Worker        ldpsw x20, x30, [sp, #252]!
3108*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [sp, #4]!         // encoding: [0xe9,0xab,0xc0,0x69]
3109*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x9, x10, [x2, #-256]!      // encoding: [0x49,0x28,0xe0,0x69]
3110*9880d681SAndroid Build Coastguard Worker// CHECK: ldpsw    x20, x30, [sp, #252]!      // encoding: [0xf4,0xfb,0xdf,0x69]
3111*9880d681SAndroid Build Coastguard Worker
3112*9880d681SAndroid Build Coastguard Worker        ldp x21, x29, [x2, #504]!
3113*9880d681SAndroid Build Coastguard Worker        ldp x22, x23, [x3, #-512]!
3114*9880d681SAndroid Build Coastguard Worker        ldp x24, x25, [x4, #8]!
3115*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x21, x29, [x2, #504]!      // encoding: [0x55,0xf4,0xdf,0xa9]
3116*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x22, x23, [x3, #-512]!     // encoding: [0x76,0x5c,0xe0,0xa9]
3117*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      x24, x25, [x4, #8]!        // encoding: [0x98,0xe4,0xc0,0xa9]
3118*9880d681SAndroid Build Coastguard Worker
3119*9880d681SAndroid Build Coastguard Worker        ldp s29, s28, [sp, #252]!
3120*9880d681SAndroid Build Coastguard Worker        stp s27, s26, [sp, #-256]!
3121*9880d681SAndroid Build Coastguard Worker        ldp s1, s2, [x3, #44]!
3122*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s29, s28, [sp, #252]!      // encoding: [0xfd,0xf3,0xdf,0x2d]
3123*9880d681SAndroid Build Coastguard Worker// CHECK: stp      s27, s26, [sp, #-256]!     // encoding: [0xfb,0x6b,0xa0,0x2d]
3124*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      s1, s2, [x3, #44]!         // encoding: [0x61,0x88,0xc5,0x2d]
3125*9880d681SAndroid Build Coastguard Worker
3126*9880d681SAndroid Build Coastguard Worker        stp d3, d5, [x9, #504]!
3127*9880d681SAndroid Build Coastguard Worker        stp d7, d11, [x10, #-512]!
3128*9880d681SAndroid Build Coastguard Worker        ldp d2, d3, [x30, #-8]!
3129*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d3, d5, [x9, #504]!        // encoding: [0x23,0x95,0x9f,0x6d]
3130*9880d681SAndroid Build Coastguard Worker// CHECK: stp      d7, d11, [x10, #-512]!     // encoding: [0x47,0x2d,0xa0,0x6d]
3131*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      d2, d3, [x30, #-8]!        // encoding: [0xc2,0x8f,0xff,0x6d]
3132*9880d681SAndroid Build Coastguard Worker
3133*9880d681SAndroid Build Coastguard Worker        stp q3, q5, [sp, #0]!
3134*9880d681SAndroid Build Coastguard Worker        stp q17, q19, [sp, #1008]!
3135*9880d681SAndroid Build Coastguard Worker        ldp q23, q29, [x1, #-1024]!
3136*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q3, q5, [sp, #0]!          // encoding: [0xe3,0x17,0x80,0xad]
3137*9880d681SAndroid Build Coastguard Worker// CHECK: stp      q17, q19, [sp, #1008]!     // encoding: [0xf1,0xcf,0x9f,0xad]
3138*9880d681SAndroid Build Coastguard Worker// CHECK: ldp      q23, q29, [x1, #-1024]!    // encoding: [0x37,0x74,0xe0,0xad]
3139*9880d681SAndroid Build Coastguard Worker
3140*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3141*9880d681SAndroid Build Coastguard Worker// Load/store non-temporal register pair (offset)
3142*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3143*9880d681SAndroid Build Coastguard Worker
3144*9880d681SAndroid Build Coastguard Worker        ldnp w3, w5, [sp]
3145*9880d681SAndroid Build Coastguard Worker        stnp wzr, w9, [sp, #252]
3146*9880d681SAndroid Build Coastguard Worker        ldnp w2, wzr, [sp, #-256]
3147*9880d681SAndroid Build Coastguard Worker        ldnp w9, w10, [sp, #4]
3148*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      w3, w5, [sp]               // encoding: [0xe3,0x17,0x40,0x28]
3149*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      wzr, w9, [sp, #252]        // encoding: [0xff,0xa7,0x1f,0x28]
3150*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      w2, wzr, [sp, #-256]       // encoding: [0xe2,0x7f,0x60,0x28]
3151*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      w9, w10, [sp, #4]          // encoding: [0xe9,0xab,0x40,0x28]
3152*9880d681SAndroid Build Coastguard Worker
3153*9880d681SAndroid Build Coastguard Worker        ldnp x21, x29, [x2, #504]
3154*9880d681SAndroid Build Coastguard Worker        ldnp x22, x23, [x3, #-512]
3155*9880d681SAndroid Build Coastguard Worker        ldnp x24, x25, [x4, #8]
3156*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      x21, x29, [x2, #504]       // encoding: [0x55,0xf4,0x5f,0xa8]
3157*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      x22, x23, [x3, #-512]      // encoding: [0x76,0x5c,0x60,0xa8]
3158*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      x24, x25, [x4, #8]         // encoding: [0x98,0xe4,0x40,0xa8]
3159*9880d681SAndroid Build Coastguard Worker
3160*9880d681SAndroid Build Coastguard Worker        ldnp s29, s28, [sp, #252]
3161*9880d681SAndroid Build Coastguard Worker        stnp s27, s26, [sp, #-256]
3162*9880d681SAndroid Build Coastguard Worker        ldnp s1, s2, [x3, #44]
3163*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      s29, s28, [sp, #252]       // encoding: [0xfd,0xf3,0x5f,0x2c]
3164*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      s27, s26, [sp, #-256]      // encoding: [0xfb,0x6b,0x20,0x2c]
3165*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      s1, s2, [x3, #44]          // encoding: [0x61,0x88,0x45,0x2c]
3166*9880d681SAndroid Build Coastguard Worker
3167*9880d681SAndroid Build Coastguard Worker        stnp d3, d5, [x9, #504]
3168*9880d681SAndroid Build Coastguard Worker        stnp d7, d11, [x10, #-512]
3169*9880d681SAndroid Build Coastguard Worker        ldnp d2, d3, [x30, #-8]
3170*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      d3, d5, [x9, #504]         // encoding: [0x23,0x95,0x1f,0x6c]
3171*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      d7, d11, [x10, #-512]      // encoding: [0x47,0x2d,0x20,0x6c]
3172*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      d2, d3, [x30, #-8]         // encoding: [0xc2,0x8f,0x7f,0x6c]
3173*9880d681SAndroid Build Coastguard Worker
3174*9880d681SAndroid Build Coastguard Worker        stnp q3, q5, [sp]
3175*9880d681SAndroid Build Coastguard Worker        stnp q17, q19, [sp, #1008]
3176*9880d681SAndroid Build Coastguard Worker        ldnp q23, q29, [x1, #-1024]
3177*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      q3, q5, [sp]               // encoding: [0xe3,0x17,0x00,0xac]
3178*9880d681SAndroid Build Coastguard Worker// CHECK: stnp      q17, q19, [sp, #1008]      // encoding: [0xf1,0xcf,0x1f,0xac]
3179*9880d681SAndroid Build Coastguard Worker// CHECK: ldnp      q23, q29, [x1, #-1024]     // encoding: [0x37,0x74,0x60,0xac]
3180*9880d681SAndroid Build Coastguard Worker
3181*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3182*9880d681SAndroid Build Coastguard Worker// Logical (immediate)
3183*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3184*9880d681SAndroid Build Coastguard Worker        // 32 bit replication-width
3185*9880d681SAndroid Build Coastguard Worker        orr w3, w9, #0xffff0000
3186*9880d681SAndroid Build Coastguard Worker        orr wsp, w10, #0xe00000ff
3187*9880d681SAndroid Build Coastguard Worker        orr w9, w10, #0x000003ff
3188*9880d681SAndroid Build Coastguard Worker// CHECK: orr      w3, w9, #0xffff0000        // encoding: [0x23,0x3d,0x10,0x32]
3189*9880d681SAndroid Build Coastguard Worker// CHECK: orr      wsp, w10, #0xe00000ff      // encoding: [0x5f,0x29,0x03,0x32]
3190*9880d681SAndroid Build Coastguard Worker// CHECK: orr      w9, w10, #0x3ff            // encoding: [0x49,0x25,0x00,0x32]
3191*9880d681SAndroid Build Coastguard Worker
3192*9880d681SAndroid Build Coastguard Worker        // 16 bit replication width
3193*9880d681SAndroid Build Coastguard Worker        and w14, w15, #0x80008000
3194*9880d681SAndroid Build Coastguard Worker        and w12, w13, #0xffc3ffc3
3195*9880d681SAndroid Build Coastguard Worker        and w11, wzr, #0x00030003
3196*9880d681SAndroid Build Coastguard Worker// CHECK: and      w14, w15, #0x80008000      // encoding: [0xee,0x81,0x01,0x12]
3197*9880d681SAndroid Build Coastguard Worker// CHECK: and      w12, w13, #0xffc3ffc3      // encoding: [0xac,0xad,0x0a,0x12]
3198*9880d681SAndroid Build Coastguard Worker// CHECK: and      w11, wzr, #0x30003         // encoding: [0xeb,0x87,0x00,0x12]
3199*9880d681SAndroid Build Coastguard Worker
3200*9880d681SAndroid Build Coastguard Worker        // 8 bit replication width
3201*9880d681SAndroid Build Coastguard Worker        eor w3, w6, #0xe0e0e0e0
3202*9880d681SAndroid Build Coastguard Worker        eor wsp, wzr, #0x03030303
3203*9880d681SAndroid Build Coastguard Worker        eor w16, w17, #0x81818181
3204*9880d681SAndroid Build Coastguard Worker// CHECK: eor      w3, w6, #0xe0e0e0e0        // encoding: [0xc3,0xc8,0x03,0x52]
3205*9880d681SAndroid Build Coastguard Worker// CHECK: eor      wsp, wzr, #0x3030303       // encoding: [0xff,0xc7,0x00,0x52]
3206*9880d681SAndroid Build Coastguard Worker// CHECK: eor      w16, w17, #0x81818181      // encoding: [0x30,0xc6,0x01,0x52]
3207*9880d681SAndroid Build Coastguard Worker
3208*9880d681SAndroid Build Coastguard Worker        // 4 bit replication width
3209*9880d681SAndroid Build Coastguard Worker        ands wzr, w18, #0xcccccccc
3210*9880d681SAndroid Build Coastguard Worker        ands w19, w20, #0x33333333
3211*9880d681SAndroid Build Coastguard Worker        ands w21, w22, #0x99999999
3212*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands wzr,|tst}} w18, #0xcccccccc      // encoding: [0x5f,0xe6,0x02,0x72]
3213*9880d681SAndroid Build Coastguard Worker// CHECK: ands     w19, w20, #0x33333333      // encoding: [0x93,0xe6,0x00,0x72]
3214*9880d681SAndroid Build Coastguard Worker// CHECK: ands     w21, w22, #0x99999999      // encoding: [0xd5,0xe6,0x01,0x72]
3215*9880d681SAndroid Build Coastguard Worker
3216*9880d681SAndroid Build Coastguard Worker        // 2 bit replication width
3217*9880d681SAndroid Build Coastguard Worker        tst w3, #0xaaaaaaaa
3218*9880d681SAndroid Build Coastguard Worker        tst wzr, #0x55555555
3219*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa       // encoding: [0x7f,0xf0,0x01,0x72]
3220*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands wzr,|tst}} wzr, #0x55555555      // encoding: [0xff,0xf3,0x00,0x72]
3221*9880d681SAndroid Build Coastguard Worker
3222*9880d681SAndroid Build Coastguard Worker        // 64 bit replication-width
3223*9880d681SAndroid Build Coastguard Worker        eor x3, x5, #0xffffffffc000000
3224*9880d681SAndroid Build Coastguard Worker        and x9, x10, #0x00007fffffffffff
3225*9880d681SAndroid Build Coastguard Worker        orr x11, x12, #0x8000000000000fff
3226*9880d681SAndroid Build Coastguard Worker// CHECK: eor      x3, x5, #0xffffffffc000000 // encoding: [0xa3,0x84,0x66,0xd2]
3227*9880d681SAndroid Build Coastguard Worker// CHECK: and      x9, x10, #0x7fffffffffff   // encoding: [0x49,0xb9,0x40,0x92]
3228*9880d681SAndroid Build Coastguard Worker// CHECK: orr      x11, x12, #0x8000000000000fff // encoding: [0x8b,0x31,0x41,0xb2]
3229*9880d681SAndroid Build Coastguard Worker
3230*9880d681SAndroid Build Coastguard Worker        // 32 bit replication-width
3231*9880d681SAndroid Build Coastguard Worker        orr x3, x9, #0xffff0000ffff0000
3232*9880d681SAndroid Build Coastguard Worker        orr sp, x10, #0xe00000ffe00000ff
3233*9880d681SAndroid Build Coastguard Worker        orr x9, x10, #0x000003ff000003ff
3234*9880d681SAndroid Build Coastguard Worker// CHECK: orr      x3, x9, #0xffff0000ffff0000 // encoding: [0x23,0x3d,0x10,0xb2]
3235*9880d681SAndroid Build Coastguard Worker// CHECK: orr      sp, x10, #0xe00000ffe00000ff // encoding: [0x5f,0x29,0x03,0xb2]
3236*9880d681SAndroid Build Coastguard Worker// CHECK: orr      x9, x10, #0x3ff000003ff    // encoding: [0x49,0x25,0x00,0xb2]
3237*9880d681SAndroid Build Coastguard Worker
3238*9880d681SAndroid Build Coastguard Worker        // 16 bit replication-width
3239*9880d681SAndroid Build Coastguard Worker        and x14, x15, #0x8000800080008000
3240*9880d681SAndroid Build Coastguard Worker        and x12, x13, #0xffc3ffc3ffc3ffc3
3241*9880d681SAndroid Build Coastguard Worker        and x11, xzr, #0x0003000300030003
3242*9880d681SAndroid Build Coastguard Worker// CHECK: and      x14, x15, #0x8000800080008000 // encoding: [0xee,0x81,0x01,0x92]
3243*9880d681SAndroid Build Coastguard Worker// CHECK: and      x12, x13, #0xffc3ffc3ffc3ffc3 // encoding: [0xac,0xad,0x0a,0x92]
3244*9880d681SAndroid Build Coastguard Worker// CHECK: and      x11, xzr, #0x3000300030003 // encoding: [0xeb,0x87,0x00,0x92]
3245*9880d681SAndroid Build Coastguard Worker
3246*9880d681SAndroid Build Coastguard Worker        // 8 bit replication-width
3247*9880d681SAndroid Build Coastguard Worker        eor x3, x6, #0xe0e0e0e0e0e0e0e0
3248*9880d681SAndroid Build Coastguard Worker        eor sp, xzr, #0x0303030303030303
3249*9880d681SAndroid Build Coastguard Worker        eor x16, x17, #0x8181818181818181
3250*9880d681SAndroid Build Coastguard Worker// CHECK: eor      x3, x6, #0xe0e0e0e0e0e0e0e0 // encoding: [0xc3,0xc8,0x03,0xd2]
3251*9880d681SAndroid Build Coastguard Worker// CHECK: eor      sp, xzr, #0x303030303030303 // encoding: [0xff,0xc7,0x00,0xd2]
3252*9880d681SAndroid Build Coastguard Worker// CHECK: eor      x16, x17, #0x8181818181818181 // encoding: [0x30,0xc6,0x01,0xd2]
3253*9880d681SAndroid Build Coastguard Worker
3254*9880d681SAndroid Build Coastguard Worker        // 4 bit replication-width
3255*9880d681SAndroid Build Coastguard Worker        ands xzr, x18, #0xcccccccccccccccc
3256*9880d681SAndroid Build Coastguard Worker        ands x19, x20, #0x3333333333333333
3257*9880d681SAndroid Build Coastguard Worker        ands x21, x22, #0x9999999999999999
3258*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc // encoding: [0x5f,0xe6,0x02,0xf2]
3259*9880d681SAndroid Build Coastguard Worker// CHECK: ands     x19, x20, #0x3333333333333333 // encoding: [0x93,0xe6,0x00,0xf2]
3260*9880d681SAndroid Build Coastguard Worker// CHECK: ands     x21, x22, #0x9999999999999999 // encoding: [0xd5,0xe6,0x01,0xf2]
3261*9880d681SAndroid Build Coastguard Worker
3262*9880d681SAndroid Build Coastguard Worker        // 2 bit replication-width
3263*9880d681SAndroid Build Coastguard Worker        tst x3, #0xaaaaaaaaaaaaaaaa
3264*9880d681SAndroid Build Coastguard Worker        tst xzr, #0x5555555555555555
3265*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa    // encoding: [0x7f,0xf0,0x01,0xf2]
3266*9880d681SAndroid Build Coastguard Worker// CHECK: {{ands xzr,|tst}} xzr, #0x5555555555555555   // encoding: [0xff,0xf3,0x00,0xf2]
3267*9880d681SAndroid Build Coastguard Worker
3268*9880d681SAndroid Build Coastguard Worker        mov w3, #0xf000f
3269*9880d681SAndroid Build Coastguard Worker        mov x10, #0xaaaaaaaaaaaaaaaa
3270*9880d681SAndroid Build Coastguard Worker// CHECK: mov w3, #983055                // encoding: [0xe3,0x8f,0x00,0x32]
3271*9880d681SAndroid Build Coastguard Worker// CHECK: mov x10, #-6148914691236517206 // encoding: [0xea,0xf3,0x01,0xb2]
3272*9880d681SAndroid Build Coastguard Worker
3273*9880d681SAndroid Build Coastguard Worker        // The Imm field of logicalImm operations has to be truncated to the
3274*9880d681SAndroid Build Coastguard Worker        // register width, i.e. 32 bits
3275*9880d681SAndroid Build Coastguard Worker        and w2, w3, #-3
3276*9880d681SAndroid Build Coastguard Worker        orr w0, w1, #~2
3277*9880d681SAndroid Build Coastguard Worker        eor w16, w17, #-7
3278*9880d681SAndroid Build Coastguard Worker        ands w19, w20, #~15
3279*9880d681SAndroid Build Coastguard Worker// CHECK: and	w2, w3, #0xfffffffd     // encoding: [0x62,0x78,0x1e,0x12]
3280*9880d681SAndroid Build Coastguard Worker// CHECK: orr	w0, w1, #0xfffffffd     // encoding: [0x20,0x78,0x1e,0x32]
3281*9880d681SAndroid Build Coastguard Worker// CHECK: eor	w16, w17, #0xfffffff9   // encoding: [0x30,0x76,0x1d,0x52]
3282*9880d681SAndroid Build Coastguard Worker// CHECK: ands	w19, w20, #0xfffffff0   // encoding: [0x93,0x6e,0x1c,0x72]
3283*9880d681SAndroid Build Coastguard Worker
3284*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3285*9880d681SAndroid Build Coastguard Worker// Logical (shifted register)
3286*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3287*9880d681SAndroid Build Coastguard Worker
3288*9880d681SAndroid Build Coastguard Worker        and w12, w23, w21
3289*9880d681SAndroid Build Coastguard Worker        and w16, w15, w1, lsl #1
3290*9880d681SAndroid Build Coastguard Worker        and w9, w4, w10, lsl #31
3291*9880d681SAndroid Build Coastguard Worker        and w3, w30, w11, lsl #0
3292*9880d681SAndroid Build Coastguard Worker        and x3, x5, x7, lsl #63
3293*9880d681SAndroid Build Coastguard Worker// CHECK: and      w12, w23, w21              // encoding: [0xec,0x02,0x15,0x0a]
3294*9880d681SAndroid Build Coastguard Worker// CHECK: and      w16, w15, w1, lsl #1       // encoding: [0xf0,0x05,0x01,0x0a]
3295*9880d681SAndroid Build Coastguard Worker// CHECK: and      w9, w4, w10, lsl #31       // encoding: [0x89,0x7c,0x0a,0x0a]
3296*9880d681SAndroid Build Coastguard Worker// CHECK: and      w3, w30, w11               // encoding: [0xc3,0x03,0x0b,0x0a]
3297*9880d681SAndroid Build Coastguard Worker// CHECK: and      x3, x5, x7, lsl #63        // encoding: [0xa3,0xfc,0x07,0x8a]
3298*9880d681SAndroid Build Coastguard Worker
3299*9880d681SAndroid Build Coastguard Worker        and x5, x14, x19, asr #4
3300*9880d681SAndroid Build Coastguard Worker        and w3, w17, w19, ror #31
3301*9880d681SAndroid Build Coastguard Worker        and w0, w2, wzr, lsr #17
3302*9880d681SAndroid Build Coastguard Worker        and w3, w30, w11, asr #0
3303*9880d681SAndroid Build Coastguard Worker// CHECK: and      x5, x14, x19, asr #4       // encoding: [0xc5,0x11,0x93,0x8a]
3304*9880d681SAndroid Build Coastguard Worker// CHECK: and      w3, w17, w19, ror #31      // encoding: [0x23,0x7e,0xd3,0x0a]
3305*9880d681SAndroid Build Coastguard Worker// CHECK: and      w0, w2, wzr, lsr #17       // encoding: [0x40,0x44,0x5f,0x0a]
3306*9880d681SAndroid Build Coastguard Worker// CHECK: and      w3, w30, w11, asr #0       // encoding: [0xc3,0x03,0x8b,0x0a]
3307*9880d681SAndroid Build Coastguard Worker
3308*9880d681SAndroid Build Coastguard Worker        and xzr, x4, x26, lsl #0
3309*9880d681SAndroid Build Coastguard Worker        and w3, wzr, w20, ror #0
3310*9880d681SAndroid Build Coastguard Worker        and x7, x20, xzr, asr #63
3311*9880d681SAndroid Build Coastguard Worker// CHECK: and      xzr, x4, x26               // encoding: [0x9f,0x00,0x1a,0x8a]
3312*9880d681SAndroid Build Coastguard Worker// CHECK: and      w3, wzr, w20, ror #0       // encoding: [0xe3,0x03,0xd4,0x0a]
3313*9880d681SAndroid Build Coastguard Worker// CHECK: and      x7, x20, xzr, asr #63      // encoding: [0x87,0xfe,0x9f,0x8a]
3314*9880d681SAndroid Build Coastguard Worker
3315*9880d681SAndroid Build Coastguard Worker        bic x13, x20, x14, lsl #47
3316*9880d681SAndroid Build Coastguard Worker        bic w2, w7, w9
3317*9880d681SAndroid Build Coastguard Worker        orr w2, w7, w0, asr #31
3318*9880d681SAndroid Build Coastguard Worker        orr x8, x9, x10, lsl #12
3319*9880d681SAndroid Build Coastguard Worker        orn x3, x5, x7, asr #0
3320*9880d681SAndroid Build Coastguard Worker        orn w2, w5, w29
3321*9880d681SAndroid Build Coastguard Worker// CHECK: bic      x13, x20, x14, lsl #47     // encoding: [0x8d,0xbe,0x2e,0x8a]
3322*9880d681SAndroid Build Coastguard Worker// CHECK: bic      w2, w7, w9                 // encoding: [0xe2,0x00,0x29,0x0a]
3323*9880d681SAndroid Build Coastguard Worker// CHECK: orr      w2, w7, w0, asr #31        // encoding: [0xe2,0x7c,0x80,0x2a]
3324*9880d681SAndroid Build Coastguard Worker// CHECK: orr      x8, x9, x10, lsl #12       // encoding: [0x28,0x31,0x0a,0xaa]
3325*9880d681SAndroid Build Coastguard Worker// CHECK: orn      x3, x5, x7, asr #0         // encoding: [0xa3,0x00,0xa7,0xaa]
3326*9880d681SAndroid Build Coastguard Worker// CHECK: orn      w2, w5, w29                // encoding: [0xa2,0x00,0x3d,0x2a]
3327*9880d681SAndroid Build Coastguard Worker
3328*9880d681SAndroid Build Coastguard Worker        ands w7, wzr, w9, lsl #1
3329*9880d681SAndroid Build Coastguard Worker        ands x3, x5, x20, ror #63
3330*9880d681SAndroid Build Coastguard Worker        bics w3, w5, w7, lsl #0
3331*9880d681SAndroid Build Coastguard Worker        bics x3, xzr, x3, lsl #1
3332*9880d681SAndroid Build Coastguard Worker// CHECK: ands     w7, wzr, w9, lsl #1        // encoding: [0xe7,0x07,0x09,0x6a]
3333*9880d681SAndroid Build Coastguard Worker// CHECK: ands     x3, x5, x20, ror #63       // encoding: [0xa3,0xfc,0xd4,0xea]
3334*9880d681SAndroid Build Coastguard Worker// CHECK: bics     w3, w5, w7                 // encoding: [0xa3,0x00,0x27,0x6a]
3335*9880d681SAndroid Build Coastguard Worker// CHECK: bics     x3, xzr, x3, lsl #1        // encoding: [0xe3,0x07,0x23,0xea]
3336*9880d681SAndroid Build Coastguard Worker
3337*9880d681SAndroid Build Coastguard Worker        tst w3, w7, lsl #31
3338*9880d681SAndroid Build Coastguard Worker        tst x2, x20, asr #0
3339*9880d681SAndroid Build Coastguard Worker// CHECK: tst      w3, w7, lsl #31            // encoding: [0x7f,0x7c,0x07,0x6a]
3340*9880d681SAndroid Build Coastguard Worker// CHECK: tst      x2, x20, asr #0            // encoding: [0x5f,0x00,0x94,0xea]
3341*9880d681SAndroid Build Coastguard Worker
3342*9880d681SAndroid Build Coastguard Worker        mov x3, x6
3343*9880d681SAndroid Build Coastguard Worker        mov x3, xzr
3344*9880d681SAndroid Build Coastguard Worker        mov wzr, w2
3345*9880d681SAndroid Build Coastguard Worker        mov w3, w5
3346*9880d681SAndroid Build Coastguard Worker// CHECK: mov      x3, x6                     // encoding: [0xe3,0x03,0x06,0xaa]
3347*9880d681SAndroid Build Coastguard Worker// CHECK: mov      x3, xzr                    // encoding: [0xe3,0x03,0x1f,0xaa]
3348*9880d681SAndroid Build Coastguard Worker// CHECK: mov      wzr, w2                    // encoding: [0xff,0x03,0x02,0x2a]
3349*9880d681SAndroid Build Coastguard Worker// CHECK: mov      w3, w5                     // encoding: [0xe3,0x03,0x05,0x2a]
3350*9880d681SAndroid Build Coastguard Worker
3351*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3352*9880d681SAndroid Build Coastguard Worker// Move wide (immediate)
3353*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3354*9880d681SAndroid Build Coastguard Worker
3355*9880d681SAndroid Build Coastguard Worker        movz w1, #65535, lsl #0
3356*9880d681SAndroid Build Coastguard Worker        movz w2, #0, lsl #16
3357*9880d681SAndroid Build Coastguard Worker        movn w2, #1234, lsl #0
3358*9880d681SAndroid Build Coastguard Worker// CHECK: mov     w1, #65535                  // encoding: [0xe1,0xff,0x9f,0x52]
3359*9880d681SAndroid Build Coastguard Worker// CHECK: movz     w2, #0, lsl #16            // encoding: [0x02,0x00,0xa0,0x52]
3360*9880d681SAndroid Build Coastguard Worker// CHECK: mov     w2, #-1235                  // encoding: [0x42,0x9a,0x80,0x12]
3361*9880d681SAndroid Build Coastguard Worker
3362*9880d681SAndroid Build Coastguard Worker        movz x2, #1234, lsl #32
3363*9880d681SAndroid Build Coastguard Worker        movk xzr, #4321, lsl #48
3364*9880d681SAndroid Build Coastguard Worker// CHECK: mov      x2, #5299989643264             // encoding: [0x42,0x9a,0xc0,0xd2]
3365*9880d681SAndroid Build Coastguard Worker// CHECK: movk     xzr, #{{4321|0x10e1}}, lsl #48 // encoding: [0x3f,0x1c,0xe2,0xf2]
3366*9880d681SAndroid Build Coastguard Worker
3367*9880d681SAndroid Build Coastguard Worker        movz x2, #:abs_g0:sym
3368*9880d681SAndroid Build Coastguard Worker        movk w3, #:abs_g0_nc:sym
3369*9880d681SAndroid Build Coastguard Worker
3370*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x2, #:abs_g0:sym        // encoding: [0bAAA00010,A,0b100AAAAA,0xd2]
3371*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0:sym, kind: fixup_aarch64_movw
3372*9880d681SAndroid Build Coastguard Worker// CHECK: movk    w3, #:abs_g0_nc:sym     // encoding: [0bAAA00011,A,0b100AAAAA,0x72]
3373*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_nc:sym, kind: fixup_aarch64_movw
3374*9880d681SAndroid Build Coastguard Worker
3375*9880d681SAndroid Build Coastguard Worker        movz x4, #:abs_g1:sym
3376*9880d681SAndroid Build Coastguard Worker        movk w5, #:abs_g1_nc:sym
3377*9880d681SAndroid Build Coastguard Worker
3378*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x4, #:abs_g1:sym        // encoding: [0bAAA00100,A,0b101AAAAA,0xd2]
3379*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1:sym, kind: fixup_aarch64_movw
3380*9880d681SAndroid Build Coastguard Worker// CHECK: movk    w5, #:abs_g1_nc:sym     // encoding: [0bAAA00101,A,0b101AAAAA,0x72]
3381*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_nc:sym, kind: fixup_aarch64_movw
3382*9880d681SAndroid Build Coastguard Worker
3383*9880d681SAndroid Build Coastguard Worker        movz x6, #:abs_g2:sym
3384*9880d681SAndroid Build Coastguard Worker        movk x7, #:abs_g2_nc:sym
3385*9880d681SAndroid Build Coastguard Worker
3386*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x6, #:abs_g2:sym        // encoding: [0bAAA00110,A,0b110AAAAA,0xd2]
3387*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2:sym, kind: fixup_aarch64_movw
3388*9880d681SAndroid Build Coastguard Worker// CHECK: movk    x7, #:abs_g2_nc:sym     // encoding: [0bAAA00111,A,0b110AAAAA,0xf2]
3389*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_nc:sym, kind: fixup_aarch64_movw
3390*9880d681SAndroid Build Coastguard Worker
3391*9880d681SAndroid Build Coastguard Worker        movz x8, #:abs_g3:sym
3392*9880d681SAndroid Build Coastguard Worker        movk x9, #:abs_g3:sym
3393*9880d681SAndroid Build Coastguard Worker
3394*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x8, #:abs_g3:sym        // encoding: [0bAAA01000,A,0b111AAAAA,0xd2]
3395*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw
3396*9880d681SAndroid Build Coastguard Worker// CHECK: movk    x9, #:abs_g3:sym        // encoding: [0bAAA01001,A,0b111AAAAA,0xf2]
3397*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g3:sym, kind: fixup_aarch64_movw
3398*9880d681SAndroid Build Coastguard Worker
3399*9880d681SAndroid Build Coastguard Worker
3400*9880d681SAndroid Build Coastguard Worker        movn x30, #:abs_g0_s:sym
3401*9880d681SAndroid Build Coastguard Worker        movz x19, #:abs_g0_s:sym
3402*9880d681SAndroid Build Coastguard Worker        movn w10, #:abs_g0_s:sym
3403*9880d681SAndroid Build Coastguard Worker        movz w25, #:abs_g0_s:sym
3404*9880d681SAndroid Build Coastguard Worker
3405*9880d681SAndroid Build Coastguard Worker// CHECK: movn    x30, #:abs_g0_s:sym     // encoding: [0bAAA11110,A,0b100AAAAA,0x92]
3406*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw
3407*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x19, #:abs_g0_s:sym     // encoding: [0bAAA10011,A,0b100AAAAA,0xd2]
3408*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw
3409*9880d681SAndroid Build Coastguard Worker// CHECK: movn    w10, #:abs_g0_s:sym     // encoding: [0bAAA01010,A,0b100AAAAA,0x12]
3410*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw
3411*9880d681SAndroid Build Coastguard Worker// CHECK: movz    w25, #:abs_g0_s:sym     // encoding: [0bAAA11001,A,0b100AAAAA,0x52]
3412*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g0_s:sym, kind: fixup_aarch64_movw
3413*9880d681SAndroid Build Coastguard Worker
3414*9880d681SAndroid Build Coastguard Worker        movn x30, #:abs_g1_s:sym
3415*9880d681SAndroid Build Coastguard Worker        movz x19, #:abs_g1_s:sym
3416*9880d681SAndroid Build Coastguard Worker        movn w10, #:abs_g1_s:sym
3417*9880d681SAndroid Build Coastguard Worker        movz w25, #:abs_g1_s:sym
3418*9880d681SAndroid Build Coastguard Worker
3419*9880d681SAndroid Build Coastguard Worker// CHECK: movn    x30, #:abs_g1_s:sym     // encoding: [0bAAA11110,A,0b101AAAAA,0x92]
3420*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw
3421*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x19, #:abs_g1_s:sym     // encoding: [0bAAA10011,A,0b101AAAAA,0xd2]
3422*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw
3423*9880d681SAndroid Build Coastguard Worker// CHECK: movn    w10, #:abs_g1_s:sym     // encoding: [0bAAA01010,A,0b101AAAAA,0x12]
3424*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw
3425*9880d681SAndroid Build Coastguard Worker// CHECK: movz    w25, #:abs_g1_s:sym     // encoding: [0bAAA11001,A,0b101AAAAA,0x52]
3426*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g1_s:sym, kind: fixup_aarch64_movw
3427*9880d681SAndroid Build Coastguard Worker
3428*9880d681SAndroid Build Coastguard Worker        movn x30, #:abs_g2_s:sym
3429*9880d681SAndroid Build Coastguard Worker        movz x19, #:abs_g2_s:sym
3430*9880d681SAndroid Build Coastguard Worker
3431*9880d681SAndroid Build Coastguard Worker// CHECK: movn    x30, #:abs_g2_s:sym     // encoding: [0bAAA11110,A,0b110AAAAA,0x92]
3432*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_s:sym, kind: fixup_aarch64_movw
3433*9880d681SAndroid Build Coastguard Worker// CHECK: movz    x19, #:abs_g2_s:sym     // encoding: [0bAAA10011,A,0b110AAAAA,0xd2]
3434*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                                 //   fixup A - offset: 0, value: :abs_g2_s:sym, kind: fixup_aarch64_movw
3435*9880d681SAndroid Build Coastguard Worker
3436*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3437*9880d681SAndroid Build Coastguard Worker// PC-relative addressing
3438*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3439*9880d681SAndroid Build Coastguard Worker
3440*9880d681SAndroid Build Coastguard Worker        adr x2, loc
3441*9880d681SAndroid Build Coastguard Worker        adr xzr, loc
3442*9880d681SAndroid Build Coastguard Worker
3443*9880d681SAndroid Build Coastguard Worker// CHECK: adr    x2, loc                 // encoding: [0x02'A',A,A,0x10'A']
3444*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adr_imm21
3445*9880d681SAndroid Build Coastguard Worker// CHECK: adr    xzr, loc                // encoding: [0x1f'A',A,A,0x10'A']
3446*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adr_imm21
3447*9880d681SAndroid Build Coastguard Worker
3448*9880d681SAndroid Build Coastguard Worker        adrp x29, loc
3449*9880d681SAndroid Build Coastguard Worker
3450*9880d681SAndroid Build Coastguard Worker// CHECK: adrp    x29, loc                // encoding: [0x1d'A',A,A,0x90'A']
3451*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: loc, kind: fixup_aarch64_pcrel_adrp_imm21
3452*9880d681SAndroid Build Coastguard Worker        adrp x30, #4096
3453*9880d681SAndroid Build Coastguard Worker        adr x20, #0
3454*9880d681SAndroid Build Coastguard Worker        adr x9, #-1
3455*9880d681SAndroid Build Coastguard Worker        adr x5, #1048575
3456*9880d681SAndroid Build Coastguard Worker// CHECK: adrp    x30, #4096              // encoding: [0x1e,0x00,0x00,0xb0]
3457*9880d681SAndroid Build Coastguard Worker// CHECK: adr     x20, #0                 // encoding: [0x14,0x00,0x00,0x10]
3458*9880d681SAndroid Build Coastguard Worker// CHECK: adr     x9, #-1                 // encoding: [0xe9,0xff,0xff,0x70]
3459*9880d681SAndroid Build Coastguard Worker// CHECK: adr     x5, #1048575            // encoding: [0xe5,0xff,0x7f,0x70]
3460*9880d681SAndroid Build Coastguard Worker
3461*9880d681SAndroid Build Coastguard Worker        adr x9, #1048575
3462*9880d681SAndroid Build Coastguard Worker        adr x2, #-1048576
3463*9880d681SAndroid Build Coastguard Worker        adrp x9, #4294963200
3464*9880d681SAndroid Build Coastguard Worker        adrp x20, #-4294967296
3465*9880d681SAndroid Build Coastguard Worker// CHECK: adr     x9, #1048575            // encoding: [0xe9,0xff,0x7f,0x70]
3466*9880d681SAndroid Build Coastguard Worker// CHECK: adr     x2, #-1048576           // encoding: [0x02,0x00,0x80,0x10]
3467*9880d681SAndroid Build Coastguard Worker// CHECK: adrp    x9, #4294963200         // encoding: [0xe9,0xff,0x7f,0xf0]
3468*9880d681SAndroid Build Coastguard Worker// CHECK: adrp    x20, #-4294967296       // encoding: [0x14,0x00,0x80,0x90]
3469*9880d681SAndroid Build Coastguard Worker
3470*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3471*9880d681SAndroid Build Coastguard Worker// System
3472*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3473*9880d681SAndroid Build Coastguard Worker
3474*9880d681SAndroid Build Coastguard Worker        hint #0
3475*9880d681SAndroid Build Coastguard Worker        hint #127
3476*9880d681SAndroid Build Coastguard Worker// CHECK: nop                             // encoding: [0x1f,0x20,0x03,0xd5]
3477*9880d681SAndroid Build Coastguard Worker// CHECK: hint    #{{127|0x7f}}           // encoding: [0xff,0x2f,0x03,0xd5]
3478*9880d681SAndroid Build Coastguard Worker
3479*9880d681SAndroid Build Coastguard Worker        nop
3480*9880d681SAndroid Build Coastguard Worker        yield
3481*9880d681SAndroid Build Coastguard Worker        wfe
3482*9880d681SAndroid Build Coastguard Worker        wfi
3483*9880d681SAndroid Build Coastguard Worker        sev
3484*9880d681SAndroid Build Coastguard Worker        sevl
3485*9880d681SAndroid Build Coastguard Worker// CHECK: nop                             // encoding: [0x1f,0x20,0x03,0xd5]
3486*9880d681SAndroid Build Coastguard Worker// CHECK: yield                           // encoding: [0x3f,0x20,0x03,0xd5]
3487*9880d681SAndroid Build Coastguard Worker// CHECK: wfe                             // encoding: [0x5f,0x20,0x03,0xd5]
3488*9880d681SAndroid Build Coastguard Worker// CHECK: wfi                             // encoding: [0x7f,0x20,0x03,0xd5]
3489*9880d681SAndroid Build Coastguard Worker// CHECK: sev                             // encoding: [0x9f,0x20,0x03,0xd5]
3490*9880d681SAndroid Build Coastguard Worker// CHECK: sevl                            // encoding: [0xbf,0x20,0x03,0xd5]
3491*9880d681SAndroid Build Coastguard Worker
3492*9880d681SAndroid Build Coastguard Worker        clrex
3493*9880d681SAndroid Build Coastguard Worker        clrex #0
3494*9880d681SAndroid Build Coastguard Worker        clrex #7
3495*9880d681SAndroid Build Coastguard Worker        clrex #15
3496*9880d681SAndroid Build Coastguard Worker// CHECK: clrex                           // encoding: [0x5f,0x3f,0x03,0xd5]
3497*9880d681SAndroid Build Coastguard Worker// CHECK: clrex   #0                      // encoding: [0x5f,0x30,0x03,0xd5]
3498*9880d681SAndroid Build Coastguard Worker// CHECK: clrex   #7                      // encoding: [0x5f,0x37,0x03,0xd5]
3499*9880d681SAndroid Build Coastguard Worker// CHECK: clrex                           // encoding: [0x5f,0x3f,0x03,0xd5]
3500*9880d681SAndroid Build Coastguard Worker
3501*9880d681SAndroid Build Coastguard Worker        dsb #0
3502*9880d681SAndroid Build Coastguard Worker        dsb #12
3503*9880d681SAndroid Build Coastguard Worker        dsb #15
3504*9880d681SAndroid Build Coastguard Worker        dsb oshld
3505*9880d681SAndroid Build Coastguard Worker        dsb oshst
3506*9880d681SAndroid Build Coastguard Worker        dsb osh
3507*9880d681SAndroid Build Coastguard Worker        dsb nshld
3508*9880d681SAndroid Build Coastguard Worker        dsb nshst
3509*9880d681SAndroid Build Coastguard Worker        dsb nsh
3510*9880d681SAndroid Build Coastguard Worker        dsb ishld
3511*9880d681SAndroid Build Coastguard Worker        dsb ishst
3512*9880d681SAndroid Build Coastguard Worker        dsb ish
3513*9880d681SAndroid Build Coastguard Worker        dsb ld
3514*9880d681SAndroid Build Coastguard Worker        dsb st
3515*9880d681SAndroid Build Coastguard Worker        dsb sy
3516*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     #0                      // encoding: [0x9f,0x30,0x03,0xd5]
3517*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     #12                     // encoding: [0x9f,0x3c,0x03,0xd5]
3518*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     sy                      // encoding: [0x9f,0x3f,0x03,0xd5]
3519*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     oshld                   // encoding: [0x9f,0x31,0x03,0xd5]
3520*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     oshst                   // encoding: [0x9f,0x32,0x03,0xd5]
3521*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     osh                     // encoding: [0x9f,0x33,0x03,0xd5]
3522*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     nshld                   // encoding: [0x9f,0x35,0x03,0xd5]
3523*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     nshst                   // encoding: [0x9f,0x36,0x03,0xd5]
3524*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     nsh                     // encoding: [0x9f,0x37,0x03,0xd5]
3525*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     ishld                   // encoding: [0x9f,0x39,0x03,0xd5]
3526*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     ishst                   // encoding: [0x9f,0x3a,0x03,0xd5]
3527*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     ish                     // encoding: [0x9f,0x3b,0x03,0xd5]
3528*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     ld                      // encoding: [0x9f,0x3d,0x03,0xd5]
3529*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     st                      // encoding: [0x9f,0x3e,0x03,0xd5]
3530*9880d681SAndroid Build Coastguard Worker// CHECK: dsb     sy                      // encoding: [0x9f,0x3f,0x03,0xd5]
3531*9880d681SAndroid Build Coastguard Worker
3532*9880d681SAndroid Build Coastguard Worker        dmb #0
3533*9880d681SAndroid Build Coastguard Worker        dmb #12
3534*9880d681SAndroid Build Coastguard Worker        dmb #15
3535*9880d681SAndroid Build Coastguard Worker        dmb oshld
3536*9880d681SAndroid Build Coastguard Worker        dmb oshst
3537*9880d681SAndroid Build Coastguard Worker        dmb osh
3538*9880d681SAndroid Build Coastguard Worker        dmb nshld
3539*9880d681SAndroid Build Coastguard Worker        dmb nshst
3540*9880d681SAndroid Build Coastguard Worker        dmb nsh
3541*9880d681SAndroid Build Coastguard Worker        dmb ishld
3542*9880d681SAndroid Build Coastguard Worker        dmb ishst
3543*9880d681SAndroid Build Coastguard Worker        dmb ish
3544*9880d681SAndroid Build Coastguard Worker        dmb ld
3545*9880d681SAndroid Build Coastguard Worker        dmb st
3546*9880d681SAndroid Build Coastguard Worker        dmb sy
3547*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     #0                      // encoding: [0xbf,0x30,0x03,0xd5]
3548*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     #12                     // encoding: [0xbf,0x3c,0x03,0xd5]
3549*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     sy                      // encoding: [0xbf,0x3f,0x03,0xd5]
3550*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     oshld                   // encoding: [0xbf,0x31,0x03,0xd5]
3551*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     oshst                   // encoding: [0xbf,0x32,0x03,0xd5]
3552*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     osh                     // encoding: [0xbf,0x33,0x03,0xd5]
3553*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     nshld                   // encoding: [0xbf,0x35,0x03,0xd5]
3554*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     nshst                   // encoding: [0xbf,0x36,0x03,0xd5]
3555*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     nsh                     // encoding: [0xbf,0x37,0x03,0xd5]
3556*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     ishld                   // encoding: [0xbf,0x39,0x03,0xd5]
3557*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     ishst                   // encoding: [0xbf,0x3a,0x03,0xd5]
3558*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     ish                     // encoding: [0xbf,0x3b,0x03,0xd5]
3559*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     ld                      // encoding: [0xbf,0x3d,0x03,0xd5]
3560*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     st                      // encoding: [0xbf,0x3e,0x03,0xd5]
3561*9880d681SAndroid Build Coastguard Worker// CHECK: dmb     sy                      // encoding: [0xbf,0x3f,0x03,0xd5]
3562*9880d681SAndroid Build Coastguard Worker
3563*9880d681SAndroid Build Coastguard Worker        isb sy
3564*9880d681SAndroid Build Coastguard Worker        isb
3565*9880d681SAndroid Build Coastguard Worker        isb #12
3566*9880d681SAndroid Build Coastguard Worker// CHECK: isb                             // encoding: [0xdf,0x3f,0x03,0xd5]
3567*9880d681SAndroid Build Coastguard Worker// CHECK: isb                             // encoding: [0xdf,0x3f,0x03,0xd5]
3568*9880d681SAndroid Build Coastguard Worker// CHECK: isb     #12                     // encoding: [0xdf,0x3c,0x03,0xd5]
3569*9880d681SAndroid Build Coastguard Worker
3570*9880d681SAndroid Build Coastguard Worker
3571*9880d681SAndroid Build Coastguard Worker        msr spsel, #0
3572*9880d681SAndroid Build Coastguard Worker        msr daifset, #15
3573*9880d681SAndroid Build Coastguard Worker        msr daifclr, #12
3574*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{SPSel|SPSEL}}, #0               // encoding: [0xbf,0x40,0x00,0xd5]
3575*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{DAIFSet|DAIFSET}}, #15            // encoding: [0xdf,0x4f,0x03,0xd5]
3576*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{DAIFClr|DAIFCLR}}, #12            // encoding: [0xff,0x4c,0x03,0xd5]
3577*9880d681SAndroid Build Coastguard Worker
3578*9880d681SAndroid Build Coastguard Worker        sys #7, c5, c9, #7, x5
3579*9880d681SAndroid Build Coastguard Worker        sys #0, c15, c15, #2
3580*9880d681SAndroid Build Coastguard Worker// CHECK: sys     #7, c5, c9, #7, x5      // encoding: [0xe5,0x59,0x0f,0xd5]
3581*9880d681SAndroid Build Coastguard Worker// CHECK: sys     #0, c15, c15, #2   // encoding: [0x5f,0xff,0x08,0xd5]
3582*9880d681SAndroid Build Coastguard Worker
3583*9880d681SAndroid Build Coastguard Worker        sysl x9, #7, c5, c9, #7
3584*9880d681SAndroid Build Coastguard Worker        sysl x1, #0, c15, c15, #2
3585*9880d681SAndroid Build Coastguard Worker// CHECK: sysl    x9, #7, c5, c9, #7      // encoding: [0xe9,0x59,0x2f,0xd5]
3586*9880d681SAndroid Build Coastguard Worker// CHECK: sysl    x1, #0, c15, c15, #2    // encoding: [0x41,0xff,0x28,0xd5]
3587*9880d681SAndroid Build Coastguard Worker
3588*9880d681SAndroid Build Coastguard Worker        ic ialluis
3589*9880d681SAndroid Build Coastguard Worker        ic iallu
3590*9880d681SAndroid Build Coastguard Worker        ic ivau, x9
3591*9880d681SAndroid Build Coastguard Worker// CHECK:         ic      ialluis                 // encoding: [0x1f,0x71,0x08,0xd5]
3592*9880d681SAndroid Build Coastguard Worker// CHECK:         ic      iallu                   // encoding: [0x1f,0x75,0x08,0xd5]
3593*9880d681SAndroid Build Coastguard Worker// CHECK:         ic      ivau, x9                // encoding: [0x29,0x75,0x0b,0xd5]
3594*9880d681SAndroid Build Coastguard Worker
3595*9880d681SAndroid Build Coastguard Worker        dc zva, x12
3596*9880d681SAndroid Build Coastguard Worker        dc ivac, xzr
3597*9880d681SAndroid Build Coastguard Worker        dc isw, x2
3598*9880d681SAndroid Build Coastguard Worker        dc cvac, x9
3599*9880d681SAndroid Build Coastguard Worker        dc csw, x10
3600*9880d681SAndroid Build Coastguard Worker        dc cvau, x0
3601*9880d681SAndroid Build Coastguard Worker        dc civac, x3
3602*9880d681SAndroid Build Coastguard Worker        dc cisw, x30
3603*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      zva, x12                // encoding: [0x2c,0x74,0x0b,0xd5]
3604*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      ivac, xzr               // encoding: [0x3f,0x76,0x08,0xd5]
3605*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      isw, x2                 // encoding: [0x42,0x76,0x08,0xd5]
3606*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      cvac, x9                // encoding: [0x29,0x7a,0x0b,0xd5]
3607*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      csw, x10                // encoding: [0x4a,0x7a,0x08,0xd5]
3608*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      cvau, x0                // encoding: [0x20,0x7b,0x0b,0xd5]
3609*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      civac, x3               // encoding: [0x23,0x7e,0x0b,0xd5]
3610*9880d681SAndroid Build Coastguard Worker// CHECK:         dc      cisw, x30               // encoding: [0x5e,0x7e,0x08,0xd5]
3611*9880d681SAndroid Build Coastguard Worker
3612*9880d681SAndroid Build Coastguard Worker        at S1E1R, x19
3613*9880d681SAndroid Build Coastguard Worker        at S1E2R, x19
3614*9880d681SAndroid Build Coastguard Worker        at S1E3R, x19
3615*9880d681SAndroid Build Coastguard Worker        at S1E1W, x19
3616*9880d681SAndroid Build Coastguard Worker        at S1E2W, x19
3617*9880d681SAndroid Build Coastguard Worker        at S1E3W, x19
3618*9880d681SAndroid Build Coastguard Worker        at S1E0R, x19
3619*9880d681SAndroid Build Coastguard Worker        at S1E0W, x19
3620*9880d681SAndroid Build Coastguard Worker        at S12E1R, x20
3621*9880d681SAndroid Build Coastguard Worker        at S12E1W, x20
3622*9880d681SAndroid Build Coastguard Worker        at S12E0R, x20
3623*9880d681SAndroid Build Coastguard Worker        at S12E0W, x20
3624*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e1r, x19              // encoding: [0x13,0x78,0x08,0xd5]
3625*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e2r, x19              // encoding: [0x13,0x78,0x0c,0xd5]
3626*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e3r, x19              // encoding: [0x13,0x78,0x0e,0xd5]
3627*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e1w, x19              // encoding: [0x33,0x78,0x08,0xd5]
3628*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e2w, x19              // encoding: [0x33,0x78,0x0c,0xd5]
3629*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e3w, x19              // encoding: [0x33,0x78,0x0e,0xd5]
3630*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e0r, x19              // encoding: [0x53,0x78,0x08,0xd5]
3631*9880d681SAndroid Build Coastguard Worker// CHECK: at      s1e0w, x19              // encoding: [0x73,0x78,0x08,0xd5]
3632*9880d681SAndroid Build Coastguard Worker// CHECK: at      s12e1r, x20             // encoding: [0x94,0x78,0x0c,0xd5]
3633*9880d681SAndroid Build Coastguard Worker// CHECK: at      s12e1w, x20             // encoding: [0xb4,0x78,0x0c,0xd5]
3634*9880d681SAndroid Build Coastguard Worker// CHECK: at      s12e0r, x20             // encoding: [0xd4,0x78,0x0c,0xd5]
3635*9880d681SAndroid Build Coastguard Worker// CHECK: at      s12e0w, x20             // encoding: [0xf4,0x78,0x0c,0xd5]
3636*9880d681SAndroid Build Coastguard Worker
3637*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2E1IS, x4
3638*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2LE1IS, x9
3639*9880d681SAndroid Build Coastguard Worker        tlbi VMALLE1IS
3640*9880d681SAndroid Build Coastguard Worker        tlbi ALLE2IS
3641*9880d681SAndroid Build Coastguard Worker        tlbi ALLE3IS
3642*9880d681SAndroid Build Coastguard Worker        tlbi VAE1IS, x1
3643*9880d681SAndroid Build Coastguard Worker        tlbi VAE2IS, x2
3644*9880d681SAndroid Build Coastguard Worker        tlbi VAE3IS, x3
3645*9880d681SAndroid Build Coastguard Worker        tlbi ASIDE1IS, x5
3646*9880d681SAndroid Build Coastguard Worker        tlbi VAAE1IS, x9
3647*9880d681SAndroid Build Coastguard Worker        tlbi ALLE1IS
3648*9880d681SAndroid Build Coastguard Worker        tlbi VALE1IS, x10
3649*9880d681SAndroid Build Coastguard Worker        tlbi VALE2IS, x11
3650*9880d681SAndroid Build Coastguard Worker        tlbi VALE3IS, x13
3651*9880d681SAndroid Build Coastguard Worker        tlbi VMALLS12E1IS
3652*9880d681SAndroid Build Coastguard Worker        tlbi VAALE1IS, x14
3653*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2E1, x15
3654*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2LE1, x16
3655*9880d681SAndroid Build Coastguard Worker        tlbi VMALLE1
3656*9880d681SAndroid Build Coastguard Worker        tlbi ALLE2
3657*9880d681SAndroid Build Coastguard Worker        tlbi ALLE3
3658*9880d681SAndroid Build Coastguard Worker        tlbi VAE1, x17
3659*9880d681SAndroid Build Coastguard Worker        tlbi VAE2, x18
3660*9880d681SAndroid Build Coastguard Worker        tlbi VAE3, x19
3661*9880d681SAndroid Build Coastguard Worker        tlbi ASIDE1, x20
3662*9880d681SAndroid Build Coastguard Worker        tlbi VAAE1, x21
3663*9880d681SAndroid Build Coastguard Worker        tlbi ALLE1
3664*9880d681SAndroid Build Coastguard Worker        tlbi VALE1, x22
3665*9880d681SAndroid Build Coastguard Worker        tlbi VALE2, x23
3666*9880d681SAndroid Build Coastguard Worker        tlbi VALE3, x24
3667*9880d681SAndroid Build Coastguard Worker        tlbi VMALLS12E1
3668*9880d681SAndroid Build Coastguard Worker        tlbi VAALE1, x25
3669*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    ipas2e1is, x4           // encoding: [0x24,0x80,0x0c,0xd5]
3670*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    ipas2le1is, x9          // encoding: [0xa9,0x80,0x0c,0xd5]
3671*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vmalle1is               // encoding: [0x1f,0x83,0x08,0xd5]
3672*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle2is                 // encoding: [0x1f,0x83,0x0c,0xd5]
3673*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle3is                 // encoding: [0x1f,0x83,0x0e,0xd5]
3674*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae1is, x1              // encoding: [0x21,0x83,0x08,0xd5]
3675*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae2is, x2              // encoding: [0x22,0x83,0x0c,0xd5]
3676*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae3is, x3              // encoding: [0x23,0x83,0x0e,0xd5]
3677*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    aside1is, x5            // encoding: [0x45,0x83,0x08,0xd5]
3678*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vaae1is, x9             // encoding: [0x69,0x83,0x08,0xd5]
3679*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle1is                 // encoding: [0x9f,0x83,0x0c,0xd5]
3680*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale1is, x10            // encoding: [0xaa,0x83,0x08,0xd5]
3681*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale2is, x11            // encoding: [0xab,0x83,0x0c,0xd5]
3682*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale3is, x13            // encoding: [0xad,0x83,0x0e,0xd5]
3683*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vmalls12e1is            // encoding: [0xdf,0x83,0x0c,0xd5]
3684*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vaale1is, x14           // encoding: [0xee,0x83,0x08,0xd5]
3685*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    ipas2e1, x15            // encoding: [0x2f,0x84,0x0c,0xd5]
3686*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    ipas2le1, x16           // encoding: [0xb0,0x84,0x0c,0xd5]
3687*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vmalle1                 // encoding: [0x1f,0x87,0x08,0xd5]
3688*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle2                   // encoding: [0x1f,0x87,0x0c,0xd5]
3689*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle3                   // encoding: [0x1f,0x87,0x0e,0xd5]
3690*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae1, x17               // encoding: [0x31,0x87,0x08,0xd5]
3691*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae2, x18               // encoding: [0x32,0x87,0x0c,0xd5]
3692*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vae3, x19               // encoding: [0x33,0x87,0x0e,0xd5]
3693*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    aside1, x20             // encoding: [0x54,0x87,0x08,0xd5]
3694*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vaae1, x21              // encoding: [0x75,0x87,0x08,0xd5]
3695*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    alle1                   // encoding: [0x9f,0x87,0x0c,0xd5]
3696*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale1, x22              // encoding: [0xb6,0x87,0x08,0xd5]
3697*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale2, x23              // encoding: [0xb7,0x87,0x0c,0xd5]
3698*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vale3, x24              // encoding: [0xb8,0x87,0x0e,0xd5]
3699*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vmalls12e1              // encoding: [0xdf,0x87,0x0c,0xd5]
3700*9880d681SAndroid Build Coastguard Worker// CHECK: tlbi    vaale1, x25             // encoding: [0xf9,0x87,0x08,0xd5]
3701*9880d681SAndroid Build Coastguard Worker
3702*9880d681SAndroid Build Coastguard Worker	msr TEECR32_EL1, x12
3703*9880d681SAndroid Build Coastguard Worker	msr OSDTRRX_EL1, x12
3704*9880d681SAndroid Build Coastguard Worker	msr MDCCINT_EL1, x12
3705*9880d681SAndroid Build Coastguard Worker	msr MDSCR_EL1, x12
3706*9880d681SAndroid Build Coastguard Worker	msr OSDTRTX_EL1, x12
3707*9880d681SAndroid Build Coastguard Worker	msr DBGDTR_EL0, x12
3708*9880d681SAndroid Build Coastguard Worker	msr DBGDTRTX_EL0, x12
3709*9880d681SAndroid Build Coastguard Worker	msr OSECCR_EL1, x12
3710*9880d681SAndroid Build Coastguard Worker	msr DBGVCR32_EL2, x12
3711*9880d681SAndroid Build Coastguard Worker	msr DBGBVR0_EL1, x12
3712*9880d681SAndroid Build Coastguard Worker	msr DBGBVR1_EL1, x12
3713*9880d681SAndroid Build Coastguard Worker	msr DBGBVR2_EL1, x12
3714*9880d681SAndroid Build Coastguard Worker	msr DBGBVR3_EL1, x12
3715*9880d681SAndroid Build Coastguard Worker	msr DBGBVR4_EL1, x12
3716*9880d681SAndroid Build Coastguard Worker	msr DBGBVR5_EL1, x12
3717*9880d681SAndroid Build Coastguard Worker	msr DBGBVR6_EL1, x12
3718*9880d681SAndroid Build Coastguard Worker	msr DBGBVR7_EL1, x12
3719*9880d681SAndroid Build Coastguard Worker	msr DBGBVR8_EL1, x12
3720*9880d681SAndroid Build Coastguard Worker	msr DBGBVR9_EL1, x12
3721*9880d681SAndroid Build Coastguard Worker	msr DBGBVR10_EL1, x12
3722*9880d681SAndroid Build Coastguard Worker	msr DBGBVR11_EL1, x12
3723*9880d681SAndroid Build Coastguard Worker	msr DBGBVR12_EL1, x12
3724*9880d681SAndroid Build Coastguard Worker	msr DBGBVR13_EL1, x12
3725*9880d681SAndroid Build Coastguard Worker	msr DBGBVR14_EL1, x12
3726*9880d681SAndroid Build Coastguard Worker	msr DBGBVR15_EL1, x12
3727*9880d681SAndroid Build Coastguard Worker	msr DBGBCR0_EL1, x12
3728*9880d681SAndroid Build Coastguard Worker	msr DBGBCR1_EL1, x12
3729*9880d681SAndroid Build Coastguard Worker	msr DBGBCR2_EL1, x12
3730*9880d681SAndroid Build Coastguard Worker	msr DBGBCR3_EL1, x12
3731*9880d681SAndroid Build Coastguard Worker	msr DBGBCR4_EL1, x12
3732*9880d681SAndroid Build Coastguard Worker	msr DBGBCR5_EL1, x12
3733*9880d681SAndroid Build Coastguard Worker	msr DBGBCR6_EL1, x12
3734*9880d681SAndroid Build Coastguard Worker	msr DBGBCR7_EL1, x12
3735*9880d681SAndroid Build Coastguard Worker	msr DBGBCR8_EL1, x12
3736*9880d681SAndroid Build Coastguard Worker	msr DBGBCR9_EL1, x12
3737*9880d681SAndroid Build Coastguard Worker	msr DBGBCR10_EL1, x12
3738*9880d681SAndroid Build Coastguard Worker	msr DBGBCR11_EL1, x12
3739*9880d681SAndroid Build Coastguard Worker	msr DBGBCR12_EL1, x12
3740*9880d681SAndroid Build Coastguard Worker	msr DBGBCR13_EL1, x12
3741*9880d681SAndroid Build Coastguard Worker	msr DBGBCR14_EL1, x12
3742*9880d681SAndroid Build Coastguard Worker	msr DBGBCR15_EL1, x12
3743*9880d681SAndroid Build Coastguard Worker	msr DBGWVR0_EL1, x12
3744*9880d681SAndroid Build Coastguard Worker	msr DBGWVR1_EL1, x12
3745*9880d681SAndroid Build Coastguard Worker	msr DBGWVR2_EL1, x12
3746*9880d681SAndroid Build Coastguard Worker	msr DBGWVR3_EL1, x12
3747*9880d681SAndroid Build Coastguard Worker	msr DBGWVR4_EL1, x12
3748*9880d681SAndroid Build Coastguard Worker	msr DBGWVR5_EL1, x12
3749*9880d681SAndroid Build Coastguard Worker	msr DBGWVR6_EL1, x12
3750*9880d681SAndroid Build Coastguard Worker	msr DBGWVR7_EL1, x12
3751*9880d681SAndroid Build Coastguard Worker	msr DBGWVR8_EL1, x12
3752*9880d681SAndroid Build Coastguard Worker	msr DBGWVR9_EL1, x12
3753*9880d681SAndroid Build Coastguard Worker	msr DBGWVR10_EL1, x12
3754*9880d681SAndroid Build Coastguard Worker	msr DBGWVR11_EL1, x12
3755*9880d681SAndroid Build Coastguard Worker	msr DBGWVR12_EL1, x12
3756*9880d681SAndroid Build Coastguard Worker	msr DBGWVR13_EL1, x12
3757*9880d681SAndroid Build Coastguard Worker	msr DBGWVR14_EL1, x12
3758*9880d681SAndroid Build Coastguard Worker	msr DBGWVR15_EL1, x12
3759*9880d681SAndroid Build Coastguard Worker	msr DBGWCR0_EL1, x12
3760*9880d681SAndroid Build Coastguard Worker	msr DBGWCR1_EL1, x12
3761*9880d681SAndroid Build Coastguard Worker	msr DBGWCR2_EL1, x12
3762*9880d681SAndroid Build Coastguard Worker	msr DBGWCR3_EL1, x12
3763*9880d681SAndroid Build Coastguard Worker	msr DBGWCR4_EL1, x12
3764*9880d681SAndroid Build Coastguard Worker	msr DBGWCR5_EL1, x12
3765*9880d681SAndroid Build Coastguard Worker	msr DBGWCR6_EL1, x12
3766*9880d681SAndroid Build Coastguard Worker	msr DBGWCR7_EL1, x12
3767*9880d681SAndroid Build Coastguard Worker	msr DBGWCR8_EL1, x12
3768*9880d681SAndroid Build Coastguard Worker	msr DBGWCR9_EL1, x12
3769*9880d681SAndroid Build Coastguard Worker	msr DBGWCR10_EL1, x12
3770*9880d681SAndroid Build Coastguard Worker	msr DBGWCR11_EL1, x12
3771*9880d681SAndroid Build Coastguard Worker	msr DBGWCR12_EL1, x12
3772*9880d681SAndroid Build Coastguard Worker	msr DBGWCR13_EL1, x12
3773*9880d681SAndroid Build Coastguard Worker	msr DBGWCR14_EL1, x12
3774*9880d681SAndroid Build Coastguard Worker	msr DBGWCR15_EL1, x12
3775*9880d681SAndroid Build Coastguard Worker	msr TEEHBR32_EL1, x12
3776*9880d681SAndroid Build Coastguard Worker	msr OSLAR_EL1, x12
3777*9880d681SAndroid Build Coastguard Worker	msr OSDLR_EL1, x12
3778*9880d681SAndroid Build Coastguard Worker	msr DBGPRCR_EL1, x12
3779*9880d681SAndroid Build Coastguard Worker	msr DBGCLAIMSET_EL1, x12
3780*9880d681SAndroid Build Coastguard Worker	msr DBGCLAIMCLR_EL1, x12
3781*9880d681SAndroid Build Coastguard Worker	msr CSSELR_EL1, x12
3782*9880d681SAndroid Build Coastguard Worker	msr VPIDR_EL2, x12
3783*9880d681SAndroid Build Coastguard Worker	msr VMPIDR_EL2, x12
3784*9880d681SAndroid Build Coastguard Worker	msr SCTLR_EL1, x12
3785*9880d681SAndroid Build Coastguard Worker	msr SCTLR_EL2, x12
3786*9880d681SAndroid Build Coastguard Worker	msr SCTLR_EL3, x12
3787*9880d681SAndroid Build Coastguard Worker	msr ACTLR_EL1, x12
3788*9880d681SAndroid Build Coastguard Worker	msr ACTLR_EL2, x12
3789*9880d681SAndroid Build Coastguard Worker	msr ACTLR_EL3, x12
3790*9880d681SAndroid Build Coastguard Worker	msr CPACR_EL1, x12
3791*9880d681SAndroid Build Coastguard Worker	msr HCR_EL2, x12
3792*9880d681SAndroid Build Coastguard Worker	msr SCR_EL3, x12
3793*9880d681SAndroid Build Coastguard Worker	msr MDCR_EL2, x12
3794*9880d681SAndroid Build Coastguard Worker	msr SDER32_EL3, x12
3795*9880d681SAndroid Build Coastguard Worker	msr CPTR_EL2, x12
3796*9880d681SAndroid Build Coastguard Worker	msr CPTR_EL3, x12
3797*9880d681SAndroid Build Coastguard Worker	msr HSTR_EL2, x12
3798*9880d681SAndroid Build Coastguard Worker	msr HACR_EL2, x12
3799*9880d681SAndroid Build Coastguard Worker	msr MDCR_EL3, x12
3800*9880d681SAndroid Build Coastguard Worker	msr TTBR0_EL1, x12
3801*9880d681SAndroid Build Coastguard Worker	msr TTBR0_EL2, x12
3802*9880d681SAndroid Build Coastguard Worker	msr TTBR0_EL3, x12
3803*9880d681SAndroid Build Coastguard Worker	msr TTBR1_EL1, x12
3804*9880d681SAndroid Build Coastguard Worker	msr TCR_EL1, x12
3805*9880d681SAndroid Build Coastguard Worker	msr TCR_EL2, x12
3806*9880d681SAndroid Build Coastguard Worker	msr TCR_EL3, x12
3807*9880d681SAndroid Build Coastguard Worker	msr VTTBR_EL2, x12
3808*9880d681SAndroid Build Coastguard Worker	msr VTCR_EL2, x12
3809*9880d681SAndroid Build Coastguard Worker	msr DACR32_EL2, x12
3810*9880d681SAndroid Build Coastguard Worker	msr SPSR_EL1, x12
3811*9880d681SAndroid Build Coastguard Worker	msr SPSR_EL2, x12
3812*9880d681SAndroid Build Coastguard Worker	msr SPSR_EL3, x12
3813*9880d681SAndroid Build Coastguard Worker	msr ELR_EL1, x12
3814*9880d681SAndroid Build Coastguard Worker	msr ELR_EL2, x12
3815*9880d681SAndroid Build Coastguard Worker	msr ELR_EL3, x12
3816*9880d681SAndroid Build Coastguard Worker	msr SP_EL0, x12
3817*9880d681SAndroid Build Coastguard Worker	msr SP_EL1, x12
3818*9880d681SAndroid Build Coastguard Worker	msr SP_EL2, x12
3819*9880d681SAndroid Build Coastguard Worker	msr SPSel, x12
3820*9880d681SAndroid Build Coastguard Worker	msr NZCV, x12
3821*9880d681SAndroid Build Coastguard Worker	msr DAIF, x12
3822*9880d681SAndroid Build Coastguard Worker	msr CurrentEL, x12
3823*9880d681SAndroid Build Coastguard Worker	msr SPSR_irq, x12
3824*9880d681SAndroid Build Coastguard Worker	msr SPSR_abt, x12
3825*9880d681SAndroid Build Coastguard Worker	msr SPSR_und, x12
3826*9880d681SAndroid Build Coastguard Worker	msr SPSR_fiq, x12
3827*9880d681SAndroid Build Coastguard Worker	msr FPCR, x12
3828*9880d681SAndroid Build Coastguard Worker	msr FPSR, x12
3829*9880d681SAndroid Build Coastguard Worker	msr DSPSR_EL0, x12
3830*9880d681SAndroid Build Coastguard Worker	msr DLR_EL0, x12
3831*9880d681SAndroid Build Coastguard Worker	msr IFSR32_EL2, x12
3832*9880d681SAndroid Build Coastguard Worker	msr AFSR0_EL1, x12
3833*9880d681SAndroid Build Coastguard Worker	msr AFSR0_EL2, x12
3834*9880d681SAndroid Build Coastguard Worker	msr AFSR0_EL3, x12
3835*9880d681SAndroid Build Coastguard Worker	msr AFSR1_EL1, x12
3836*9880d681SAndroid Build Coastguard Worker	msr AFSR1_EL2, x12
3837*9880d681SAndroid Build Coastguard Worker	msr AFSR1_EL3, x12
3838*9880d681SAndroid Build Coastguard Worker	msr ESR_EL1, x12
3839*9880d681SAndroid Build Coastguard Worker	msr ESR_EL2, x12
3840*9880d681SAndroid Build Coastguard Worker	msr ESR_EL3, x12
3841*9880d681SAndroid Build Coastguard Worker	msr FPEXC32_EL2, x12
3842*9880d681SAndroid Build Coastguard Worker	msr FAR_EL1, x12
3843*9880d681SAndroid Build Coastguard Worker	msr FAR_EL2, x12
3844*9880d681SAndroid Build Coastguard Worker	msr FAR_EL3, x12
3845*9880d681SAndroid Build Coastguard Worker	msr HPFAR_EL2, x12
3846*9880d681SAndroid Build Coastguard Worker	msr PAR_EL1, x12
3847*9880d681SAndroid Build Coastguard Worker	msr PMCR_EL0, x12
3848*9880d681SAndroid Build Coastguard Worker	msr PMCNTENSET_EL0, x12
3849*9880d681SAndroid Build Coastguard Worker	msr PMCNTENCLR_EL0, x12
3850*9880d681SAndroid Build Coastguard Worker	msr PMOVSCLR_EL0, x12
3851*9880d681SAndroid Build Coastguard Worker	msr PMSELR_EL0, x12
3852*9880d681SAndroid Build Coastguard Worker	msr PMCCNTR_EL0, x12
3853*9880d681SAndroid Build Coastguard Worker	msr PMXEVTYPER_EL0, x12
3854*9880d681SAndroid Build Coastguard Worker	msr PMXEVCNTR_EL0, x12
3855*9880d681SAndroid Build Coastguard Worker	msr PMUSERENR_EL0, x12
3856*9880d681SAndroid Build Coastguard Worker	msr PMINTENSET_EL1, x12
3857*9880d681SAndroid Build Coastguard Worker	msr PMINTENCLR_EL1, x12
3858*9880d681SAndroid Build Coastguard Worker	msr PMOVSSET_EL0, x12
3859*9880d681SAndroid Build Coastguard Worker	msr MAIR_EL1, x12
3860*9880d681SAndroid Build Coastguard Worker	msr MAIR_EL2, x12
3861*9880d681SAndroid Build Coastguard Worker	msr MAIR_EL3, x12
3862*9880d681SAndroid Build Coastguard Worker	msr AMAIR_EL1, x12
3863*9880d681SAndroid Build Coastguard Worker	msr AMAIR_EL2, x12
3864*9880d681SAndroid Build Coastguard Worker	msr AMAIR_EL3, x12
3865*9880d681SAndroid Build Coastguard Worker	msr VBAR_EL1, x12
3866*9880d681SAndroid Build Coastguard Worker	msr VBAR_EL2, x12
3867*9880d681SAndroid Build Coastguard Worker	msr VBAR_EL3, x12
3868*9880d681SAndroid Build Coastguard Worker	msr RMR_EL1, x12
3869*9880d681SAndroid Build Coastguard Worker	msr RMR_EL2, x12
3870*9880d681SAndroid Build Coastguard Worker	msr RMR_EL3, x12
3871*9880d681SAndroid Build Coastguard Worker	msr CONTEXTIDR_EL1, x12
3872*9880d681SAndroid Build Coastguard Worker	msr TPIDR_EL0, x12
3873*9880d681SAndroid Build Coastguard Worker	msr TPIDR_EL2, x12
3874*9880d681SAndroid Build Coastguard Worker	msr TPIDR_EL3, x12
3875*9880d681SAndroid Build Coastguard Worker	msr TPIDRRO_EL0, x12
3876*9880d681SAndroid Build Coastguard Worker	msr TPIDR_EL1, x12
3877*9880d681SAndroid Build Coastguard Worker	msr CNTFRQ_EL0, x12
3878*9880d681SAndroid Build Coastguard Worker	msr CNTVOFF_EL2, x12
3879*9880d681SAndroid Build Coastguard Worker	msr CNTKCTL_EL1, x12
3880*9880d681SAndroid Build Coastguard Worker	msr CNTHCTL_EL2, x12
3881*9880d681SAndroid Build Coastguard Worker	msr CNTP_TVAL_EL0, x12
3882*9880d681SAndroid Build Coastguard Worker	msr CNTHP_TVAL_EL2, x12
3883*9880d681SAndroid Build Coastguard Worker	msr CNTPS_TVAL_EL1, x12
3884*9880d681SAndroid Build Coastguard Worker	msr CNTP_CTL_EL0, x12
3885*9880d681SAndroid Build Coastguard Worker	msr CNTHP_CTL_EL2, x12
3886*9880d681SAndroid Build Coastguard Worker	msr CNTPS_CTL_EL1, x12
3887*9880d681SAndroid Build Coastguard Worker	msr CNTP_CVAL_EL0, x12
3888*9880d681SAndroid Build Coastguard Worker	msr CNTHP_CVAL_EL2, x12
3889*9880d681SAndroid Build Coastguard Worker	msr CNTPS_CVAL_EL1, x12
3890*9880d681SAndroid Build Coastguard Worker	msr CNTV_TVAL_EL0, x12
3891*9880d681SAndroid Build Coastguard Worker	msr CNTV_CTL_EL0, x12
3892*9880d681SAndroid Build Coastguard Worker	msr CNTV_CVAL_EL0, x12
3893*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR0_EL0, x12
3894*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR1_EL0, x12
3895*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR2_EL0, x12
3896*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR3_EL0, x12
3897*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR4_EL0, x12
3898*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR5_EL0, x12
3899*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR6_EL0, x12
3900*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR7_EL0, x12
3901*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR8_EL0, x12
3902*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR9_EL0, x12
3903*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR10_EL0, x12
3904*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR11_EL0, x12
3905*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR12_EL0, x12
3906*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR13_EL0, x12
3907*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR14_EL0, x12
3908*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR15_EL0, x12
3909*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR16_EL0, x12
3910*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR17_EL0, x12
3911*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR18_EL0, x12
3912*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR19_EL0, x12
3913*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR20_EL0, x12
3914*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR21_EL0, x12
3915*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR22_EL0, x12
3916*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR23_EL0, x12
3917*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR24_EL0, x12
3918*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR25_EL0, x12
3919*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR26_EL0, x12
3920*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR27_EL0, x12
3921*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR28_EL0, x12
3922*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR29_EL0, x12
3923*9880d681SAndroid Build Coastguard Worker	msr PMEVCNTR30_EL0, x12
3924*9880d681SAndroid Build Coastguard Worker	msr PMCCFILTR_EL0, x12
3925*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER0_EL0, x12
3926*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER1_EL0, x12
3927*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER2_EL0, x12
3928*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER3_EL0, x12
3929*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER4_EL0, x12
3930*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER5_EL0, x12
3931*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER6_EL0, x12
3932*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER7_EL0, x12
3933*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER8_EL0, x12
3934*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER9_EL0, x12
3935*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER10_EL0, x12
3936*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER11_EL0, x12
3937*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER12_EL0, x12
3938*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER13_EL0, x12
3939*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER14_EL0, x12
3940*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER15_EL0, x12
3941*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER16_EL0, x12
3942*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER17_EL0, x12
3943*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER18_EL0, x12
3944*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER19_EL0, x12
3945*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER20_EL0, x12
3946*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER21_EL0, x12
3947*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER22_EL0, x12
3948*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER23_EL0, x12
3949*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER24_EL0, x12
3950*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER25_EL0, x12
3951*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER26_EL0, x12
3952*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER27_EL0, x12
3953*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER28_EL0, x12
3954*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER29_EL0, x12
3955*9880d681SAndroid Build Coastguard Worker	msr PMEVTYPER30_EL0, x12
3956*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{teecr32_el1|TEECR32_EL1}}, x12           // encoding: [0x0c,0x00,0x12,0xd5]
3957*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{osdtrrx_el1|OSDTRRX_EL1}}, x12           // encoding: [0x4c,0x00,0x10,0xd5]
3958*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mdccint_el1|MDCCINT_EL1}}, x12           // encoding: [0x0c,0x02,0x10,0xd5]
3959*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mdscr_el1|MDSCR_EL1}}, x12             // encoding: [0x4c,0x02,0x10,0xd5]
3960*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{osdtrtx_el1|OSDTRTX_EL1}}, x12           // encoding: [0x4c,0x03,0x10,0xd5]
3961*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgdtr_el0|DBGDTR_EL0}}, x12            // encoding: [0x0c,0x04,0x13,0xd5]
3962*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12          // encoding: [0x0c,0x05,0x13,0xd5]
3963*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{oseccr_el1|OSECCR_EL1}}, x12            // encoding: [0x4c,0x06,0x10,0xd5]
3964*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgvcr32_el2|DBGVCR32_EL2}}, x12          // encoding: [0x0c,0x07,0x14,0xd5]
3965*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr0_el1|DBGBVR0_EL1}}, x12           // encoding: [0x8c,0x00,0x10,0xd5]
3966*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr1_el1|DBGBVR1_EL1}}, x12           // encoding: [0x8c,0x01,0x10,0xd5]
3967*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr2_el1|DBGBVR2_EL1}}, x12           // encoding: [0x8c,0x02,0x10,0xd5]
3968*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr3_el1|DBGBVR3_EL1}}, x12           // encoding: [0x8c,0x03,0x10,0xd5]
3969*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr4_el1|DBGBVR4_EL1}}, x12           // encoding: [0x8c,0x04,0x10,0xd5]
3970*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr5_el1|DBGBVR5_EL1}}, x12           // encoding: [0x8c,0x05,0x10,0xd5]
3971*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr6_el1|DBGBVR6_EL1}}, x12           // encoding: [0x8c,0x06,0x10,0xd5]
3972*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr7_el1|DBGBVR7_EL1}}, x12           // encoding: [0x8c,0x07,0x10,0xd5]
3973*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr8_el1|DBGBVR8_EL1}}, x12           // encoding: [0x8c,0x08,0x10,0xd5]
3974*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr9_el1|DBGBVR9_EL1}}, x12           // encoding: [0x8c,0x09,0x10,0xd5]
3975*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr10_el1|DBGBVR10_EL1}}, x12          // encoding: [0x8c,0x0a,0x10,0xd5]
3976*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr11_el1|DBGBVR11_EL1}}, x12          // encoding: [0x8c,0x0b,0x10,0xd5]
3977*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr12_el1|DBGBVR12_EL1}}, x12          // encoding: [0x8c,0x0c,0x10,0xd5]
3978*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr13_el1|DBGBVR13_EL1}}, x12          // encoding: [0x8c,0x0d,0x10,0xd5]
3979*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr14_el1|DBGBVR14_EL1}}, x12          // encoding: [0x8c,0x0e,0x10,0xd5]
3980*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbvr15_el1|DBGBVR15_EL1}}, x12          // encoding: [0x8c,0x0f,0x10,0xd5]
3981*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr0_el1|DBGBCR0_EL1}}, x12           // encoding: [0xac,0x00,0x10,0xd5]
3982*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr1_el1|DBGBCR1_EL1}}, x12           // encoding: [0xac,0x01,0x10,0xd5]
3983*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr2_el1|DBGBCR2_EL1}}, x12           // encoding: [0xac,0x02,0x10,0xd5]
3984*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr3_el1|DBGBCR3_EL1}}, x12           // encoding: [0xac,0x03,0x10,0xd5]
3985*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr4_el1|DBGBCR4_EL1}}, x12           // encoding: [0xac,0x04,0x10,0xd5]
3986*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr5_el1|DBGBCR5_EL1}}, x12           // encoding: [0xac,0x05,0x10,0xd5]
3987*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr6_el1|DBGBCR6_EL1}}, x12           // encoding: [0xac,0x06,0x10,0xd5]
3988*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr7_el1|DBGBCR7_EL1}}, x12           // encoding: [0xac,0x07,0x10,0xd5]
3989*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr8_el1|DBGBCR8_EL1}}, x12           // encoding: [0xac,0x08,0x10,0xd5]
3990*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr9_el1|DBGBCR9_EL1}}, x12           // encoding: [0xac,0x09,0x10,0xd5]
3991*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr10_el1|DBGBCR10_EL1}}, x12          // encoding: [0xac,0x0a,0x10,0xd5]
3992*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr11_el1|DBGBCR11_EL1}}, x12          // encoding: [0xac,0x0b,0x10,0xd5]
3993*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr12_el1|DBGBCR12_EL1}}, x12          // encoding: [0xac,0x0c,0x10,0xd5]
3994*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr13_el1|DBGBCR13_EL1}}, x12          // encoding: [0xac,0x0d,0x10,0xd5]
3995*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr14_el1|DBGBCR14_EL1}}, x12          // encoding: [0xac,0x0e,0x10,0xd5]
3996*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgbcr15_el1|DBGBCR15_EL1}}, x12          // encoding: [0xac,0x0f,0x10,0xd5]
3997*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr0_el1|DBGWVR0_EL1}}, x12           // encoding: [0xcc,0x00,0x10,0xd5]
3998*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr1_el1|DBGWVR1_EL1}}, x12           // encoding: [0xcc,0x01,0x10,0xd5]
3999*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr2_el1|DBGWVR2_EL1}}, x12           // encoding: [0xcc,0x02,0x10,0xd5]
4000*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr3_el1|DBGWVR3_EL1}}, x12           // encoding: [0xcc,0x03,0x10,0xd5]
4001*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr4_el1|DBGWVR4_EL1}}, x12           // encoding: [0xcc,0x04,0x10,0xd5]
4002*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr5_el1|DBGWVR5_EL1}}, x12           // encoding: [0xcc,0x05,0x10,0xd5]
4003*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr6_el1|DBGWVR6_EL1}}, x12           // encoding: [0xcc,0x06,0x10,0xd5]
4004*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr7_el1|DBGWVR7_EL1}}, x12           // encoding: [0xcc,0x07,0x10,0xd5]
4005*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr8_el1|DBGWVR8_EL1}}, x12           // encoding: [0xcc,0x08,0x10,0xd5]
4006*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr9_el1|DBGWVR9_EL1}}, x12           // encoding: [0xcc,0x09,0x10,0xd5]
4007*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr10_el1|DBGWVR10_EL1}}, x12          // encoding: [0xcc,0x0a,0x10,0xd5]
4008*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr11_el1|DBGWVR11_EL1}}, x12          // encoding: [0xcc,0x0b,0x10,0xd5]
4009*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr12_el1|DBGWVR12_EL1}}, x12          // encoding: [0xcc,0x0c,0x10,0xd5]
4010*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr13_el1|DBGWVR13_EL1}}, x12          // encoding: [0xcc,0x0d,0x10,0xd5]
4011*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr14_el1|DBGWVR14_EL1}}, x12          // encoding: [0xcc,0x0e,0x10,0xd5]
4012*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwvr15_el1|DBGWVR15_EL1}}, x12          // encoding: [0xcc,0x0f,0x10,0xd5]
4013*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr0_el1|DBGWCR0_EL1}}, x12           // encoding: [0xec,0x00,0x10,0xd5]
4014*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr1_el1|DBGWCR1_EL1}}, x12           // encoding: [0xec,0x01,0x10,0xd5]
4015*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr2_el1|DBGWCR2_EL1}}, x12           // encoding: [0xec,0x02,0x10,0xd5]
4016*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr3_el1|DBGWCR3_EL1}}, x12           // encoding: [0xec,0x03,0x10,0xd5]
4017*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr4_el1|DBGWCR4_EL1}}, x12           // encoding: [0xec,0x04,0x10,0xd5]
4018*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr5_el1|DBGWCR5_EL1}}, x12           // encoding: [0xec,0x05,0x10,0xd5]
4019*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr6_el1|DBGWCR6_EL1}}, x12           // encoding: [0xec,0x06,0x10,0xd5]
4020*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr7_el1|DBGWCR7_EL1}}, x12           // encoding: [0xec,0x07,0x10,0xd5]
4021*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr8_el1|DBGWCR8_EL1}}, x12           // encoding: [0xec,0x08,0x10,0xd5]
4022*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr9_el1|DBGWCR9_EL1}}, x12           // encoding: [0xec,0x09,0x10,0xd5]
4023*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr10_el1|DBGWCR10_EL1}}, x12          // encoding: [0xec,0x0a,0x10,0xd5]
4024*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr11_el1|DBGWCR11_EL1}}, x12          // encoding: [0xec,0x0b,0x10,0xd5]
4025*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr12_el1|DBGWCR12_EL1}}, x12          // encoding: [0xec,0x0c,0x10,0xd5]
4026*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr13_el1|DBGWCR13_EL1}}, x12          // encoding: [0xec,0x0d,0x10,0xd5]
4027*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr14_el1|DBGWCR14_EL1}}, x12          // encoding: [0xec,0x0e,0x10,0xd5]
4028*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgwcr15_el1|DBGWCR15_EL1}}, x12          // encoding: [0xec,0x0f,0x10,0xd5]
4029*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{teehbr32_el1|TEEHBR32_EL1}}, x12          // encoding: [0x0c,0x10,0x12,0xd5]
4030*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{oslar_el1|OSLAR_EL1}}, x12             // encoding: [0x8c,0x10,0x10,0xd5]
4031*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{osdlr_el1|OSDLR_EL1}}, x12             // encoding: [0x8c,0x13,0x10,0xd5]
4032*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgprcr_el1|DBGPRCR_EL1}}, x12           // encoding: [0x8c,0x14,0x10,0xd5]
4033*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12       // encoding: [0xcc,0x78,0x10,0xd5]
4034*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12       // encoding: [0xcc,0x79,0x10,0xd5]
4035*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{csselr_el1|CSSELR_EL1}}, x12            // encoding: [0x0c,0x00,0x1a,0xd5]
4036*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vpidr_el2|VPIDR_EL2}}, x12             // encoding: [0x0c,0x00,0x1c,0xd5]
4037*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vmpidr_el2|VMPIDR_EL2}}, x12            // encoding: [0xac,0x00,0x1c,0xd5]
4038*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sctlr_el1|SCTLR_EL1}}, x12             // encoding: [0x0c,0x10,0x18,0xd5]
4039*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sctlr_el2|SCTLR_EL2}}, x12             // encoding: [0x0c,0x10,0x1c,0xd5]
4040*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sctlr_el3|SCTLR_EL3}}, x12             // encoding: [0x0c,0x10,0x1e,0xd5]
4041*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{actlr_el1|ACTLR_EL1}}, x12             // encoding: [0x2c,0x10,0x18,0xd5]
4042*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{actlr_el2|ACTLR_EL2}}, x12             // encoding: [0x2c,0x10,0x1c,0xd5]
4043*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{actlr_el3|ACTLR_EL3}}, x12             // encoding: [0x2c,0x10,0x1e,0xd5]
4044*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cpacr_el1|CPACR_EL1}}, x12             // encoding: [0x4c,0x10,0x18,0xd5]
4045*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{hcr_el2|HCR_EL2}}, x12               // encoding: [0x0c,0x11,0x1c,0xd5]
4046*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{scr_el3|SCR_EL3}}, x12               // encoding: [0x0c,0x11,0x1e,0xd5]
4047*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mdcr_el2|MDCR_EL2}}, x12              // encoding: [0x2c,0x11,0x1c,0xd5]
4048*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sder32_el3|SDER32_EL3}}, x12            // encoding: [0x2c,0x11,0x1e,0xd5]
4049*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cptr_el2|CPTR_EL2}}, x12              // encoding: [0x4c,0x11,0x1c,0xd5]
4050*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cptr_el3|CPTR_EL3}}, x12              // encoding: [0x4c,0x11,0x1e,0xd5]
4051*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{hstr_el2|HSTR_EL2}}, x12              // encoding: [0x6c,0x11,0x1c,0xd5]
4052*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{hacr_el2|HACR_EL2}}, x12              // encoding: [0xec,0x11,0x1c,0xd5]
4053*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mdcr_el3|MDCR_EL3}}, x12              // encoding: [0x2c,0x13,0x1e,0xd5]
4054*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{ttbr0_el1|TTBR0_EL1}}, x12             // encoding: [0x0c,0x20,0x18,0xd5]
4055*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{ttbr0_el2|TTBR0_EL2}}, x12             // encoding: [0x0c,0x20,0x1c,0xd5]
4056*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{ttbr0_el3|TTBR0_EL3}}, x12             // encoding: [0x0c,0x20,0x1e,0xd5]
4057*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{ttbr1_el1|TTBR1_EL1}}, x12             // encoding: [0x2c,0x20,0x18,0xd5]
4058*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tcr_el1|TCR_EL1}}, x12               // encoding: [0x4c,0x20,0x18,0xd5]
4059*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tcr_el2|TCR_EL2}}, x12               // encoding: [0x4c,0x20,0x1c,0xd5]
4060*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tcr_el3|TCR_EL3}}, x12               // encoding: [0x4c,0x20,0x1e,0xd5]
4061*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vttbr_el2|VTTBR_EL2}}, x12             // encoding: [0x0c,0x21,0x1c,0xd5]
4062*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vtcr_el2|VTCR_EL2}}, x12              // encoding: [0x4c,0x21,0x1c,0xd5]
4063*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dacr32_el2|DACR32_EL2}}, x12            // encoding: [0x0c,0x30,0x1c,0xd5]
4064*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{spsr_el1|SPSR_EL1}}, x12              // encoding: [0x0c,0x40,0x18,0xd5]
4065*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{spsr_el2|SPSR_EL2}}, x12              // encoding: [0x0c,0x40,0x1c,0xd5]
4066*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{spsr_el3|SPSR_EL3}}, x12              // encoding: [0x0c,0x40,0x1e,0xd5]
4067*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{elr_el1|ELR_EL1}}, x12               // encoding: [0x2c,0x40,0x18,0xd5]
4068*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{elr_el2|ELR_EL2}}, x12               // encoding: [0x2c,0x40,0x1c,0xd5]
4069*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{elr_el3|ELR_EL3}}, x12               // encoding: [0x2c,0x40,0x1e,0xd5]
4070*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sp_el0|SP_EL0}}, x12                // encoding: [0x0c,0x41,0x18,0xd5]
4071*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sp_el1|SP_EL1}}, x12                // encoding: [0x0c,0x41,0x1c,0xd5]
4072*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{sp_el2|SP_EL2}}, x12                // encoding: [0x0c,0x41,0x1e,0xd5]
4073*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{SPSel|SPSEL}}, x12                 // encoding: [0x0c,0x42,0x18,0xd5]
4074*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{nzcv|NZCV}}, x12                  // encoding: [0x0c,0x42,0x1b,0xd5]
4075*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{daif|DAIF}}, x12                  // encoding: [0x2c,0x42,0x1b,0xd5]
4076*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{CurrentEL|CURRENTEL}}, x12             // encoding: [0x4c,0x42,0x18,0xd5]
4077*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{SPSR_irq|SPSR_IRQ}}, x12              // encoding: [0x0c,0x43,0x1c,0xd5]
4078*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{SPSR_abt|SPSR_ABT}}, x12              // encoding: [0x2c,0x43,0x1c,0xd5]
4079*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{SPSR_und|SPSR_UND}}, x12              // encoding: [0x4c,0x43,0x1c,0xd5]
4080*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{SPSR_fiq|SPSR_FIQ}}, x12              // encoding: [0x6c,0x43,0x1c,0xd5]
4081*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{fpcr|FPCR}}, x12                  // encoding: [0x0c,0x44,0x1b,0xd5]
4082*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{fpsr|FPSR}}, x12                  // encoding: [0x2c,0x44,0x1b,0xd5]
4083*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dspsr_el0|DSPSR_EL0}}, x12             // encoding: [0x0c,0x45,0x1b,0xd5]
4084*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{dlr_el0|DLR_EL0}}, x12               // encoding: [0x2c,0x45,0x1b,0xd5]
4085*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{ifsr32_el2|IFSR32_EL2}}, x12            // encoding: [0x2c,0x50,0x1c,0xd5]
4086*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr0_el1|AFSR0_EL1}}, x12             // encoding: [0x0c,0x51,0x18,0xd5]
4087*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr0_el2|AFSR0_EL2}}, x12             // encoding: [0x0c,0x51,0x1c,0xd5]
4088*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr0_el3|AFSR0_EL3}}, x12             // encoding: [0x0c,0x51,0x1e,0xd5]
4089*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr1_el1|AFSR1_EL1}}, x12             // encoding: [0x2c,0x51,0x18,0xd5]
4090*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr1_el2|AFSR1_EL2}}, x12             // encoding: [0x2c,0x51,0x1c,0xd5]
4091*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{afsr1_el3|AFSR1_EL3}}, x12             // encoding: [0x2c,0x51,0x1e,0xd5]
4092*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{esr_el1|ESR_EL1}}, x12               // encoding: [0x0c,0x52,0x18,0xd5]
4093*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{esr_el2|ESR_EL2}}, x12               // encoding: [0x0c,0x52,0x1c,0xd5]
4094*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{esr_el3|ESR_EL3}}, x12               // encoding: [0x0c,0x52,0x1e,0xd5]
4095*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{fpexc32_el2|FPEXC32_EL2}}, x12           // encoding: [0x0c,0x53,0x1c,0xd5]
4096*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{far_el1|FAR_EL1}}, x12               // encoding: [0x0c,0x60,0x18,0xd5]
4097*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{far_el2|FAR_EL2}}, x12               // encoding: [0x0c,0x60,0x1c,0xd5]
4098*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{far_el3|FAR_EL3}}, x12               // encoding: [0x0c,0x60,0x1e,0xd5]
4099*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{hpfar_el2|HPFAR_EL2}}, x12             // encoding: [0x8c,0x60,0x1c,0xd5]
4100*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{par_el1|PAR_EL1}}, x12               // encoding: [0x0c,0x74,0x18,0xd5]
4101*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmcr_el0|PMCR_EL0}}, x12              // encoding: [0x0c,0x9c,0x1b,0xd5]
4102*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmcntenset_el0|PMCNTENSET_EL0}}, x12        // encoding: [0x2c,0x9c,0x1b,0xd5]
4103*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12        // encoding: [0x4c,0x9c,0x1b,0xd5]
4104*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmovsclr_el0|PMOVSCLR_EL0}}, x12          // encoding: [0x6c,0x9c,0x1b,0xd5]
4105*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmselr_el0|PMSELR_EL0}}, x12            // encoding: [0xac,0x9c,0x1b,0xd5]
4106*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmccntr_el0|PMCCNTR_EL0}}, x12           // encoding: [0x0c,0x9d,0x1b,0xd5]
4107*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12        // encoding: [0x2c,0x9d,0x1b,0xd5]
4108*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12         // encoding: [0x4c,0x9d,0x1b,0xd5]
4109*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmuserenr_el0|PMUSERENR_EL0}}, x12         // encoding: [0x0c,0x9e,0x1b,0xd5]
4110*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmintenset_el1|PMINTENSET_EL1}}, x12        // encoding: [0x2c,0x9e,0x18,0xd5]
4111*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmintenclr_el1|PMINTENCLR_EL1}}, x12        // encoding: [0x4c,0x9e,0x18,0xd5]
4112*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmovsset_el0|PMOVSSET_EL0}}, x12          // encoding: [0x6c,0x9e,0x1b,0xd5]
4113*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mair_el1|MAIR_EL1}}, x12              // encoding: [0x0c,0xa2,0x18,0xd5]
4114*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mair_el2|MAIR_EL2}}, x12              // encoding: [0x0c,0xa2,0x1c,0xd5]
4115*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{mair_el3|MAIR_EL3}}, x12              // encoding: [0x0c,0xa2,0x1e,0xd5]
4116*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{amair_el1|AMAIR_EL1}}, x12             // encoding: [0x0c,0xa3,0x18,0xd5]
4117*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{amair_el2|AMAIR_EL2}}, x12             // encoding: [0x0c,0xa3,0x1c,0xd5]
4118*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{amair_el3|AMAIR_EL3}}, x12             // encoding: [0x0c,0xa3,0x1e,0xd5]
4119*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vbar_el1|VBAR_EL1}}, x12              // encoding: [0x0c,0xc0,0x18,0xd5]
4120*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vbar_el2|VBAR_EL2}}, x12              // encoding: [0x0c,0xc0,0x1c,0xd5]
4121*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{vbar_el3|VBAR_EL3}}, x12              // encoding: [0x0c,0xc0,0x1e,0xd5]
4122*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{rmr_el1|RMR_EL1}}, x12               // encoding: [0x4c,0xc0,0x18,0xd5]
4123*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{rmr_el2|RMR_EL2}}, x12               // encoding: [0x4c,0xc0,0x1c,0xd5]
4124*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{rmr_el3|RMR_EL3}}, x12               // encoding: [0x4c,0xc0,0x1e,0xd5]
4125*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{contextidr_el1|CONTEXTIDR_EL1}}, x12        // encoding: [0x2c,0xd0,0x18,0xd5]
4126*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tpidr_el0|TPIDR_EL0}}, x12             // encoding: [0x4c,0xd0,0x1b,0xd5]
4127*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tpidr_el2|TPIDR_EL2}}, x12             // encoding: [0x4c,0xd0,0x1c,0xd5]
4128*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tpidr_el3|TPIDR_EL3}}, x12             // encoding: [0x4c,0xd0,0x1e,0xd5]
4129*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tpidrro_el0|TPIDRRO_EL0}}, x12           // encoding: [0x6c,0xd0,0x1b,0xd5]
4130*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{tpidr_el1|TPIDR_EL1}}, x12             // encoding: [0x8c,0xd0,0x18,0xd5]
4131*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntfrq_el0|CNTFRQ_EL0}}, x12            // encoding: [0x0c,0xe0,0x1b,0xd5]
4132*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntvoff_el2|CNTVOFF_EL2}}, x12           // encoding: [0x6c,0xe0,0x1c,0xd5]
4133*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntkctl_el1|CNTKCTL_EL1}}, x12           // encoding: [0x0c,0xe1,0x18,0xd5]
4134*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cnthctl_el2|CNTHCTL_EL2}}, x12           // encoding: [0x0c,0xe1,0x1c,0xd5]
4135*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12         // encoding: [0x0c,0xe2,0x1b,0xd5]
4136*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12        // encoding: [0x0c,0xe2,0x1c,0xd5]
4137*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12        // encoding: [0x0c,0xe2,0x1f,0xd5]
4138*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12          // encoding: [0x2c,0xe2,0x1b,0xd5]
4139*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12         // encoding: [0x2c,0xe2,0x1c,0xd5]
4140*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12         // encoding: [0x2c,0xe2,0x1f,0xd5]
4141*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12         // encoding: [0x4c,0xe2,0x1b,0xd5]
4142*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12        // encoding: [0x4c,0xe2,0x1c,0xd5]
4143*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12        // encoding: [0x4c,0xe2,0x1f,0xd5]
4144*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12         // encoding: [0x0c,0xe3,0x1b,0xd5]
4145*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12          // encoding: [0x2c,0xe3,0x1b,0xd5]
4146*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12         // encoding: [0x4c,0xe3,0x1b,0xd5]
4147*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12         // encoding: [0x0c,0xe8,0x1b,0xd5]
4148*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12         // encoding: [0x2c,0xe8,0x1b,0xd5]
4149*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12         // encoding: [0x4c,0xe8,0x1b,0xd5]
4150*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12         // encoding: [0x6c,0xe8,0x1b,0xd5]
4151*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12         // encoding: [0x8c,0xe8,0x1b,0xd5]
4152*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12         // encoding: [0xac,0xe8,0x1b,0xd5]
4153*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12         // encoding: [0xcc,0xe8,0x1b,0xd5]
4154*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12         // encoding: [0xec,0xe8,0x1b,0xd5]
4155*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12         // encoding: [0x0c,0xe9,0x1b,0xd5]
4156*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12         // encoding: [0x2c,0xe9,0x1b,0xd5]
4157*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12        // encoding: [0x4c,0xe9,0x1b,0xd5]
4158*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12        // encoding: [0x6c,0xe9,0x1b,0xd5]
4159*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12        // encoding: [0x8c,0xe9,0x1b,0xd5]
4160*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12        // encoding: [0xac,0xe9,0x1b,0xd5]
4161*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12        // encoding: [0xcc,0xe9,0x1b,0xd5]
4162*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12        // encoding: [0xec,0xe9,0x1b,0xd5]
4163*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12        // encoding: [0x0c,0xea,0x1b,0xd5]
4164*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12        // encoding: [0x2c,0xea,0x1b,0xd5]
4165*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12        // encoding: [0x4c,0xea,0x1b,0xd5]
4166*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12        // encoding: [0x6c,0xea,0x1b,0xd5]
4167*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12        // encoding: [0x8c,0xea,0x1b,0xd5]
4168*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12        // encoding: [0xac,0xea,0x1b,0xd5]
4169*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12        // encoding: [0xcc,0xea,0x1b,0xd5]
4170*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12        // encoding: [0xec,0xea,0x1b,0xd5]
4171*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12        // encoding: [0x0c,0xeb,0x1b,0xd5]
4172*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12        // encoding: [0x2c,0xeb,0x1b,0xd5]
4173*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12        // encoding: [0x4c,0xeb,0x1b,0xd5]
4174*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12        // encoding: [0x6c,0xeb,0x1b,0xd5]
4175*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12        // encoding: [0x8c,0xeb,0x1b,0xd5]
4176*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12        // encoding: [0xac,0xeb,0x1b,0xd5]
4177*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12        // encoding: [0xcc,0xeb,0x1b,0xd5]
4178*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12         // encoding: [0xec,0xef,0x1b,0xd5]
4179*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12        // encoding: [0x0c,0xec,0x1b,0xd5]
4180*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12        // encoding: [0x2c,0xec,0x1b,0xd5]
4181*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12        // encoding: [0x4c,0xec,0x1b,0xd5]
4182*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12        // encoding: [0x6c,0xec,0x1b,0xd5]
4183*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12        // encoding: [0x8c,0xec,0x1b,0xd5]
4184*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12        // encoding: [0xac,0xec,0x1b,0xd5]
4185*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12        // encoding: [0xcc,0xec,0x1b,0xd5]
4186*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12        // encoding: [0xec,0xec,0x1b,0xd5]
4187*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12        // encoding: [0x0c,0xed,0x1b,0xd5]
4188*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12        // encoding: [0x2c,0xed,0x1b,0xd5]
4189*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12       // encoding: [0x4c,0xed,0x1b,0xd5]
4190*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12       // encoding: [0x6c,0xed,0x1b,0xd5]
4191*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12       // encoding: [0x8c,0xed,0x1b,0xd5]
4192*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12       // encoding: [0xac,0xed,0x1b,0xd5]
4193*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12       // encoding: [0xcc,0xed,0x1b,0xd5]
4194*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12       // encoding: [0xec,0xed,0x1b,0xd5]
4195*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12       // encoding: [0x0c,0xee,0x1b,0xd5]
4196*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12       // encoding: [0x2c,0xee,0x1b,0xd5]
4197*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12       // encoding: [0x4c,0xee,0x1b,0xd5]
4198*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12       // encoding: [0x6c,0xee,0x1b,0xd5]
4199*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12       // encoding: [0x8c,0xee,0x1b,0xd5]
4200*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12       // encoding: [0xac,0xee,0x1b,0xd5]
4201*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12       // encoding: [0xcc,0xee,0x1b,0xd5]
4202*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12       // encoding: [0xec,0xee,0x1b,0xd5]
4203*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12       // encoding: [0x0c,0xef,0x1b,0xd5]
4204*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12       // encoding: [0x2c,0xef,0x1b,0xd5]
4205*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12       // encoding: [0x4c,0xef,0x1b,0xd5]
4206*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12       // encoding: [0x6c,0xef,0x1b,0xd5]
4207*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12       // encoding: [0x8c,0xef,0x1b,0xd5]
4208*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12       // encoding: [0xac,0xef,0x1b,0xd5]
4209*9880d681SAndroid Build Coastguard Worker// CHECK: msr      {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12       // encoding: [0xcc,0xef,0x1b,0xd5]
4210*9880d681SAndroid Build Coastguard Worker
4211*9880d681SAndroid Build Coastguard Worker	mrs x9, TEECR32_EL1
4212*9880d681SAndroid Build Coastguard Worker	mrs x9, OSDTRRX_EL1
4213*9880d681SAndroid Build Coastguard Worker	mrs x9, MDCCSR_EL0
4214*9880d681SAndroid Build Coastguard Worker	mrs x9, MDCCINT_EL1
4215*9880d681SAndroid Build Coastguard Worker	mrs x9, MDSCR_EL1
4216*9880d681SAndroid Build Coastguard Worker	mrs x9, OSDTRTX_EL1
4217*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGDTR_EL0
4218*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGDTRRX_EL0
4219*9880d681SAndroid Build Coastguard Worker	mrs x9, OSECCR_EL1
4220*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGVCR32_EL2
4221*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR0_EL1
4222*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR1_EL1
4223*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR2_EL1
4224*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR3_EL1
4225*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR4_EL1
4226*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR5_EL1
4227*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR6_EL1
4228*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR7_EL1
4229*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR8_EL1
4230*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR9_EL1
4231*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR10_EL1
4232*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR11_EL1
4233*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR12_EL1
4234*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR13_EL1
4235*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR14_EL1
4236*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBVR15_EL1
4237*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR0_EL1
4238*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR1_EL1
4239*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR2_EL1
4240*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR3_EL1
4241*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR4_EL1
4242*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR5_EL1
4243*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR6_EL1
4244*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR7_EL1
4245*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR8_EL1
4246*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR9_EL1
4247*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR10_EL1
4248*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR11_EL1
4249*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR12_EL1
4250*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR13_EL1
4251*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR14_EL1
4252*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGBCR15_EL1
4253*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR0_EL1
4254*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR1_EL1
4255*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR2_EL1
4256*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR3_EL1
4257*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR4_EL1
4258*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR5_EL1
4259*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR6_EL1
4260*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR7_EL1
4261*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR8_EL1
4262*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR9_EL1
4263*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR10_EL1
4264*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR11_EL1
4265*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR12_EL1
4266*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR13_EL1
4267*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR14_EL1
4268*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWVR15_EL1
4269*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR0_EL1
4270*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR1_EL1
4271*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR2_EL1
4272*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR3_EL1
4273*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR4_EL1
4274*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR5_EL1
4275*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR6_EL1
4276*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR7_EL1
4277*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR8_EL1
4278*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR9_EL1
4279*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR10_EL1
4280*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR11_EL1
4281*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR12_EL1
4282*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR13_EL1
4283*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR14_EL1
4284*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGWCR15_EL1
4285*9880d681SAndroid Build Coastguard Worker	mrs x9, MDRAR_EL1
4286*9880d681SAndroid Build Coastguard Worker	mrs x9, TEEHBR32_EL1
4287*9880d681SAndroid Build Coastguard Worker	mrs x9, OSLSR_EL1
4288*9880d681SAndroid Build Coastguard Worker	mrs x9, OSDLR_EL1
4289*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGPRCR_EL1
4290*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGCLAIMSET_EL1
4291*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGCLAIMCLR_EL1
4292*9880d681SAndroid Build Coastguard Worker	mrs x9, DBGAUTHSTATUS_EL1
4293*9880d681SAndroid Build Coastguard Worker	mrs x9, MIDR_EL1
4294*9880d681SAndroid Build Coastguard Worker	mrs x9, CCSIDR_EL1
4295*9880d681SAndroid Build Coastguard Worker	mrs x9, CSSELR_EL1
4296*9880d681SAndroid Build Coastguard Worker	mrs x9, VPIDR_EL2
4297*9880d681SAndroid Build Coastguard Worker	mrs x9, CLIDR_EL1
4298*9880d681SAndroid Build Coastguard Worker	mrs x9, CTR_EL0
4299*9880d681SAndroid Build Coastguard Worker	mrs x9, MPIDR_EL1
4300*9880d681SAndroid Build Coastguard Worker	mrs x9, VMPIDR_EL2
4301*9880d681SAndroid Build Coastguard Worker	mrs x9, REVIDR_EL1
4302*9880d681SAndroid Build Coastguard Worker	mrs x9, AIDR_EL1
4303*9880d681SAndroid Build Coastguard Worker	mrs x9, DCZID_EL0
4304*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_PFR0_EL1
4305*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_PFR1_EL1
4306*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_DFR0_EL1
4307*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AFR0_EL1
4308*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_MMFR0_EL1
4309*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_MMFR1_EL1
4310*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_MMFR2_EL1
4311*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_MMFR3_EL1
4312*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_MMFR4_EL1
4313*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR0_EL1
4314*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR1_EL1
4315*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR2_EL1
4316*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR3_EL1
4317*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR4_EL1
4318*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_ISAR5_EL1
4319*9880d681SAndroid Build Coastguard Worker	mrs x9, MVFR0_EL1
4320*9880d681SAndroid Build Coastguard Worker	mrs x9, MVFR1_EL1
4321*9880d681SAndroid Build Coastguard Worker	mrs x9, MVFR2_EL1
4322*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64PFR0_EL1
4323*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64PFR1_EL1
4324*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64DFR0_EL1
4325*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64DFR1_EL1
4326*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64AFR0_EL1
4327*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64AFR1_EL1
4328*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64ISAR0_EL1
4329*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64ISAR1_EL1
4330*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64MMFR0_EL1
4331*9880d681SAndroid Build Coastguard Worker	mrs x9, ID_AA64MMFR1_EL1
4332*9880d681SAndroid Build Coastguard Worker	mrs x9, SCTLR_EL1
4333*9880d681SAndroid Build Coastguard Worker	mrs x9, SCTLR_EL2
4334*9880d681SAndroid Build Coastguard Worker	mrs x9, SCTLR_EL3
4335*9880d681SAndroid Build Coastguard Worker	mrs x9, ACTLR_EL1
4336*9880d681SAndroid Build Coastguard Worker	mrs x9, ACTLR_EL2
4337*9880d681SAndroid Build Coastguard Worker	mrs x9, ACTLR_EL3
4338*9880d681SAndroid Build Coastguard Worker	mrs x9, CPACR_EL1
4339*9880d681SAndroid Build Coastguard Worker	mrs x9, HCR_EL2
4340*9880d681SAndroid Build Coastguard Worker	mrs x9, SCR_EL3
4341*9880d681SAndroid Build Coastguard Worker	mrs x9, MDCR_EL2
4342*9880d681SAndroid Build Coastguard Worker	mrs x9, SDER32_EL3
4343*9880d681SAndroid Build Coastguard Worker	mrs x9, CPTR_EL2
4344*9880d681SAndroid Build Coastguard Worker	mrs x9, CPTR_EL3
4345*9880d681SAndroid Build Coastguard Worker	mrs x9, HSTR_EL2
4346*9880d681SAndroid Build Coastguard Worker	mrs x9, HACR_EL2
4347*9880d681SAndroid Build Coastguard Worker	mrs x9, MDCR_EL3
4348*9880d681SAndroid Build Coastguard Worker	mrs x9, TTBR0_EL1
4349*9880d681SAndroid Build Coastguard Worker	mrs x9, TTBR0_EL2
4350*9880d681SAndroid Build Coastguard Worker	mrs x9, TTBR0_EL3
4351*9880d681SAndroid Build Coastguard Worker	mrs x9, TTBR1_EL1
4352*9880d681SAndroid Build Coastguard Worker	mrs x9, TCR_EL1
4353*9880d681SAndroid Build Coastguard Worker	mrs x9, TCR_EL2
4354*9880d681SAndroid Build Coastguard Worker	mrs x9, TCR_EL3
4355*9880d681SAndroid Build Coastguard Worker	mrs x9, VTTBR_EL2
4356*9880d681SAndroid Build Coastguard Worker	mrs x9, VTCR_EL2
4357*9880d681SAndroid Build Coastguard Worker	mrs x9, DACR32_EL2
4358*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_EL1
4359*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_EL2
4360*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_EL3
4361*9880d681SAndroid Build Coastguard Worker	mrs x9, ELR_EL1
4362*9880d681SAndroid Build Coastguard Worker	mrs x9, ELR_EL2
4363*9880d681SAndroid Build Coastguard Worker	mrs x9, ELR_EL3
4364*9880d681SAndroid Build Coastguard Worker	mrs x9, SP_EL0
4365*9880d681SAndroid Build Coastguard Worker	mrs x9, SP_EL1
4366*9880d681SAndroid Build Coastguard Worker	mrs x9, SP_EL2
4367*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSel
4368*9880d681SAndroid Build Coastguard Worker	mrs x9, NZCV
4369*9880d681SAndroid Build Coastguard Worker	mrs x9, DAIF
4370*9880d681SAndroid Build Coastguard Worker	mrs x9, CurrentEL
4371*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_irq
4372*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_abt
4373*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_und
4374*9880d681SAndroid Build Coastguard Worker	mrs x9, SPSR_fiq
4375*9880d681SAndroid Build Coastguard Worker	mrs x9, FPCR
4376*9880d681SAndroid Build Coastguard Worker	mrs x9, FPSR
4377*9880d681SAndroid Build Coastguard Worker	mrs x9, DSPSR_EL0
4378*9880d681SAndroid Build Coastguard Worker	mrs x9, DLR_EL0
4379*9880d681SAndroid Build Coastguard Worker	mrs x9, IFSR32_EL2
4380*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR0_EL1
4381*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR0_EL2
4382*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR0_EL3
4383*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR1_EL1
4384*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR1_EL2
4385*9880d681SAndroid Build Coastguard Worker	mrs x9, AFSR1_EL3
4386*9880d681SAndroid Build Coastguard Worker	mrs x9, ESR_EL1
4387*9880d681SAndroid Build Coastguard Worker	mrs x9, ESR_EL2
4388*9880d681SAndroid Build Coastguard Worker	mrs x9, ESR_EL3
4389*9880d681SAndroid Build Coastguard Worker	mrs x9, FPEXC32_EL2
4390*9880d681SAndroid Build Coastguard Worker	mrs x9, FAR_EL1
4391*9880d681SAndroid Build Coastguard Worker	mrs x9, FAR_EL2
4392*9880d681SAndroid Build Coastguard Worker	mrs x9, FAR_EL3
4393*9880d681SAndroid Build Coastguard Worker	mrs x9, HPFAR_EL2
4394*9880d681SAndroid Build Coastguard Worker	mrs x9, PAR_EL1
4395*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCR_EL0
4396*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCNTENSET_EL0
4397*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCNTENCLR_EL0
4398*9880d681SAndroid Build Coastguard Worker	mrs x9, PMOVSCLR_EL0
4399*9880d681SAndroid Build Coastguard Worker	mrs x9, PMSELR_EL0
4400*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCEID0_EL0
4401*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCEID1_EL0
4402*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCCNTR_EL0
4403*9880d681SAndroid Build Coastguard Worker	mrs x9, PMXEVTYPER_EL0
4404*9880d681SAndroid Build Coastguard Worker	mrs x9, PMXEVCNTR_EL0
4405*9880d681SAndroid Build Coastguard Worker	mrs x9, PMUSERENR_EL0
4406*9880d681SAndroid Build Coastguard Worker	mrs x9, PMINTENSET_EL1
4407*9880d681SAndroid Build Coastguard Worker	mrs x9, PMINTENCLR_EL1
4408*9880d681SAndroid Build Coastguard Worker	mrs x9, PMOVSSET_EL0
4409*9880d681SAndroid Build Coastguard Worker	mrs x9, MAIR_EL1
4410*9880d681SAndroid Build Coastguard Worker	mrs x9, MAIR_EL2
4411*9880d681SAndroid Build Coastguard Worker	mrs x9, MAIR_EL3
4412*9880d681SAndroid Build Coastguard Worker	mrs x9, AMAIR_EL1
4413*9880d681SAndroid Build Coastguard Worker	mrs x9, AMAIR_EL2
4414*9880d681SAndroid Build Coastguard Worker	mrs x9, AMAIR_EL3
4415*9880d681SAndroid Build Coastguard Worker	mrs x9, VBAR_EL1
4416*9880d681SAndroid Build Coastguard Worker	mrs x9, VBAR_EL2
4417*9880d681SAndroid Build Coastguard Worker	mrs x9, VBAR_EL3
4418*9880d681SAndroid Build Coastguard Worker	mrs x9, RVBAR_EL1
4419*9880d681SAndroid Build Coastguard Worker	mrs x9, RVBAR_EL2
4420*9880d681SAndroid Build Coastguard Worker	mrs x9, RVBAR_EL3
4421*9880d681SAndroid Build Coastguard Worker	mrs x9, RMR_EL1
4422*9880d681SAndroid Build Coastguard Worker	mrs x9, RMR_EL2
4423*9880d681SAndroid Build Coastguard Worker	mrs x9, RMR_EL3
4424*9880d681SAndroid Build Coastguard Worker	mrs x9, ISR_EL1
4425*9880d681SAndroid Build Coastguard Worker	mrs x9, CONTEXTIDR_EL1
4426*9880d681SAndroid Build Coastguard Worker	mrs x9, TPIDR_EL0
4427*9880d681SAndroid Build Coastguard Worker	mrs x9, TPIDR_EL2
4428*9880d681SAndroid Build Coastguard Worker	mrs x9, TPIDR_EL3
4429*9880d681SAndroid Build Coastguard Worker	mrs x9, TPIDRRO_EL0
4430*9880d681SAndroid Build Coastguard Worker	mrs x9, TPIDR_EL1
4431*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTFRQ_EL0
4432*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTPCT_EL0
4433*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTVCT_EL0
4434*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTVOFF_EL2
4435*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTKCTL_EL1
4436*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTHCTL_EL2
4437*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTP_TVAL_EL0
4438*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTHP_TVAL_EL2
4439*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTPS_TVAL_EL1
4440*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTP_CTL_EL0
4441*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTHP_CTL_EL2
4442*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTPS_CTL_EL1
4443*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTP_CVAL_EL0
4444*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTHP_CVAL_EL2
4445*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTPS_CVAL_EL1
4446*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTV_TVAL_EL0
4447*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTV_CTL_EL0
4448*9880d681SAndroid Build Coastguard Worker	mrs x9, CNTV_CVAL_EL0
4449*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR0_EL0
4450*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR1_EL0
4451*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR2_EL0
4452*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR3_EL0
4453*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR4_EL0
4454*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR5_EL0
4455*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR6_EL0
4456*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR7_EL0
4457*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR8_EL0
4458*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR9_EL0
4459*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR10_EL0
4460*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR11_EL0
4461*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR12_EL0
4462*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR13_EL0
4463*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR14_EL0
4464*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR15_EL0
4465*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR16_EL0
4466*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR17_EL0
4467*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR18_EL0
4468*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR19_EL0
4469*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR20_EL0
4470*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR21_EL0
4471*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR22_EL0
4472*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR23_EL0
4473*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR24_EL0
4474*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR25_EL0
4475*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR26_EL0
4476*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR27_EL0
4477*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR28_EL0
4478*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR29_EL0
4479*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVCNTR30_EL0
4480*9880d681SAndroid Build Coastguard Worker	mrs x9, PMCCFILTR_EL0
4481*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER0_EL0
4482*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER1_EL0
4483*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER2_EL0
4484*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER3_EL0
4485*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER4_EL0
4486*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER5_EL0
4487*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER6_EL0
4488*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER7_EL0
4489*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER8_EL0
4490*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER9_EL0
4491*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER10_EL0
4492*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER11_EL0
4493*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER12_EL0
4494*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER13_EL0
4495*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER14_EL0
4496*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER15_EL0
4497*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER16_EL0
4498*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER17_EL0
4499*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER18_EL0
4500*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER19_EL0
4501*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER20_EL0
4502*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER21_EL0
4503*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER22_EL0
4504*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER23_EL0
4505*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER24_EL0
4506*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER25_EL0
4507*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER26_EL0
4508*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER27_EL0
4509*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER28_EL0
4510*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER29_EL0
4511*9880d681SAndroid Build Coastguard Worker	mrs x9, PMEVTYPER30_EL0
4512*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{teecr32_el1|TEECR32_EL1}}            // encoding: [0x09,0x00,0x32,0xd5]
4513*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{osdtrrx_el1|OSDTRRX_EL1}}            // encoding: [0x49,0x00,0x30,0xd5]
4514*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdccsr_el0|MDCCSR_EL0}}             // encoding: [0x09,0x01,0x33,0xd5]
4515*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdccint_el1|MDCCINT_EL1}}            // encoding: [0x09,0x02,0x30,0xd5]
4516*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdscr_el1|MDSCR_EL1}}              // encoding: [0x49,0x02,0x30,0xd5]
4517*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{osdtrtx_el1|OSDTRTX_EL1}}            // encoding: [0x49,0x03,0x30,0xd5]
4518*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgdtr_el0|DBGDTR_EL0}}             // encoding: [0x09,0x04,0x33,0xd5]
4519*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}}           // encoding: [0x09,0x05,0x33,0xd5]
4520*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{oseccr_el1|OSECCR_EL1}}             // encoding: [0x49,0x06,0x30,0xd5]
4521*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgvcr32_el2|DBGVCR32_EL2}}           // encoding: [0x09,0x07,0x34,0xd5]
4522*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr0_el1|DBGBVR0_EL1}}            // encoding: [0x89,0x00,0x30,0xd5]
4523*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr1_el1|DBGBVR1_EL1}}            // encoding: [0x89,0x01,0x30,0xd5]
4524*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr2_el1|DBGBVR2_EL1}}            // encoding: [0x89,0x02,0x30,0xd5]
4525*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr3_el1|DBGBVR3_EL1}}            // encoding: [0x89,0x03,0x30,0xd5]
4526*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr4_el1|DBGBVR4_EL1}}            // encoding: [0x89,0x04,0x30,0xd5]
4527*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr5_el1|DBGBVR5_EL1}}            // encoding: [0x89,0x05,0x30,0xd5]
4528*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr6_el1|DBGBVR6_EL1}}            // encoding: [0x89,0x06,0x30,0xd5]
4529*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr7_el1|DBGBVR7_EL1}}            // encoding: [0x89,0x07,0x30,0xd5]
4530*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr8_el1|DBGBVR8_EL1}}            // encoding: [0x89,0x08,0x30,0xd5]
4531*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr9_el1|DBGBVR9_EL1}}            // encoding: [0x89,0x09,0x30,0xd5]
4532*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr10_el1|DBGBVR10_EL1}}           // encoding: [0x89,0x0a,0x30,0xd5]
4533*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr11_el1|DBGBVR11_EL1}}           // encoding: [0x89,0x0b,0x30,0xd5]
4534*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr12_el1|DBGBVR12_EL1}}           // encoding: [0x89,0x0c,0x30,0xd5]
4535*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr13_el1|DBGBVR13_EL1}}           // encoding: [0x89,0x0d,0x30,0xd5]
4536*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr14_el1|DBGBVR14_EL1}}           // encoding: [0x89,0x0e,0x30,0xd5]
4537*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbvr15_el1|DBGBVR15_EL1}}           // encoding: [0x89,0x0f,0x30,0xd5]
4538*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr0_el1|DBGBCR0_EL1}}            // encoding: [0xa9,0x00,0x30,0xd5]
4539*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr1_el1|DBGBCR1_EL1}}            // encoding: [0xa9,0x01,0x30,0xd5]
4540*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr2_el1|DBGBCR2_EL1}}            // encoding: [0xa9,0x02,0x30,0xd5]
4541*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr3_el1|DBGBCR3_EL1}}            // encoding: [0xa9,0x03,0x30,0xd5]
4542*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr4_el1|DBGBCR4_EL1}}            // encoding: [0xa9,0x04,0x30,0xd5]
4543*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr5_el1|DBGBCR5_EL1}}            // encoding: [0xa9,0x05,0x30,0xd5]
4544*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr6_el1|DBGBCR6_EL1}}            // encoding: [0xa9,0x06,0x30,0xd5]
4545*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr7_el1|DBGBCR7_EL1}}            // encoding: [0xa9,0x07,0x30,0xd5]
4546*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr8_el1|DBGBCR8_EL1}}            // encoding: [0xa9,0x08,0x30,0xd5]
4547*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr9_el1|DBGBCR9_EL1}}            // encoding: [0xa9,0x09,0x30,0xd5]
4548*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr10_el1|DBGBCR10_EL1}}           // encoding: [0xa9,0x0a,0x30,0xd5]
4549*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr11_el1|DBGBCR11_EL1}}           // encoding: [0xa9,0x0b,0x30,0xd5]
4550*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr12_el1|DBGBCR12_EL1}}           // encoding: [0xa9,0x0c,0x30,0xd5]
4551*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr13_el1|DBGBCR13_EL1}}           // encoding: [0xa9,0x0d,0x30,0xd5]
4552*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr14_el1|DBGBCR14_EL1}}           // encoding: [0xa9,0x0e,0x30,0xd5]
4553*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgbcr15_el1|DBGBCR15_EL1}}           // encoding: [0xa9,0x0f,0x30,0xd5]
4554*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr0_el1|DBGWVR0_EL1}}            // encoding: [0xc9,0x00,0x30,0xd5]
4555*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr1_el1|DBGWVR1_EL1}}            // encoding: [0xc9,0x01,0x30,0xd5]
4556*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr2_el1|DBGWVR2_EL1}}            // encoding: [0xc9,0x02,0x30,0xd5]
4557*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr3_el1|DBGWVR3_EL1}}            // encoding: [0xc9,0x03,0x30,0xd5]
4558*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr4_el1|DBGWVR4_EL1}}            // encoding: [0xc9,0x04,0x30,0xd5]
4559*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr5_el1|DBGWVR5_EL1}}            // encoding: [0xc9,0x05,0x30,0xd5]
4560*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr6_el1|DBGWVR6_EL1}}            // encoding: [0xc9,0x06,0x30,0xd5]
4561*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr7_el1|DBGWVR7_EL1}}            // encoding: [0xc9,0x07,0x30,0xd5]
4562*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr8_el1|DBGWVR8_EL1}}            // encoding: [0xc9,0x08,0x30,0xd5]
4563*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr9_el1|DBGWVR9_EL1}}            // encoding: [0xc9,0x09,0x30,0xd5]
4564*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr10_el1|DBGWVR10_EL1}}           // encoding: [0xc9,0x0a,0x30,0xd5]
4565*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr11_el1|DBGWVR11_EL1}}           // encoding: [0xc9,0x0b,0x30,0xd5]
4566*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr12_el1|DBGWVR12_EL1}}           // encoding: [0xc9,0x0c,0x30,0xd5]
4567*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr13_el1|DBGWVR13_EL1}}           // encoding: [0xc9,0x0d,0x30,0xd5]
4568*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr14_el1|DBGWVR14_EL1}}           // encoding: [0xc9,0x0e,0x30,0xd5]
4569*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwvr15_el1|DBGWVR15_EL1}}           // encoding: [0xc9,0x0f,0x30,0xd5]
4570*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr0_el1|DBGWCR0_EL1}}            // encoding: [0xe9,0x00,0x30,0xd5]
4571*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr1_el1|DBGWCR1_EL1}}            // encoding: [0xe9,0x01,0x30,0xd5]
4572*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr2_el1|DBGWCR2_EL1}}            // encoding: [0xe9,0x02,0x30,0xd5]
4573*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr3_el1|DBGWCR3_EL1}}            // encoding: [0xe9,0x03,0x30,0xd5]
4574*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr4_el1|DBGWCR4_EL1}}            // encoding: [0xe9,0x04,0x30,0xd5]
4575*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr5_el1|DBGWCR5_EL1}}            // encoding: [0xe9,0x05,0x30,0xd5]
4576*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr6_el1|DBGWCR6_EL1}}            // encoding: [0xe9,0x06,0x30,0xd5]
4577*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr7_el1|DBGWCR7_EL1}}            // encoding: [0xe9,0x07,0x30,0xd5]
4578*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr8_el1|DBGWCR8_EL1}}            // encoding: [0xe9,0x08,0x30,0xd5]
4579*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr9_el1|DBGWCR9_EL1}}            // encoding: [0xe9,0x09,0x30,0xd5]
4580*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr10_el1|DBGWCR10_EL1}}           // encoding: [0xe9,0x0a,0x30,0xd5]
4581*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr11_el1|DBGWCR11_EL1}}           // encoding: [0xe9,0x0b,0x30,0xd5]
4582*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr12_el1|DBGWCR12_EL1}}           // encoding: [0xe9,0x0c,0x30,0xd5]
4583*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr13_el1|DBGWCR13_EL1}}           // encoding: [0xe9,0x0d,0x30,0xd5]
4584*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr14_el1|DBGWCR14_EL1}}           // encoding: [0xe9,0x0e,0x30,0xd5]
4585*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgwcr15_el1|DBGWCR15_EL1}}           // encoding: [0xe9,0x0f,0x30,0xd5]
4586*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdrar_el1|MDRAR_EL1}}              // encoding: [0x09,0x10,0x30,0xd5]
4587*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{teehbr32_el1|TEEHBR32_EL1}}           // encoding: [0x09,0x10,0x32,0xd5]
4588*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{oslsr_el1|OSLSR_EL1}}              // encoding: [0x89,0x11,0x30,0xd5]
4589*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{osdlr_el1|OSDLR_EL1}}              // encoding: [0x89,0x13,0x30,0xd5]
4590*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgprcr_el1|DBGPRCR_EL1}}            // encoding: [0x89,0x14,0x30,0xd5]
4591*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}}        // encoding: [0xc9,0x78,0x30,0xd5]
4592*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}        // encoding: [0xc9,0x79,0x30,0xd5]
4593*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}}      // encoding: [0xc9,0x7e,0x30,0xd5]
4594*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{midr_el1|MIDR_EL1}}               // encoding: [0x09,0x00,0x38,0xd5]
4595*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ccsidr_el1|CCSIDR_EL1}}             // encoding: [0x09,0x00,0x39,0xd5]
4596*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{csselr_el1|CSSELR_EL1}}             // encoding: [0x09,0x00,0x3a,0xd5]
4597*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vpidr_el2|VPIDR_EL2}}              // encoding: [0x09,0x00,0x3c,0xd5]
4598*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{clidr_el1|CLIDR_EL1}}              // encoding: [0x29,0x00,0x39,0xd5]
4599*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ctr_el0|CTR_EL0}}                // encoding: [0x29,0x00,0x3b,0xd5]
4600*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mpidr_el1|MPIDR_EL1}}              // encoding: [0xa9,0x00,0x38,0xd5]
4601*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vmpidr_el2|VMPIDR_EL2}}             // encoding: [0xa9,0x00,0x3c,0xd5]
4602*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{revidr_el1|REVIDR_EL1}}             // encoding: [0xc9,0x00,0x38,0xd5]
4603*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{aidr_el1|AIDR_EL1}}               // encoding: [0xe9,0x00,0x39,0xd5]
4604*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dczid_el0|DCZID_EL0}}              // encoding: [0xe9,0x00,0x3b,0xd5]
4605*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_pfr0_el1|ID_PFR0_EL1}}            // encoding: [0x09,0x01,0x38,0xd5]
4606*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_pfr1_el1|ID_PFR1_EL1}}            // encoding: [0x29,0x01,0x38,0xd5]
4607*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_dfr0_el1|ID_DFR0_EL1}}            // encoding: [0x49,0x01,0x38,0xd5]
4608*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_afr0_el1|ID_AFR0_EL1}}            // encoding: [0x69,0x01,0x38,0xd5]
4609*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_mmfr0_el1|ID_MMFR0_EL1}}           // encoding: [0x89,0x01,0x38,0xd5]
4610*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_mmfr1_el1|ID_MMFR1_EL1}}           // encoding: [0xa9,0x01,0x38,0xd5]
4611*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_mmfr2_el1|ID_MMFR2_EL1}}           // encoding: [0xc9,0x01,0x38,0xd5]
4612*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_mmfr3_el1|ID_MMFR3_EL1}}           // encoding: [0xe9,0x01,0x38,0xd5]
4613*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_mmfr4_el1|ID_MMFR4_EL1}}           // encoding: [0xc9,0x02,0x38,0xd5]
4614*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar0_el1|ID_ISAR0_EL1}}           // encoding: [0x09,0x02,0x38,0xd5]
4615*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar1_el1|ID_ISAR1_EL1}}           // encoding: [0x29,0x02,0x38,0xd5]
4616*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar2_el1|ID_ISAR2_EL1}}           // encoding: [0x49,0x02,0x38,0xd5]
4617*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar3_el1|ID_ISAR3_EL1}}           // encoding: [0x69,0x02,0x38,0xd5]
4618*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar4_el1|ID_ISAR4_EL1}}           // encoding: [0x89,0x02,0x38,0xd5]
4619*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_isar5_el1|ID_ISAR5_EL1}}           // encoding: [0xa9,0x02,0x38,0xd5]
4620*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mvfr0_el1|MVFR0_EL1}}              // encoding: [0x09,0x03,0x38,0xd5]
4621*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mvfr1_el1|MVFR1_EL1}}              // encoding: [0x29,0x03,0x38,0xd5]
4622*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mvfr2_el1|MVFR2_EL1}}              // encoding: [0x49,0x03,0x38,0xd5]
4623*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}}        // encoding: [0x09,0x04,0x38,0xd5]
4624*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}}        // encoding: [0x29,0x04,0x38,0xd5]
4625*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}}        // encoding: [0x09,0x05,0x38,0xd5]
4626*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}}        // encoding: [0x29,0x05,0x38,0xd5]
4627*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}}        // encoding: [0x89,0x05,0x38,0xd5]
4628*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}}        // encoding: [0xa9,0x05,0x38,0xd5]
4629*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}}       // encoding: [0x09,0x06,0x38,0xd5]
4630*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}}       // encoding: [0x29,0x06,0x38,0xd5]
4631*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}}       // encoding: [0x09,0x07,0x38,0xd5]
4632*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}}       // encoding: [0x29,0x07,0x38,0xd5]
4633*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sctlr_el1|SCTLR_EL1}}              // encoding: [0x09,0x10,0x38,0xd5]
4634*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sctlr_el2|SCTLR_EL2}}              // encoding: [0x09,0x10,0x3c,0xd5]
4635*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sctlr_el3|SCTLR_EL3}}              // encoding: [0x09,0x10,0x3e,0xd5]
4636*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{actlr_el1|ACTLR_EL1}}              // encoding: [0x29,0x10,0x38,0xd5]
4637*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{actlr_el2|ACTLR_EL2}}              // encoding: [0x29,0x10,0x3c,0xd5]
4638*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{actlr_el3|ACTLR_EL3}}              // encoding: [0x29,0x10,0x3e,0xd5]
4639*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cpacr_el1|CPACR_EL1}}              // encoding: [0x49,0x10,0x38,0xd5]
4640*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{hcr_el2|HCR_EL2}}                // encoding: [0x09,0x11,0x3c,0xd5]
4641*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{scr_el3|SCR_EL3}}                // encoding: [0x09,0x11,0x3e,0xd5]
4642*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdcr_el2|MDCR_EL2}}               // encoding: [0x29,0x11,0x3c,0xd5]
4643*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sder32_el3|SDER32_EL3}}             // encoding: [0x29,0x11,0x3e,0xd5]
4644*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cptr_el2|CPTR_EL2}}               // encoding: [0x49,0x11,0x3c,0xd5]
4645*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cptr_el3|CPTR_EL3}}               // encoding: [0x49,0x11,0x3e,0xd5]
4646*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{hstr_el2|HSTR_EL2}}               // encoding: [0x69,0x11,0x3c,0xd5]
4647*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{hacr_el2|HACR_EL2}}               // encoding: [0xe9,0x11,0x3c,0xd5]
4648*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mdcr_el3|MDCR_EL3}}               // encoding: [0x29,0x13,0x3e,0xd5]
4649*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ttbr0_el1|TTBR0_EL1}}              // encoding: [0x09,0x20,0x38,0xd5]
4650*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ttbr0_el2|TTBR0_EL2}}              // encoding: [0x09,0x20,0x3c,0xd5]
4651*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ttbr0_el3|TTBR0_EL3}}              // encoding: [0x09,0x20,0x3e,0xd5]
4652*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ttbr1_el1|TTBR1_EL1}}              // encoding: [0x29,0x20,0x38,0xd5]
4653*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tcr_el1|TCR_EL1}}                // encoding: [0x49,0x20,0x38,0xd5]
4654*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tcr_el2|TCR_EL2}}                // encoding: [0x49,0x20,0x3c,0xd5]
4655*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tcr_el3|TCR_EL3}}                // encoding: [0x49,0x20,0x3e,0xd5]
4656*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vttbr_el2|VTTBR_EL2}}              // encoding: [0x09,0x21,0x3c,0xd5]
4657*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vtcr_el2|VTCR_EL2}}               // encoding: [0x49,0x21,0x3c,0xd5]
4658*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dacr32_el2|DACR32_EL2}}             // encoding: [0x09,0x30,0x3c,0xd5]
4659*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{spsr_el1|SPSR_EL1}}               // encoding: [0x09,0x40,0x38,0xd5]
4660*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{spsr_el2|SPSR_EL2}}               // encoding: [0x09,0x40,0x3c,0xd5]
4661*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{spsr_el3|SPSR_EL3}}               // encoding: [0x09,0x40,0x3e,0xd5]
4662*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{elr_el1|ELR_EL1}}                // encoding: [0x29,0x40,0x38,0xd5]
4663*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{elr_el2|ELR_EL2}}                // encoding: [0x29,0x40,0x3c,0xd5]
4664*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{elr_el3|ELR_EL3}}                // encoding: [0x29,0x40,0x3e,0xd5]
4665*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sp_el0|SP_EL0}}                 // encoding: [0x09,0x41,0x38,0xd5]
4666*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sp_el1|SP_EL1}}                 // encoding: [0x09,0x41,0x3c,0xd5]
4667*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{sp_el2|SP_EL2}}                 // encoding: [0x09,0x41,0x3e,0xd5]
4668*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{SPSel|SPSEL}}                  // encoding: [0x09,0x42,0x38,0xd5]
4669*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{nzcv|NZCV}}                   // encoding: [0x09,0x42,0x3b,0xd5]
4670*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{daif|DAIF}}                   // encoding: [0x29,0x42,0x3b,0xd5]
4671*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{CurrentEL|CURRENTEL}}              // encoding: [0x49,0x42,0x38,0xd5]
4672*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{SPSR_irq|SPSR_IRQ}}               // encoding: [0x09,0x43,0x3c,0xd5]
4673*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{SPSR_abt|SPSR_ABT}}               // encoding: [0x29,0x43,0x3c,0xd5]
4674*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{SPSR_und|SPSR_UND}}               // encoding: [0x49,0x43,0x3c,0xd5]
4675*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{SPSR_fiq|SPSR_FIQ}}               // encoding: [0x69,0x43,0x3c,0xd5]
4676*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{fpcr|FPCR}}                   // encoding: [0x09,0x44,0x3b,0xd5]
4677*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{fpsr|FPSR}}                   // encoding: [0x29,0x44,0x3b,0xd5]
4678*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dspsr_el0|DSPSR_EL0}}              // encoding: [0x09,0x45,0x3b,0xd5]
4679*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{dlr_el0|DLR_EL0}}                // encoding: [0x29,0x45,0x3b,0xd5]
4680*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{ifsr32_el2|IFSR32_EL2}}             // encoding: [0x29,0x50,0x3c,0xd5]
4681*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr0_el1|AFSR0_EL1}}              // encoding: [0x09,0x51,0x38,0xd5]
4682*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr0_el2|AFSR0_EL2}}              // encoding: [0x09,0x51,0x3c,0xd5]
4683*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr0_el3|AFSR0_EL3}}              // encoding: [0x09,0x51,0x3e,0xd5]
4684*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr1_el1|AFSR1_EL1}}              // encoding: [0x29,0x51,0x38,0xd5]
4685*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr1_el2|AFSR1_EL2}}              // encoding: [0x29,0x51,0x3c,0xd5]
4686*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{afsr1_el3|AFSR1_EL3}}              // encoding: [0x29,0x51,0x3e,0xd5]
4687*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{esr_el1|ESR_EL1}}                // encoding: [0x09,0x52,0x38,0xd5]
4688*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{esr_el2|ESR_EL2}}                // encoding: [0x09,0x52,0x3c,0xd5]
4689*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{esr_el3|ESR_EL3}}                // encoding: [0x09,0x52,0x3e,0xd5]
4690*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{fpexc32_el2|FPEXC32_EL2}}            // encoding: [0x09,0x53,0x3c,0xd5]
4691*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{far_el1|FAR_EL1}}                // encoding: [0x09,0x60,0x38,0xd5]
4692*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{far_el2|FAR_EL2}}                // encoding: [0x09,0x60,0x3c,0xd5]
4693*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{far_el3|FAR_EL3}}                // encoding: [0x09,0x60,0x3e,0xd5]
4694*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{hpfar_el2|HPFAR_EL2}}              // encoding: [0x89,0x60,0x3c,0xd5]
4695*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{par_el1|PAR_EL1}}                // encoding: [0x09,0x74,0x38,0xd5]
4696*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmcr_el0|PMCR_EL0}}               // encoding: [0x09,0x9c,0x3b,0xd5]
4697*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmcntenset_el0|PMCNTENSET_EL0}}         // encoding: [0x29,0x9c,0x3b,0xd5]
4698*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}}         // encoding: [0x49,0x9c,0x3b,0xd5]
4699*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmovsclr_el0|PMOVSCLR_EL0}}           // encoding: [0x69,0x9c,0x3b,0xd5]
4700*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmselr_el0|PMSELR_EL0}}             // encoding: [0xa9,0x9c,0x3b,0xd5]
4701*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmceid0_el0|PMCEID0_EL0}}            // encoding: [0xc9,0x9c,0x3b,0xd5]
4702*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmceid1_el0|PMCEID1_EL0}}            // encoding: [0xe9,0x9c,0x3b,0xd5]
4703*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmccntr_el0|PMCCNTR_EL0}}            // encoding: [0x09,0x9d,0x3b,0xd5]
4704*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}}         // encoding: [0x29,0x9d,0x3b,0xd5]
4705*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}}          // encoding: [0x49,0x9d,0x3b,0xd5]
4706*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmuserenr_el0|PMUSERENR_EL0}}          // encoding: [0x09,0x9e,0x3b,0xd5]
4707*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmintenset_el1|PMINTENSET_EL1}}         // encoding: [0x29,0x9e,0x38,0xd5]
4708*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmintenclr_el1|PMINTENCLR_EL1}}         // encoding: [0x49,0x9e,0x38,0xd5]
4709*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmovsset_el0|PMOVSSET_EL0}}           // encoding: [0x69,0x9e,0x3b,0xd5]
4710*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mair_el1|MAIR_EL1}}               // encoding: [0x09,0xa2,0x38,0xd5]
4711*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mair_el2|MAIR_EL2}}               // encoding: [0x09,0xa2,0x3c,0xd5]
4712*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{mair_el3|MAIR_EL3}}               // encoding: [0x09,0xa2,0x3e,0xd5]
4713*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{amair_el1|AMAIR_EL1}}              // encoding: [0x09,0xa3,0x38,0xd5]
4714*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{amair_el2|AMAIR_EL2}}              // encoding: [0x09,0xa3,0x3c,0xd5]
4715*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{amair_el3|AMAIR_EL3}}              // encoding: [0x09,0xa3,0x3e,0xd5]
4716*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vbar_el1|VBAR_EL1}}               // encoding: [0x09,0xc0,0x38,0xd5]
4717*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vbar_el2|VBAR_EL2}}               // encoding: [0x09,0xc0,0x3c,0xd5]
4718*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{vbar_el3|VBAR_EL3}}               // encoding: [0x09,0xc0,0x3e,0xd5]
4719*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rvbar_el1|RVBAR_EL1}}              // encoding: [0x29,0xc0,0x38,0xd5]
4720*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rvbar_el2|RVBAR_EL2}}              // encoding: [0x29,0xc0,0x3c,0xd5]
4721*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rvbar_el3|RVBAR_EL3}}              // encoding: [0x29,0xc0,0x3e,0xd5]
4722*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rmr_el1|RMR_EL1}}                // encoding: [0x49,0xc0,0x38,0xd5]
4723*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rmr_el2|RMR_EL2}}                // encoding: [0x49,0xc0,0x3c,0xd5]
4724*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{rmr_el3|RMR_EL3}}                // encoding: [0x49,0xc0,0x3e,0xd5]
4725*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{isr_el1|ISR_EL1}}                // encoding: [0x09,0xc1,0x38,0xd5]
4726*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{contextidr_el1|CONTEXTIDR_EL1}}         // encoding: [0x29,0xd0,0x38,0xd5]
4727*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tpidr_el0|TPIDR_EL0}}              // encoding: [0x49,0xd0,0x3b,0xd5]
4728*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tpidr_el2|TPIDR_EL2}}              // encoding: [0x49,0xd0,0x3c,0xd5]
4729*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tpidr_el3|TPIDR_EL3}}              // encoding: [0x49,0xd0,0x3e,0xd5]
4730*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tpidrro_el0|TPIDRRO_EL0}}            // encoding: [0x69,0xd0,0x3b,0xd5]
4731*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{tpidr_el1|TPIDR_EL1}}              // encoding: [0x89,0xd0,0x38,0xd5]
4732*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntfrq_el0|CNTFRQ_EL0}}             // encoding: [0x09,0xe0,0x3b,0xd5]
4733*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntpct_el0|CNTPCT_EL0}}             // encoding: [0x29,0xe0,0x3b,0xd5]
4734*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntvct_el0|CNTVCT_EL0}}             // encoding: [0x49,0xe0,0x3b,0xd5]
4735*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntvoff_el2|CNTVOFF_EL2}}            // encoding: [0x69,0xe0,0x3c,0xd5]
4736*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntkctl_el1|CNTKCTL_EL1}}            // encoding: [0x09,0xe1,0x38,0xd5]
4737*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cnthctl_el2|CNTHCTL_EL2}}            // encoding: [0x09,0xe1,0x3c,0xd5]
4738*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntp_tval_el0|CNTP_TVAL_EL0}}          // encoding: [0x09,0xe2,0x3b,0xd5]
4739*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}}         // encoding: [0x09,0xe2,0x3c,0xd5]
4740*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}}         // encoding: [0x09,0xe2,0x3f,0xd5]
4741*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntp_ctl_el0|CNTP_CTL_EL0}}           // encoding: [0x29,0xe2,0x3b,0xd5]
4742*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}}          // encoding: [0x29,0xe2,0x3c,0xd5]
4743*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}}          // encoding: [0x29,0xe2,0x3f,0xd5]
4744*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntp_cval_el0|CNTP_CVAL_EL0}}          // encoding: [0x49,0xe2,0x3b,0xd5]
4745*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}}         // encoding: [0x49,0xe2,0x3c,0xd5]
4746*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}}         // encoding: [0x49,0xe2,0x3f,0xd5]
4747*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntv_tval_el0|CNTV_TVAL_EL0}}          // encoding: [0x09,0xe3,0x3b,0xd5]
4748*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntv_ctl_el0|CNTV_CTL_EL0}}           // encoding: [0x29,0xe3,0x3b,0xd5]
4749*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{cntv_cval_el0|CNTV_CVAL_EL0}}          // encoding: [0x49,0xe3,0x3b,0xd5]
4750*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}}          // encoding: [0x09,0xe8,0x3b,0xd5]
4751*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}}          // encoding: [0x29,0xe8,0x3b,0xd5]
4752*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}}          // encoding: [0x49,0xe8,0x3b,0xd5]
4753*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}}          // encoding: [0x69,0xe8,0x3b,0xd5]
4754*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}}          // encoding: [0x89,0xe8,0x3b,0xd5]
4755*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}}          // encoding: [0xa9,0xe8,0x3b,0xd5]
4756*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}}          // encoding: [0xc9,0xe8,0x3b,0xd5]
4757*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}}          // encoding: [0xe9,0xe8,0x3b,0xd5]
4758*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}}          // encoding: [0x09,0xe9,0x3b,0xd5]
4759*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}}          // encoding: [0x29,0xe9,0x3b,0xd5]
4760*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}}         // encoding: [0x49,0xe9,0x3b,0xd5]
4761*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}}         // encoding: [0x69,0xe9,0x3b,0xd5]
4762*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}}         // encoding: [0x89,0xe9,0x3b,0xd5]
4763*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}}         // encoding: [0xa9,0xe9,0x3b,0xd5]
4764*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}}         // encoding: [0xc9,0xe9,0x3b,0xd5]
4765*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}}         // encoding: [0xe9,0xe9,0x3b,0xd5]
4766*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}}         // encoding: [0x09,0xea,0x3b,0xd5]
4767*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}}         // encoding: [0x29,0xea,0x3b,0xd5]
4768*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}}         // encoding: [0x49,0xea,0x3b,0xd5]
4769*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}}         // encoding: [0x69,0xea,0x3b,0xd5]
4770*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}}         // encoding: [0x89,0xea,0x3b,0xd5]
4771*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}}         // encoding: [0xa9,0xea,0x3b,0xd5]
4772*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}}         // encoding: [0xc9,0xea,0x3b,0xd5]
4773*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}}         // encoding: [0xe9,0xea,0x3b,0xd5]
4774*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}}         // encoding: [0x09,0xeb,0x3b,0xd5]
4775*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}}         // encoding: [0x29,0xeb,0x3b,0xd5]
4776*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}}         // encoding: [0x49,0xeb,0x3b,0xd5]
4777*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}}         // encoding: [0x69,0xeb,0x3b,0xd5]
4778*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}}         // encoding: [0x89,0xeb,0x3b,0xd5]
4779*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}}         // encoding: [0xa9,0xeb,0x3b,0xd5]
4780*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}}         // encoding: [0xc9,0xeb,0x3b,0xd5]
4781*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmccfiltr_el0|PMCCFILTR_EL0}}          // encoding: [0xe9,0xef,0x3b,0xd5]
4782*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}}         // encoding: [0x09,0xec,0x3b,0xd5]
4783*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}}         // encoding: [0x29,0xec,0x3b,0xd5]
4784*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}}         // encoding: [0x49,0xec,0x3b,0xd5]
4785*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}}         // encoding: [0x69,0xec,0x3b,0xd5]
4786*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}}         // encoding: [0x89,0xec,0x3b,0xd5]
4787*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}}         // encoding: [0xa9,0xec,0x3b,0xd5]
4788*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}}         // encoding: [0xc9,0xec,0x3b,0xd5]
4789*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}}         // encoding: [0xe9,0xec,0x3b,0xd5]
4790*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}}         // encoding: [0x09,0xed,0x3b,0xd5]
4791*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}}         // encoding: [0x29,0xed,0x3b,0xd5]
4792*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}}        // encoding: [0x49,0xed,0x3b,0xd5]
4793*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}}        // encoding: [0x69,0xed,0x3b,0xd5]
4794*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}}        // encoding: [0x89,0xed,0x3b,0xd5]
4795*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}}        // encoding: [0xa9,0xed,0x3b,0xd5]
4796*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}}        // encoding: [0xc9,0xed,0x3b,0xd5]
4797*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}}        // encoding: [0xe9,0xed,0x3b,0xd5]
4798*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}}        // encoding: [0x09,0xee,0x3b,0xd5]
4799*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}}        // encoding: [0x29,0xee,0x3b,0xd5]
4800*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}}        // encoding: [0x49,0xee,0x3b,0xd5]
4801*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}}        // encoding: [0x69,0xee,0x3b,0xd5]
4802*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}}        // encoding: [0x89,0xee,0x3b,0xd5]
4803*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}}        // encoding: [0xa9,0xee,0x3b,0xd5]
4804*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}}        // encoding: [0xc9,0xee,0x3b,0xd5]
4805*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}}        // encoding: [0xe9,0xee,0x3b,0xd5]
4806*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}}        // encoding: [0x09,0xef,0x3b,0xd5]
4807*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}}        // encoding: [0x29,0xef,0x3b,0xd5]
4808*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}}        // encoding: [0x49,0xef,0x3b,0xd5]
4809*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}}        // encoding: [0x69,0xef,0x3b,0xd5]
4810*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}}        // encoding: [0x89,0xef,0x3b,0xd5]
4811*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}}        // encoding: [0xa9,0xef,0x3b,0xd5]
4812*9880d681SAndroid Build Coastguard Worker// CHECK: mrs      x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}}        // encoding: [0xc9,0xef,0x3b,0xd5]
4813*9880d681SAndroid Build Coastguard Worker
4814*9880d681SAndroid Build Coastguard Worker        mrs x12, s3_7_c15_c1_5
4815*9880d681SAndroid Build Coastguard Worker        mrs x13, s3_2_c11_c15_7
4816*9880d681SAndroid Build Coastguard Worker        mrs x14, s1_3_c9_c2_1
4817*9880d681SAndroid Build Coastguard Worker        msr s3_0_c15_c0_0, x12
4818*9880d681SAndroid Build Coastguard Worker        msr s3_7_c11_c13_7, x5
4819*9880d681SAndroid Build Coastguard Worker        msr s1_3_c9_c2_1, x4
4820*9880d681SAndroid Build Coastguard Worker// CHECK: mrs     x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}}      // encoding: [0xac,0xf1,0x3f,0xd5]
4821*9880d681SAndroid Build Coastguard Worker// CHECK: mrs     x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}}    // encoding: [0xed,0xbf,0x3a,0xd5]
4822*9880d681SAndroid Build Coastguard Worker// CHECK: mrs     x14, {{s1_3_c9_c2_1|S1_3_C9_C2_1}}        // encoding: [0x2e,0x92,0x2b,0xd5]
4823*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12      // encoding: [0x0c,0xf0,0x18,0xd5]
4824*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5     // encoding: [0xe5,0xbd,0x1f,0xd5]
4825*9880d681SAndroid Build Coastguard Worker// CHECK: msr     {{s1_3_c9_c2_1|S1_3_C9_C2_1}}, x4         // encoding: [0x24,0x92,0x0b,0xd5]
4826*9880d681SAndroid Build Coastguard Worker
4827*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4828*9880d681SAndroid Build Coastguard Worker// Unconditional branch (immediate)
4829*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4830*9880d681SAndroid Build Coastguard Worker
4831*9880d681SAndroid Build Coastguard Worker        tbz x5, #0, somewhere
4832*9880d681SAndroid Build Coastguard Worker        tbz xzr, #63, elsewhere
4833*9880d681SAndroid Build Coastguard Worker        tbnz x5, #45, nowhere
4834*9880d681SAndroid Build Coastguard Worker
4835*9880d681SAndroid Build Coastguard Worker// CHECK: tbz    w5, #0, somewhere       // encoding: [0bAAA00101,A,0b00000AAA,0x36]
4836*9880d681SAndroid Build Coastguard Worker// CHECK:                                //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_pcrel_branch14
4837*9880d681SAndroid Build Coastguard Worker// CHECK: tbz    xzr, #63, elsewhere     // encoding: [0bAAA11111,A,0b11111AAA,0xb6]
4838*9880d681SAndroid Build Coastguard Worker// CHECK:                                //   fixup A - offset: 0, value: elsewhere, kind: fixup_aarch64_pcrel_branch14
4839*9880d681SAndroid Build Coastguard Worker// CHECK: tbnz   x5, #45, nowhere        // encoding: [0bAAA00101,A,0b01101AAA,0xb7]
4840*9880d681SAndroid Build Coastguard Worker// CHECK:                                //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_pcrel_branch14
4841*9880d681SAndroid Build Coastguard Worker
4842*9880d681SAndroid Build Coastguard Worker
4843*9880d681SAndroid Build Coastguard Worker        tbnz w3, #2, there
4844*9880d681SAndroid Build Coastguard Worker        tbnz wzr, #31, nowhere
4845*9880d681SAndroid Build Coastguard Worker        tbz w5, #12, anywhere
4846*9880d681SAndroid Build Coastguard Worker
4847*9880d681SAndroid Build Coastguard Worker// CHECK: tbnz    w3, #2, there           // encoding: [0bAAA00011,A,0b00010AAA,0x37]
4848*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: there, kind: fixup_aarch64_pcrel_branch14
4849*9880d681SAndroid Build Coastguard Worker// CHECK: tbnz    wzr, #31, nowhere       // encoding: [0bAAA11111,A,0b11111AAA,0x37]
4850*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: nowhere, kind: fixup_aarch64_pcrel_branch14
4851*9880d681SAndroid Build Coastguard Worker// CHECK: tbz     w5, #12, anywhere       // encoding: [0bAAA00101,A,0b01100AAA,0x36]
4852*9880d681SAndroid Build Coastguard Worker// CHECK:                                 //   fixup A - offset: 0, value: anywhere, kind: fixup_aarch64_pcrel_branch14
4853*9880d681SAndroid Build Coastguard Worker
4854*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4855*9880d681SAndroid Build Coastguard Worker// Unconditional branch (immediate)
4856*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4857*9880d681SAndroid Build Coastguard Worker
4858*9880d681SAndroid Build Coastguard Worker        b somewhere
4859*9880d681SAndroid Build Coastguard Worker        bl elsewhere
4860*9880d681SAndroid Build Coastguard Worker
4861*9880d681SAndroid Build Coastguard Worker// CHECK: b    somewhere               // encoding: [A,A,A,0b000101AA]
4862*9880d681SAndroid Build Coastguard Worker// CHECK:                              //   fixup A - offset: 0, value: somewhere, kind: fixup_aarch64_pcrel_branch26
4863*9880d681SAndroid Build Coastguard Worker// CHECK: bl    elsewhere               // encoding: [A,A,A,0b100101AA]
4864*9880d681SAndroid Build Coastguard Worker// CHECK:                               //   fixup A - offset: 0, value: elsewhere, kind: fixup_aarch64_pcrel_call26
4865*9880d681SAndroid Build Coastguard Worker
4866*9880d681SAndroid Build Coastguard Worker        b #4
4867*9880d681SAndroid Build Coastguard Worker        bl #0
4868*9880d681SAndroid Build Coastguard Worker        b #134217724
4869*9880d681SAndroid Build Coastguard Worker        bl #-134217728
4870*9880d681SAndroid Build Coastguard Worker// CHECK: b       #4                      // encoding: [0x01,0x00,0x00,0x14]
4871*9880d681SAndroid Build Coastguard Worker// CHECK: bl      #0                      // encoding: [0x00,0x00,0x00,0x94]
4872*9880d681SAndroid Build Coastguard Worker// CHECK: b       #134217724              // encoding: [0xff,0xff,0xff,0x15]
4873*9880d681SAndroid Build Coastguard Worker// CHECK: bl      #-134217728             // encoding: [0x00,0x00,0x00,0x96]
4874*9880d681SAndroid Build Coastguard Worker
4875*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4876*9880d681SAndroid Build Coastguard Worker// Unconditional branch (register)
4877*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
4878*9880d681SAndroid Build Coastguard Worker
4879*9880d681SAndroid Build Coastguard Worker        br x20
4880*9880d681SAndroid Build Coastguard Worker        blr xzr
4881*9880d681SAndroid Build Coastguard Worker        ret x10
4882*9880d681SAndroid Build Coastguard Worker// CHECK: br       x20                        // encoding: [0x80,0x02,0x1f,0xd6]
4883*9880d681SAndroid Build Coastguard Worker// CHECK: blr      xzr                        // encoding: [0xe0,0x03,0x3f,0xd6]
4884*9880d681SAndroid Build Coastguard Worker// CHECK: ret      x10                        // encoding: [0x40,0x01,0x5f,0xd6]
4885*9880d681SAndroid Build Coastguard Worker
4886*9880d681SAndroid Build Coastguard Worker        ret
4887*9880d681SAndroid Build Coastguard Worker        eret
4888*9880d681SAndroid Build Coastguard Worker        drps
4889*9880d681SAndroid Build Coastguard Worker// CHECK: ret                                 // encoding: [0xc0,0x03,0x5f,0xd6]
4890*9880d681SAndroid Build Coastguard Worker// CHECK: eret                                // encoding: [0xe0,0x03,0x9f,0xd6]
4891*9880d681SAndroid Build Coastguard Worker// CHECK: drps                                // encoding: [0xe0,0x03,0xbf,0xd6]
4892*9880d681SAndroid Build Coastguard Worker
4893