Commit | Line | Data |
---|---|---|
bc33f5f9 RS |
1 | // Instructions in this file are invalid unless explicitly marked "OK". |
2 | // Other files provide more extensive testing of valid instructions; | |
3 | // the only purpose of the valid instructions in this file is to show | |
4 | // that the general form of the operands is correct. | |
5 | ||
6 | fmov z1, z2 | |
7 | fmov z1, #1.0 | |
8 | fmov z1, #0.0 | |
9 | ||
10 | not z0.s,p1/ | |
11 | not z0.s,p1/,z2.s | |
12 | not z0.s,p1/c,z2.s | |
13 | ||
14 | movprfx z0.h, z1.h | |
15 | movprfx z0, z1.h | |
16 | movprfx z0.h, z1 | |
17 | movprfx z0.h, z1.s | |
18 | ||
19 | movprfx z0, p1/m, z1 | |
20 | movprfx z0, p1/z, z1 | |
21 | movprfx z0.b, p1/m, z1 | |
22 | movprfx z0.b, p1/z, z1 | |
23 | ||
24 | movprfx z0, p1/m, z1.b | |
25 | movprfx z0, p1/z, z1.b | |
26 | movprfx z0.h, p1/m, z1.b | |
27 | movprfx z0.h, p1/z, z1.b | |
28 | movprfx z0.b, p1, z1.b | |
29 | ||
30 | movprfx p0, p1 | |
31 | ||
32 | ldr p0.b, [x1] | |
33 | ldr z0.b, [x1] | |
34 | ||
35 | str p0.b, [x1] | |
36 | str z0.b, [x1] | |
37 | ||
38 | mov z0, b0 | |
39 | mov z0, z1 | |
40 | mov p0, p1 | |
41 | ||
42 | add z0, z0, z2 | |
43 | add z0, z0, #2 | |
44 | add z0, z1, z2 | |
45 | add z0, z1, #1 | |
46 | add z0.b, z1.b, #1 | |
47 | add z0.b, z0.h, #1 | |
48 | ||
49 | mov z0.b, z32.b | |
50 | mov p0.b, p16.b | |
51 | ||
52 | cmpeq p0.b, p8/z, z1.b, z2.b | |
53 | cmpeq p0.b, p15/z, z1.b, z2.b | |
54 | ||
55 | ld1w z0.s, p0, [x0] | |
56 | ld1w z0.s, p0/m, [x0] | |
57 | cmpeq p0.b, p0, z1.b, z2.b | |
58 | cmpeq p0.b, p0/m, z1.b, z2.b | |
59 | add z0.s, p0, z0.s, z1.s | |
60 | add z0.s, p0/z, z0.s, z1.s | |
61 | st1w z0.s, p0/z, [x0] | |
62 | st1w z0.s, p0/m, [x0] | |
63 | ||
64 | ld1b z0, p1/z, [x1] | |
65 | ld1h z0, p1/z, [x1] | |
66 | ld1w z0, p1/z, [x1] | |
67 | ld1d z0, p1/z, [x1] | |
68 | ||
69 | ldff1b z0, p1/z, [x1, xzr] | |
70 | ldff1h z0, p1/z, [x1, xzr, lsl #1] | |
71 | ldff1w z0, p1/z, [x1, xzr, lsl #2] | |
72 | ldff1d z0, p1/z, [x1, xzr, lsl #3] | |
73 | ||
74 | ldnf1b z0, p1/z, [x1] | |
75 | ldnf1h z0, p1/z, [x1] | |
76 | ldnf1w z0, p1/z, [x1] | |
77 | ldnf1d z0, p1/z, [x1] | |
78 | ||
79 | ldnt1b z0, p1/z, [x1] | |
80 | ldnt1h z0, p1/z, [x1] | |
81 | ldnt1w z0, p1/z, [x1] | |
82 | ldnt1d z0, p1/z, [x1] | |
83 | ||
84 | st1b z0, p1/z, [x1] | |
85 | st1h z0, p1/z, [x1] | |
86 | st1w z0, p1/z, [x1] | |
87 | st1d z0, p1/z, [x1] | |
88 | ||
89 | stnt1b z0, p1/z, [x1] | |
90 | stnt1h z0, p1/z, [x1] | |
91 | stnt1w z0, p1/z, [x1] | |
92 | stnt1d z0, p1/z, [x1] | |
93 | ||
94 | ld1b {z0}, p1/z, [x1] | |
95 | ld1h {z0}, p1/z, [x1] | |
96 | ld1w {z0}, p1/z, [x1] | |
97 | ld1d {z0}, p1/z, [x1] | |
98 | ||
99 | ldff1b {z0}, p1/z, [x1, xzr] | |
100 | ldff1h {z0}, p1/z, [x1, xzr, lsl #1] | |
101 | ldff1w {z0}, p1/z, [x1, xzr, lsl #2] | |
102 | ldff1d {z0}, p1/z, [x1, xzr, lsl #3] | |
103 | ||
104 | ldnf1b {z0}, p1/z, [x1] | |
105 | ldnf1h {z0}, p1/z, [x1] | |
106 | ldnf1w {z0}, p1/z, [x1] | |
107 | ldnf1d {z0}, p1/z, [x1] | |
108 | ||
109 | ldnt1b {z0}, p1/z, [x1] | |
110 | ldnt1h {z0}, p1/z, [x1] | |
111 | ldnt1w {z0}, p1/z, [x1] | |
112 | ldnt1d {z0}, p1/z, [x1] | |
113 | ||
114 | st1b {z0}, p1/z, [x1] | |
115 | st1h {z0}, p1/z, [x1] | |
116 | st1w {z0}, p1/z, [x1] | |
117 | st1d {z0}, p1/z, [x1] | |
118 | ||
119 | stnt1b {z0}, p1/z, [x1] | |
120 | stnt1h {z0}, p1/z, [x1] | |
121 | stnt1w {z0}, p1/z, [x1] | |
122 | stnt1d {z0}, p1/z, [x1] | |
123 | ||
124 | ld1b {x0}, p1/z, [x1] | |
125 | ld1b {b0}, p1/z, [x1] | |
126 | ld1b {h0}, p1/z, [x1] | |
127 | ld1b {s0}, p1/z, [x1] | |
128 | ld1b {d0}, p1/z, [x1] | |
129 | ld1b {v0.2s}, p1/z, [x1] | |
130 | ||
131 | ld2b {z0.b, z1}, p1/z, [x1] | |
132 | ld2b {z0.b, z1.h}, p1/z, [x1] | |
133 | ld2b {z0.b, z1.s}, p1/z, [x1] | |
134 | ld2b {z0.b, z1.d}, p1/z, [x1] | |
135 | ld2b {z0.h, z1}, p1/z, [x1] | |
136 | ld2b {z0.h, z1.s}, p1/z, [x1] | |
137 | ld2b {z0.h, z1.d}, p1/z, [x1] | |
138 | ld2b {z0.s, z1}, p1/z, [x1] | |
139 | ld2b {z0.s, z1.d}, p1/z, [x1] | |
140 | ld2b {z0.d, z1}, p1/z, [x1] | |
141 | ||
142 | ld1b z0.b, p1/z, [x1, #-9, mul vl] | |
143 | ld1b z0.b, p1/z, [x1, #-8, mul vl] // OK | |
144 | ld1b z0.b, p1/z, [x1, #0, mul #1] | |
145 | ld1b z0.b, p1/z, [x1, #0, mul vl #1] | |
146 | ld1b z0.b, p1/z, [x1, #foo, mul vl] | |
147 | ld1b z0.b, p1/z, [x1, #1] | |
148 | ld1b z0.b, p1/z, [x1, #7, mul vl] // OK | |
149 | ld1b z0.b, p1/z, [x1, #7, mul vl]! | |
150 | ld1b z0.b, p1/z, [x1, #8, mul vl] | |
151 | ||
152 | ld2b {z0.b, z1.b}, p1/z, [x1, #-18, mul vl] | |
153 | ld2b {z0.b, z1.b}, p1/z, [x1, #-17, mul vl] | |
154 | ld2b {z0.b, z1.b}, p1/z, [x1, #-16, mul vl] // OK | |
155 | ld2b {z0.b, z1.b}, p1/z, [x1, #foo, mul vl] | |
156 | ld2b {z0.b, z1.b}, p1/z, [x1, #1, mul vl] | |
157 | ld2b {z0.b, z1.b}, p1/z, [x1, #14, mul vl] // OK | |
158 | ld2b {z0.b, z1.b}, p1/z, [x1, #14, mul vl]! | |
159 | ld2b {z0.b, z1.b}, p1/z, [x1, #16, mul vl] | |
160 | ||
161 | ld3b {z0.b-z2.b}, p1/z, [x1, #-27, mul vl] | |
162 | ld3b {z0.b-z2.b}, p1/z, [x1, #-26, mul vl] | |
163 | ld3b {z0.b-z2.b}, p1/z, [x1, #-25, mul vl] | |
164 | ld3b {z0.b-z2.b}, p1/z, [x1, #-24, mul vl] // OK | |
165 | ld3b {z0.b-z2.b}, p1/z, [x1, #foo, mul vl] | |
166 | ld3b {z0.b-z2.b}, p1/z, [x1, #1, mul vl] | |
167 | ld3b {z0.b-z2.b}, p1/z, [x1, #2, mul vl] | |
168 | ld3b {z0.b-z2.b}, p1/z, [x1, #21, mul vl] // OK | |
169 | ld3b {z0.b-z2.b}, p1/z, [x1, #21, mul vl]! | |
170 | ld3b {z0.b-z2.b}, p1/z, [x1, #24, mul vl] | |
171 | ||
172 | ld4b {z0.b-z3.b}, p1/z, [x1, #-36, mul vl] | |
173 | ld4b {z0.b-z3.b}, p1/z, [x1, #-35, mul vl] | |
174 | ld4b {z0.b-z3.b}, p1/z, [x1, #-34, mul vl] | |
175 | ld4b {z0.b-z3.b}, p1/z, [x1, #-33, mul vl] | |
176 | ld4b {z0.b-z3.b}, p1/z, [x1, #-32, mul vl] // OK | |
177 | ld4b {z0.b-z3.b}, p1/z, [x1, #foo, mul vl] | |
178 | ld4b {z0.b-z3.b}, p1/z, [x1, #1, mul vl] | |
179 | ld4b {z0.b-z3.b}, p1/z, [x1, #2, mul vl] | |
180 | ld4b {z0.b-z3.b}, p1/z, [x1, #3, mul vl] | |
181 | ld4b {z0.b-z3.b}, p1/z, [x1, #28, mul vl] // OK | |
182 | ld4b {z0.b-z3.b}, p1/z, [x1, #28, mul vl]! | |
183 | ld4b {z0.b-z3.b}, p1/z, [x1, #32, mul vl] | |
184 | ||
185 | prfb pldl1keep, p1, [x1, #-33, mul vl] | |
186 | prfb pldl1keep, p1, [x1, #-32, mul vl] // OK | |
187 | prfb pldl1keep, p1, [x1, #foo, mul vl] | |
188 | prfb pldl1keep, p1, [x1, #1] | |
189 | prfb pldl1keep, p1, [x1, #31, mul vl] // OK | |
190 | prfb pldl1keep, p1, [x1, #31, mul vl]! | |
191 | prfb pldl1keep, p1, [x1, #32, mul vl] | |
192 | ||
193 | ldr z0, [x1, #-257, mul vl] | |
194 | ldr z0, [x1, #-256, mul vl] // OK | |
195 | ldr z0, [x1, #foo, mul vl] | |
196 | ldr z0, [x1, #1] | |
197 | ldr z0, [x1, #255, mul vl] // OK | |
198 | ldr z0, [x1, #255, mul vl]! | |
199 | ldr z0, [x1, #256, mul vl] | |
200 | ||
201 | ld1rb z0.b, p1/z, [x1, #-1] | |
202 | ld1rb z0.b, p1/z, [x1, #0] // OK | |
203 | ld1rb z0.b, p1/z, [x1, #foo] | |
204 | ld1rb z0.b, p1/z, [x1, #1,mul vl] | |
205 | ld1rb z0.b, p1/z, [x1, #63] // OK | |
206 | ld1rb z0.b, p1/z, [x1, #63]! | |
207 | ld1rb z0.b, p1/z, [x1], #63 | |
208 | ld1rb z0.b, p1/z, [x1, #64] | |
209 | ||
210 | ld1rh z0.h, p1/z, [x1, #-2] | |
211 | ld1rh z0.h, p1/z, [x1, #-1] | |
212 | ld1rh z0.h, p1/z, [x1, #0] // OK | |
213 | ld1rh z0.h, p1/z, [x1, #foo] | |
214 | ld1rh z0.h, p1/z, [x1, #1] | |
215 | ld1rh z0.h, p1/z, [x1, #2,mul vl] | |
216 | ld1rh z0.h, p1/z, [x1, #126] // OK | |
217 | ld1rh z0.h, p1/z, [x1, #126]! | |
218 | ld1rh z0.h, p1/z, [x1], #126 | |
219 | ld1rh z0.h, p1/z, [x1, #128] | |
220 | ||
221 | ld1rw z0.s, p1/z, [x1, #-4] | |
222 | ld1rw z0.s, p1/z, [x1, #-1] | |
223 | ld1rw z0.s, p1/z, [x1, #0] // OK | |
224 | ld1rw z0.s, p1/z, [x1, #foo] | |
225 | ld1rw z0.s, p1/z, [x1, #1] | |
226 | ld1rw z0.s, p1/z, [x1, #2] | |
227 | ld1rw z0.s, p1/z, [x1, #4,mul vl] | |
228 | ld1rw z0.s, p1/z, [x1, #252] // OK | |
229 | ld1rw z0.s, p1/z, [x1, #252]! | |
230 | ld1rw z0.s, p1/z, [x1], #252 | |
231 | ld1rw z0.s, p1/z, [x1, #256] | |
232 | ||
233 | ld1rd z0.d, p1/z, [x1, #-8] | |
234 | ld1rd z0.d, p1/z, [x1, #-1] | |
235 | ld1rd z0.d, p1/z, [x1, #0] // OK | |
236 | ld1rd z0.d, p1/z, [x1, #foo] | |
237 | ld1rd z0.d, p1/z, [x1, #1] | |
238 | ld1rd z0.d, p1/z, [x1, #2] | |
239 | ld1rd z0.d, p1/z, [x1, #4] | |
240 | ld1rd z0.d, p1/z, [x1, #8,mul vl] | |
241 | ld1rd z0.d, p1/z, [x1, #504] // OK | |
242 | ld1rd z0.d, p1/z, [x1, #504]! | |
243 | ld1rd z0.d, p1/z, [x1], #504 | |
244 | ld1rd z0.d, p1/z, [x1, #512] | |
245 | ||
246 | ld1b z0.b, p1/z, [x1,x2] // OK | |
247 | ld1b z0.b, p1/z, [x1,x2]! | |
248 | ld1b z0.b, p1/z, [x1], x2 | |
249 | ld1b z0.b, p1/z, [x1,x2,lsl #1] | |
250 | ld1b z0.b, p1/z, [x1,x2,lsl #2] | |
251 | ld1b z0.b, p1/z, [x1,x2,lsl #3] | |
252 | ld1b z0.b, p1/z, [x1,x2,lsl x3] | |
253 | ld1b z0.b, p1/z, [x1,w2,sxtw] | |
254 | ld1b z0.b, p1/z, [x1,w2,uxtw] | |
255 | ||
256 | ld1h z0.h, p1/z, [x1,x2] | |
257 | ld1h z0.h, p1/z, [x1,x2,lsl #1] // OK | |
258 | ld1h z0.h, p1/z, [x1,x2,lsl #1]! | |
259 | ld1h z0.h, p1/z, [x1,x2,lsl #2] | |
260 | ld1h z0.h, p1/z, [x1,x2,lsl #3] | |
261 | ld1h z0.h, p1/z, [x1,x2,lsl x3] | |
262 | ld1h z0.h, p1/z, [x1,w2,sxtw] | |
263 | ld1h z0.h, p1/z, [x1,w2,uxtw] | |
264 | ||
265 | ld1w z0.s, p1/z, [x1,x2] | |
266 | ld1w z0.s, p1/z, [x1,x2,lsl #1] | |
267 | ld1w z0.s, p1/z, [x1,x2,lsl #2] // OK | |
268 | ld1w z0.s, p1/z, [x1,x2,lsl #2]! | |
269 | ld1w z0.s, p1/z, [x1,x2,lsl #3] | |
270 | ld1w z0.s, p1/z, [x1,x2,lsl x3] | |
271 | ld1w z0.s, p1/z, [x1,w2,sxtw] | |
272 | ld1w z0.s, p1/z, [x1,w2,uxtw] | |
273 | ||
274 | ld1d z0.d, p1/z, [x1,x2] | |
275 | ld1d z0.d, p1/z, [x1,x2,lsl #1] | |
276 | ld1d z0.d, p1/z, [x1,x2,lsl #2] | |
277 | ld1d z0.d, p1/z, [x1,x2,lsl #3] // OK | |
278 | ld1d z0.d, p1/z, [x1,x2,lsl #3]! | |
279 | ld1d z0.d, p1/z, [x1,x2,lsl x3] | |
280 | ld1d z0.d, p1/z, [x1,w2,sxtw] | |
281 | ld1d z0.d, p1/z, [x1,w2,uxtw] | |
282 | ||
283 | ld1b z0.d, p1/z, [x1,z2.d] // OK | |
284 | ld1b z0.d, p1/z, [x1,z2.d,lsl #1] | |
285 | ld1b z0.d, p1/z, [x1,z2.d,lsl #2] | |
286 | ld1b z0.d, p1/z, [x1,z2.d,lsl #3] | |
287 | ld1b z0.d, p1/z, [x1,z2.d,lsl x3] | |
288 | ||
289 | ld1h z0.d, p1/z, [x1,z2.d] // OK | |
290 | ld1h z0.d, p1/z, [x1,z2.d,lsl #1] // OK | |
291 | ld1h z0.d, p1/z, [x1,z2.d,lsl #2] | |
292 | ld1h z0.d, p1/z, [x1,z2.d,lsl #3] | |
293 | ld1h z0.d, p1/z, [x1,z2.d,lsl x3] | |
294 | ||
295 | ld1w z0.d, p1/z, [x1,z2.d] // OK | |
296 | ld1w z0.d, p1/z, [x1,z2.d,lsl #1] | |
297 | ld1w z0.d, p1/z, [x1,z2.d,lsl #2] // OK | |
298 | ld1w z0.d, p1/z, [x1,z2.d,lsl #3] | |
299 | ld1w z0.d, p1/z, [x1,z2.d,lsl x3] | |
300 | ||
301 | ld1d z0.d, p1/z, [x1,z2.d] // OK | |
302 | ld1d z0.d, p1/z, [x1,z2.d,lsl #1] | |
303 | ld1d z0.d, p1/z, [x1,z2.d,lsl #2] | |
304 | ld1d z0.d, p1/z, [x1,z2.d,lsl #3] // OK | |
305 | ld1d z0.d, p1/z, [x1,z2.d,lsl x3] | |
306 | ||
307 | ld1b z0.s, p1/z, [x1,z2.s,sxtw] // OK | |
308 | ld1b z0.s, p1/z, [x1,z2.s,sxtw #1] | |
309 | ld1b z0.s, p1/z, [x1,z2.s,sxtw #2] | |
310 | ld1b z0.s, p1/z, [x1,z2.s,sxtw #3] | |
311 | ld1b z0.s, p1/z, [x1,z2.s,sxtw x3] | |
312 | ||
313 | ld1h z0.s, p1/z, [x1,z2.s,sxtw] // OK | |
314 | ld1h z0.s, p1/z, [x1,z2.s,sxtw #1] // OK | |
315 | ld1h z0.s, p1/z, [x1,z2.s,sxtw #2] | |
316 | ld1h z0.s, p1/z, [x1,z2.s,sxtw #3] | |
317 | ld1h z0.s, p1/z, [x1,z2.s,sxtw x3] | |
318 | ||
319 | ld1w z0.s, p1/z, [x1,z2.s,sxtw] // OK | |
320 | ld1w z0.s, p1/z, [x1,z2.s,sxtw #1] | |
321 | ld1w z0.s, p1/z, [x1,z2.s,sxtw #2] // OK | |
322 | ld1w z0.s, p1/z, [x1,z2.s,sxtw #3] | |
323 | ld1w z0.s, p1/z, [x1,z2.s,sxtw x3] | |
324 | ||
325 | ld1b z0.s, p1/z, [x1,z2.s,uxtw] // OK | |
326 | ld1b z0.s, p1/z, [x1,z2.s,uxtw #1] | |
327 | ld1b z0.s, p1/z, [x1,z2.s,uxtw #2] | |
328 | ld1b z0.s, p1/z, [x1,z2.s,uxtw #3] | |
329 | ld1b z0.s, p1/z, [x1,z2.s,uxtw x3] | |
330 | ||
331 | ld1h z0.s, p1/z, [x1,z2.s,uxtw] // OK | |
332 | ld1h z0.s, p1/z, [x1,z2.s,uxtw #1] // OK | |
333 | ld1h z0.s, p1/z, [x1,z2.s,uxtw #2] | |
334 | ld1h z0.s, p1/z, [x1,z2.s,uxtw #3] | |
335 | ld1h z0.s, p1/z, [x1,z2.s,uxtw x3] | |
336 | ||
337 | ld1w z0.s, p1/z, [x1,z2.s,uxtw] // OK | |
338 | ld1w z0.s, p1/z, [x1,z2.s,uxtw #1] | |
339 | ld1w z0.s, p1/z, [x1,z2.s,uxtw #2] // OK | |
340 | ld1w z0.s, p1/z, [x1,z2.s,uxtw #3] | |
341 | ld1w z0.s, p1/z, [x1,z2.s,uxtw x3] | |
342 | ||
343 | ld1b z0.d, p1/z, [x1,z2.d,sxtw] // OK | |
344 | ld1b z0.d, p1/z, [x1,z2.d,sxtw #1] | |
345 | ld1b z0.d, p1/z, [x1,z2.d,sxtw #2] | |
346 | ld1b z0.d, p1/z, [x1,z2.d,sxtw #3] | |
347 | ld1b z0.d, p1/z, [x1,z2.d,sxtw x3] | |
348 | ||
349 | ld1h z0.d, p1/z, [x1,z2.d,sxtw] // OK | |
350 | ld1h z0.d, p1/z, [x1,z2.d,sxtw #1] // OK | |
351 | ld1h z0.d, p1/z, [x1,z2.d,sxtw #2] | |
352 | ld1h z0.d, p1/z, [x1,z2.d,sxtw #3] | |
353 | ld1h z0.d, p1/z, [x1,z2.d,sxtw x3] | |
354 | ||
355 | ld1w z0.d, p1/z, [x1,z2.d,sxtw] // OK | |
356 | ld1w z0.d, p1/z, [x1,z2.d,sxtw #1] | |
357 | ld1w z0.d, p1/z, [x1,z2.d,sxtw #2] // OK | |
358 | ld1w z0.d, p1/z, [x1,z2.d,sxtw #3] | |
359 | ld1w z0.d, p1/z, [x1,z2.d,sxtw x3] | |
360 | ||
361 | ld1d z0.d, p1/z, [x1,z2.d,sxtw] // OK | |
362 | ld1d z0.d, p1/z, [x1,z2.d,sxtw #1] | |
363 | ld1d z0.d, p1/z, [x1,z2.d,sxtw #2] | |
364 | ld1d z0.d, p1/z, [x1,z2.d,sxtw #3] // OK | |
365 | ld1d z0.d, p1/z, [x1,z2.d,sxtw x3] | |
366 | ||
367 | ld1b z0.d, p1/z, [x1,z2.d,uxtw] // OK | |
368 | ld1b z0.d, p1/z, [x1,z2.d,uxtw #1] | |
369 | ld1b z0.d, p1/z, [x1,z2.d,uxtw #2] | |
370 | ld1b z0.d, p1/z, [x1,z2.d,uxtw #3] | |
371 | ld1b z0.d, p1/z, [x1,z2.d,uxtw x3] | |
372 | ||
373 | ld1h z0.d, p1/z, [x1,z2.d,uxtw] // OK | |
374 | ld1h z0.d, p1/z, [x1,z2.d,uxtw #1] // OK | |
375 | ld1h z0.d, p1/z, [x1,z2.d,uxtw #2] | |
376 | ld1h z0.d, p1/z, [x1,z2.d,uxtw #3] | |
377 | ld1h z0.d, p1/z, [x1,z2.d,uxtw x3] | |
378 | ||
379 | ld1w z0.d, p1/z, [x1,z2.d,uxtw] // OK | |
380 | ld1w z0.d, p1/z, [x1,z2.d,uxtw #1] | |
381 | ld1w z0.d, p1/z, [x1,z2.d,uxtw #2] // OK | |
382 | ld1w z0.d, p1/z, [x1,z2.d,uxtw #3] | |
383 | ld1w z0.d, p1/z, [x1,z2.d,uxtw x3] | |
384 | ||
385 | ld1d z0.d, p1/z, [x1,z2.d,uxtw] // OK | |
386 | ld1d z0.d, p1/z, [x1,z2.d,uxtw #1] | |
387 | ld1d z0.d, p1/z, [x1,z2.d,uxtw #2] | |
388 | ld1d z0.d, p1/z, [x1,z2.d,uxtw #3] // OK | |
389 | ld1d z0.d, p1/z, [x1,z2.d,uxtw x3] | |
390 | ||
391 | ld1b z0.d, p1/z, [z2.d,#-1] | |
392 | ld1b z0.d, p1/z, [z2.d,#0] // OK | |
393 | ld1b z0.d, p1/z, [z2.d,#foo] | |
394 | ld1b z0.d, p1/z, [z2.d,#1,mul vl] | |
395 | ld1b z0.d, p1/z, [z2.d,#31] // OK | |
396 | ld1b z0.d, p1/z, [z2.d,#32] | |
397 | ||
398 | ld1h z0.d, p1/z, [z2.d,#-2] | |
399 | ld1h z0.d, p1/z, [z2.d,#-1] | |
400 | ld1h z0.d, p1/z, [z2.d,#0] // OK | |
401 | ld1h z0.d, p1/z, [z2.d,#foo] | |
402 | ld1h z0.d, p1/z, [z2.d,#1] | |
403 | ld1h z0.d, p1/z, [z2.d,#2,mul vl] | |
404 | ld1h z0.d, p1/z, [z2.d,#62] // OK | |
405 | ld1h z0.d, p1/z, [z2.d,#64] | |
406 | ||
407 | ld1w z0.d, p1/z, [z2.d,#-4] | |
408 | ld1w z0.d, p1/z, [z2.d,#-1] | |
409 | ld1w z0.d, p1/z, [z2.d,#0] // OK | |
410 | ld1w z0.d, p1/z, [z2.d,#foo] | |
411 | ld1w z0.d, p1/z, [z2.d,#1] | |
412 | ld1w z0.d, p1/z, [z2.d,#2] | |
413 | ld1w z0.d, p1/z, [z2.d,#4,mul vl] | |
414 | ld1w z0.d, p1/z, [z2.d,#124] // OK | |
415 | ld1w z0.d, p1/z, [z2.d,#128] | |
416 | ||
417 | ld1d z0.d, p1/z, [z2.d,#-8] | |
418 | ld1d z0.d, p1/z, [z2.d,#-1] | |
419 | ld1d z0.d, p1/z, [z2.d,#0] // OK | |
420 | ld1d z0.d, p1/z, [z2.d,#foo] | |
421 | ld1d z0.d, p1/z, [z2.d,#1] | |
422 | ld1d z0.d, p1/z, [z2.d,#2] | |
423 | ld1d z0.d, p1/z, [z2.d,#4] | |
424 | ld1d z0.d, p1/z, [z2.d,#8,mul vl] | |
425 | ld1d z0.d, p1/z, [z2.d,#248] // OK | |
426 | ld1d z0.d, p1/z, [z2.d,#256] | |
427 | ||
428 | adr z0.s, [z1.s,z2.s,lsl #-1] | |
429 | adr z0.s, [z1.s,z2.s] // OK | |
430 | adr z0.s, [z1.s,z2.s,lsl #1] // OK | |
431 | adr z0.s, [z1.s,z2.s,lsl #2] // OK | |
432 | adr z0.s, [z1.s,z2.s,lsl #3] // OK | |
433 | adr z0.s, [z1.s,z2.s,lsl #4] | |
434 | adr z0.s, [z1.s,z2.s,lsl x3] | |
435 | adr z0.s, [z1.s,z2.d] | |
436 | adr z0.s, [z1.s,x2] | |
437 | adr z0.s, [z1.d,z2.s] | |
438 | adr z0.s, [z1.d,w2] | |
439 | adr z0.s, [x1,z2.s] | |
440 | adr z0.s, [x1,z2.d] | |
441 | adr z0.s, [z1.d,x2] | |
442 | adr z0.s, [x1,x2] | |
443 | ||
444 | adr z0.d, [z1.d,z2.d,lsl #-1] | |
445 | adr z0.d, [z1.d,z2.d] // OK | |
446 | adr z0.d, [z1.d,z2.d,lsl #1] // OK | |
447 | adr z0.d, [z1.d,z2.d,lsl #2] // OK | |
448 | adr z0.d, [z1.d,z2.d,lsl #3] // OK | |
449 | adr z0.d, [z1.d,z2.d,lsl #4] | |
450 | adr z0.d, [z1.d,z2.d,lsl x3] | |
451 | ||
452 | adr z0.s, [z1.s,z2.s,sxtw] | |
453 | ||
454 | adr z0.d, [z1.d,z2.d,sxtw #-1] | |
455 | adr z0.d, [z1.d,z2.d,sxtw] // OK | |
456 | adr z0.d, [z1.d,z2.d,sxtw #1] // OK | |
457 | adr z0.d, [z1.d,z2.d,sxtw #2] // OK | |
458 | adr z0.d, [z1.d,z2.d,sxtw #3] // OK | |
459 | adr z0.d, [z1.d,z2.d,sxtw #4] | |
460 | adr z0.d, [z1.d,z2.d,sxtw x3] | |
461 | ||
462 | adr z0.s, [z1.s,z2.s,uxtw] | |
463 | ||
464 | adr z0.d, [z1.d,z2.d,uxtw #-1] | |
465 | adr z0.d, [z1.d,z2.d,uxtw] // OK | |
466 | adr z0.d, [z1.d,z2.d,uxtw #1] // OK | |
467 | adr z0.d, [z1.d,z2.d,uxtw #2] // OK | |
468 | adr z0.d, [z1.d,z2.d,uxtw #3] // OK | |
469 | adr z0.d, [z1.d,z2.d,uxtw #4] | |
470 | adr z0.d, [z1.d,z2.d,uxtw x3] | |
471 | ||
472 | ld1b z0.b, p0/z, [x1,xzr] | |
473 | ld1b z0.h, p0/z, [x1,xzr] | |
474 | ld1b z0.s, p0/z, [x1,xzr] | |
475 | ld1b z0.d, p0/z, [x1,xzr] | |
476 | ld1sb z0.h, p0/z, [x1,xzr] | |
477 | ld1sb z0.s, p0/z, [x1,xzr] | |
478 | ld1sb z0.d, p0/z, [x1,xzr] | |
479 | ||
480 | ld1h z0.h, p0/z, [x1,xzr,lsl #1] | |
481 | ld1h z0.s, p0/z, [x1,xzr,lsl #1] | |
482 | ld1h z0.d, p0/z, [x1,xzr,lsl #1] | |
483 | ld1sh z0.s, p0/z, [x1,xzr,lsl #1] | |
484 | ld1sh z0.d, p0/z, [x1,xzr,lsl #1] | |
485 | ||
486 | ld1w z0.s, p0/z, [x1,xzr,lsl #2] | |
487 | ld1w z0.d, p0/z, [x1,xzr,lsl #2] | |
488 | ld1sw z0.d, p0/z, [x1,xzr,lsl #2] | |
489 | ||
490 | ld1d z0.d, p0/z, [x1,xzr,lsl #3] | |
491 | ||
492 | ld2b {z0.b-z1.b}, p0/z, [x1,xzr] | |
493 | ld2h {z0.h-z1.h}, p0/z, [x1,xzr,lsl #1] | |
494 | ld2w {z0.s-z1.s}, p0/z, [x1,xzr,lsl #2] | |
495 | ld2d {z0.d-z1.d}, p0/z, [x1,xzr,lsl #3] | |
496 | ||
497 | ld3b {z0.b-z2.b}, p0/z, [x1,xzr] | |
498 | ld3h {z0.h-z2.h}, p0/z, [x1,xzr,lsl #1] | |
499 | ld3w {z0.s-z2.s}, p0/z, [x1,xzr,lsl #2] | |
500 | ld3d {z0.d-z2.d}, p0/z, [x1,xzr,lsl #3] | |
501 | ||
502 | ld4b {z0.b-z3.b}, p0/z, [x1,xzr] | |
503 | ld4h {z0.h-z3.h}, p0/z, [x1,xzr,lsl #1] | |
504 | ld4w {z0.s-z3.s}, p0/z, [x1,xzr,lsl #2] | |
505 | ld4d {z0.d-z3.d}, p0/z, [x1,xzr,lsl #3] | |
506 | ||
507 | ldff1b z0.b, p0/z, [x1,xzr] // OK | |
508 | ldff1b z0.h, p0/z, [x1,xzr] // OK | |
509 | ldff1b z0.s, p0/z, [x1,xzr] // OK | |
510 | ldff1b z0.d, p0/z, [x1,xzr] // OK | |
511 | ldff1sb z0.h, p0/z, [x1,xzr] // OK | |
512 | ldff1sb z0.s, p0/z, [x1,xzr] // OK | |
513 | ldff1sb z0.d, p0/z, [x1,xzr] // OK | |
514 | ||
515 | ldff1h z0.h, p0/z, [x1,xzr,lsl #1] // OK | |
516 | ldff1h z0.s, p0/z, [x1,xzr,lsl #1] // OK | |
517 | ldff1h z0.d, p0/z, [x1,xzr,lsl #1] // OK | |
518 | ldff1sh z0.s, p0/z, [x1,xzr,lsl #1] // OK | |
519 | ldff1sh z0.d, p0/z, [x1,xzr,lsl #1] // OK | |
520 | ||
521 | ldff1w z0.s, p0/z, [x1,xzr,lsl #2] // OK | |
522 | ldff1w z0.d, p0/z, [x1,xzr,lsl #2] // OK | |
523 | ldff1sw z0.d, p0/z, [x1,xzr,lsl #2] // OK | |
524 | ||
525 | ldff1d z0.d, p0/z, [x1,xzr,lsl #3] // OK | |
526 | ||
527 | ldnt1b z0.b, p0/z, [x1,xzr] | |
528 | ldnt1h z0.h, p0/z, [x1,xzr,lsl #1] | |
529 | ldnt1w z0.s, p0/z, [x1,xzr,lsl #2] | |
530 | ldnt1d z0.d, p0/z, [x1,xzr,lsl #3] | |
531 | ||
532 | st1b z0.b, p0, [x1,xzr] | |
533 | st1b z0.h, p0, [x1,xzr] | |
534 | st1b z0.s, p0, [x1,xzr] | |
535 | st1b z0.d, p0, [x1,xzr] | |
536 | ||
537 | st1h z0.h, p0, [x1,xzr,lsl #1] | |
538 | st1h z0.s, p0, [x1,xzr,lsl #1] | |
539 | st1h z0.d, p0, [x1,xzr,lsl #1] | |
540 | ||
541 | st1w z0.s, p0, [x1,xzr,lsl #2] | |
542 | st1w z0.d, p0, [x1,xzr,lsl #2] | |
543 | ||
544 | st1d z0.d, p0, [x1,xzr,lsl #3] | |
545 | ||
546 | st2b {z0.b-z1.b}, p0, [x1,xzr] | |
547 | st2h {z0.h-z1.h}, p0, [x1,xzr,lsl #1] | |
548 | st2w {z0.s-z1.s}, p0, [x1,xzr,lsl #2] | |
549 | st2d {z0.d-z1.d}, p0, [x1,xzr,lsl #3] | |
550 | ||
551 | st3b {z0.b-z2.b}, p0, [x1,xzr] | |
552 | st3h {z0.h-z2.h}, p0, [x1,xzr,lsl #1] | |
553 | st3w {z0.s-z2.s}, p0, [x1,xzr,lsl #2] | |
554 | st3d {z0.d-z2.d}, p0, [x1,xzr,lsl #3] | |
555 | ||
556 | st4b {z0.b-z3.b}, p0, [x1,xzr] | |
557 | st4h {z0.h-z3.h}, p0, [x1,xzr,lsl #1] | |
558 | st4w {z0.s-z3.s}, p0, [x1,xzr,lsl #2] | |
559 | st4d {z0.d-z3.d}, p0, [x1,xzr,lsl #3] | |
560 | ||
561 | stnt1b z0.b, p0, [x1,xzr] | |
562 | stnt1h z0.h, p0, [x1,xzr,lsl #1] | |
563 | stnt1w z0.s, p0, [x1,xzr,lsl #2] | |
564 | stnt1d z0.d, p0, [x1,xzr,lsl #3] | |
565 | ||
566 | prfb pldl1keep, p0, [x1,xzr] | |
567 | prfh pldl1keep, p0, [x1,xzr,lsl #1] | |
568 | prfw pldl1keep, p0, [x1,xzr,lsl #2] | |
569 | prfd pldl1keep, p0, [x1,xzr,lsl #3] | |
570 | ||
571 | add z0.b, z0.b, #-257 | |
572 | add z0.b, z0.b, #-256 // OK | |
573 | add z0.b, z0.b, #255 // OK | |
574 | add z0.b, z0.b, #256 | |
575 | add z0.b, z0.b, #1, lsl #1 | |
576 | add z0.b, z0.b, #0, lsl #8 | |
577 | add z0.b, z0.b, #1, lsl #8 | |
578 | ||
579 | add z0.h, z0.h, #-65537 | |
580 | add z0.h, z0.h, #-65536 + 257 | |
581 | add z0.h, z0.h, #-32767 | |
582 | add z0.h, z0.h, #-32768 + 255 | |
583 | add z0.h, z0.h, #-257 | |
584 | add z0.h, z0.h, #-255 | |
585 | add z0.h, z0.h, #-129 | |
586 | add z0.h, z0.h, #-128 | |
587 | add z0.h, z0.h, #-127 | |
588 | add z0.h, z0.h, #-1 | |
589 | add z0.h, z0.h, #0 // OK | |
590 | add z0.h, z0.h, #256 // OK | |
591 | add z0.h, z0.h, #257 | |
592 | add z0.h, z0.h, #32768-255 | |
593 | add z0.h, z0.h, #32767 | |
594 | add z0.h, z0.h, #65536 - 255 | |
595 | add z0.h, z0.h, #65536 - 129 | |
596 | add z0.h, z0.h, #65536 - 128 | |
597 | add z0.h, z0.h, #65535 | |
598 | add z0.h, z0.h, #65536 | |
599 | add z0.h, z0.h, #1, lsl #1 | |
600 | add z0.h, z0.h, #-257, lsl #8 | |
601 | add z0.h, z0.h, #256, lsl #8 | |
602 | ||
603 | add z0.s, z0.s, #-256 | |
604 | add z0.s, z0.s, #-255 | |
605 | add z0.s, z0.s, #-129 | |
606 | add z0.s, z0.s, #-128 | |
607 | add z0.s, z0.s, #-1 | |
608 | add z0.s, z0.s, #0 // OK | |
609 | add z0.s, z0.s, #256 // OK | |
610 | add z0.s, z0.s, #257 | |
611 | add z0.s, z0.s, #32768-255 | |
612 | add z0.s, z0.s, #32767 | |
613 | add z0.s, z0.s, #65536 | |
614 | add z0.s, z0.s, #0x100000000 | |
615 | add z0.s, z0.s, #1, lsl #1 | |
616 | add z0.s, z0.s, #-1, lsl #8 | |
617 | add z0.s, z0.s, #256, lsl #8 | |
618 | ||
619 | add z0.d, z0.d, #-256 | |
620 | add z0.d, z0.d, #-255 | |
621 | add z0.d, z0.d, #-129 | |
622 | add z0.d, z0.d, #-128 | |
623 | add z0.d, z0.d, #-1 | |
624 | add z0.d, z0.d, #0 // OK | |
625 | add z0.d, z0.d, #256 // OK | |
626 | add z0.d, z0.d, #257 | |
627 | add z0.d, z0.d, #32768-255 | |
628 | add z0.d, z0.d, #32767 | |
629 | add z0.d, z0.d, #65536 | |
630 | add z0.d, z0.d, #0x100000000 | |
631 | add z0.d, z0.d, #1, lsl #1 | |
632 | add z0.d, z0.d, #-1, lsl #8 | |
633 | add z0.d, z0.d, #256, lsl #8 | |
634 | ||
635 | dup z0.b, #-257 | |
636 | dup z0.b, #-256 // OK | |
637 | dup z0.b, #255 // OK | |
638 | dup z0.b, #256 | |
639 | dup z0.b, #1, lsl #1 | |
640 | dup z0.b, #0, lsl #8 | |
641 | dup z0.b, #1, lsl #8 | |
642 | ||
643 | dup z0.h, #-65537 | |
644 | dup z0.h, #-32767 | |
645 | dup z0.h, #-32768 + 255 | |
646 | dup z0.h, #-257 | |
647 | dup z0.h, #-255 | |
648 | dup z0.h, #-129 | |
649 | dup z0.h, #-128 // OK | |
650 | dup z0.h, #127 // OK | |
651 | dup z0.h, #128 | |
652 | dup z0.h, #255 | |
653 | dup z0.h, #257 | |
654 | dup z0.h, #32768-255 | |
655 | dup z0.h, #32767 | |
656 | dup z0.h, #65536 - 255 | |
657 | dup z0.h, #65536 - 129 | |
658 | dup z0.h, #65536 | |
659 | dup z0.h, #1, lsl #1 | |
660 | dup z0.h, #-257, lsl #8 | |
661 | dup z0.h, #256, lsl #8 | |
662 | ||
663 | dup z0.s, #-65536 | |
664 | dup z0.s, #-32769 | |
665 | dup z0.s, #-32767 | |
666 | dup z0.s, #-32768 + 255 | |
667 | dup z0.s, #-257 | |
668 | dup z0.s, #-255 | |
669 | dup z0.s, #-129 | |
670 | dup z0.s, #-128 // OK | |
671 | dup z0.s, #127 // OK | |
672 | dup z0.s, #128 | |
673 | dup z0.s, #255 | |
674 | dup z0.s, #257 | |
675 | dup z0.s, #32768-255 | |
676 | dup z0.s, #32767 | |
677 | dup z0.s, #32768 | |
678 | dup z0.s, #65536 | |
679 | dup z0.s, #0xffffff7f | |
680 | dup z0.s, #0x100000000 | |
681 | dup z0.s, #1, lsl #1 | |
682 | dup z0.s, #-129, lsl #8 | |
683 | dup z0.s, #128, lsl #8 | |
684 | ||
685 | dup z0.d, #-65536 | |
686 | dup z0.d, #-32769 | |
687 | dup z0.d, #-32767 | |
688 | dup z0.d, #-32768 + 255 | |
689 | dup z0.d, #-257 | |
690 | dup z0.d, #-255 | |
691 | dup z0.d, #-129 | |
692 | dup z0.d, #-128 // OK | |
693 | dup z0.d, #127 // OK | |
694 | dup z0.d, #128 | |
695 | dup z0.d, #255 | |
696 | dup z0.d, #257 | |
697 | dup z0.d, #32768-255 | |
698 | dup z0.d, #32767 | |
699 | dup z0.d, #32768 | |
700 | dup z0.d, #65536 | |
701 | dup z0.d, #0xffffff7f | |
702 | dup z0.d, #0x100000000 | |
703 | dup z0.d, #1, lsl #1 | |
704 | dup z0.d, #-129, lsl #8 | |
705 | dup z0.d, #128, lsl #8 | |
706 | ||
707 | and z0.b, z0.b, #0x01 // OK | |
708 | and z0.b, z0.b, #0x0101 | |
709 | and z0.b, z0.b, #0x01010101 | |
710 | and z0.b, z0.b, #0x0101010101010101 | |
711 | and z0.b, z0.b, #0x7f // OK | |
712 | and z0.b, z0.b, #0x7f7f | |
713 | and z0.b, z0.b, #0x7f7f7f7f | |
714 | and z0.b, z0.b, #0x7f7f7f7f7f7f7f7f | |
715 | and z0.b, z0.b, #0x80 // OK | |
716 | and z0.b, z0.b, #0x8080 | |
717 | and z0.b, z0.b, #0x80808080 | |
718 | and z0.b, z0.b, #0x8080808080808080 | |
719 | and z0.b, z0.b, #0xfe // OK | |
720 | and z0.b, z0.b, #0xfefe | |
721 | and z0.b, z0.b, #0xfefefefe | |
722 | and z0.b, z0.b, #0xfefefefefefefefe | |
723 | and z0.b, z0.b, #0x00010001 | |
724 | and z0.b, z0.b, #0x0001000100010001 | |
725 | and z0.b, z0.b, #0x7fff | |
726 | and z0.b, z0.b, #0x7fff7fff | |
727 | and z0.b, z0.b, #0x7fff7fff7fff7fff | |
728 | and z0.b, z0.b, #0x8000 | |
729 | and z0.b, z0.b, #0x80008000 | |
730 | and z0.b, z0.b, #0x8000800080008000 | |
731 | and z0.b, z0.b, #0xfffe | |
732 | and z0.b, z0.b, #0xfffefffe | |
733 | and z0.b, z0.b, #0xfffefffefffefffe | |
734 | and z0.b, z0.b, #0x0000000100000001 | |
735 | and z0.b, z0.b, #0x7fffffff | |
736 | and z0.b, z0.b, #0x7fffffff7fffffff | |
737 | and z0.b, z0.b, #0x80000000 | |
738 | and z0.b, z0.b, #0x8000000080000000 | |
739 | and z0.b, z0.b, #0xfffffffe | |
740 | and z0.b, z0.b, #0xfffffffefffffffe | |
741 | and z0.b, z0.b, #0x7fffffffffffffff | |
742 | and z0.b, z0.b, #0x8000000000000000 | |
743 | and z0.b, z0.b, #0xfffffffffffffffe // OK | |
744 | ||
745 | and z0.h, z0.h, #0x0101 // OK | |
746 | and z0.h, z0.h, #0x01010101 | |
747 | and z0.h, z0.h, #0x0101010101010101 | |
748 | and z0.h, z0.h, #0x7f7f // OK | |
749 | and z0.h, z0.h, #0x7f7f7f7f | |
750 | and z0.h, z0.h, #0x7f7f7f7f7f7f7f7f | |
751 | and z0.h, z0.h, #0x8080 // OK | |
752 | and z0.h, z0.h, #0x80808080 | |
753 | and z0.h, z0.h, #0x8080808080808080 | |
754 | and z0.h, z0.h, #0xfefe // OK | |
755 | and z0.h, z0.h, #0xfefefefe | |
756 | and z0.h, z0.h, #0xfefefefefefefefe | |
757 | and z0.h, z0.h, #0x00010001 | |
758 | and z0.h, z0.h, #0x0001000100010001 | |
759 | and z0.h, z0.h, #0x7fff // OK | |
760 | and z0.h, z0.h, #0x7fff7fff | |
761 | and z0.h, z0.h, #0x7fff7fff7fff7fff | |
762 | and z0.h, z0.h, #0x8000 // OK | |
763 | and z0.h, z0.h, #0x80008000 | |
764 | and z0.h, z0.h, #0x8000800080008000 | |
765 | and z0.h, z0.h, #0xfffe // OK | |
766 | and z0.h, z0.h, #0xfffefffe | |
767 | and z0.h, z0.h, #0xfffefffefffefffe | |
768 | and z0.h, z0.h, #0x0000000100000001 | |
769 | and z0.h, z0.h, #0x7fffffff | |
770 | and z0.h, z0.h, #0x7fffffff7fffffff | |
771 | and z0.h, z0.h, #0x80000000 | |
772 | and z0.h, z0.h, #0x8000000080000000 | |
773 | and z0.h, z0.h, #0xfffffffe | |
774 | and z0.h, z0.h, #0xfffffffefffffffe | |
775 | and z0.h, z0.h, #0x7fffffffffffffff | |
776 | and z0.h, z0.h, #0x8000000000000000 | |
777 | ||
778 | and z0.s, z0.s, #0x01010101 // OK | |
779 | and z0.s, z0.s, #0x0101010101010101 | |
780 | and z0.s, z0.s, #0x7f7f7f7f // OK | |
781 | and z0.s, z0.s, #0x7f7f7f7f7f7f7f7f | |
782 | and z0.s, z0.s, #0x80808080 // OK | |
783 | and z0.s, z0.s, #0x8080808080808080 | |
784 | and z0.s, z0.s, #0xfefefefe // OK | |
785 | and z0.s, z0.s, #0xfefefefefefefefe | |
786 | and z0.s, z0.s, #0x00010001 // OK | |
787 | and z0.s, z0.s, #0x0001000100010001 | |
788 | and z0.s, z0.s, #0x7fff7fff // OK | |
789 | and z0.s, z0.s, #0x7fff7fff7fff7fff | |
790 | and z0.s, z0.s, #0x80008000 // OK | |
791 | and z0.s, z0.s, #0x8000800080008000 | |
792 | and z0.s, z0.s, #0xfffefffe // OK | |
793 | and z0.s, z0.s, #0xfffefffefffefffe | |
794 | and z0.s, z0.s, #0x0000000100000001 | |
795 | and z0.s, z0.s, #0x7fffffff // OK | |
796 | and z0.s, z0.s, #0x7fffffff7fffffff | |
797 | and z0.s, z0.s, #0x80000000 // OK | |
798 | and z0.s, z0.s, #0x8000000080000000 | |
799 | and z0.s, z0.s, #0xfffffffe // OK | |
800 | and z0.s, z0.s, #0xfffffffefffffffe | |
801 | and z0.s, z0.s, #0x7fffffffffffffff | |
802 | and z0.s, z0.s, #0x8000000000000000 | |
803 | ||
804 | and z0.d, z0.d, #0xc // OK | |
805 | and z0.d, z0.d, #0xd | |
806 | and z0.d, z0.d, #0xe // OK | |
807 | ||
808 | bic z0.b, z0.b, #0x01 // OK | |
809 | bic z0.b, z0.b, #0x0101 | |
810 | bic z0.b, z0.b, #0x01010101 | |
811 | bic z0.b, z0.b, #0x0101010101010101 | |
812 | bic z0.b, z0.b, #0x7f // OK | |
813 | bic z0.b, z0.b, #0x7f7f | |
814 | bic z0.b, z0.b, #0x7f7f7f7f | |
815 | bic z0.b, z0.b, #0x7f7f7f7f7f7f7f7f | |
816 | bic z0.b, z0.b, #0x80 // OK | |
817 | bic z0.b, z0.b, #0x8080 | |
818 | bic z0.b, z0.b, #0x80808080 | |
819 | bic z0.b, z0.b, #0x8080808080808080 | |
820 | bic z0.b, z0.b, #0xfe // OK | |
821 | bic z0.b, z0.b, #0xfefe | |
822 | bic z0.b, z0.b, #0xfefefefe | |
823 | bic z0.b, z0.b, #0xfefefefefefefefe | |
824 | bic z0.b, z0.b, #0x00010001 | |
825 | bic z0.b, z0.b, #0x0001000100010001 | |
826 | bic z0.b, z0.b, #0x7fff | |
827 | bic z0.b, z0.b, #0x7fff7fff | |
828 | bic z0.b, z0.b, #0x7fff7fff7fff7fff | |
829 | bic z0.b, z0.b, #0x8000 | |
830 | bic z0.b, z0.b, #0x80008000 | |
831 | bic z0.b, z0.b, #0x8000800080008000 | |
832 | bic z0.b, z0.b, #0xfffe | |
833 | bic z0.b, z0.b, #0xfffefffe | |
834 | bic z0.b, z0.b, #0xfffefffefffefffe | |
835 | bic z0.b, z0.b, #0x0000000100000001 | |
836 | bic z0.b, z0.b, #0x7fffffff | |
837 | bic z0.b, z0.b, #0x7fffffff7fffffff | |
838 | bic z0.b, z0.b, #0x80000000 | |
839 | bic z0.b, z0.b, #0x8000000080000000 | |
840 | bic z0.b, z0.b, #0xfffffffe | |
841 | bic z0.b, z0.b, #0xfffffffefffffffe | |
842 | bic z0.b, z0.b, #0x7fffffffffffffff | |
843 | bic z0.b, z0.b, #0x8000000000000000 | |
844 | bic z0.b, z0.b, #0xfffffffffffffffe // OK | |
845 | ||
846 | bic z0.h, z0.h, #0x0101 // OK | |
847 | bic z0.h, z0.h, #0x01010101 | |
848 | bic z0.h, z0.h, #0x0101010101010101 | |
849 | bic z0.h, z0.h, #0x7f7f // OK | |
850 | bic z0.h, z0.h, #0x7f7f7f7f | |
851 | bic z0.h, z0.h, #0x7f7f7f7f7f7f7f7f | |
852 | bic z0.h, z0.h, #0x8080 // OK | |
853 | bic z0.h, z0.h, #0x80808080 | |
854 | bic z0.h, z0.h, #0x8080808080808080 | |
855 | bic z0.h, z0.h, #0xfefe // OK | |
856 | bic z0.h, z0.h, #0xfefefefe | |
857 | bic z0.h, z0.h, #0xfefefefefefefefe | |
858 | bic z0.h, z0.h, #0x00010001 | |
859 | bic z0.h, z0.h, #0x0001000100010001 | |
860 | bic z0.h, z0.h, #0x7fff // OK | |
861 | bic z0.h, z0.h, #0x7fff7fff | |
862 | bic z0.h, z0.h, #0x7fff7fff7fff7fff | |
863 | bic z0.h, z0.h, #0x8000 // OK | |
864 | bic z0.h, z0.h, #0x80008000 | |
865 | bic z0.h, z0.h, #0x8000800080008000 | |
866 | bic z0.h, z0.h, #0xfffe // OK | |
867 | bic z0.h, z0.h, #0xfffefffe | |
868 | bic z0.h, z0.h, #0xfffefffefffefffe | |
869 | bic z0.h, z0.h, #0x0000000100000001 | |
870 | bic z0.h, z0.h, #0x7fffffff | |
871 | bic z0.h, z0.h, #0x7fffffff7fffffff | |
872 | bic z0.h, z0.h, #0x80000000 | |
873 | bic z0.h, z0.h, #0x8000000080000000 | |
874 | bic z0.h, z0.h, #0xfffffffe | |
875 | bic z0.h, z0.h, #0xfffffffefffffffe | |
876 | bic z0.h, z0.h, #0x7fffffffffffffff | |
877 | bic z0.h, z0.h, #0x8000000000000000 | |
878 | ||
879 | bic z0.s, z0.s, #0x01010101 // OK | |
880 | bic z0.s, z0.s, #0x0101010101010101 | |
881 | bic z0.s, z0.s, #0x7f7f7f7f // OK | |
882 | bic z0.s, z0.s, #0x7f7f7f7f7f7f7f7f | |
883 | bic z0.s, z0.s, #0x80808080 // OK | |
884 | bic z0.s, z0.s, #0x8080808080808080 | |
885 | bic z0.s, z0.s, #0xfefefefe // OK | |
886 | bic z0.s, z0.s, #0xfefefefefefefefe | |
887 | bic z0.s, z0.s, #0x00010001 // OK | |
888 | bic z0.s, z0.s, #0x0001000100010001 | |
889 | bic z0.s, z0.s, #0x7fff7fff // OK | |
890 | bic z0.s, z0.s, #0x7fff7fff7fff7fff | |
891 | bic z0.s, z0.s, #0x80008000 // OK | |
892 | bic z0.s, z0.s, #0x8000800080008000 | |
893 | bic z0.s, z0.s, #0xfffefffe // OK | |
894 | bic z0.s, z0.s, #0xfffefffefffefffe | |
895 | bic z0.s, z0.s, #0x0000000100000001 | |
896 | bic z0.s, z0.s, #0x7fffffff // OK | |
897 | bic z0.s, z0.s, #0x7fffffff7fffffff | |
898 | bic z0.s, z0.s, #0x80000000 // OK | |
899 | bic z0.s, z0.s, #0x8000000080000000 | |
900 | bic z0.s, z0.s, #0xfffffffe // OK | |
901 | bic z0.s, z0.s, #0xfffffffefffffffe | |
902 | bic z0.s, z0.s, #0x7fffffffffffffff | |
903 | bic z0.s, z0.s, #0x8000000000000000 | |
904 | ||
905 | bic z0.d, z0.d, #0xc // OK | |
906 | bic z0.d, z0.d, #0xd | |
907 | bic z0.d, z0.d, #0xe // OK | |
908 | ||
909 | fcmeq p0.s, p1/z, z2.s, #0 // OK | |
910 | fcmeq p0.s, p1/z, z2.s, #0.0 // OK | |
911 | fcmeq p0.s, p1/z, z2.s, #1 | |
912 | fcmeq p0.s, p1/z, z2.s, #1.0 | |
913 | ||
914 | fadd z0.s, p1/m, z0.s, #0 | |
915 | fadd z0.s, p1/m, z0.s, #0.0 | |
916 | fadd z0.s, p1/m, z0.s, #0.5 // OK | |
917 | fadd z0.s, p1/m, z0.s, #1 | |
918 | fadd z0.s, p1/m, z0.s, #1.0 // OK | |
919 | fadd z0.s, p1/m, z0.s, #1.5 | |
920 | fadd z0.s, p1/m, z0.s, #2 | |
921 | fadd z0.s, p1/m, z0.s, #2.0 | |
922 | ||
923 | fmul z0.s, p1/m, z0.s, #0 | |
924 | fmul z0.s, p1/m, z0.s, #0.0 | |
925 | fmul z0.s, p1/m, z0.s, #0.5 // OK | |
926 | fmul z0.s, p1/m, z0.s, #1 | |
927 | fmul z0.s, p1/m, z0.s, #1.0 | |
928 | fmul z0.s, p1/m, z0.s, #1.5 | |
929 | fmul z0.s, p1/m, z0.s, #2 | |
930 | fmul z0.s, p1/m, z0.s, #2.0 // OK | |
931 | ||
932 | fmax z0.s, p1/m, z0.s, #0 | |
933 | fmax z0.s, p1/m, z0.s, #0.0 // OK | |
934 | fmax z0.s, p1/m, z0.s, #0.5 | |
935 | fmax z0.s, p1/m, z0.s, #1 | |
936 | fmax z0.s, p1/m, z0.s, #1.0 // OK | |
937 | fmax z0.s, p1/m, z0.s, #1.5 | |
938 | fmax z0.s, p1/m, z0.s, #2 | |
939 | fmax z0.s, p1/m, z0.s, #2.0 | |
940 | ||
941 | ptrue p1.b, vl0 | |
942 | ptrue p1.b, vl255 | |
943 | ptrue p1.b, #-1 | |
944 | ptrue p1.b, #0 // OK | |
945 | ptrue p1.b, #31 // OK | |
946 | ptrue p1.b, #32 | |
947 | ptrue p1.b, x0 | |
948 | ptrue p1.b, z0.s | |
949 | ||
950 | cntb x0, vl0 | |
951 | cntb x0, vl255 | |
952 | cntb x0, #-1 | |
953 | cntb x0, #0 // OK | |
954 | cntb x0, #31 // OK | |
955 | cntb x0, #32 | |
956 | cntb x0, x0 | |
957 | cntb x0, z0.s | |
958 | cntb x0, mul #1 | |
959 | cntb x0, pow2, mul #0 | |
960 | cntb x0, pow2, mul #1 // OK | |
961 | cntb x0, pow2, mul #16 // OK | |
962 | cntb x0, pow2, mul #17 | |
963 | cntb x0, pow2, #1 | |
964 | ||
965 | prfb pldl0keep, p1, [x0] | |
966 | prfb pldl1keep, p1, [x0] // OK | |
967 | prfb pldl2keep, p1, [x0] // OK | |
968 | prfb pldl3keep, p1, [x0] // OK | |
969 | prfb pldl4keep, p1, [x0] | |
970 | prfb #-1, p1, [x0] | |
971 | prfb #0, p1, [x0] // OK | |
972 | prfb #15, p1, [x0] // OK | |
973 | prfb #16, p1, [x0] | |
974 | prfb x0, p1, [x0] | |
975 | prfb z0.s, p1, [x0] | |
976 | ||
977 | lsl z0.b, z0.b, #-1 | |
978 | lsl z0.b, z0.b, #0 // OK | |
979 | lsl z0.b, z0.b, #1 // OK | |
980 | lsl z0.b, z0.b, #7 // OK | |
981 | lsl z0.b, z0.b, #8 | |
982 | lsl z0.b, z0.b, #9 | |
983 | lsl z0.b, z0.b, x0 | |
984 | ||
985 | lsl z0.h, z0.h, #-1 | |
986 | lsl z0.h, z0.h, #0 // OK | |
987 | lsl z0.h, z0.h, #1 // OK | |
988 | lsl z0.h, z0.h, #15 // OK | |
989 | lsl z0.h, z0.h, #16 | |
990 | lsl z0.h, z0.h, #17 | |
991 | ||
992 | lsl z0.s, z0.s, #-1 | |
993 | lsl z0.s, z0.s, #0 // OK | |
994 | lsl z0.s, z0.s, #1 // OK | |
995 | lsl z0.s, z0.s, #31 // OK | |
996 | lsl z0.s, z0.s, #32 | |
997 | lsl z0.s, z0.s, #33 | |
998 | ||
999 | lsl z0.d, z0.d, #-1 | |
1000 | lsl z0.d, z0.d, #0 // OK | |
1001 | lsl z0.d, z0.d, #1 // OK | |
1002 | lsl z0.d, z0.d, #63 // OK | |
1003 | lsl z0.d, z0.d, #64 | |
1004 | lsl z0.d, z0.d, #65 | |
1005 | ||
1006 | lsl z0.b, p1/m, z0.b, #-1 | |
1007 | lsl z0.b, p1/m, z0.b, #0 // OK | |
1008 | lsl z0.b, p1/m, z0.b, #1 // OK | |
1009 | lsl z0.b, p1/m, z0.b, #7 // OK | |
1010 | lsl z0.b, p1/m, z0.b, #8 | |
1011 | lsl z0.b, p1/m, z0.b, #9 | |
1012 | lsl z0.b, p1/m, z0.b, x0 | |
1013 | ||
1014 | lsl z0.h, p1/m, z0.h, #-1 | |
1015 | lsl z0.h, p1/m, z0.h, #0 // OK | |
1016 | lsl z0.h, p1/m, z0.h, #1 // OK | |
1017 | lsl z0.h, p1/m, z0.h, #15 // OK | |
1018 | lsl z0.h, p1/m, z0.h, #16 | |
1019 | lsl z0.h, p1/m, z0.h, #17 | |
1020 | ||
1021 | lsl z0.s, p1/m, z0.s, #-1 | |
1022 | lsl z0.s, p1/m, z0.s, #0 // OK | |
1023 | lsl z0.s, p1/m, z0.s, #1 // OK | |
1024 | lsl z0.s, p1/m, z0.s, #31 // OK | |
1025 | lsl z0.s, p1/m, z0.s, #32 | |
1026 | lsl z0.s, p1/m, z0.s, #33 | |
1027 | ||
1028 | lsl z0.d, p1/m, z0.d, #-1 | |
1029 | lsl z0.d, p1/m, z0.d, #0 // OK | |
1030 | lsl z0.d, p1/m, z0.d, #1 // OK | |
1031 | lsl z0.d, p1/m, z0.d, #63 // OK | |
1032 | lsl z0.d, p1/m, z0.d, #64 | |
1033 | lsl z0.d, p1/m, z0.d, #65 | |
1034 | ||
1035 | lsr z0.b, z0.b, #-1 | |
1036 | lsr z0.b, z0.b, #0 | |
1037 | lsr z0.b, z0.b, #1 // OK | |
1038 | lsr z0.b, z0.b, #7 // OK | |
1039 | lsr z0.b, z0.b, #8 // OK | |
1040 | lsr z0.b, z0.b, #9 | |
1041 | lsr z0.b, z0.b, x0 | |
1042 | ||
1043 | lsr z0.h, z0.h, #-1 | |
1044 | lsr z0.h, z0.h, #0 | |
1045 | lsr z0.h, z0.h, #1 // OK | |
1046 | lsr z0.h, z0.h, #15 // OK | |
1047 | lsr z0.h, z0.h, #16 // OK | |
1048 | lsr z0.h, z0.h, #17 | |
1049 | ||
1050 | lsr z0.s, z0.s, #-1 | |
1051 | lsr z0.s, z0.s, #0 | |
1052 | lsr z0.s, z0.s, #1 // OK | |
1053 | lsr z0.s, z0.s, #31 // OK | |
1054 | lsr z0.s, z0.s, #32 // OK | |
1055 | lsr z0.s, z0.s, #33 | |
1056 | ||
1057 | lsr z0.d, z0.d, #-1 | |
1058 | lsr z0.d, z0.d, #0 | |
1059 | lsr z0.d, z0.d, #1 // OK | |
1060 | lsr z0.d, z0.d, #63 // OK | |
1061 | lsr z0.d, z0.d, #64 // OK | |
1062 | lsr z0.d, z0.d, #65 | |
1063 | ||
1064 | lsr z0.b, p1/m, z0.b, #-1 | |
1065 | lsr z0.b, p1/m, z0.b, #0 | |
1066 | lsr z0.b, p1/m, z0.b, #1 // OK | |
1067 | lsr z0.b, p1/m, z0.b, #7 // OK | |
1068 | lsr z0.b, p1/m, z0.b, #8 // OK | |
1069 | lsr z0.b, p1/m, z0.b, #9 | |
1070 | lsr z0.b, p1/m, z0.b, x0 | |
1071 | ||
1072 | lsr z0.h, p1/m, z0.h, #-1 | |
1073 | lsr z0.h, p1/m, z0.h, #0 | |
1074 | lsr z0.h, p1/m, z0.h, #1 // OK | |
1075 | lsr z0.h, p1/m, z0.h, #15 // OK | |
1076 | lsr z0.h, p1/m, z0.h, #16 // OK | |
1077 | lsr z0.h, p1/m, z0.h, #17 | |
1078 | ||
1079 | lsr z0.s, p1/m, z0.s, #-1 | |
1080 | lsr z0.s, p1/m, z0.s, #0 | |
1081 | lsr z0.s, p1/m, z0.s, #1 // OK | |
1082 | lsr z0.s, p1/m, z0.s, #31 // OK | |
1083 | lsr z0.s, p1/m, z0.s, #32 // OK | |
1084 | lsr z0.s, p1/m, z0.s, #33 | |
1085 | ||
1086 | lsr z0.d, p1/m, z0.d, #-1 | |
1087 | lsr z0.d, p1/m, z0.d, #0 | |
1088 | lsr z0.d, p1/m, z0.d, #1 // OK | |
1089 | lsr z0.d, p1/m, z0.d, #63 // OK | |
1090 | lsr z0.d, p1/m, z0.d, #64 // OK | |
1091 | lsr z0.d, p1/m, z0.d, #65 | |
1092 | ||
1093 | index z0.s, #-17, #1 | |
1094 | index z0.s, #-16, #1 // OK | |
1095 | index z0.s, #15, #1 // OK | |
1096 | index z0.s, #16, #1 | |
1097 | ||
1098 | index z0.s, #0, #-17 | |
1099 | index z0.s, #0, #-16 // OK | |
1100 | index z0.s, #0, #15 // OK | |
1101 | index z0.s, #0, #16 | |
1102 | ||
1103 | addpl x0, sp, #-33 | |
1104 | addpl x0, sp, #-32 // OK | |
1105 | addpl sp, x0, #31 // OK | |
1106 | addpl sp, x0, #32 | |
1107 | addpl x0, xzr, #1 | |
1108 | addpl xzr, x0, #1 | |
1109 | ||
1110 | mul z0.b, z0.b, #-129 | |
1111 | mul z0.b, z0.b, #-128 // OK | |
1112 | mul z0.b, z0.b, #127 // OK | |
1113 | mul z0.b, z0.b, #128 | |
1114 | ||
1115 | mul z0.s, z0.s, #-129 | |
1116 | mul z0.s, z0.s, #-128 // OK | |
1117 | mul z0.s, z0.s, #127 // OK | |
1118 | mul z0.s, z0.s, #128 | |
1119 | ||
1120 | ftmad z0.s, z0.s, z1.s, #-1 | |
1121 | ftmad z0.s, z0.s, z1.s, #0 // OK | |
1122 | ftmad z0.s, z0.s, z1.s, #7 // OK | |
1123 | ftmad z0.s, z0.s, z1.s, #8 | |
1124 | ftmad z0.s, z0.s, z1.s, z2.s | |
1125 | ||
1126 | cmphi p0.s,p1/z,z2.s,#-1 | |
1127 | cmphi p0.s,p1/z,z2.s,#0 // OK | |
1128 | cmphi p0.s,p1/z,z2.s,#127 // OK | |
1129 | cmphi p0.s,p1/z,z2.s,#128 | |
1130 | ||
1131 | umax z0.s, z0.s, #-1 | |
1132 | umax z0.s, z0.s, #0 // OK | |
1133 | umax z0.s, z0.s, #255 // OK | |
1134 | umax z0.s, z0.s, #256 | |
1135 | ||
1136 | ext z0.b, z0.b, z1.b, #-1 | |
1137 | ext z0.b, z0.b, z1.b, #0 // OK | |
1138 | ext z0.b, z0.b, z1.b, #255 // OK | |
1139 | ext z0.b, z0.b, z1.b, #256 | |
1140 | ||
1141 | dup z0.b, z1.b[-1] | |
1142 | dup z0.b, z1.b[0] // OK | |
1143 | dup z0.b, z1.b[63] // OK | |
1144 | dup z0.b, z1.b[64] | |
1145 | dup z0.b, z1.b[x0] | |
1146 | ||
1147 | dup z0.h, z1.h[-1] | |
1148 | dup z0.h, z1.h[0] // OK | |
1149 | dup z0.h, z1.h[31] // OK | |
1150 | dup z0.h, z1.h[32] | |
1151 | dup z0.h, z1.h[x0] | |
1152 | ||
1153 | dup z0.s, z1.s[-1] | |
1154 | dup z0.s, z1.s[0] // OK | |
1155 | dup z0.s, z1.s[15] // OK | |
1156 | dup z0.s, z1.s[16] | |
1157 | dup z0.s, z1.s[x0] | |
1158 | ||
1159 | dup z0.d, z1.d[-1] | |
1160 | dup z0.d, z1.d[0] // OK | |
1161 | dup z0.d, z1.d[7] // OK | |
1162 | dup z0.d, z1.d[8] | |
1163 | dup z0.d, z1.d[x0] |