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