1 # RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto -output-asm-variant=1 --disassemble < %s | FileCheck %s 2 3 0x00 0xb8 0x20 0x0e 4 0x00 0xb8 0x20 0x4e 5 0x00 0xb8 0x60 0x0e 6 0x00 0xb8 0x60 0x4e 7 0x00 0xb8 0xa0 0x0e 8 0x00 0xb8 0xa0 0x4e 9 10 # CHECK: abs.8b v0, v0 11 # CHECK: abs.16b v0, v0 12 # CHECK: abs.4h v0, v0 13 # CHECK: abs.8h v0, v0 14 # CHECK: abs.2s v0, v0 15 # CHECK: abs.4s v0, v0 16 17 0x00 0x84 0x20 0x0e 18 0x00 0x84 0x20 0x4e 19 0x00 0x84 0x60 0x0e 20 0x00 0x84 0x60 0x4e 21 0x00 0x84 0xa0 0x0e 22 0x00 0x84 0xa0 0x4e 23 0x00 0x84 0xe0 0x4e 24 25 # CHECK: add.8b v0, v0, v0 26 # CHECK: add.16b v0, v0, v0 27 # CHECK: add.4h v0, v0, v0 28 # CHECK: add.8h v0, v0, v0 29 # CHECK: add.2s v0, v0, v0 30 # CHECK: add.4s v0, v0, v0 31 # CHECK: add.2d v0, v0, v0 32 33 0x41 0x84 0xe3 0x5e 34 35 # CHECK: add d1, d2, d3 36 37 0x00 0x40 0x20 0x0e 38 0x00 0x40 0x20 0x4e 39 0x00 0x40 0x60 0x0e 40 0x00 0x40 0x60 0x4e 41 0x00 0x40 0xa0 0x0e 42 0x00 0x40 0xa0 0x4e 43 44 # CHECK: addhn.8b v0, v0, v0 45 # CHECK: addhn2.16b v0, v0, v0 46 # CHECK: addhn.4h v0, v0, v0 47 # CHECK: addhn2.8h v0, v0, v0 48 # CHECK: addhn.2s v0, v0, v0 49 # CHECK: addhn2.4s v0, v0, v0 50 51 0x00 0xbc 0x20 0x0e 52 0x00 0xbc 0x20 0x4e 53 0x00 0xbc 0x60 0x0e 54 0x00 0xbc 0x60 0x4e 55 0x00 0xbc 0xa0 0x0e 56 0x00 0xbc 0xa0 0x4e 57 0x00 0xbc 0xe0 0x4e 58 59 # CHECK: addp.8b v0, v0, v0 60 # CHECK: addp.16b v0, v0, v0 61 # CHECK: addp.4h v0, v0, v0 62 # CHECK: addp.8h v0, v0, v0 63 # CHECK: addp.2s v0, v0, v0 64 # CHECK: addp.4s v0, v0, v0 65 # CHECK: addp.2d v0, v0, v0 66 67 0x00 0xb8 0xf1 0x5e 68 69 # CHECK: addp.2d d0, v0 70 71 0x00 0xb8 0x31 0x0e 72 0x00 0xb8 0x31 0x4e 73 0x00 0xb8 0x71 0x0e 74 0x00 0xb8 0x71 0x4e 75 0x00 0xb8 0xb1 0x4e 76 77 # CHECK: addv.8b b0, v0 78 # CHECK: addv.16b b0, v0 79 # CHECK: addv.4h h0, v0 80 # CHECK: addv.8h h0, v0 81 # CHECK: addv.4s s0, v0 82 83 84 # INS/DUP 85 0x60 0x0c 0x08 0x4e 86 0x60 0x0c 0x04 0x4e 87 0x60 0x0c 0x04 0x0e 88 0x60 0x0c 0x02 0x4e 89 0x60 0x0c 0x02 0x0e 90 0x60 0x0c 0x01 0x4e 91 0x60 0x0c 0x01 0x0e 92 93 # CHECK: dup.2d v0, x3 94 # CHECK: dup.4s v0, w3 95 # CHECK: dup.2s v0, w3 96 # CHECK: dup.8h v0, w3 97 # CHECK: dup.4h v0, w3 98 # CHECK: dup.16b v0, w3 99 # CHECK: dup.8b v0, w3 100 101 0x60 0x04 0x18 0x4e 102 0x60 0x04 0x0c 0x0e 103 0x60 0x04 0x0c 0x4e 104 0x60 0x04 0x06 0x0e 105 0x60 0x04 0x06 0x4e 106 0x60 0x04 0x03 0x0e 107 0x60 0x04 0x03 0x4e 108 109 # CHECK: dup.2d v0, v3[1] 110 # CHECK: dup.2s v0, v3[1] 111 # CHECK: dup.4s v0, v3[1] 112 # CHECK: dup.4h v0, v3[1] 113 # CHECK: dup.8h v0, v3[1] 114 # CHECK: dup.8b v0, v3[1] 115 # CHECK: dup.16b v0, v3[1] 116 117 118 0x43 0x2c 0x14 0x4e 119 0x43 0x2c 0x14 0x4e 120 0x43 0x3c 0x14 0x0e 121 0x43 0x3c 0x14 0x0e 122 0x43 0x3c 0x18 0x4e 123 0x43 0x3c 0x18 0x4e 124 125 # CHECK: smov.s x3, v2[2] 126 # CHECK: smov.s x3, v2[2] 127 # CHECK: mov.s w3, v2[2] 128 # CHECK: mov.s w3, v2[2] 129 # CHECK: mov.d x3, v2[1] 130 # CHECK: mov.d x3, v2[1] 131 132 0xa2 0x1c 0x18 0x4e 133 0xa2 0x1c 0x0c 0x4e 134 0xa2 0x1c 0x06 0x4e 135 0xa2 0x1c 0x03 0x4e 136 137 0xa2 0x1c 0x18 0x4e 138 0xa2 0x1c 0x0c 0x4e 139 0xa2 0x1c 0x06 0x4e 140 0xa2 0x1c 0x03 0x4e 141 142 # CHECK: ins.d v2[1], x5 143 # CHECK: ins.s v2[1], w5 144 # CHECK: ins.h v2[1], w5 145 # CHECK: ins.b v2[1], w5 146 147 # CHECK: ins.d v2[1], x5 148 # CHECK: ins.s v2[1], w5 149 # CHECK: ins.h v2[1], w5 150 # CHECK: ins.b v2[1], w5 151 152 0xe2 0x45 0x18 0x6e 153 0xe2 0x25 0x0c 0x6e 154 0xe2 0x15 0x06 0x6e 155 0xe2 0x0d 0x03 0x6e 156 157 0xe2 0x05 0x18 0x6e 158 0xe2 0x45 0x1c 0x6e 159 0xe2 0x35 0x1e 0x6e 160 0xe2 0x2d 0x15 0x6e 161 162 # CHECK: ins.d v2[1], v15[1] 163 # CHECK: ins.s v2[1], v15[1] 164 # CHECK: ins.h v2[1], v15[1] 165 # CHECK: ins.b v2[1], v15[1] 166 167 # CHECK: ins.d v2[1], v15[0] 168 # CHECK: ins.s v2[3], v15[2] 169 # CHECK: ins.h v2[7], v15[3] 170 # CHECK: ins.b v2[10], v15[5] 171 172 # INS/DUP (non-standard) 173 0x60 0x0c 0x08 0x4e 174 0x60 0x0c 0x0c 0x4e 175 0x60 0x0c 0x0c 0x0e 176 0x60 0x0c 0x0e 0x4e 177 0x60 0x0c 0x0e 0x0e 178 0x60 0x0c 0x0f 0x4e 179 0x60 0x0c 0x0f 0x0e 180 181 # CHECK: dup.2d v0, x3 182 # CHECK: dup.4s v0, w3 183 # CHECK: dup.2s v0, w3 184 # CHECK: dup.8h v0, w3 185 # CHECK: dup.4h v0, w3 186 # CHECK: dup.16b v0, w3 187 # CHECK: dup.8b v0, w3 188 189 0xe2 0x75 0x18 0x6e 190 0xe2 0x35 0x0c 0x6e 191 0xe2 0x15 0x06 0x6e 192 0xe2 0x0d 0x03 0x6e 193 194 0xe2 0x05 0x18 0x6e 195 0xe2 0x55 0x1c 0x6e 196 0xe2 0x35 0x1e 0x6e 197 0xe2 0x2d 0x15 0x6e 198 199 # CHECK: ins.d v2[1], v15[1] 200 # CHECK: ins.s v2[1], v15[1] 201 # CHECK: ins.h v2[1], v15[1] 202 # CHECK: ins.b v2[1], v15[1] 203 204 # CHECK: ins.d v2[1], v15[0] 205 # CHECK: ins.s v2[3], v15[2] 206 # CHECK: ins.h v2[7], v15[3] 207 # CHECK: ins.b v2[10], v15[5] 208 209 0x00 0x1c 0x20 0x0e 210 0x00 0x1c 0x20 0x4e 211 212 # CHECK: and.8b v0, v0, v0 213 # CHECK: and.16b v0, v0, v0 214 215 0x00 0x1c 0x60 0x0e 216 217 # CHECK: bic.8b v0, v0, v0 218 219 0x00 0x8c 0x20 0x2e 220 0x00 0x3c 0x20 0x0e 221 0x00 0x34 0x20 0x0e 222 0x00 0x34 0x20 0x2e 223 0x00 0x3c 0x20 0x2e 224 0x00 0x8c 0x20 0x0e 225 0x00 0xd4 0xa0 0x2e 226 0x00 0xec 0x20 0x2e 227 0x00 0xec 0xa0 0x2e 228 0x00 0xd4 0x20 0x2e 229 0x00 0xd4 0x20 0x0e 230 0x00 0xe4 0x20 0x0e 231 0x00 0xe4 0x20 0x2e 232 0x00 0xe4 0xa0 0x2e 233 0x00 0xfc 0x20 0x2e 234 0x00 0xc4 0x20 0x2e 235 0x00 0xc4 0x20 0x0e 236 0x00 0xf4 0x20 0x2e 237 0x00 0xf4 0x20 0x0e 238 0x00 0xc4 0xa0 0x2e 239 0x00 0xc4 0xa0 0x0e 240 0x00 0xf4 0xa0 0x2e 241 0x00 0xf4 0xa0 0x0e 242 0x00 0xcc 0x20 0x0e 243 0x00 0xcc 0xa0 0x0e 244 0x00 0xdc 0x20 0x0e 245 0x00 0xdc 0x20 0x2e 246 0x00 0xfc 0x20 0x0e 247 0x00 0xfc 0xa0 0x0e 248 0x00 0xd4 0xa0 0x0e 249 0x00 0x94 0x20 0x0e 250 0x00 0x94 0x20 0x2e 251 0x00 0x9c 0x20 0x0e 252 0x00 0x9c 0x20 0x2e 253 0x00 0x7c 0x20 0x0e 254 0x00 0x74 0x20 0x0e 255 0x00 0x04 0x20 0x0e 256 0x00 0x24 0x20 0x0e 257 0x00 0xa4 0x20 0x0e 258 0x00 0x64 0x20 0x0e 259 0x00 0xac 0x20 0x0e 260 0x00 0x6c 0x20 0x0e 261 0x00 0x0c 0x20 0x0e 262 0x00 0xb4 0x60 0x0e 263 0x00 0xb4 0x60 0x2e 264 0x00 0x5c 0x20 0x0e 265 0x00 0x4c 0x20 0x0e 266 0x00 0x2c 0x20 0x0e 267 0x00 0x14 0x20 0x0e 268 0x00 0x54 0x20 0x0e 269 0x00 0x44 0x20 0x0e 270 0x00 0x84 0x20 0x2e 271 0x00 0x7c 0x20 0x2e 272 0x00 0x74 0x20 0x2e 273 0x00 0x04 0x20 0x2e 274 0x00 0x24 0x20 0x2e 275 0x00 0xa4 0x20 0x2e 276 0x00 0x64 0x20 0x2e 277 0x00 0xac 0x20 0x2e 278 0x00 0x6c 0x20 0x2e 279 0x00 0x0c 0x20 0x2e 280 0x00 0x5c 0x20 0x2e 281 0x00 0x4c 0x20 0x2e 282 0x00 0x2c 0x20 0x2e 283 0x00 0x14 0x20 0x2e 284 0x00 0x54 0x20 0x2e 285 0x00 0x44 0x20 0x2e 286 287 # CHECK: cmeq.8b v0, v0, v0 288 # CHECK: cmge.8b v0, v0, v0 289 # CHECK: cmgt.8b v0, v0, v0 290 # CHECK: cmhi.8b v0, v0, v0 291 # CHECK: cmhs.8b v0, v0, v0 292 # CHECK: cmtst.8b v0, v0, v0 293 # CHECK: fabd.2s v0, v0, v0 294 # CHECK: facge.2s v0, v0, v0 295 # CHECK: facgt.2s v0, v0, v0 296 # CHECK: faddp.2s v0, v0, v0 297 # CHECK: fadd.2s v0, v0, v0 298 # CHECK: fcmeq.2s v0, v0, v0 299 # CHECK: fcmge.2s v0, v0, v0 300 # CHECK: fcmgt.2s v0, v0, v0 301 # CHECK: fdiv.2s v0, v0, v0 302 # CHECK: fmaxnmp.2s v0, v0, v0 303 # CHECK: fmaxnm.2s v0, v0, v0 304 # CHECK: fmaxp.2s v0, v0, v0 305 # CHECK: fmax.2s v0, v0, v0 306 # CHECK: fminnmp.2s v0, v0, v0 307 # CHECK: fminnm.2s v0, v0, v0 308 # CHECK: fminp.2s v0, v0, v0 309 # CHECK: fmin.2s v0, v0, v0 310 # CHECK: fmla.2s v0, v0, v0 311 # CHECK: fmls.2s v0, v0, v0 312 # CHECK: fmulx.2s v0, v0, v0 313 # CHECK: fmul.2s v0, v0, v0 314 # CHECK: frecps.2s v0, v0, v0 315 # CHECK: frsqrts.2s v0, v0, v0 316 # CHECK: fsub.2s v0, v0, v0 317 # CHECK: mla.8b v0, v0, v0 318 # CHECK: mls.8b v0, v0, v0 319 # CHECK: mul.8b v0, v0, v0 320 # CHECK: pmul.8b v0, v0, v0 321 # CHECK: saba.8b v0, v0, v0 322 # CHECK: sabd.8b v0, v0, v0 323 # CHECK: shadd.8b v0, v0, v0 324 # CHECK: shsub.8b v0, v0, v0 325 # CHECK: smaxp.8b v0, v0, v0 326 # CHECK: smax.8b v0, v0, v0 327 # CHECK: sminp.8b v0, v0, v0 328 # CHECK: smin.8b v0, v0, v0 329 # CHECK: sqadd.8b v0, v0, v0 330 # CHECK: sqdmulh.4h v0, v0, v0 331 # CHECK: sqrdmulh.4h v0, v0, v0 332 # CHECK: sqrshl.8b v0, v0, v0 333 # CHECK: sqshl.8b v0, v0, v0 334 # CHECK: sqsub.8b v0, v0, v0 335 # CHECK: srhadd.8b v0, v0, v0 336 # CHECK: srshl.8b v0, v0, v0 337 # CHECK: sshl.8b v0, v0, v0 338 # CHECK: sub.8b v0, v0, v0 339 # CHECK: uaba.8b v0, v0, v0 340 # CHECK: uabd.8b v0, v0, v0 341 # CHECK: uhadd.8b v0, v0, v0 342 # CHECK: uhsub.8b v0, v0, v0 343 # CHECK: umaxp.8b v0, v0, v0 344 # CHECK: umax.8b v0, v0, v0 345 # CHECK: uminp.8b v0, v0, v0 346 # CHECK: umin.8b v0, v0, v0 347 # CHECK: uqadd.8b v0, v0, v0 348 # CHECK: uqrshl.8b v0, v0, v0 349 # CHECK: uqshl.8b v0, v0, v0 350 # CHECK: uqsub.8b v0, v0, v0 351 # CHECK: urhadd.8b v0, v0, v0 352 # CHECK: urshl.8b v0, v0, v0 353 # CHECK: ushl.8b v0, v0, v0 354 355 0x00 0x1c 0xe0 0x2e 356 0x00 0x1c 0xa0 0x2e 357 0x00 0x1c 0x60 0x2e 358 0x00 0x1c 0x20 0x2e 359 0x00 0x1c 0xe0 0x0e 360 0x00 0x1c 0xa1 0x0e 361 362 # CHECK: bif.8b v0, v0, v0 363 # CHECK: bit.8b v0, v0, v0 364 # CHECK: bsl.8b v0, v0, v0 365 # CHECK: eor.8b v0, v0, v0 366 # CHECK: orn.8b v0, v0, v0 367 # CHECK: orr.8b v0, v0, v1 368 369 0x00 0x68 0x20 0x0e 370 0x00 0x68 0x20 0x4e 371 0x00 0x68 0x60 0x0e 372 0x00 0x68 0x60 0x4e 373 0x00 0x68 0xa0 0x0e 374 0x00 0x68 0xa0 0x4e 375 376 # CHECK: sadalp.4h v0, v0 377 # CHECK: sadalp.8h v0, v0 378 # CHECK: sadalp.2s v0, v0 379 # CHECK: sadalp.4s v0, v0 380 # CHECK: sadalp.1d v0, v0 381 # CHECK: sadalp.2d v0, v0 382 383 0x00 0x48 0x20 0x0e 384 0x00 0x48 0x20 0x2e 385 0x00 0x58 0x20 0x0e 386 0x00 0xf8 0xa0 0x0e 387 0x00 0xc8 0x21 0x0e 388 0x00 0xc8 0x21 0x2e 389 0x00 0xb8 0x21 0x0e 390 0x00 0xb8 0x21 0x2e 391 0x00 0xa8 0x21 0x0e 392 0x00 0xa8 0x21 0x2e 393 0x00 0xa8 0xa1 0x0e 394 0x00 0xa8 0xa1 0x2e 395 0x00 0xb8 0xa1 0x0e 396 0x00 0xb8 0xa1 0x2e 397 0x00 0xf8 0xa0 0x2e 398 0x00 0xd8 0xa1 0x0e 399 0x00 0xd8 0xa1 0x2e 400 0x00 0xf8 0xa1 0x2e 401 0x00 0xb8 0x20 0x2e 402 0x00 0x58 0x20 0x2e 403 0x00 0x58 0x60 0x2e 404 0x00 0x18 0x20 0x0e 405 0x00 0x08 0x20 0x2e 406 0x00 0x08 0x20 0x0e 407 0x00 0x68 0x20 0x0e 408 0x00 0x28 0x20 0x0e 409 0x00 0xd8 0x21 0x0e 410 0x00 0x38 0x21 0x2e 411 0x00 0x78 0x20 0x0e 412 0x00 0x78 0x20 0x2e 413 0x00 0x48 0x21 0x0e 414 0x00 0x28 0x21 0x2e 415 0x00 0x38 0x20 0x0e 416 0x00 0x68 0x20 0x2e 417 0x00 0x28 0x20 0x2e 418 0x00 0xd8 0x21 0x2e 419 0x00 0x48 0x21 0x2e 420 0x00 0xc8 0xa1 0x0e 421 0x00 0xc8 0xa1 0x2e 422 0x00 0x38 0x20 0x2e 423 0x00 0x28 0x21 0x0e 424 0x00 0x48 0x20 0x0e 425 0x00 0x48 0x20 0x2e 426 0x00 0x58 0x20 0x0e 427 0x00 0xf8 0xa0 0x0e 428 0x00 0xc8 0x21 0x0e 429 0x00 0xc8 0x21 0x2e 430 0x00 0xb8 0x21 0x0e 431 0x00 0xb8 0x21 0x2e 432 0x00 0xa8 0x21 0x0e 433 0x00 0xa8 0x21 0x2e 434 0x00 0xa8 0xa1 0x0e 435 0x00 0xa8 0xa1 0x2e 436 0x00 0xb8 0xa1 0x0e 437 0x00 0xb8 0xa1 0x2e 438 0x00 0xf8 0xa0 0x2e 439 0x00 0xd8 0xa1 0x0e 440 0x00 0xd8 0xa1 0x2e 441 0x00 0xf8 0xa1 0x2e 442 0x00 0xb8 0x20 0x2e 443 0x00 0x58 0x20 0x2e 444 0x00 0x58 0x60 0x2e 445 0x00 0x18 0x20 0x0e 446 0x00 0x08 0x20 0x2e 447 0x00 0x08 0x20 0x0e 448 0x00 0x68 0x20 0x0e 449 0x00 0x28 0x20 0x0e 450 0x00 0xd8 0x21 0x0e 451 0x00 0x38 0x21 0x2e 452 0x00 0x78 0x20 0x0e 453 0x00 0x78 0x20 0x2e 454 0x00 0x48 0x21 0x0e 455 0x00 0x28 0x21 0x2e 456 0x00 0x38 0x20 0x0e 457 0x00 0x68 0x20 0x2e 458 0x00 0x28 0x20 0x2e 459 0x00 0xd8 0x21 0x2e 460 0x00 0x48 0x21 0x2e 461 0x00 0xc8 0xa1 0x0e 462 0x00 0xc8 0xa1 0x2e 463 0x00 0x38 0x20 0x2e 464 0x00 0x28 0x21 0x0e 465 466 # CHECK: cls.8b v0, v0 467 # CHECK: clz.8b v0, v0 468 # CHECK: cnt.8b v0, v0 469 # CHECK: fabs.2s v0, v0 470 # CHECK: fcvtas.2s v0, v0 471 # CHECK: fcvtau.2s v0, v0 472 # CHECK: fcvtms.2s v0, v0 473 # CHECK: fcvtmu.2s v0, v0 474 # CHECK: fcvtns.2s v0, v0 475 # CHECK: fcvtnu.2s v0, v0 476 # CHECK: fcvtps.2s v0, v0 477 # CHECK: fcvtpu.2s v0, v0 478 # CHECK: fcvtzs.2s v0, v0 479 # CHECK: fcvtzu.2s v0, v0 480 # CHECK: fneg.2s v0, v0 481 # CHECK: frecpe.2s v0, v0 482 # CHECK: frsqrte.2s v0, v0 483 # CHECK: fsqrt.2s v0, v0 484 # CHECK: neg.8b v0, v0 485 # CHECK: mvn.8b v0, v0 486 # CHECK: rbit.8b v0, v0 487 # CHECK: rev16.8b v0, v0 488 # CHECK: rev32.8b v0, v0 489 # CHECK: rev64.8b v0, v0 490 # CHECK: sadalp.4h v0, v0 491 # CHECK: saddlp.4h v0, v0 492 # CHECK: scvtf.2s v0, v0 493 # CHECK: shll.8h v0, v0, #8 494 # CHECK: sqabs.8b v0, v0 495 # CHECK: sqneg.8b v0, v0 496 # CHECK: sqxtn.8b v0, v0 497 # CHECK: sqxtun.8b v0, v0 498 # CHECK: suqadd.8b v0, v0 499 # CHECK: uadalp.4h v0, v0 500 # CHECK: uaddlp.4h v0, v0 501 # CHECK: ucvtf.2s v0, v0 502 # CHECK: uqxtn.8b v0, v0 503 # CHECK: urecpe.2s v0, v0 504 # CHECK: ursqrte.2s v0, v0 505 # CHECK: usqadd.8b v0, v0 506 # CHECK: xtn.8b v0, v0 507 508 0x00 0x98 0x20 0x0e 509 0x00 0x98 0x20 0x4e 510 0x00 0x98 0x60 0x0e 511 0x00 0x98 0x60 0x4e 512 0x00 0x98 0xa0 0x0e 513 0x00 0x98 0xa0 0x4e 514 0x00 0x98 0xe0 0x4e 515 516 # CHECK: cmeq.8b v0, v0, #0 517 # CHECK: cmeq.16b v0, v0, #0 518 # CHECK: cmeq.4h v0, v0, #0 519 # CHECK: cmeq.8h v0, v0, #0 520 # CHECK: cmeq.2s v0, v0, #0 521 # CHECK: cmeq.4s v0, v0, #0 522 # CHECK: cmeq.2d v0, v0, #0 523 524 0x00 0x88 0x20 0x2e 525 0x00 0x88 0x20 0x0e 526 0x00 0x98 0x20 0x2e 527 0x00 0xa8 0x20 0x0e 528 0x00 0xd8 0xa0 0x0e 529 0x00 0xc8 0xa0 0x2e 530 0x00 0xc8 0xa0 0x0e 531 0x00 0xd8 0xa0 0x2e 532 0x00 0xe8 0xa0 0x0e 533 534 # CHECK: cmge.8b v0, v0, #0 535 # CHECK: cmgt.8b v0, v0, #0 536 # CHECK: cmle.8b v0, v0, #0 537 # CHECK: cmlt.8b v0, v0, #0 538 # CHECK: fcmeq.2s v0, v0, #0 539 # CHECK: fcmge.2s v0, v0, #0 540 # CHECK: fcmgt.2s v0, v0, #0 541 # CHECK: fcmle.2s v0, v0, #0 542 # CHECK: fcmlt.2s v0, v0, #0 543 544 0x00 0x78 0x21 0x0e 545 0x00 0x78 0x21 0x4e 546 0x00 0x78 0x61 0x0e 547 0x00 0x78 0x61 0x4e 548 0x00 0x68 0x21 0x0e 549 0x00 0x68 0x21 0x4e 550 0x00 0x68 0x61 0x0e 551 0x00 0x68 0x61 0x4e 552 0x00 0x68 0x61 0x2e 553 0x00 0x68 0x61 0x6e 554 555 # CHECK: fcvtl v0.4s, v0.4h 556 # CHECK: fcvtl2 v0.4s, v0.8h 557 # CHECK: fcvtl v0.2d, v0.2s 558 # CHECK: fcvtl2 v0.2d, v0.4s 559 # CHECK: fcvtn v0.4h, v0.4s 560 # CHECK: fcvtn2 v0.8h, v0.4s 561 # CHECK: fcvtn v0.2s, v0.2d 562 # CHECK: fcvtn2 v0.4s, v0.2d 563 # CHECK: fcvtxn v0.2s, v0.2d 564 # CHECK: fcvtxn2 v0.4s, v0.2d 565 566 #===-------------------------------------------------------------------------=== 567 # AdvSIMD modified immediate instructions 568 #===-------------------------------------------------------------------------=== 569 570 0x20 0x14 0x00 0x2f 571 0x20 0x34 0x00 0x2f 572 0x20 0x54 0x00 0x2f 573 0x20 0x74 0x00 0x2f 574 575 # CHECK: bic.2s v0, #0x1 576 # CHECK: bic.2s v0, #0x1, lsl #8 577 # CHECK: bic.2s v0, #0x1, lsl #16 578 # CHECK: bic.2s v0, #0x1, lsl #24 579 580 0x20 0x94 0x00 0x2f 581 0x20 0x94 0x00 0x2f 582 0x20 0xb4 0x00 0x2f 583 584 # CHECK: bic.4h v0, #0x1 585 # CHECK: bic.4h v0, #0x1 586 # FIXME: bic.4h v0, #0x1, lsl #8 587 # 'bic.4h' should be selected over "fcvtnu.2s v0, v1, #0" 588 589 0x20 0x14 0x00 0x6f 590 0x20 0x34 0x00 0x6f 591 0x20 0x54 0x00 0x6f 592 0x20 0x74 0x00 0x6f 593 594 # CHECK: bic.4s v0, #0x1 595 # CHECK: bic.4s v0, #0x1, lsl #8 596 # CHECK: bic.4s v0, #0x1, lsl #16 597 # CHECK: bic.4s v0, #0x1, lsl #24 598 599 0x20 0x94 0x00 0x6f 600 0x20 0xb4 0x00 0x6f 601 602 # CHECK: bic.8h v0, #0x1 603 # FIXME: bic.8h v0, #0x1, lsl #8 604 # "bic.8h" should be selected over "fcvtnu.4s v0, v1, #0" 605 606 0x00 0xf4 0x02 0x6f 607 608 # CHECK: fmov.2d v0, #0.12500000 609 610 0x00 0xf4 0x02 0x0f 611 0x00 0xf4 0x02 0x4f 612 613 # CHECK: fmov.2s v0, #0.12500000 614 # CHECK: fmov.4s v0, #0.12500000 615 616 0x20 0x14 0x00 0x0f 617 0x20 0x34 0x00 0x0f 618 0x20 0x54 0x00 0x0f 619 0x20 0x74 0x00 0x0f 620 621 # CHECK: orr.2s v0, #0x1 622 # CHECK: orr.2s v0, #0x1, lsl #8 623 # CHECK: orr.2s v0, #0x1, lsl #16 624 # CHECK: orr.2s v0, #0x1, lsl #24 625 626 0x20 0x94 0x00 0x0f 627 0x20 0xb4 0x00 0x0f 628 629 # CHECK: orr.4h v0, #0x1 630 # FIXME: orr.4h v0, #0x1, lsl #8 631 # 'orr.4h' should be selected over "fcvtns.2s v0, v1, #0" 632 633 0x20 0x14 0x00 0x4f 634 0x20 0x34 0x00 0x4f 635 0x20 0x54 0x00 0x4f 636 0x20 0x74 0x00 0x4f 637 638 # CHECK: orr.4s v0, #0x1 639 # CHECK: orr.4s v0, #0x1, lsl #8 640 # CHECK: orr.4s v0, #0x1, lsl #16 641 # CHECK: orr.4s v0, #0x1, lsl #24 642 643 0x20 0x94 0x00 0x4f 644 0x20 0xb4 0x00 0x4f 645 646 # CHECK: orr.8h v0, #0x1 647 # CHECK: orr.8h v0, #0x1, lsl #8 648 649 0x21 0x70 0x40 0x0c 650 0x42 0xa0 0x40 0x4c 651 0x64 0x64 0x40 0x0c 652 0x87 0x24 0x40 0x4c 653 0x0c 0xa8 0x40 0x0c 654 0x0a 0x68 0x40 0x4c 655 0x2d 0xac 0x40 0x0c 656 0x4f 0x7c 0x40 0x4c 657 0xe0 0x03 0x40 0x0d 658 659 # CHECK: ld1.8b { v1 }, [x1] 660 # CHECK: ld1.16b { v2, v3 }, [x2] 661 # CHECK: ld1.4h { v4, v5, v6 }, [x3] 662 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4] 663 # CHECK: ld1.2s { v12, v13 }, [x0] 664 # CHECK: ld1.4s { v10, v11, v12 }, [x0] 665 # CHECK: ld1.1d { v13, v14 }, [x1] 666 # CHECK: ld1.2d { v15 }, [x2] 667 # CHECK: ld1.b { v0 }[0], [sp] 668 669 0x41 0x70 0xdf 0x0c 670 0x41 0xa0 0xdf 0x0c 671 0x41 0x60 0xdf 0x0c 672 0x41 0x20 0xdf 0x0c 673 0x42 0x70 0xdf 0x4c 674 0x42 0xa0 0xdf 0x4c 675 0x42 0x60 0xdf 0x4c 676 0x42 0x20 0xdf 0x4c 677 0x64 0x74 0xdf 0x0c 678 0x64 0xa4 0xdf 0x0c 679 0x64 0x64 0xdf 0x0c 680 0x64 0x24 0xdf 0x0c 681 0x87 0x74 0xdf 0x4c 682 0x87 0xa4 0xdf 0x4c 683 0x87 0x64 0xdf 0x4c 684 0x87 0x24 0xdf 0x4c 685 0x0c 0x78 0xdf 0x0c 686 0x0c 0xa8 0xdf 0x0c 687 0x0c 0x68 0xdf 0x0c 688 0x0c 0x28 0xdf 0x0c 689 0x0a 0x78 0xdf 0x4c 690 0x0a 0xa8 0xdf 0x4c 691 0x0a 0x68 0xdf 0x4c 692 0x0a 0x28 0xdf 0x4c 693 0x2d 0x7c 0xdf 0x0c 694 0x2d 0xac 0xdf 0x0c 695 0x2d 0x6c 0xdf 0x0c 696 0x2d 0x2c 0xdf 0x0c 697 0x4f 0x7c 0xdf 0x4c 698 0x4f 0xac 0xdf 0x4c 699 0x4f 0x6c 0xdf 0x4c 700 0x4f 0x2c 0xdf 0x4c 701 702 # CHECK: ld1.8b { v1 }, [x2], #8 703 # CHECK: ld1.8b { v1, v2 }, [x2], #16 704 # CHECK: ld1.8b { v1, v2, v3 }, [x2], #24 705 # CHECK: ld1.8b { v1, v2, v3, v4 }, [x2], #32 706 # CHECK: ld1.16b { v2 }, [x2], #16 707 # CHECK: ld1.16b { v2, v3 }, [x2], #32 708 # CHECK: ld1.16b { v2, v3, v4 }, [x2], #48 709 # CHECK: ld1.16b { v2, v3, v4, v5 }, [x2], #64 710 # CHECK: ld1.4h { v4 }, [x3], #8 711 # CHECK: ld1.4h { v4, v5 }, [x3], #16 712 # CHECK: ld1.4h { v4, v5, v6 }, [x3], #24 713 # CHECK: ld1.4h { v4, v5, v6, v7 }, [x3], #32 714 # CHECK: ld1.8h { v7 }, [x4], #16 715 # CHECK: ld1.8h { v7, v8 }, [x4], #32 716 # CHECK: ld1.8h { v7, v8, v9 }, [x4], #48 717 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], #64 718 # CHECK: ld1.2s { v12 }, [x0], #8 719 # CHECK: ld1.2s { v12, v13 }, [x0], #16 720 # CHECK: ld1.2s { v12, v13, v14 }, [x0], #24 721 # CHECK: ld1.2s { v12, v13, v14, v15 }, [x0], #32 722 # CHECK: ld1.4s { v10 }, [x0], #16 723 # CHECK: ld1.4s { v10, v11 }, [x0], #32 724 # CHECK: ld1.4s { v10, v11, v12 }, [x0], #48 725 # CHECK: ld1.4s { v10, v11, v12, v13 }, [x0], #64 726 # CHECK: ld1.1d { v13 }, [x1], #8 727 # CHECK: ld1.1d { v13, v14 }, [x1], #16 728 # CHECK: ld1.1d { v13, v14, v15 }, [x1], #24 729 # CHECK: ld1.1d { v13, v14, v15, v16 }, [x1], #32 730 # CHECK: ld1.2d { v15 }, [x2], #16 731 # CHECK: ld1.2d { v15, v16 }, [x2], #32 732 # CHECK: ld1.2d { v15, v16, v17 }, [x2], #48 733 # CHECK: ld1.2d { v15, v16, v17, v18 }, [x2], #64 734 735 0x21 0x70 0x00 0x0c 736 0x42 0xa0 0x00 0x4c 737 0x64 0x64 0x00 0x0c 738 0x87 0x24 0x00 0x4c 739 0x0c 0xa8 0x00 0x0c 740 0x0a 0x68 0x00 0x4c 741 0x2d 0xac 0x00 0x0c 742 0x4f 0x7c 0x00 0x4c 743 744 # CHECK: st1.8b { v1 }, [x1] 745 # CHECK: st1.16b { v2, v3 }, [x2] 746 # CHECK: st1.4h { v4, v5, v6 }, [x3] 747 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4] 748 # CHECK: st1.2s { v12, v13 }, [x0] 749 # CHECK: st1.4s { v10, v11, v12 }, [x0] 750 # CHECK: st1.1d { v13, v14 }, [x1] 751 # CHECK: st1.2d { v15 }, [x2] 752 753 0x61 0x08 0x40 0x0d 754 0x82 0x84 0x40 0x4d 755 0xa3 0x58 0x40 0x0d 756 0xc4 0x80 0x40 0x4d 757 758 # CHECK: ld1.b { v1 }[2], [x3] 759 # CHECK: ld1.d { v2 }[1], [x4] 760 # CHECK: ld1.h { v3 }[3], [x5] 761 # CHECK: ld1.s { v4 }[2], [x6] 762 763 0x61 0x08 0xdf 0x0d 764 0x82 0x84 0xdf 0x4d 765 0xa3 0x58 0xdf 0x0d 766 0xc4 0x80 0xdf 0x4d 767 768 # CHECK: ld1.b { v1 }[2], [x3], #1 769 # CHECK: ld1.d { v2 }[1], [x4], #8 770 # CHECK: ld1.h { v3 }[3], [x5], #2 771 # CHECK: ld1.s { v4 }[2], [x6], #4 772 773 0x61 0x08 0x00 0x0d 774 0x82 0x84 0x00 0x4d 775 0xa3 0x58 0x00 0x0d 776 0xc4 0x80 0x00 0x4d 777 778 # CHECK: st1.b { v1 }[2], [x3] 779 # CHECK: st1.d { v2 }[1], [x4] 780 # CHECK: st1.h { v3 }[3], [x5] 781 # CHECK: st1.s { v4 }[2], [x6] 782 783 0x61 0x08 0x9f 0x0d 784 0x82 0x84 0x9f 0x4d 785 0xa3 0x58 0x9f 0x0d 786 0xc4 0x80 0x9f 0x4d 787 788 # CHECK: st1.b { v1 }[2], [x3], #1 789 # CHECK: st1.d { v2 }[1], [x4], #8 790 # CHECK: st1.h { v3 }[3], [x5], #2 791 # CHECK: st1.s { v4 }[2], [x6], #4 792 793 0x61 0x08 0xc4 0x0d 794 0x82 0x84 0xc5 0x4d 795 0xa3 0x58 0xc6 0x0d 796 0xc4 0x80 0xc7 0x4d 797 798 # CHECK: ld1.b { v1 }[2], [x3], x4 799 # CHECK: ld1.d { v2 }[1], [x4], x5 800 # CHECK: ld1.h { v3 }[3], [x5], x6 801 # CHECK: ld1.s { v4 }[2], [x6], x7 802 803 0x61 0x08 0x84 0x0d 804 0x82 0x84 0x85 0x4d 805 0xa3 0x58 0x86 0x0d 806 0xc4 0x80 0x87 0x4d 807 808 # CHECK: st1.b { v1 }[2], [x3], x4 809 # CHECK: st1.d { v2 }[1], [x4], x5 810 # CHECK: st1.h { v3 }[3], [x5], x6 811 # CHECK: st1.s { v4 }[2], [x6], x7 812 813 0x41 0x70 0xc3 0x0c 814 0x42 0xa0 0xc4 0x4c 815 0x64 0x64 0xc5 0x0c 816 0x87 0x24 0xc6 0x4c 817 0x0c 0xa8 0xc7 0x0c 818 0x0a 0x68 0xc8 0x4c 819 0x2d 0xac 0xc9 0x0c 820 0x4f 0x7c 0xca 0x4c 821 822 # CHECK: ld1.8b { v1 }, [x2], x3 823 # CHECK: ld1.16b { v2, v3 }, [x2], x4 824 # CHECK: ld1.4h { v4, v5, v6 }, [x3], x5 825 # CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], x6 826 # CHECK: ld1.2s { v12, v13 }, [x0], x7 827 # CHECK: ld1.4s { v10, v11, v12 }, [x0], x8 828 # CHECK: ld1.1d { v13, v14 }, [x1], x9 829 # CHECK: ld1.2d { v15 }, [x2], x10 830 831 0x41 0x70 0x83 0x0c 832 0x42 0xa0 0x84 0x4c 833 0x64 0x64 0x85 0x0c 834 0x87 0x24 0x86 0x4c 835 0x0c 0xa8 0x87 0x0c 836 0x0a 0x68 0x88 0x4c 837 0x2d 0xac 0x89 0x0c 838 0x4f 0x7c 0x8a 0x4c 839 840 # CHECK: st1.8b { v1 }, [x2], x3 841 # CHECK: st1.16b { v2, v3 }, [x2], x4 842 # CHECK: st1.4h { v4, v5, v6 }, [x3], x5 843 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4], x6 844 # CHECK: st1.2s { v12, v13 }, [x0], x7 845 # CHECK: st1.4s { v10, v11, v12 }, [x0], x8 846 # CHECK: st1.1d { v13, v14 }, [x1], x9 847 # CHECK: st1.2d { v15 }, [x2], x10 848 849 0x41 0x70 0x9f 0x0c 850 0x41 0xa0 0x9f 0x0c 851 0x41 0x60 0x9f 0x0c 852 0x41 0x20 0x9f 0x0c 853 0x42 0x70 0x9f 0x4c 854 0x42 0xa0 0x9f 0x4c 855 0x42 0x60 0x9f 0x4c 856 0x42 0x20 0x9f 0x4c 857 0x64 0x74 0x9f 0x0c 858 0x64 0xa4 0x9f 0x0c 859 0x64 0x64 0x9f 0x0c 860 0x64 0x24 0x9f 0x0c 861 0x87 0x74 0x9f 0x4c 862 0x87 0xa4 0x9f 0x4c 863 0x87 0x64 0x9f 0x4c 864 0x87 0x24 0x9f 0x4c 865 0x0c 0x78 0x9f 0x0c 866 0x0c 0xa8 0x9f 0x0c 867 0x0c 0x68 0x9f 0x0c 868 0x0c 0x28 0x9f 0x0c 869 0x0a 0x78 0x9f 0x4c 870 0x0a 0xa8 0x9f 0x4c 871 0x0a 0x68 0x9f 0x4c 872 0x0a 0x28 0x9f 0x4c 873 0x2d 0x7c 0x9f 0x0c 874 0x2d 0xac 0x9f 0x0c 875 0x2d 0x6c 0x9f 0x0c 876 0x2d 0x2c 0x9f 0x0c 877 0x4f 0x7c 0x9f 0x4c 878 0x4f 0xac 0x9f 0x4c 879 0x4f 0x6c 0x9f 0x4c 880 0x4f 0x2c 0x9f 0x4c 881 882 # CHECK: st1.8b { v1 }, [x2], #8 883 # CHECK: st1.8b { v1, v2 }, [x2], #16 884 # CHECK: st1.8b { v1, v2, v3 }, [x2], #24 885 # CHECK: st1.8b { v1, v2, v3, v4 }, [x2], #32 886 # CHECK: st1.16b { v2 }, [x2], #16 887 # CHECK: st1.16b { v2, v3 }, [x2], #32 888 # CHECK: st1.16b { v2, v3, v4 }, [x2], #48 889 # CHECK: st1.16b { v2, v3, v4, v5 }, [x2], #64 890 # CHECK: st1.4h { v4 }, [x3], #8 891 # CHECK: st1.4h { v4, v5 }, [x3], #16 892 # CHECK: st1.4h { v4, v5, v6 }, [x3], #24 893 # CHECK: st1.4h { v4, v5, v6, v7 }, [x3], #32 894 # CHECK: st1.8h { v7 }, [x4], #16 895 # CHECK: st1.8h { v7, v8 }, [x4], #32 896 # CHECK: st1.8h { v7, v8, v9 }, [x4], #48 897 # CHECK: st1.8h { v7, v8, v9, v10 }, [x4], #64 898 # CHECK: st1.2s { v12 }, [x0], #8 899 # CHECK: st1.2s { v12, v13 }, [x0], #16 900 # CHECK: st1.2s { v12, v13, v14 }, [x0], #24 901 # CHECK: st1.2s { v12, v13, v14, v15 }, [x0], #32 902 # CHECK: st1.4s { v10 }, [x0], #16 903 # CHECK: st1.4s { v10, v11 }, [x0], #32 904 # CHECK: st1.4s { v10, v11, v12 }, [x0], #48 905 # CHECK: st1.4s { v10, v11, v12, v13 }, [x0], #64 906 # CHECK: st1.1d { v13 }, [x1], #8 907 # CHECK: st1.1d { v13, v14 }, [x1], #16 908 # CHECK: st1.1d { v13, v14, v15 }, [x1], #24 909 # CHECK: st1.1d { v13, v14, v15, v16 }, [x1], #32 910 # CHECK: st1.2d { v15 }, [x2], #16 911 # CHECK: st1.2d { v15, v16 }, [x2], #32 912 # CHECK: st1.2d { v15, v16, v17 }, [x2], #48 913 # CHECK: st1.2d { v15, v16, v17, v18 }, [x2], #64 914 915 0x21 0xc0 0x40 0x0d 916 0x21 0xc0 0xc2 0x0d 917 0x64 0xc4 0x40 0x0d 918 0x64 0xc4 0xc5 0x0d 919 0xa9 0xc8 0x40 0x0d 920 0xa9 0xc8 0xc6 0x0d 921 0xec 0xcc 0x40 0x0d 922 0xec 0xcc 0xc8 0x0d 923 924 # CHECK: ld1r.8b { v1 }, [x1] 925 # CHECK: ld1r.8b { v1 }, [x1], x2 926 # CHECK: ld1r.4h { v4 }, [x3] 927 # CHECK: ld1r.4h { v4 }, [x3], x5 928 # CHECK: ld1r.2s { v9 }, [x5] 929 # CHECK: ld1r.2s { v9 }, [x5], x6 930 # CHECK: ld1r.1d { v12 }, [x7] 931 # CHECK: ld1r.1d { v12 }, [x7], x8 932 933 0x21 0xc0 0xdf 0x0d 934 0x21 0xc4 0xdf 0x0d 935 0x21 0xc8 0xdf 0x0d 936 0x21 0xcc 0xdf 0x0d 937 938 # CHECK: ld1r.8b { v1 }, [x1], #1 939 # CHECK: ld1r.4h { v1 }, [x1], #2 940 # CHECK: ld1r.2s { v1 }, [x1], #4 941 # CHECK: ld1r.1d { v1 }, [x1], #8 942 943 0x45 0x80 0x40 0x4c 944 0x0a 0x88 0x40 0x0c 945 946 # CHECK: ld2.16b { v5, v6 }, [x2] 947 # CHECK: ld2.2s { v10, v11 }, [x0] 948 949 0x45 0x80 0x00 0x4c 950 0x0a 0x88 0x00 0x0c 951 952 # CHECK: st2.16b { v5, v6 }, [x2] 953 # CHECK: st2.2s { v10, v11 }, [x0] 954 955 0x61 0x08 0x20 0x0d 956 0x82 0x84 0x20 0x4d 957 0xc3 0x50 0x20 0x0d 958 0xe4 0x90 0x20 0x4d 959 960 # CHECK: st2.b { v1, v2 }[2], [x3] 961 # CHECK: st2.d { v2, v3 }[1], [x4] 962 # CHECK: st2.h { v3, v4 }[2], [x6] 963 # CHECK: st2.s { v4, v5 }[3], [x7] 964 965 0x61 0x08 0xbf 0x0d 966 0x82 0x84 0xbf 0x4d 967 0xa3 0x58 0xbf 0x0d 968 0xc4 0x80 0xbf 0x4d 969 970 # CHECK: st2.b { v1, v2 }[2], [x3], #2 971 # CHECK: st2.d { v2, v3 }[1], [x4], #16 972 # CHECK: st2.h { v3, v4 }[3], [x5], #4 973 # CHECK: st2.s { v4, v5 }[2], [x6], #8 974 975 0x61 0x08 0x60 0x0d 976 0x82 0x84 0x60 0x4d 977 0xc3 0x50 0x60 0x0d 978 0xe4 0x90 0x60 0x4d 979 980 # CHECK: ld2.b { v1, v2 }[2], [x3] 981 # CHECK: ld2.d { v2, v3 }[1], [x4] 982 # CHECK: ld2.h { v3, v4 }[2], [x6] 983 # CHECK: ld2.s { v4, v5 }[3], [x7] 984 985 0x61 0x08 0xff 0x0d 986 0x82 0x84 0xff 0x4d 987 0xa3 0x58 0xff 0x0d 988 0xc4 0x80 0xff 0x4d 989 990 # CHECK: ld2.b { v1, v2 }[2], [x3], #2 991 # CHECK: ld2.d { v2, v3 }[1], [x4], #16 992 # CHECK: ld2.h { v3, v4 }[3], [x5], #4 993 # CHECK: ld2.s { v4, v5 }[2], [x6], #8 994 995 0x61 0x08 0xe4 0x0d 996 0x82 0x84 0xe6 0x4d 997 0xa3 0x58 0xe8 0x0d 998 0xc4 0x80 0xea 0x4d 999 1000 # CHECK: ld2.b { v1, v2 }[2], [x3], x4 1001 # CHECK: ld2.d { v2, v3 }[1], [x4], x6 1002 # CHECK: ld2.h { v3, v4 }[3], [x5], x8 1003 # CHECK: ld2.s { v4, v5 }[2], [x6], x10 1004 1005 0x61 0x08 0xa4 0x0d 1006 0x82 0x84 0xa6 0x4d 1007 0xa3 0x58 0xa8 0x0d 1008 0xc4 0x80 0xaa 0x4d 1009 1010 # CHECK: st2.b { v1, v2 }[2], [x3], x4 1011 # CHECK: st2.d { v2, v3 }[1], [x4], x6 1012 # CHECK: st2.h { v3, v4 }[3], [x5], x8 1013 # CHECK: st2.s { v4, v5 }[2], [x6], x10 1014 1015 0x64 0x84 0xc5 0x0c 1016 0x0c 0x88 0xc7 0x0c 1017 1018 # CHECK: ld2.4h { v4, v5 }, [x3], x5 1019 # CHECK: ld2.2s { v12, v13 }, [x0], x7 1020 1021 0x00 0x80 0xdf 0x0c 1022 0x00 0x80 0xdf 0x4c 1023 0x00 0x84 0xdf 0x0c 1024 0x00 0x84 0xdf 0x4c 1025 0x00 0x88 0xdf 0x0c 1026 0x00 0x88 0xdf 0x4c 1027 0x00 0x8c 0xdf 0x4c 1028 1029 # CHECK: ld2.8b { v0, v1 }, [x0], #16 1030 # CHECK: ld2.16b { v0, v1 }, [x0], #32 1031 # CHECK: ld2.4h { v0, v1 }, [x0], #16 1032 # CHECK: ld2.8h { v0, v1 }, [x0], #32 1033 # CHECK: ld2.2s { v0, v1 }, [x0], #16 1034 # CHECK: ld2.4s { v0, v1 }, [x0], #32 1035 # CHECK: ld2.2d { v0, v1 }, [x0], #32 1036 1037 0x64 0x84 0x85 0x0c 1038 0x0c 0x88 0x87 0x0c 1039 1040 # CHECK: st2.4h { v4, v5 }, [x3], x5 1041 # CHECK: st2.2s { v12, v13 }, [x0], x7 1042 1043 0x00 0x80 0x9f 0x0c 1044 0x00 0x80 0x9f 0x4c 1045 0x00 0x84 0x9f 0x0c 1046 0x00 0x84 0x9f 0x4c 1047 0x00 0x88 0x9f 0x0c 1048 0x00 0x88 0x9f 0x4c 1049 0x00 0x8c 0x9f 0x4c 1050 1051 # CHECK: st2.8b { v0, v1 }, [x0], #16 1052 # CHECK: st2.16b { v0, v1 }, [x0], #32 1053 # CHECK: st2.4h { v0, v1 }, [x0], #16 1054 # CHECK: st2.8h { v0, v1 }, [x0], #32 1055 # CHECK: st2.2s { v0, v1 }, [x0], #16 1056 # CHECK: st2.4s { v0, v1 }, [x0], #32 1057 # CHECK: st2.2d { v0, v1 }, [x0], #32 1058 1059 0x21 0xc0 0x60 0x0d 1060 0x21 0xc0 0xe2 0x0d 1061 0x21 0xc0 0x60 0x4d 1062 0x21 0xc0 0xe2 0x4d 1063 0x21 0xc4 0x60 0x0d 1064 0x21 0xc4 0xe2 0x0d 1065 0x21 0xc4 0x60 0x4d 1066 0x21 0xc4 0xe2 0x4d 1067 0x21 0xc8 0x60 0x0d 1068 0x21 0xc8 0xe2 0x0d 1069 0x21 0xcc 0x60 0x4d 1070 0x21 0xcc 0xe2 0x4d 1071 0x21 0xcc 0x60 0x0d 1072 0x21 0xcc 0xe2 0x0d 1073 1074 # CHECK: ld2r.8b { v1, v2 }, [x1] 1075 # CHECK: ld2r.8b { v1, v2 }, [x1], x2 1076 # CHECK: ld2r.16b { v1, v2 }, [x1] 1077 # CHECK: ld2r.16b { v1, v2 }, [x1], x2 1078 # CHECK: ld2r.4h { v1, v2 }, [x1] 1079 # CHECK: ld2r.4h { v1, v2 }, [x1], x2 1080 # CHECK: ld2r.8h { v1, v2 }, [x1] 1081 # CHECK: ld2r.8h { v1, v2 }, [x1], x2 1082 # CHECK: ld2r.2s { v1, v2 }, [x1] 1083 # CHECK: ld2r.2s { v1, v2 }, [x1], x2 1084 # CHECK: ld2r.2d { v1, v2 }, [x1] 1085 # CHECK: ld2r.2d { v1, v2 }, [x1], x2 1086 # CHECK: ld2r.1d { v1, v2 }, [x1] 1087 # CHECK: ld2r.1d { v1, v2 }, [x1], x2 1088 1089 0x21 0xc0 0xff 0x0d 1090 0x21 0xc0 0xff 0x4d 1091 0x21 0xc4 0xff 0x0d 1092 0x21 0xc4 0xff 0x4d 1093 0x21 0xc8 0xff 0x0d 1094 0x21 0xcc 0xff 0x4d 1095 0x21 0xcc 0xff 0x0d 1096 1097 # CHECK: ld2r.8b { v1, v2 }, [x1], #2 1098 # CHECK: ld2r.16b { v1, v2 }, [x1], #2 1099 # CHECK: ld2r.4h { v1, v2 }, [x1], #4 1100 # CHECK: ld2r.8h { v1, v2 }, [x1], #4 1101 # CHECK: ld2r.2s { v1, v2 }, [x1], #8 1102 # CHECK: ld2r.2d { v1, v2 }, [x1], #16 1103 # CHECK: ld2r.1d { v1, v2 }, [x1], #16 1104 1105 0x21 0x40 0x40 0x0c 1106 0x45 0x40 0x40 0x4c 1107 0x0a 0x48 0x40 0x0c 1108 1109 # CHECK: ld3.8b { v1, v2, v3 }, [x1] 1110 # CHECK: ld3.16b { v5, v6, v7 }, [x2] 1111 # CHECK: ld3.2s { v10, v11, v12 }, [x0] 1112 1113 0x21 0x40 0x00 0x0c 1114 0x45 0x40 0x00 0x4c 1115 0x0a 0x48 0x00 0x0c 1116 1117 # CHECK: st3.8b { v1, v2, v3 }, [x1] 1118 # CHECK: st3.16b { v5, v6, v7 }, [x2] 1119 # CHECK: st3.2s { v10, v11, v12 }, [x0] 1120 1121 0x61 0x28 0xc4 0x0d 1122 0x82 0xa4 0xc5 0x4d 1123 0xa3 0x78 0xc6 0x0d 1124 0xc4 0xa0 0xc7 0x4d 1125 1126 # CHECK: ld3.b { v1, v2, v3 }[2], [x3], x4 1127 # CHECK: ld3.d { v2, v3, v4 }[1], [x4], x5 1128 # CHECK: ld3.h { v3, v4, v5 }[3], [x5], x6 1129 # CHECK: ld3.s { v4, v5, v6 }[2], [x6], x7 1130 1131 0x61 0x28 0x84 0x0d 1132 0x82 0xa4 0x85 0x4d 1133 0xa3 0x78 0x86 0x0d 1134 0xc4 0xa0 0x87 0x4d 1135 1136 # CHECK: st3.b { v1, v2, v3 }[2], [x3], x4 1137 # CHECK: st3.d { v2, v3, v4 }[1], [x4], x5 1138 # CHECK: st3.h { v3, v4, v5 }[3], [x5], x6 1139 # CHECK: st3.s { v4, v5, v6 }[2], [x6], x7 1140 1141 0x61 0x28 0x9f 0x0d 1142 0x82 0xa4 0x9f 0x4d 1143 0xa3 0x78 0x9f 0x0d 1144 0xc4 0xa0 0x9f 0x4d 1145 1146 # CHECK: st3.b { v1, v2, v3 }[2], [x3], #3 1147 # CHECK: st3.d { v2, v3, v4 }[1], [x4], #24 1148 # CHECK: st3.h { v3, v4, v5 }[3], [x5], #6 1149 # CHECK: st3.s { v4, v5, v6 }[2], [x6], #12 1150 1151 0x41 0x40 0xc3 0x0c 1152 0x42 0x40 0xc4 0x4c 1153 0x64 0x44 0xc5 0x0c 1154 0x87 0x44 0xc6 0x4c 1155 0x0c 0x48 0xc7 0x0c 1156 0x0a 0x48 0xc8 0x4c 1157 0x4f 0x4c 0xca 0x4c 1158 1159 # CHECK: ld3.8b { v1, v2, v3 }, [x2], x3 1160 # CHECK: ld3.16b { v2, v3, v4 }, [x2], x4 1161 # CHECK: ld3.4h { v4, v5, v6 }, [x3], x5 1162 # CHECK: ld3.8h { v7, v8, v9 }, [x4], x6 1163 # CHECK: ld3.2s { v12, v13, v14 }, [x0], x7 1164 # CHECK: ld3.4s { v10, v11, v12 }, [x0], x8 1165 # CHECK: ld3.2d { v15, v16, v17 }, [x2], x10 1166 1167 0x00 0x40 0xdf 0x0c 1168 0x00 0x40 0xdf 0x4c 1169 0x00 0x44 0xdf 0x0c 1170 0x00 0x44 0xdf 0x4c 1171 0x00 0x48 0xdf 0x0c 1172 0x00 0x48 0xdf 0x4c 1173 0x00 0x4c 0xdf 0x4c 1174 1175 # CHECK: ld3.8b { v0, v1, v2 }, [x0], #24 1176 # CHECK: ld3.16b { v0, v1, v2 }, [x0], #48 1177 # CHECK: ld3.4h { v0, v1, v2 }, [x0], #24 1178 # CHECK: ld3.8h { v0, v1, v2 }, [x0], #48 1179 # CHECK: ld3.2s { v0, v1, v2 }, [x0], #24 1180 # CHECK: ld3.4s { v0, v1, v2 }, [x0], #48 1181 # CHECK: ld3.2d { v0, v1, v2 }, [x0], #48 1182 1183 0x41 0x40 0x83 0x0c 1184 0x42 0x40 0x84 0x4c 1185 0x64 0x44 0x85 0x0c 1186 0x87 0x44 0x86 0x4c 1187 0x0c 0x48 0x87 0x0c 1188 0x0a 0x48 0x88 0x4c 1189 0x4f 0x4c 0x8a 0x4c 1190 1191 # CHECK: st3.8b { v1, v2, v3 }, [x2], x3 1192 # CHECK: st3.16b { v2, v3, v4 }, [x2], x4 1193 # CHECK: st3.4h { v4, v5, v6 }, [x3], x5 1194 # CHECK: st3.8h { v7, v8, v9 }, [x4], x6 1195 # CHECK: st3.2s { v12, v13, v14 }, [x0], x7 1196 # CHECK: st3.4s { v10, v11, v12 }, [x0], x8 1197 # CHECK: st3.2d { v15, v16, v17 }, [x2], x10 1198 1199 0x00 0x40 0x9f 0x0c 1200 0x00 0x40 0x9f 0x4c 1201 0x00 0x44 0x9f 0x0c 1202 0x00 0x44 0x9f 0x4c 1203 0x00 0x48 0x9f 0x0c 1204 0x00 0x48 0x9f 0x4c 1205 0x00 0x4c 0x9f 0x4c 1206 1207 # CHECK: st3.8b { v0, v1, v2 }, [x0], #24 1208 # CHECK: st3.16b { v0, v1, v2 }, [x0], #48 1209 # CHECK: st3.4h { v0, v1, v2 }, [x0], #24 1210 # CHECK: st3.8h { v0, v1, v2 }, [x0], #48 1211 # CHECK: st3.2s { v0, v1, v2 }, [x0], #24 1212 # CHECK: st3.4s { v0, v1, v2 }, [x0], #48 1213 # CHECK: st3.2d { v0, v1, v2 }, [x0], #48 1214 1215 0x61 0x28 0x40 0x0d 1216 0x82 0xa4 0x40 0x4d 1217 0xc3 0x70 0x40 0x0d 1218 0xe4 0xb0 0x40 0x4d 1219 1220 # CHECK: ld3.b { v1, v2, v3 }[2], [x3] 1221 # CHECK: ld3.d { v2, v3, v4 }[1], [x4] 1222 # CHECK: ld3.h { v3, v4, v5 }[2], [x6] 1223 # CHECK: ld3.s { v4, v5, v6 }[3], [x7] 1224 1225 0x61 0x28 0xdf 0x0d 1226 0x82 0xa4 0xdf 0x4d 1227 0xa3 0x78 0xdf 0x0d 1228 0xc4 0xa0 0xdf 0x4d 1229 1230 # CHECK: ld3.b { v1, v2, v3 }[2], [x3], #3 1231 # CHECK: ld3.d { v2, v3, v4 }[1], [x4], #24 1232 # CHECK: ld3.h { v3, v4, v5 }[3], [x5], #6 1233 # CHECK: ld3.s { v4, v5, v6 }[2], [x6], #12 1234 1235 0x61 0x28 0x00 0x0d 1236 0x82 0xa4 0x00 0x4d 1237 0xc3 0x70 0x00 0x0d 1238 0xe4 0xb0 0x00 0x4d 1239 1240 # CHECK: st3.b { v1, v2, v3 }[2], [x3] 1241 # CHECK: st3.d { v2, v3, v4 }[1], [x4] 1242 # CHECK: st3.h { v3, v4, v5 }[2], [x6] 1243 # CHECK: st3.s { v4, v5, v6 }[3], [x7] 1244 1245 0x21 0xe0 0x40 0x0d 1246 0x21 0xe0 0xc2 0x0d 1247 0x21 0xe0 0x40 0x4d 1248 0x21 0xe0 0xc2 0x4d 1249 0x21 0xe4 0x40 0x0d 1250 0x21 0xe4 0xc2 0x0d 1251 0x21 0xe4 0x40 0x4d 1252 0x21 0xe4 0xc2 0x4d 1253 0x21 0xe8 0x40 0x0d 1254 0x21 0xe8 0xc2 0x0d 1255 0x21 0xec 0x40 0x4d 1256 0x21 0xec 0xc2 0x4d 1257 0x21 0xec 0x40 0x0d 1258 0x21 0xec 0xc2 0x0d 1259 1260 # CHECK: ld3r.8b { v1, v2, v3 }, [x1] 1261 # CHECK: ld3r.8b { v1, v2, v3 }, [x1], x2 1262 # CHECK: ld3r.16b { v1, v2, v3 }, [x1] 1263 # CHECK: ld3r.16b { v1, v2, v3 }, [x1], x2 1264 # CHECK: ld3r.4h { v1, v2, v3 }, [x1] 1265 # CHECK: ld3r.4h { v1, v2, v3 }, [x1], x2 1266 # CHECK: ld3r.8h { v1, v2, v3 }, [x1] 1267 # CHECK: ld3r.8h { v1, v2, v3 }, [x1], x2 1268 # CHECK: ld3r.2s { v1, v2, v3 }, [x1] 1269 # CHECK: ld3r.2s { v1, v2, v3 }, [x1], x2 1270 # CHECK: ld3r.2d { v1, v2, v3 }, [x1] 1271 # CHECK: ld3r.2d { v1, v2, v3 }, [x1], x2 1272 # CHECK: ld3r.1d { v1, v2, v3 }, [x1] 1273 # CHECK: ld3r.1d { v1, v2, v3 }, [x1], x2 1274 1275 0x21 0xe0 0xdf 0x0d 1276 0x21 0xe0 0xdf 0x4d 1277 0x21 0xe4 0xdf 0x0d 1278 0x21 0xe4 0xdf 0x4d 1279 0x21 0xe8 0xdf 0x0d 1280 0x21 0xec 0xdf 0x4d 1281 0x21 0xec 0xdf 0x0d 1282 1283 # CHECK: ld3r.8b { v1, v2, v3 }, [x1], #3 1284 # CHECK: ld3r.16b { v1, v2, v3 }, [x1], #3 1285 # CHECK: ld3r.4h { v1, v2, v3 }, [x1], #6 1286 # CHECK: ld3r.8h { v1, v2, v3 }, [x1], #6 1287 # CHECK: ld3r.2s { v1, v2, v3 }, [x1], #12 1288 # CHECK: ld3r.2d { v1, v2, v3 }, [x1], #24 1289 # CHECK: ld3r.1d { v1, v2, v3 }, [x1], #24 1290 1291 0x21 0x00 0x40 0x0c 1292 0x45 0x00 0x40 0x4c 1293 0x0a 0x08 0x40 0x0c 1294 1295 # CHECK: ld4.8b { v1, v2, v3, v4 }, [x1] 1296 # CHECK: ld4.16b { v5, v6, v7, v8 }, [x2] 1297 # CHECK: ld4.2s { v10, v11, v12, v13 }, [x0] 1298 1299 0x21 0x00 0x00 0x0c 1300 0x45 0x00 0x00 0x4c 1301 0x0a 0x08 0x00 0x0c 1302 1303 # CHECK: st4.8b { v1, v2, v3, v4 }, [x1] 1304 # CHECK: st4.16b { v5, v6, v7, v8 }, [x2] 1305 # CHECK: st4.2s { v10, v11, v12, v13 }, [x0] 1306 1307 0x61 0x28 0xe4 0x0d 1308 0x82 0xa4 0xe5 0x4d 1309 0xa3 0x78 0xe6 0x0d 1310 0xc4 0xa0 0xe7 0x4d 1311 1312 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], x4 1313 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], x5 1314 # CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], x6 1315 # CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], x7 1316 1317 0x61 0x28 0xff 0x0d 1318 0x82 0xa4 0xff 0x4d 1319 0xa3 0x78 0xff 0x0d 1320 0xc4 0xa0 0xff 0x4d 1321 1322 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], #4 1323 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], #32 1324 # CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], #8 1325 # CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], #16 1326 1327 0x61 0x28 0xa4 0x0d 1328 0x82 0xa4 0xa5 0x4d 1329 0xa3 0x78 0xa6 0x0d 1330 0xc4 0xa0 0xa7 0x4d 1331 1332 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], x4 1333 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], x5 1334 # CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], x6 1335 # CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], x7 1336 1337 0x61 0x28 0xbf 0x0d 1338 0x82 0xa4 0xbf 0x4d 1339 0xa3 0x78 0xbf 0x0d 1340 0xc4 0xa0 0xbf 0x4d 1341 1342 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], #4 1343 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], #32 1344 # CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], #8 1345 # CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], #16 1346 1347 0x41 0x00 0xc3 0x0c 1348 0x42 0x00 0xc4 0x4c 1349 0x64 0x04 0xc5 0x0c 1350 0x87 0x04 0xc6 0x4c 1351 0x0c 0x08 0xc7 0x0c 1352 0x0a 0x08 0xc8 0x4c 1353 0x4f 0x0c 0xca 0x4c 1354 1355 # CHECK: ld4.8b { v1, v2, v3, v4 }, [x2], x3 1356 # CHECK: ld4.16b { v2, v3, v4, v5 }, [x2], x4 1357 # CHECK: ld4.4h { v4, v5, v6, v7 }, [x3], x5 1358 # CHECK: ld4.8h { v7, v8, v9, v10 }, [x4], x6 1359 # CHECK: ld4.2s { v12, v13, v14, v15 }, [x0], x7 1360 # CHECK: ld4.4s { v10, v11, v12, v13 }, [x0], x8 1361 # CHECK: ld4.2d { v15, v16, v17, v18 }, [x2], x10 1362 1363 0x00 0x00 0xdf 0x0c 1364 0x00 0x00 0xdf 0x4c 1365 0x00 0x04 0xdf 0x0c 1366 0x00 0x04 0xdf 0x4c 1367 0x00 0x08 0xdf 0x0c 1368 0x00 0x08 0xdf 0x4c 1369 0x00 0x0c 0xdf 0x4c 1370 1371 # CHECK: ld4.8b { v0, v1, v2, v3 }, [x0], #32 1372 # CHECK: ld4.16b { v0, v1, v2, v3 }, [x0], #64 1373 # CHECK: ld4.4h { v0, v1, v2, v3 }, [x0], #32 1374 # CHECK: ld4.8h { v0, v1, v2, v3 }, [x0], #64 1375 # CHECK: ld4.2s { v0, v1, v2, v3 }, [x0], #32 1376 # CHECK: ld4.4s { v0, v1, v2, v3 }, [x0], #64 1377 # CHECK: ld4.2d { v0, v1, v2, v3 }, [x0], #64 1378 1379 0x00 0x00 0x9f 0x0c 1380 0x00 0x00 0x9f 0x4c 1381 0x00 0x04 0x9f 0x0c 1382 0x00 0x04 0x9f 0x4c 1383 0x00 0x08 0x9f 0x0c 1384 0x00 0x08 0x9f 0x4c 1385 0x00 0x0c 0x9f 0x4c 1386 1387 # CHECK: st4.8b { v0, v1, v2, v3 }, [x0], #32 1388 # CHECK: st4.16b { v0, v1, v2, v3 }, [x0], #64 1389 # CHECK: st4.4h { v0, v1, v2, v3 }, [x0], #32 1390 # CHECK: st4.8h { v0, v1, v2, v3 }, [x0], #64 1391 # CHECK: st4.2s { v0, v1, v2, v3 }, [x0], #32 1392 # CHECK: st4.4s { v0, v1, v2, v3 }, [x0], #64 1393 # CHECK: st4.2d { v0, v1, v2, v3 }, [x0], #64 1394 1395 0x41 0x00 0x83 0x0c 1396 0x42 0x00 0x84 0x4c 1397 0x64 0x04 0x85 0x0c 1398 0x87 0x04 0x86 0x4c 1399 0x0c 0x08 0x87 0x0c 1400 0x0a 0x08 0x88 0x4c 1401 0x4f 0x0c 0x8a 0x4c 1402 1403 # CHECK: st4.8b { v1, v2, v3, v4 }, [x2], x3 1404 # CHECK: st4.16b { v2, v3, v4, v5 }, [x2], x4 1405 # CHECK: st4.4h { v4, v5, v6, v7 }, [x3], x5 1406 # CHECK: st4.8h { v7, v8, v9, v10 }, [x4], x6 1407 # CHECK: st4.2s { v12, v13, v14, v15 }, [x0], x7 1408 # CHECK: st4.4s { v10, v11, v12, v13 }, [x0], x8 1409 # CHECK: st4.2d { v15, v16, v17, v18 }, [x2], x10 1410 1411 0x61 0x28 0x60 0x0d 1412 0x82 0xa4 0x60 0x4d 1413 0xc3 0x70 0x60 0x0d 1414 0xe4 0xb0 0x60 0x4d 1415 1416 # CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3] 1417 # CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4] 1418 # CHECK: ld4.h { v3, v4, v5, v6 }[2], [x6] 1419 # CHECK: ld4.s { v4, v5, v6, v7 }[3], [x7] 1420 1421 0x61 0x28 0x20 0x0d 1422 0x82 0xa4 0x20 0x4d 1423 0xc3 0x70 0x20 0x0d 1424 0xe4 0xb0 0x20 0x4d 1425 1426 # CHECK: st4.b { v1, v2, v3, v4 }[2], [x3] 1427 # CHECK: st4.d { v2, v3, v4, v5 }[1], [x4] 1428 # CHECK: st4.h { v3, v4, v5, v6 }[2], [x6] 1429 # CHECK: st4.s { v4, v5, v6, v7 }[3], [x7] 1430 1431 0x21 0xe0 0x60 0x0d 1432 0x21 0xe0 0xe2 0x0d 1433 0x21 0xe0 0x60 0x4d 1434 0x21 0xe0 0xe2 0x4d 1435 0x21 0xe4 0x60 0x0d 1436 0x21 0xe4 0xe2 0x0d 1437 0x21 0xe4 0x60 0x4d 1438 0x21 0xe4 0xe2 0x4d 1439 0x21 0xe8 0x60 0x0d 1440 0x21 0xe8 0xe2 0x0d 1441 0x21 0xec 0x60 0x4d 1442 0x21 0xec 0xe2 0x4d 1443 0x21 0xec 0x60 0x0d 1444 0x21 0xec 0xe2 0x0d 1445 1446 # CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1] 1447 # CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], x2 1448 # CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1] 1449 # CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], x2 1450 # CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1] 1451 # CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], x2 1452 # CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1] 1453 # CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], x2 1454 # CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1] 1455 # CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], x2 1456 # CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1] 1457 # CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], x2 1458 # CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1] 1459 # CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], x2 1460 1461 0x21 0xe0 0xff 0x0d 1462 0x21 0xe0 0xff 0x4d 1463 0x21 0xe4 0xff 0x0d 1464 0x21 0xe4 0xff 0x4d 1465 0x21 0xe8 0xff 0x0d 1466 0x21 0xec 0xff 0x4d 1467 0x21 0xec 0xff 0x0d 1468 1469 # CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], #4 1470 # CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], #4 1471 # CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], #8 1472 # CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], #8 1473 # CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], #16 1474 # CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], #32 1475 # CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], #32 1476 1477 0x20 0xe4 0x00 0x2f 1478 0x20 0xe4 0x00 0x6f 1479 0x20 0xe4 0x00 0x0f 1480 0x20 0xe4 0x00 0x4f 1481 1482 # CHECK: movi d0, #0x000000000000ff 1483 # CHECK: movi.2d v0, #0x000000000000ff 1484 # CHECK: movi.8b v0, #0x1 1485 # CHECK: movi.16b v0, #0x1 1486 1487 0x20 0x04 0x00 0x0f 1488 0x20 0x24 0x00 0x0f 1489 0x20 0x44 0x00 0x0f 1490 0x20 0x64 0x00 0x0f 1491 1492 # CHECK: movi.2s v0, #0x1 1493 # CHECK: movi.2s v0, #0x1, lsl #8 1494 # CHECK: movi.2s v0, #0x1, lsl #16 1495 # CHECK: movi.2s v0, #0x1, lsl #24 1496 1497 0x20 0x04 0x00 0x4f 1498 0x20 0x24 0x00 0x4f 1499 0x20 0x44 0x00 0x4f 1500 0x20 0x64 0x00 0x4f 1501 1502 # CHECK: movi.4s v0, #0x1 1503 # CHECK: movi.4s v0, #0x1, lsl #8 1504 # CHECK: movi.4s v0, #0x1, lsl #16 1505 # CHECK: movi.4s v0, #0x1, lsl #24 1506 1507 0x20 0x84 0x00 0x0f 1508 0x20 0xa4 0x00 0x0f 1509 1510 # CHECK: movi.4h v0, #0x1 1511 # CHECK: movi.4h v0, #0x1, lsl #8 1512 1513 0x20 0x84 0x00 0x4f 1514 0x20 0xa4 0x00 0x4f 1515 1516 # CHECK: movi.8h v0, #0x1 1517 # CHECK: movi.8h v0, #0x1, lsl #8 1518 1519 0x20 0x04 0x00 0x2f 1520 0x20 0x24 0x00 0x2f 1521 0x20 0x44 0x00 0x2f 1522 0x20 0x64 0x00 0x2f 1523 1524 # CHECK: mvni.2s v0, #0x1 1525 # CHECK: mvni.2s v0, #0x1, lsl #8 1526 # CHECK: mvni.2s v0, #0x1, lsl #16 1527 # CHECK: mvni.2s v0, #0x1, lsl #24 1528 1529 0x20 0x04 0x00 0x6f 1530 0x20 0x24 0x00 0x6f 1531 0x20 0x44 0x00 0x6f 1532 0x20 0x64 0x00 0x6f 1533 1534 # CHECK: mvni.4s v0, #0x1 1535 # CHECK: mvni.4s v0, #0x1, lsl #8 1536 # CHECK: mvni.4s v0, #0x1, lsl #16 1537 # CHECK: mvni.4s v0, #0x1, lsl #24 1538 1539 0x20 0x84 0x00 0x2f 1540 0x20 0xa4 0x00 0x2f 1541 1542 # CHECK: mvni.4h v0, #0x1 1543 # CHECK: mvni.4h v0, #0x1, lsl #8 1544 1545 0x20 0x84 0x00 0x6f 1546 0x20 0xa4 0x00 0x6f 1547 1548 # CHECK: mvni.8h v0, #0x1 1549 # CHECK: mvni.8h v0, #0x1, lsl #8 1550 1551 0x20 0xc4 0x00 0x2f 1552 0x20 0xd4 0x00 0x2f 1553 0x20 0xc4 0x00 0x6f 1554 0x20 0xd4 0x00 0x6f 1555 1556 # CHECK: mvni.2s v0, #0x1, msl #8 1557 # CHECK: mvni.2s v0, #0x1, msl #16 1558 # CHECK: mvni.4s v0, #0x1, msl #8 1559 # CHECK: mvni.4s v0, #0x1, msl #16 1560 1561 0x00 0x88 0x21 0x2e 1562 0x00 0x98 0x21 0x2e 1563 0x00 0x98 0xa1 0x2e 1564 0x00 0x98 0x21 0x0e 1565 0x00 0x88 0x21 0x0e 1566 0x00 0x88 0xa1 0x0e 1567 0x00 0x98 0xa1 0x0e 1568 1569 # CHECK: frinta.2s v0, v0 1570 # CHECK: frintx.2s v0, v0 1571 # CHECK: frinti.2s v0, v0 1572 # CHECK: frintm.2s v0, v0 1573 # CHECK: frintn.2s v0, v0 1574 # CHECK: frintp.2s v0, v0 1575 # CHECK: frintz.2s v0, v0 1576 1577 #===-------------------------------------------------------------------------=== 1578 # AdvSIMD scalar x index instructions 1579 #===-------------------------------------------------------------------------=== 1580 1581 0x00 0x18 0xa0 0x5f 1582 0x00 0x18 0xc0 0x5f 1583 0x00 0x58 0xa0 0x5f 1584 0x00 0x58 0xc0 0x5f 1585 0x00 0x98 0xa0 0x7f 1586 0x00 0x98 0xc0 0x7f 1587 0x00 0x98 0xa0 0x5f 1588 0x00 0x98 0xc0 0x5f 1589 0x00 0x38 0x70 0x5f 1590 0x00 0x38 0xa0 0x5f 1591 0x00 0x78 0x70 0x5f 1592 0x00 0xc8 0x70 0x5f 1593 0x00 0xc8 0xa0 0x5f 1594 0x00 0xb8 0x70 0x5f 1595 0x00 0xb8 0xa0 0x5f 1596 0x00 0xd8 0x70 0x5f 1597 0x00 0xd8 0xa0 0x5f 1598 1599 # CHECK: fmla.s s0, s0, v0[3] 1600 # CHECK: fmla.d d0, d0, v0[1] 1601 # CHECK: fmls.s s0, s0, v0[3] 1602 # CHECK: fmls.d d0, d0, v0[1] 1603 # CHECK: fmulx.s s0, s0, v0[3] 1604 # CHECK: fmulx.d d0, d0, v0[1] 1605 # CHECK: fmul.s s0, s0, v0[3] 1606 # CHECK: fmul.d d0, d0, v0[1] 1607 # CHECK: sqdmlal.h s0, h0, v0[7] 1608 # CHECK: sqdmlal.s d0, s0, v0[3] 1609 # CHECK: sqdmlsl.h s0, h0, v0[7] 1610 # CHECK: sqdmulh.h h0, h0, v0[7] 1611 # CHECK: sqdmulh.s s0, s0, v0[3] 1612 # CHECK: sqdmull.h s0, h0, v0[7] 1613 # CHECK: sqdmull.s d0, s0, v0[3] 1614 # CHECK: sqrdmulh.h h0, h0, v0[7] 1615 # CHECK: sqrdmulh.s s0, s0, v0[3] 1616 1617 #===-------------------------------------------------------------------------=== 1618 # AdvSIMD vector x index instructions 1619 #===-------------------------------------------------------------------------=== 1620 1621 0x00 0x10 0x80 0x0f 1622 0x00 0x10 0xa0 0x4f 1623 0x00 0x18 0xc0 0x4f 1624 0x00 0x50 0x80 0x0f 1625 0x00 0x50 0xa0 0x4f 1626 0x00 0x58 0xc0 0x4f 1627 0x00 0x90 0x80 0x2f 1628 0x00 0x90 0xa0 0x6f 1629 0x00 0x98 0xc0 0x6f 1630 0x00 0x90 0x80 0x0f 1631 0x00 0x90 0xa0 0x4f 1632 0x00 0x98 0xc0 0x4f 1633 0x00 0x00 0x40 0x2f 1634 0x00 0x00 0x50 0x6f 1635 0x00 0x08 0x80 0x2f 1636 0x00 0x08 0xa0 0x6f 1637 0x00 0x40 0x40 0x2f 1638 0x00 0x40 0x50 0x6f 1639 0x00 0x48 0x80 0x2f 1640 0x00 0x48 0xa0 0x6f 1641 0x00 0x80 0x40 0x0f 1642 0x00 0x80 0x50 0x4f 1643 0x00 0x88 0x80 0x0f 1644 0x00 0x88 0xa0 0x4f 1645 0x00 0x20 0x40 0x0f 1646 0x00 0x20 0x50 0x4f 1647 0x00 0x28 0x80 0x0f 1648 0x00 0x28 0xa0 0x4f 1649 0x00 0x60 0x40 0x0f 1650 0x00 0x60 0x50 0x4f 1651 0x00 0x68 0x80 0x0f 1652 0x00 0x68 0xa0 0x4f 1653 0x00 0xa0 0x40 0x0f 1654 0x00 0xa0 0x50 0x4f 1655 0x00 0xa8 0x80 0x0f 1656 0x00 0xa8 0xa0 0x4f 1657 0x00 0x30 0x40 0x0f 1658 0x00 0x30 0x50 0x4f 1659 0x00 0x38 0x80 0x0f 1660 0x00 0x38 0xa0 0x4f 1661 0x00 0x70 0x40 0x0f 1662 0x00 0x70 0x50 0x4f 1663 0x00 0x78 0x80 0x0f 1664 0x00 0x78 0xa0 0x4f 1665 0x00 0xc0 0x40 0x0f 1666 0x00 0xc0 0x50 0x4f 1667 0x00 0xc8 0x80 0x0f 1668 0x00 0xc8 0xa0 0x4f 1669 0x00 0xb0 0x40 0x0f 1670 0x00 0xb0 0x50 0x4f 1671 0x00 0xb8 0x80 0x0f 1672 0x00 0xb8 0xa0 0x4f 1673 0x00 0xd0 0x40 0x0f 1674 0x00 0xd0 0x50 0x4f 1675 0x00 0xd8 0x80 0x0f 1676 0x00 0xd8 0xa0 0x4f 1677 0x00 0x20 0x40 0x2f 1678 0x00 0x20 0x50 0x6f 1679 0x00 0x28 0x80 0x2f 1680 0x00 0x28 0xa0 0x6f 1681 0x00 0x60 0x40 0x2f 1682 0x00 0x60 0x50 0x6f 1683 0x00 0x68 0x80 0x2f 1684 0x00 0x68 0xa0 0x6f 1685 0x00 0xa0 0x40 0x2f 1686 0x00 0xa0 0x50 0x6f 1687 0x00 0xa8 0x80 0x2f 1688 0x00 0xa8 0xa0 0x6f 1689 1690 # CHECK: fmla.2s v0, v0, v0[0] 1691 # CHECK: fmla.4s v0, v0, v0[1] 1692 # CHECK: fmla.2d v0, v0, v0[1] 1693 # CHECK: fmls.2s v0, v0, v0[0] 1694 # CHECK: fmls.4s v0, v0, v0[1] 1695 # CHECK: fmls.2d v0, v0, v0[1] 1696 # CHECK: fmulx.2s v0, v0, v0[0] 1697 # CHECK: fmulx.4s v0, v0, v0[1] 1698 # CHECK: fmulx.2d v0, v0, v0[1] 1699 # CHECK: fmul.2s v0, v0, v0[0] 1700 # CHECK: fmul.4s v0, v0, v0[1] 1701 # CHECK: fmul.2d v0, v0, v0[1] 1702 # CHECK: mla.4h v0, v0, v0[0] 1703 # CHECK: mla.8h v0, v0, v0[1] 1704 # CHECK: mla.2s v0, v0, v0[2] 1705 # CHECK: mla.4s v0, v0, v0[3] 1706 # CHECK: mls.4h v0, v0, v0[0] 1707 # CHECK: mls.8h v0, v0, v0[1] 1708 # CHECK: mls.2s v0, v0, v0[2] 1709 # CHECK: mls.4s v0, v0, v0[3] 1710 # CHECK: mul.4h v0, v0, v0[0] 1711 # CHECK: mul.8h v0, v0, v0[1] 1712 # CHECK: mul.2s v0, v0, v0[2] 1713 # CHECK: mul.4s v0, v0, v0[3] 1714 # CHECK: smlal.4s v0, v0, v0[0] 1715 # CHECK: smlal2.4s v0, v0, v0[1] 1716 # CHECK: smlal.2d v0, v0, v0[2] 1717 # CHECK: smlal2.2d v0, v0, v0[3] 1718 # CHECK: smlsl.4s v0, v0, v0[0] 1719 # CHECK: smlsl2.4s v0, v0, v0[1] 1720 # CHECK: smlsl.2d v0, v0, v0[2] 1721 # CHECK: smlsl2.2d v0, v0, v0[3] 1722 # CHECK: smull.4s v0, v0, v0[0] 1723 # CHECK: smull2.4s v0, v0, v0[1] 1724 # CHECK: smull.2d v0, v0, v0[2] 1725 # CHECK: smull2.2d v0, v0, v0[3] 1726 # CHECK: sqdmlal.4s v0, v0, v0[0] 1727 # CHECK: sqdmlal2.4s v0, v0, v0[1] 1728 # CHECK: sqdmlal.2d v0, v0, v0[2] 1729 # CHECK: sqdmlal2.2d v0, v0, v0[3] 1730 # CHECK: sqdmlsl.4s v0, v0, v0[0] 1731 # CHECK: sqdmlsl2.4s v0, v0, v0[1] 1732 # CHECK: sqdmlsl.2d v0, v0, v0[2] 1733 # CHECK: sqdmlsl2.2d v0, v0, v0[3] 1734 # CHECK: sqdmulh.4h v0, v0, v0[0] 1735 # CHECK: sqdmulh.8h v0, v0, v0[1] 1736 # CHECK: sqdmulh.2s v0, v0, v0[2] 1737 # CHECK: sqdmulh.4s v0, v0, v0[3] 1738 # CHECK: sqdmull.4s v0, v0, v0[0] 1739 # CHECK: sqdmull2.4s v0, v0, v0[1] 1740 # CHECK: sqdmull.2d v0, v0, v0[2] 1741 # CHECK: sqdmull2.2d v0, v0, v0[3] 1742 # CHECK: sqrdmulh.4h v0, v0, v0[0] 1743 # CHECK: sqrdmulh.8h v0, v0, v0[1] 1744 # CHECK: sqrdmulh.2s v0, v0, v0[2] 1745 # CHECK: sqrdmulh.4s v0, v0, v0[3] 1746 # CHECK: umlal.4s v0, v0, v0[0] 1747 # CHECK: umlal2.4s v0, v0, v0[1] 1748 # CHECK: umlal.2d v0, v0, v0[2] 1749 # CHECK: umlal2.2d v0, v0, v0[3] 1750 # CHECK: umlsl.4s v0, v0, v0[0] 1751 # CHECK: umlsl2.4s v0, v0, v0[1] 1752 # CHECK: umlsl.2d v0, v0, v0[2] 1753 # CHECK: umlsl2.2d v0, v0, v0[3] 1754 # CHECK: umull.4s v0, v0, v0[0] 1755 # CHECK: umull2.4s v0, v0, v0[1] 1756 # CHECK: umull.2d v0, v0, v0[2] 1757 # CHECK: umull2.2d v0, v0, v0[3] 1758 1759 1760 #===-------------------------------------------------------------------------=== 1761 # AdvSIMD scalar + shift instructions 1762 #===-------------------------------------------------------------------------=== 1763 1764 0x00 0x54 0x41 0x5f 1765 0x00 0x54 0x41 0x7f 1766 0x00 0x9c 0x09 0x5f 1767 0x00 0x9c 0x12 0x5f 1768 0x00 0x9c 0x23 0x5f 1769 0x00 0x8c 0x09 0x7f 1770 0x00 0x8c 0x12 0x7f 1771 0x00 0x8c 0x23 0x7f 1772 0x00 0x64 0x09 0x7f 1773 0x00 0x64 0x12 0x7f 1774 0x00 0x64 0x23 0x7f 1775 0x00 0x64 0x44 0x7f 1776 0x00 0x74 0x09 0x5f 1777 0x00 0x74 0x12 0x5f 1778 0x00 0x74 0x23 0x5f 1779 0x00 0x74 0x44 0x5f 1780 0x00 0x94 0x09 0x5f 1781 0x00 0x94 0x12 0x5f 1782 0x00 0x94 0x23 0x5f 1783 0x00 0x84 0x09 0x7f 1784 0x00 0x84 0x12 0x7f 1785 0x00 0x84 0x23 0x7f 1786 0x00 0x44 0x41 0x7f 1787 0x00 0x24 0x41 0x5f 1788 0x00 0x34 0x41 0x5f 1789 0x00 0x04 0x41 0x5f 1790 0x00 0xe4 0x21 0x7f 1791 0x00 0xe4 0x42 0x7f 1792 0x00 0x9c 0x09 0x7f 1793 0x00 0x9c 0x12 0x7f 1794 0x00 0x9c 0x23 0x7f 1795 0x00 0x74 0x09 0x7f 1796 0x00 0x74 0x12 0x7f 1797 0x00 0x74 0x23 0x7f 1798 0x00 0x74 0x44 0x7f 1799 0x00 0x94 0x09 0x7f 1800 0x00 0x94 0x12 0x7f 1801 0x00 0x94 0x23 0x7f 1802 0x00 0x24 0x41 0x7f 1803 0x00 0x34 0x41 0x7f 1804 0x00 0x04 0x41 0x7f 1805 0x00 0x14 0x41 0x7f 1806 1807 # CHECK: shl d0, d0, #1 1808 # CHECK: sli d0, d0, #1 1809 # CHECK: sqrshrn b0, h0, #7 1810 # CHECK: sqrshrn h0, s0, #14 1811 # CHECK: sqrshrn s0, d0, #29 1812 # CHECK: sqrshrun b0, h0, #7 1813 # CHECK: sqrshrun h0, s0, #14 1814 # CHECK: sqrshrun s0, d0, #29 1815 # CHECK: sqshlu b0, b0, #1 1816 # CHECK: sqshlu h0, h0, #2 1817 # CHECK: sqshlu s0, s0, #3 1818 # CHECK: sqshlu d0, d0, #4 1819 # CHECK: sqshl b0, b0, #1 1820 # CHECK: sqshl h0, h0, #2 1821 # CHECK: sqshl s0, s0, #3 1822 # CHECK: sqshl d0, d0, #4 1823 # CHECK: sqshrn b0, h0, #7 1824 # CHECK: sqshrn h0, s0, #14 1825 # CHECK: sqshrn s0, d0, #29 1826 # CHECK: sqshrun b0, h0, #7 1827 # CHECK: sqshrun h0, s0, #14 1828 # CHECK: sqshrun s0, d0, #29 1829 # CHECK: sri d0, d0, #63 1830 # CHECK: srshr d0, d0, #63 1831 # CHECK: srsra d0, d0, #63 1832 # CHECK: sshr d0, d0, #63 1833 # CHECK: ucvtf s0, s0, #31 1834 # CHECK: ucvtf d0, d0, #62 1835 # CHECK: uqrshrn b0, h0, #7 1836 # CHECK: uqrshrn h0, s0, #14 1837 # CHECK: uqrshrn s0, d0, #29 1838 # CHECK: uqshl b0, b0, #1 1839 # CHECK: uqshl h0, h0, #2 1840 # CHECK: uqshl s0, s0, #3 1841 # CHECK: uqshl d0, d0, #4 1842 # CHECK: uqshrn b0, h0, #7 1843 # CHECK: uqshrn h0, s0, #14 1844 # CHECK: uqshrn s0, d0, #29 1845 # CHECK: urshr d0, d0, #63 1846 # CHECK: ursra d0, d0, #63 1847 # CHECK: ushr d0, d0, #63 1848 # CHECK: usra d0, d0, #63 1849 1850 #===-------------------------------------------------------------------------=== 1851 # AdvSIMD vector + shift instructions 1852 #===-------------------------------------------------------------------------=== 1853 1854 0x00 0xfc 0x21 0x0f 1855 0x00 0xfc 0x22 0x4f 1856 0x00 0xfc 0x43 0x4f 1857 0x00 0xfc 0x21 0x2f 1858 0x00 0xfc 0x22 0x6f 1859 0x00 0xfc 0x43 0x6f 1860 0x00 0x8c 0x09 0x0f 1861 0x00 0x8c 0x0a 0x4f 1862 0x00 0x8c 0x13 0x0f 1863 0x00 0x8c 0x14 0x4f 1864 0x00 0x8c 0x25 0x0f 1865 0x00 0x8c 0x26 0x4f 1866 0x00 0xe4 0x21 0x0f 1867 0x00 0xe4 0x22 0x4f 1868 0x00 0xe4 0x43 0x4f 1869 0x00 0x54 0x09 0x0f 1870 0x00 0x54 0x0a 0x4f 1871 0x00 0x54 0x13 0x0f 1872 0x00 0x54 0x14 0x4f 1873 0x00 0x54 0x25 0x0f 1874 0x00 0x54 0x26 0x4f 1875 0x00 0x54 0x47 0x4f 1876 0x00 0x84 0x09 0x0f 1877 0x00 0x84 0x0a 0x4f 1878 0x00 0x84 0x13 0x0f 1879 0x00 0x84 0x14 0x4f 1880 0x00 0x84 0x25 0x0f 1881 0x00 0x84 0x26 0x4f 1882 0x00 0x54 0x09 0x2f 1883 0x00 0x54 0x0a 0x6f 1884 0x00 0x54 0x13 0x2f 1885 0x00 0x54 0x14 0x6f 1886 0x00 0x54 0x25 0x2f 1887 0x00 0x54 0x26 0x6f 1888 0x00 0x54 0x47 0x6f 1889 0x00 0x9c 0x09 0x0f 1890 0x00 0x9c 0x0a 0x4f 1891 0x00 0x9c 0x13 0x0f 1892 0x00 0x9c 0x14 0x4f 1893 0x00 0x9c 0x25 0x0f 1894 0x00 0x9c 0x26 0x4f 1895 0x00 0x8c 0x09 0x2f 1896 0x00 0x8c 0x0a 0x6f 1897 0x00 0x8c 0x13 0x2f 1898 0x00 0x8c 0x14 0x6f 1899 0x00 0x8c 0x25 0x2f 1900 0x00 0x8c 0x26 0x6f 1901 0x00 0x64 0x09 0x2f 1902 0x00 0x64 0x0a 0x6f 1903 0x00 0x64 0x13 0x2f 1904 0x00 0x64 0x14 0x6f 1905 0x00 0x64 0x25 0x2f 1906 0x00 0x64 0x26 0x6f 1907 0x00 0x64 0x47 0x6f 1908 0x00 0x74 0x09 0x0f 1909 0x00 0x74 0x0a 0x4f 1910 0x00 0x74 0x13 0x0f 1911 0x00 0x74 0x14 0x4f 1912 0x00 0x74 0x25 0x0f 1913 0x00 0x74 0x26 0x4f 1914 0x00 0x74 0x47 0x4f 1915 0x00 0x94 0x09 0x0f 1916 0x00 0x94 0x0a 0x4f 1917 0x00 0x94 0x13 0x0f 1918 0x00 0x94 0x14 0x4f 1919 0x00 0x94 0x25 0x0f 1920 0x00 0x94 0x26 0x4f 1921 0x00 0x84 0x09 0x2f 1922 0x00 0x84 0x0a 0x6f 1923 0x00 0x84 0x13 0x2f 1924 0x00 0x84 0x14 0x6f 1925 0x00 0x84 0x25 0x2f 1926 0x00 0x84 0x26 0x6f 1927 0x00 0x44 0x09 0x2f 1928 0x00 0x44 0x0a 0x6f 1929 0x00 0x44 0x13 0x2f 1930 0x00 0x44 0x14 0x6f 1931 0x00 0x44 0x25 0x2f 1932 0x00 0x44 0x26 0x6f 1933 0x00 0x44 0x47 0x6f 1934 0x00 0x24 0x09 0x0f 1935 0x00 0x24 0x0a 0x4f 1936 0x00 0x24 0x13 0x0f 1937 0x00 0x24 0x14 0x4f 1938 0x00 0x24 0x25 0x0f 1939 0x00 0x24 0x26 0x4f 1940 0x00 0x24 0x47 0x4f 1941 0x00 0x34 0x09 0x0f 1942 0x00 0x34 0x0a 0x4f 1943 0x00 0x34 0x13 0x0f 1944 0x00 0x34 0x14 0x4f 1945 0x00 0x34 0x25 0x0f 1946 0x00 0x34 0x26 0x4f 1947 0x00 0x34 0x47 0x4f 1948 0x00 0xa4 0x09 0x0f 1949 0x00 0xa4 0x0a 0x4f 1950 0x00 0xa4 0x13 0x0f 1951 0x00 0xa4 0x14 0x4f 1952 0x00 0xa4 0x25 0x0f 1953 0x00 0xa4 0x26 0x4f 1954 0x00 0x04 0x09 0x0f 1955 0x00 0x04 0x0a 0x4f 1956 0x00 0x04 0x13 0x0f 1957 0x00 0x04 0x14 0x4f 1958 0x00 0x04 0x25 0x0f 1959 0x00 0x04 0x26 0x4f 1960 0x00 0x04 0x47 0x4f 1961 0x00 0x04 0x09 0x0f 1962 0x00 0x14 0x0a 0x4f 1963 0x00 0x14 0x13 0x0f 1964 0x00 0x14 0x14 0x4f 1965 0x00 0x14 0x25 0x0f 1966 0x00 0x14 0x26 0x4f 1967 0x00 0x14 0x47 0x4f 1968 0x00 0x14 0x40 0x5f 1969 0x00 0xe4 0x21 0x2f 1970 0x00 0xe4 0x22 0x6f 1971 0x00 0xe4 0x43 0x6f 1972 0x00 0x9c 0x09 0x2f 1973 0x00 0x9c 0x0a 0x6f 1974 0x00 0x9c 0x13 0x2f 1975 0x00 0x9c 0x14 0x6f 1976 0x00 0x9c 0x25 0x2f 1977 0x00 0x9c 0x26 0x6f 1978 0x00 0x74 0x09 0x2f 1979 0x00 0x74 0x0a 0x6f 1980 0x00 0x74 0x13 0x2f 1981 0x00 0x74 0x14 0x6f 1982 0x00 0x74 0x25 0x2f 1983 0x00 0x74 0x26 0x6f 1984 0x00 0x74 0x47 0x6f 1985 0x00 0x94 0x09 0x2f 1986 0x00 0x94 0x0a 0x6f 1987 0x00 0x94 0x13 0x2f 1988 0x00 0x94 0x14 0x6f 1989 0x00 0x94 0x25 0x2f 1990 0x00 0x94 0x26 0x6f 1991 0x00 0x24 0x09 0x2f 1992 0x00 0x24 0x0a 0x6f 1993 0x00 0x24 0x13 0x2f 1994 0x00 0x24 0x14 0x6f 1995 0x00 0x24 0x25 0x2f 1996 0x00 0x24 0x26 0x6f 1997 0x00 0x24 0x47 0x6f 1998 0x00 0x34 0x09 0x2f 1999 0x00 0x34 0x0a 0x6f 2000 0x00 0x34 0x13 0x2f 2001 0x00 0x34 0x14 0x6f 2002 0x00 0x34 0x25 0x2f 2003 0x00 0x34 0x26 0x6f 2004 0x00 0x34 0x47 0x6f 2005 0x00 0xa4 0x09 0x2f 2006 0x00 0xa4 0x0a 0x6f 2007 0x00 0xa4 0x13 0x2f 2008 0x00 0xa4 0x14 0x6f 2009 0x00 0xa4 0x25 0x2f 2010 0x00 0xa4 0x26 0x6f 2011 0x00 0x04 0x09 0x2f 2012 0x00 0x04 0x0a 0x6f 2013 0x00 0x04 0x13 0x2f 2014 0x00 0x04 0x14 0x6f 2015 0x00 0x04 0x25 0x2f 2016 0x00 0x04 0x26 0x6f 2017 0x00 0x04 0x47 0x6f 2018 0x00 0x14 0x09 0x2f 2019 0x00 0x14 0x0a 0x6f 2020 0x00 0x14 0x13 0x2f 2021 0x00 0x14 0x14 0x6f 2022 0x00 0x14 0x25 0x2f 2023 0x00 0x14 0x26 0x6f 2024 0x00 0x14 0x47 0x6f 2025 2026 # CHECK: fcvtzs.2s v0, v0, #31 2027 # CHECK: fcvtzs.4s v0, v0, #30 2028 # CHECK: fcvtzs.2d v0, v0, #61 2029 # CHECK: fcvtzu.2s v0, v0, #31 2030 # CHECK: fcvtzu.4s v0, v0, #30 2031 # CHECK: fcvtzu.2d v0, v0, #61 2032 # CHECK: rshrn.8b v0, v0, #7 2033 # CHECK: rshrn2.16b v0, v0, #6 2034 # CHECK: rshrn.4h v0, v0, #13 2035 # CHECK: rshrn2.8h v0, v0, #12 2036 # CHECK: rshrn.2s v0, v0, #27 2037 # CHECK: rshrn2.4s v0, v0, #26 2038 # CHECK: scvtf.2s v0, v0, #31 2039 # CHECK: scvtf.4s v0, v0, #30 2040 # CHECK: scvtf.2d v0, v0, #61 2041 # CHECK: shl.8b v0, v0, #1 2042 # CHECK: shl.16b v0, v0, #2 2043 # CHECK: shl.4h v0, v0, #3 2044 # CHECK: shl.8h v0, v0, #4 2045 # CHECK: shl.2s v0, v0, #5 2046 # CHECK: shl.4s v0, v0, #6 2047 # CHECK: shl.2d v0, v0, #7 2048 # CHECK: shrn.8b v0, v0, #7 2049 # CHECK: shrn2.16b v0, v0, #6 2050 # CHECK: shrn.4h v0, v0, #13 2051 # CHECK: shrn2.8h v0, v0, #12 2052 # CHECK: shrn.2s v0, v0, #27 2053 # CHECK: shrn2.4s v0, v0, #26 2054 # CHECK: sli.8b v0, v0, #1 2055 # CHECK: sli.16b v0, v0, #2 2056 # CHECK: sli.4h v0, v0, #3 2057 # CHECK: sli.8h v0, v0, #4 2058 # CHECK: sli.2s v0, v0, #5 2059 # CHECK: sli.4s v0, v0, #6 2060 # CHECK: sli.2d v0, v0, #7 2061 # CHECK: sqrshrn.8b v0, v0, #7 2062 # CHECK: sqrshrn2.16b v0, v0, #6 2063 # CHECK: sqrshrn.4h v0, v0, #13 2064 # CHECK: sqrshrn2.8h v0, v0, #12 2065 # CHECK: sqrshrn.2s v0, v0, #27 2066 # CHECK: sqrshrn2.4s v0, v0, #26 2067 # CHECK: sqrshrun.8b v0, v0, #7 2068 # CHECK: sqrshrun2.16b v0, v0, #6 2069 # CHECK: sqrshrun.4h v0, v0, #13 2070 # CHECK: sqrshrun2.8h v0, v0, #12 2071 # CHECK: sqrshrun.2s v0, v0, #27 2072 # CHECK: sqrshrun2.4s v0, v0, #26 2073 # CHECK: sqshlu.8b v0, v0, #1 2074 # CHECK: sqshlu.16b v0, v0, #2 2075 # CHECK: sqshlu.4h v0, v0, #3 2076 # CHECK: sqshlu.8h v0, v0, #4 2077 # CHECK: sqshlu.2s v0, v0, #5 2078 # CHECK: sqshlu.4s v0, v0, #6 2079 # CHECK: sqshlu.2d v0, v0, #7 2080 # CHECK: sqshl.8b v0, v0, #1 2081 # CHECK: sqshl.16b v0, v0, #2 2082 # CHECK: sqshl.4h v0, v0, #3 2083 # CHECK: sqshl.8h v0, v0, #4 2084 # CHECK: sqshl.2s v0, v0, #5 2085 # CHECK: sqshl.4s v0, v0, #6 2086 # CHECK: sqshl.2d v0, v0, #7 2087 # CHECK: sqshrn.8b v0, v0, #7 2088 # CHECK: sqshrn2.16b v0, v0, #6 2089 # CHECK: sqshrn.4h v0, v0, #13 2090 # CHECK: sqshrn2.8h v0, v0, #12 2091 # CHECK: sqshrn.2s v0, v0, #27 2092 # CHECK: sqshrn2.4s v0, v0, #26 2093 # CHECK: sqshrun.8b v0, v0, #7 2094 # CHECK: sqshrun2.16b v0, v0, #6 2095 # CHECK: sqshrun.4h v0, v0, #13 2096 # CHECK: sqshrun2.8h v0, v0, #12 2097 # CHECK: sqshrun.2s v0, v0, #27 2098 # CHECK: sqshrun2.4s v0, v0, #26 2099 # CHECK: sri.8b v0, v0, #7 2100 # CHECK: sri.16b v0, v0, #6 2101 # CHECK: sri.4h v0, v0, #13 2102 # CHECK: sri.8h v0, v0, #12 2103 # CHECK: sri.2s v0, v0, #27 2104 # CHECK: sri.4s v0, v0, #26 2105 # CHECK: sri.2d v0, v0, #57 2106 # CHECK: srshr.8b v0, v0, #7 2107 # CHECK: srshr.16b v0, v0, #6 2108 # CHECK: srshr.4h v0, v0, #13 2109 # CHECK: srshr.8h v0, v0, #12 2110 # CHECK: srshr.2s v0, v0, #27 2111 # CHECK: srshr.4s v0, v0, #26 2112 # CHECK: srshr.2d v0, v0, #57 2113 # CHECK: srsra.8b v0, v0, #7 2114 # CHECK: srsra.16b v0, v0, #6 2115 # CHECK: srsra.4h v0, v0, #13 2116 # CHECK: srsra.8h v0, v0, #12 2117 # CHECK: srsra.2s v0, v0, #27 2118 # CHECK: srsra.4s v0, v0, #26 2119 # CHECK: srsra.2d v0, v0, #57 2120 # CHECK: sshll.8h v0, v0, #1 2121 # CHECK: sshll2.8h v0, v0, #2 2122 # CHECK: sshll.4s v0, v0, #3 2123 # CHECK: sshll2.4s v0, v0, #4 2124 # CHECK: sshll.2d v0, v0, #5 2125 # CHECK: sshll2.2d v0, v0, #6 2126 # CHECK: sshr.8b v0, v0, #7 2127 # CHECK: sshr.16b v0, v0, #6 2128 # CHECK: sshr.4h v0, v0, #13 2129 # CHECK: sshr.8h v0, v0, #12 2130 # CHECK: sshr.2s v0, v0, #27 2131 # CHECK: sshr.4s v0, v0, #26 2132 # CHECK: sshr.2d v0, v0, #57 2133 # CHECK: sshr.8b v0, v0, #7 2134 # CHECK: ssra.16b v0, v0, #6 2135 # CHECK: ssra.4h v0, v0, #13 2136 # CHECK: ssra.8h v0, v0, #12 2137 # CHECK: ssra.2s v0, v0, #27 2138 # CHECK: ssra.4s v0, v0, #26 2139 # CHECK: ssra.2d v0, v0, #57 2140 # CHECK: ssra d0, d0, #64 2141 # CHECK: ucvtf.2s v0, v0, #31 2142 # CHECK: ucvtf.4s v0, v0, #30 2143 # CHECK: ucvtf.2d v0, v0, #61 2144 # CHECK: uqrshrn.8b v0, v0, #7 2145 # CHECK: uqrshrn2.16b v0, v0, #6 2146 # CHECK: uqrshrn.4h v0, v0, #13 2147 # CHECK: uqrshrn2.8h v0, v0, #12 2148 # CHECK: uqrshrn.2s v0, v0, #27 2149 # CHECK: uqrshrn2.4s v0, v0, #26 2150 # CHECK: uqshl.8b v0, v0, #1 2151 # CHECK: uqshl.16b v0, v0, #2 2152 # CHECK: uqshl.4h v0, v0, #3 2153 # CHECK: uqshl.8h v0, v0, #4 2154 # CHECK: uqshl.2s v0, v0, #5 2155 # CHECK: uqshl.4s v0, v0, #6 2156 # CHECK: uqshl.2d v0, v0, #7 2157 # CHECK: uqshrn.8b v0, v0, #7 2158 # CHECK: uqshrn2.16b v0, v0, #6 2159 # CHECK: uqshrn.4h v0, v0, #13 2160 # CHECK: uqshrn2.8h v0, v0, #12 2161 # CHECK: uqshrn.2s v0, v0, #27 2162 # CHECK: uqshrn2.4s v0, v0, #26 2163 # CHECK: urshr.8b v0, v0, #7 2164 # CHECK: urshr.16b v0, v0, #6 2165 # CHECK: urshr.4h v0, v0, #13 2166 # CHECK: urshr.8h v0, v0, #12 2167 # CHECK: urshr.2s v0, v0, #27 2168 # CHECK: urshr.4s v0, v0, #26 2169 # CHECK: urshr.2d v0, v0, #57 2170 # CHECK: ursra.8b v0, v0, #7 2171 # CHECK: ursra.16b v0, v0, #6 2172 # CHECK: ursra.4h v0, v0, #13 2173 # CHECK: ursra.8h v0, v0, #12 2174 # CHECK: ursra.2s v0, v0, #27 2175 # CHECK: ursra.4s v0, v0, #26 2176 # CHECK: ursra.2d v0, v0, #57 2177 # CHECK: ushll.8h v0, v0, #1 2178 # CHECK: ushll2.8h v0, v0, #2 2179 # CHECK: ushll.4s v0, v0, #3 2180 # CHECK: ushll2.4s v0, v0, #4 2181 # CHECK: ushll.2d v0, v0, #5 2182 # CHECK: ushll2.2d v0, v0, #6 2183 # CHECK: ushr.8b v0, v0, #7 2184 # CHECK: ushr.16b v0, v0, #6 2185 # CHECK: ushr.4h v0, v0, #13 2186 # CHECK: ushr.8h v0, v0, #12 2187 # CHECK: ushr.2s v0, v0, #27 2188 # CHECK: ushr.4s v0, v0, #26 2189 # CHECK: ushr.2d v0, v0, #57 2190 # CHECK: usra.8b v0, v0, #7 2191 # CHECK: usra.16b v0, v0, #6 2192 # CHECK: usra.4h v0, v0, #13 2193 # CHECK: usra.8h v0, v0, #12 2194 # CHECK: usra.2s v0, v0, #27 2195 # CHECK: usra.4s v0, v0, #26 2196 # CHECK: usra.2d v0, v0, #57 2197 2198 2199 0x00 0xe0 0x20 0x0e 2200 0x00 0xe0 0x20 0x4e 2201 0x00 0xe0 0xe0 0x0e 2202 0x00 0xe0 0xe0 0x4e 2203 2204 # CHECK: pmull.8h v0, v0, v0 2205 # CHECK: pmull2.8h v0, v0, v0 2206 # CHECK: pmull.1q v0, v0, v0 2207 # CHECK: pmull2.1q v0, v0, v0 2208 2209 0x41 0xd8 0x70 0x7e 2210 0x83 0xd8 0x30 0x7e 2211 # CHECK: faddp.2d d1, v2 2212 # CHECK: faddp.2s s3, v4 2213 2214 0x82 0x60 0x01 0x4e 2215 0x80 0x60 0x01 0x0e 2216 0xa2 0x00 0x01 0x4e 2217 0xa0 0x00 0x01 0x0e 2218 0xa2 0x40 0x01 0x4e 2219 0xa0 0x40 0x01 0x0e 2220 0xc2 0x20 0x01 0x4e 2221 0xc0 0x20 0x01 0x0e 2222 2223 # CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v1 2224 # CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v1 2225 # CHECK: tbl.16b v2, { v5 }, v1 2226 # CHECK: tbl.8b v0, { v5 }, v1 2227 # CHECK: tbl.16b v2, { v5, v6, v7 }, v1 2228 # CHECK: tbl.8b v0, { v5, v6, v7 }, v1 2229 # CHECK: tbl.16b v2, { v6, v7 }, v1 2230 # CHECK: tbl.8b v0, { v6, v7 }, v1 2231 # 2232 0x82 0x70 0x01 0x4e 2233 0x80 0x70 0x01 0x0e 2234 0xa2 0x10 0x01 0x4e 2235 0xa0 0x10 0x01 0x0e 2236 0xa2 0x50 0x01 0x4e 2237 0xa0 0x50 0x01 0x0e 2238 0xc2 0x30 0x01 0x4e 2239 0xc0 0x30 0x01 0x0e 2240 2241 # CHECK: tbx.16b v2, { v4, v5, v6, v7 }, v1 2242 # CHECK: tbx.8b v0, { v4, v5, v6, v7 }, v1 2243 # CHECK: tbx.16b v2, { v5 }, v1 2244 # CHECK: tbx.8b v0, { v5 }, v1 2245 # CHECK: tbx.16b v2, { v5, v6, v7 }, v1 2246 # CHECK: tbx.8b v0, { v5, v6, v7 }, v1 2247 # CHECK: tbx.16b v2, { v6, v7 }, v1 2248 # CHECK: tbx.8b v0, { v6, v7 }, v1 2249 # 2250 2251 0x00 0x80 0x20 0x0e 2252 0x00 0x80 0x20 0x4e 2253 0x00 0x80 0xa0 0x0e 2254 0x00 0x80 0xa0 0x4e 2255 2256 # CHECK: smlal.8h v0, v0, v0 2257 # CHECK: smlal2.8h v0, v0, v0 2258 # CHECK: smlal.2d v0, v0, v0 2259 # CHECK: smlal2.2d v0, v0, v0 2260 2261 0x00 0x80 0x20 0x2e 2262 0x00 0x80 0x20 0x6e 2263 0x00 0x80 0xa0 0x2e 2264 0x00 0x80 0xa0 0x6e 2265 2266 # CHECK: umlal.8h v0, v0, v0 2267 # CHECK: umlal2.8h v0, v0, v0 2268 # CHECK: umlal.2d v0, v0, v0 2269 # CHECK: umlal2.2d v0, v0, v0 2270 2271 0x00 0x90 0x60 0x5e 2272 0x00 0x90 0xa0 0x5e 2273 0x00 0xb0 0x60 0x5e 2274 0x00 0xb0 0xa0 0x5e 2275 2276 # CHECK: sqdmlal s0, h0, h0 2277 # CHECK: sqdmlal d0, s0, s0 2278 # CHECK: sqdmlsl s0, h0, h0 2279 # CHECK: sqdmlsl d0, s0, s0 2280 2281 0xaa 0xc5 0xc7 0x4d 2282 0xaa 0xc9 0xc7 0x4d 2283 0xaa 0xc1 0xc7 0x4d 2284 2285 # CHECK: ld1r.8h { v10 }, [x13], x7 2286 # CHECK: ld1r.4s { v10 }, [x13], x7 2287 # CHECK: ld1r.16b { v10 }, [x13], x7 2288 2289 0x00 0xd0 0x60 0x5e 2290 0x00 0xd0 0xa0 0x5e 2291 # CHECK: sqdmull s0, h0, h0 2292 # CHECK: sqdmull d0, s0, s0 2293 2294 0x00 0xd8 0xa1 0x7e 2295 0x00 0xd8 0xe1 0x7e 2296 2297 # CHECK: frsqrte s0, s0 2298 # CHECK: frsqrte d0, d0 2299 2300 0xca 0xcd 0xc7 0x4d 2301 0xea 0xc9 0xe7 0x4d 2302 0xea 0xe9 0xc7 0x4d 2303 0xea 0xe9 0xe7 0x4d 2304 # CHECK: ld1r.2d { v10 }, [x14], x7 2305 # CHECK: ld2r.4s { v10, v11 }, [x15], x7 2306 # CHECK: ld3r.4s { v10, v11, v12 }, [x15], x7 2307 # CHECK: ld4r.4s { v10, v11, v12, v13 }, [x15], x7 2308 2309 #===-------------------------------------------------------------------------=== 2310 # AdvSIMD scalar three same 2311 #===-------------------------------------------------------------------------=== 2312 0x62 0xdc 0x21 0x5e 2313 # CHECK: fmulx s2, s3, s1 2314 0x62 0xdc 0x61 0x5e 2315 # CHECK: fmulx d2, d3, d1 2316 2317 2318 # rdar://12511369 2319 0xe8 0x6b 0xdf 0x4c 2320 # CHECK: ld1.4s { v8, v9, v10 }, [sp], #48 2321