mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
7b837d8c75
This adds a second implementation of the AArch64 architecture to LLVM, accessible in parallel via the "arm64" triple. The plan over the coming weeks & months is to merge the two into a single backend, during which time thorough code review should naturally occur. Everything will be easier with the target in-tree though, hence this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205090 91177308-0d34-0410-b5e6-96231b3b80d8
2283 lines
55 KiB
Plaintext
2283 lines
55 KiB
Plaintext
# RUN: llvm-mc -triple arm64-apple-darwin -output-asm-variant=1 --disassemble < %s | FileCheck %s
|
|
|
|
0x00 0xb8 0x20 0x0e
|
|
0x00 0xb8 0x20 0x4e
|
|
0x00 0xb8 0x60 0x0e
|
|
0x00 0xb8 0x60 0x4e
|
|
0x00 0xb8 0xa0 0x0e
|
|
0x00 0xb8 0xa0 0x4e
|
|
|
|
# CHECK: abs.8b v0, v0
|
|
# CHECK: abs.16b v0, v0
|
|
# CHECK: abs.4h v0, v0
|
|
# CHECK: abs.8h v0, v0
|
|
# CHECK: abs.2s v0, v0
|
|
# CHECK: abs.4s v0, v0
|
|
|
|
0x00 0x84 0x20 0x0e
|
|
0x00 0x84 0x20 0x4e
|
|
0x00 0x84 0x60 0x0e
|
|
0x00 0x84 0x60 0x4e
|
|
0x00 0x84 0xa0 0x0e
|
|
0x00 0x84 0xa0 0x4e
|
|
0x00 0x84 0xe0 0x4e
|
|
|
|
# CHECK: add.8b v0, v0, v0
|
|
# CHECK: add.16b v0, v0, v0
|
|
# CHECK: add.4h v0, v0, v0
|
|
# CHECK: add.8h v0, v0, v0
|
|
# CHECK: add.2s v0, v0, v0
|
|
# CHECK: add.4s v0, v0, v0
|
|
# CHECK: add.2d v0, v0, v0
|
|
|
|
0x41 0x84 0xe3 0x5e
|
|
|
|
# CHECK: add d1, d2, d3
|
|
|
|
0x00 0x40 0x20 0x0e
|
|
0x00 0x40 0x20 0x4e
|
|
0x00 0x40 0x60 0x0e
|
|
0x00 0x40 0x60 0x4e
|
|
0x00 0x40 0xa0 0x0e
|
|
0x00 0x40 0xa0 0x4e
|
|
|
|
# CHECK: addhn.8b v0, v0, v0
|
|
# CHECK: addhn2.16b v0, v0, v0
|
|
# CHECK: addhn.4h v0, v0, v0
|
|
# CHECK: addhn2.8h v0, v0, v0
|
|
# CHECK: addhn.2s v0, v0, v0
|
|
# CHECK: addhn2.4s v0, v0, v0
|
|
|
|
0x00 0xbc 0x20 0x0e
|
|
0x00 0xbc 0x20 0x4e
|
|
0x00 0xbc 0x60 0x0e
|
|
0x00 0xbc 0x60 0x4e
|
|
0x00 0xbc 0xa0 0x0e
|
|
0x00 0xbc 0xa0 0x4e
|
|
0x00 0xbc 0xe0 0x4e
|
|
|
|
# CHECK: addp.8b v0, v0, v0
|
|
# CHECK: addp.16b v0, v0, v0
|
|
# CHECK: addp.4h v0, v0, v0
|
|
# CHECK: addp.8h v0, v0, v0
|
|
# CHECK: addp.2s v0, v0, v0
|
|
# CHECK: addp.4s v0, v0, v0
|
|
# CHECK: addp.2d v0, v0, v0
|
|
|
|
0x00 0xb8 0xf1 0x5e
|
|
|
|
# CHECK: addp.2d d0, v0
|
|
|
|
0x00 0xb8 0x31 0x0e
|
|
0x00 0xb8 0x31 0x4e
|
|
0x00 0xb8 0x71 0x0e
|
|
0x00 0xb8 0x71 0x4e
|
|
0x00 0xb8 0xb1 0x4e
|
|
|
|
# CHECK: addv.8b b0, v0
|
|
# CHECK: addv.16b b0, v0
|
|
# CHECK: addv.4h h0, v0
|
|
# CHECK: addv.8h h0, v0
|
|
# CHECK: addv.4s s0, v0
|
|
|
|
|
|
# INS/DUP
|
|
0x60 0x0c 0x08 0x4e
|
|
0x60 0x0c 0x04 0x4e
|
|
0x60 0x0c 0x04 0x0e
|
|
0x60 0x0c 0x02 0x4e
|
|
0x60 0x0c 0x02 0x0e
|
|
0x60 0x0c 0x01 0x4e
|
|
0x60 0x0c 0x01 0x0e
|
|
|
|
# CHECK: dup.2d v0, x3
|
|
# CHECK: dup.4s v0, w3
|
|
# CHECK: dup.2s v0, w3
|
|
# CHECK: dup.8h v0, w3
|
|
# CHECK: dup.4h v0, w3
|
|
# CHECK: dup.16b v0, w3
|
|
# CHECK: dup.8b v0, w3
|
|
|
|
0x60 0x04 0x18 0x4e
|
|
0x60 0x04 0x0c 0x0e
|
|
0x60 0x04 0x0c 0x4e
|
|
0x60 0x04 0x06 0x0e
|
|
0x60 0x04 0x06 0x4e
|
|
0x60 0x04 0x03 0x0e
|
|
0x60 0x04 0x03 0x4e
|
|
|
|
# CHECK: dup.2d v0, v3[1]
|
|
# CHECK: dup.2s v0, v3[1]
|
|
# CHECK: dup.4s v0, v3[1]
|
|
# CHECK: dup.4h v0, v3[1]
|
|
# CHECK: dup.8h v0, v3[1]
|
|
# CHECK: dup.8b v0, v3[1]
|
|
# CHECK: dup.16b v0, v3[1]
|
|
|
|
|
|
0x43 0x2c 0x14 0x4e
|
|
0x43 0x2c 0x14 0x4e
|
|
0x43 0x3c 0x14 0x0e
|
|
0x43 0x3c 0x14 0x0e
|
|
0x43 0x3c 0x18 0x4e
|
|
0x43 0x3c 0x18 0x4e
|
|
|
|
# CHECK: smov.s x3, v2[2]
|
|
# CHECK: smov.s x3, v2[2]
|
|
# CHECK: umov.s w3, v2[2]
|
|
# CHECK: umov.s w3, v2[2]
|
|
# CHECK: umov.d x3, v2[1]
|
|
# CHECK: umov.d x3, v2[1]
|
|
|
|
0xa2 0x1c 0x18 0x4e
|
|
0xa2 0x1c 0x0c 0x4e
|
|
0xa2 0x1c 0x06 0x4e
|
|
0xa2 0x1c 0x03 0x4e
|
|
|
|
0xa2 0x1c 0x18 0x4e
|
|
0xa2 0x1c 0x0c 0x4e
|
|
0xa2 0x1c 0x06 0x4e
|
|
0xa2 0x1c 0x03 0x4e
|
|
|
|
# CHECK: ins.d v2[1], x5
|
|
# CHECK: ins.s v2[1], w5
|
|
# CHECK: ins.h v2[1], w5
|
|
# CHECK: ins.b v2[1], w5
|
|
|
|
# CHECK: ins.d v2[1], x5
|
|
# CHECK: ins.s v2[1], w5
|
|
# CHECK: ins.h v2[1], w5
|
|
# CHECK: ins.b v2[1], w5
|
|
|
|
0xe2 0x45 0x18 0x6e
|
|
0xe2 0x25 0x0c 0x6e
|
|
0xe2 0x15 0x06 0x6e
|
|
0xe2 0x0d 0x03 0x6e
|
|
|
|
0xe2 0x05 0x18 0x6e
|
|
0xe2 0x45 0x1c 0x6e
|
|
0xe2 0x35 0x1e 0x6e
|
|
0xe2 0x2d 0x15 0x6e
|
|
|
|
# CHECK: ins.d v2[1], v15[1]
|
|
# CHECK: ins.s v2[1], v15[1]
|
|
# CHECK: ins.h v2[1], v15[1]
|
|
# CHECK: ins.b v2[1], v15[1]
|
|
|
|
# CHECK: ins.d v2[1], v15[0]
|
|
# CHECK: ins.s v2[3], v15[2]
|
|
# CHECK: ins.h v2[7], v15[3]
|
|
# CHECK: ins.b v2[10], v15[5]
|
|
|
|
0x00 0x1c 0x20 0x0e
|
|
0x00 0x1c 0x20 0x4e
|
|
|
|
# CHECK: and.8b v0, v0, v0
|
|
# CHECK: and.16b v0, v0, v0
|
|
|
|
0x00 0x1c 0x60 0x0e
|
|
|
|
# CHECK: bic.8b v0, v0, v0
|
|
|
|
0x00 0x8c 0x20 0x2e
|
|
0x00 0x3c 0x20 0x0e
|
|
0x00 0x34 0x20 0x0e
|
|
0x00 0x34 0x20 0x2e
|
|
0x00 0x3c 0x20 0x2e
|
|
0x00 0x8c 0x20 0x0e
|
|
0x00 0xd4 0xa0 0x2e
|
|
0x00 0xec 0x20 0x2e
|
|
0x00 0xec 0xa0 0x2e
|
|
0x00 0xd4 0x20 0x2e
|
|
0x00 0xd4 0x20 0x0e
|
|
0x00 0xe4 0x20 0x0e
|
|
0x00 0xe4 0x20 0x2e
|
|
0x00 0xe4 0xa0 0x2e
|
|
0x00 0xfc 0x20 0x2e
|
|
0x00 0xc4 0x20 0x2e
|
|
0x00 0xc4 0x20 0x0e
|
|
0x00 0xf4 0x20 0x2e
|
|
0x00 0xf4 0x20 0x0e
|
|
0x00 0xc4 0xa0 0x2e
|
|
0x00 0xc4 0xa0 0x0e
|
|
0x00 0xf4 0xa0 0x2e
|
|
0x00 0xf4 0xa0 0x0e
|
|
0x00 0xcc 0x20 0x0e
|
|
0x00 0xcc 0xa0 0x0e
|
|
0x00 0xdc 0x20 0x0e
|
|
0x00 0xdc 0x20 0x2e
|
|
0x00 0xfc 0x20 0x0e
|
|
0x00 0xfc 0xa0 0x0e
|
|
0x00 0xd4 0xa0 0x0e
|
|
0x00 0x94 0x20 0x0e
|
|
0x00 0x94 0x20 0x2e
|
|
0x00 0x9c 0x20 0x0e
|
|
0x00 0x9c 0x20 0x2e
|
|
0x00 0x7c 0x20 0x0e
|
|
0x00 0x74 0x20 0x0e
|
|
0x00 0x04 0x20 0x0e
|
|
0x00 0x24 0x20 0x0e
|
|
0x00 0xa4 0x20 0x0e
|
|
0x00 0x64 0x20 0x0e
|
|
0x00 0xac 0x20 0x0e
|
|
0x00 0x6c 0x20 0x0e
|
|
0x00 0x0c 0x20 0x0e
|
|
0x00 0xb4 0x60 0x0e
|
|
0x00 0xb4 0x60 0x2e
|
|
0x00 0x5c 0x20 0x0e
|
|
0x00 0x4c 0x20 0x0e
|
|
0x00 0x2c 0x20 0x0e
|
|
0x00 0x14 0x20 0x0e
|
|
0x00 0x54 0x20 0x0e
|
|
0x00 0x44 0x20 0x0e
|
|
0x00 0x84 0x20 0x2e
|
|
0x00 0x7c 0x20 0x2e
|
|
0x00 0x74 0x20 0x2e
|
|
0x00 0x04 0x20 0x2e
|
|
0x00 0x24 0x20 0x2e
|
|
0x00 0xa4 0x20 0x2e
|
|
0x00 0x64 0x20 0x2e
|
|
0x00 0xac 0x20 0x2e
|
|
0x00 0x6c 0x20 0x2e
|
|
0x00 0x0c 0x20 0x2e
|
|
0x00 0x5c 0x20 0x2e
|
|
0x00 0x4c 0x20 0x2e
|
|
0x00 0x2c 0x20 0x2e
|
|
0x00 0x14 0x20 0x2e
|
|
0x00 0x54 0x20 0x2e
|
|
0x00 0x44 0x20 0x2e
|
|
|
|
# CHECK: cmeq.8b v0, v0, v0
|
|
# CHECK: cmge.8b v0, v0, v0
|
|
# CHECK: cmgt.8b v0, v0, v0
|
|
# CHECK: cmhi.8b v0, v0, v0
|
|
# CHECK: cmhs.8b v0, v0, v0
|
|
# CHECK: cmtst.8b v0, v0, v0
|
|
# CHECK: fabd.2s v0, v0, v0
|
|
# CHECK: facge.2s v0, v0, v0
|
|
# CHECK: facgt.2s v0, v0, v0
|
|
# CHECK: faddp.2s v0, v0, v0
|
|
# CHECK: fadd.2s v0, v0, v0
|
|
# CHECK: fcmeq.2s v0, v0, v0
|
|
# CHECK: fcmge.2s v0, v0, v0
|
|
# CHECK: fcmgt.2s v0, v0, v0
|
|
# CHECK: fdiv.2s v0, v0, v0
|
|
# CHECK: fmaxnmp.2s v0, v0, v0
|
|
# CHECK: fmaxnm.2s v0, v0, v0
|
|
# CHECK: fmaxp.2s v0, v0, v0
|
|
# CHECK: fmax.2s v0, v0, v0
|
|
# CHECK: fminnmp.2s v0, v0, v0
|
|
# CHECK: fminnm.2s v0, v0, v0
|
|
# CHECK: fminp.2s v0, v0, v0
|
|
# CHECK: fmin.2s v0, v0, v0
|
|
# CHECK: fmla.2s v0, v0, v0
|
|
# CHECK: fmls.2s v0, v0, v0
|
|
# CHECK: fmulx.2s v0, v0, v0
|
|
# CHECK: fmul.2s v0, v0, v0
|
|
# CHECK: frecps.2s v0, v0, v0
|
|
# CHECK: frsqrts.2s v0, v0, v0
|
|
# CHECK: fsub.2s v0, v0, v0
|
|
# CHECK: mla.8b v0, v0, v0
|
|
# CHECK: mls.8b v0, v0, v0
|
|
# CHECK: mul.8b v0, v0, v0
|
|
# CHECK: pmul.8b v0, v0, v0
|
|
# CHECK: saba.8b v0, v0, v0
|
|
# CHECK: sabd.8b v0, v0, v0
|
|
# CHECK: shadd.8b v0, v0, v0
|
|
# CHECK: shsub.8b v0, v0, v0
|
|
# CHECK: smaxp.8b v0, v0, v0
|
|
# CHECK: smax.8b v0, v0, v0
|
|
# CHECK: sminp.8b v0, v0, v0
|
|
# CHECK: smin.8b v0, v0, v0
|
|
# CHECK: sqadd.8b v0, v0, v0
|
|
# CHECK: sqdmulh.4h v0, v0, v0
|
|
# CHECK: sqrdmulh.4h v0, v0, v0
|
|
# CHECK: sqrshl.8b v0, v0, v0
|
|
# CHECK: sqshl.8b v0, v0, v0
|
|
# CHECK: sqsub.8b v0, v0, v0
|
|
# CHECK: srhadd.8b v0, v0, v0
|
|
# CHECK: srshl.8b v0, v0, v0
|
|
# CHECK: sshl.8b v0, v0, v0
|
|
# CHECK: sub.8b v0, v0, v0
|
|
# CHECK: uaba.8b v0, v0, v0
|
|
# CHECK: uabd.8b v0, v0, v0
|
|
# CHECK: uhadd.8b v0, v0, v0
|
|
# CHECK: uhsub.8b v0, v0, v0
|
|
# CHECK: umaxp.8b v0, v0, v0
|
|
# CHECK: umax.8b v0, v0, v0
|
|
# CHECK: uminp.8b v0, v0, v0
|
|
# CHECK: umin.8b v0, v0, v0
|
|
# CHECK: uqadd.8b v0, v0, v0
|
|
# CHECK: uqrshl.8b v0, v0, v0
|
|
# CHECK: uqshl.8b v0, v0, v0
|
|
# CHECK: uqsub.8b v0, v0, v0
|
|
# CHECK: urhadd.8b v0, v0, v0
|
|
# CHECK: urshl.8b v0, v0, v0
|
|
# CHECK: ushl.8b v0, v0, v0
|
|
|
|
0x00 0x1c 0xe0 0x2e
|
|
0x00 0x1c 0xa0 0x2e
|
|
0x00 0x1c 0x60 0x2e
|
|
0x00 0x1c 0x20 0x2e
|
|
0x00 0x1c 0xe0 0x0e
|
|
0x00 0x1c 0xa0 0x0e
|
|
|
|
# CHECK: bif.8b v0, v0, v0
|
|
# CHECK: bit.8b v0, v0, v0
|
|
# CHECK: bsl.8b v0, v0, v0
|
|
# CHECK: eor.8b v0, v0, v0
|
|
# CHECK: orn.8b v0, v0, v0
|
|
# CHECK: orr.8b v0, v0, v0
|
|
|
|
0x00 0x68 0x20 0x0e
|
|
0x00 0x68 0x20 0x4e
|
|
0x00 0x68 0x60 0x0e
|
|
0x00 0x68 0x60 0x4e
|
|
0x00 0x68 0xa0 0x0e
|
|
0x00 0x68 0xa0 0x4e
|
|
|
|
# CHECK: sadalp.4h v0, v0
|
|
# CHECK: sadalp.8h v0, v0
|
|
# CHECK: sadalp.2s v0, v0
|
|
# CHECK: sadalp.4s v0, v0
|
|
# CHECK: sadalp.1d v0, v0
|
|
# CHECK: sadalp.2d v0, v0
|
|
|
|
0x00 0x48 0x20 0x0e
|
|
0x00 0x48 0x20 0x2e
|
|
0x00 0x58 0x20 0x0e
|
|
0x00 0xf8 0xa0 0x0e
|
|
0x00 0xc8 0x21 0x0e
|
|
0x00 0xc8 0x21 0x2e
|
|
0x00 0xb8 0x21 0x0e
|
|
0x00 0xb8 0x21 0x2e
|
|
0x00 0xa8 0x21 0x0e
|
|
0x00 0xa8 0x21 0x2e
|
|
0x00 0xa8 0xa1 0x0e
|
|
0x00 0xa8 0xa1 0x2e
|
|
0x00 0xb8 0xa1 0x0e
|
|
0x00 0xb8 0xa1 0x2e
|
|
0x00 0xf8 0xa0 0x2e
|
|
0x00 0xd8 0xa1 0x0e
|
|
0x00 0xd8 0xa1 0x2e
|
|
0x00 0xf8 0xa1 0x2e
|
|
0x00 0xb8 0x20 0x2e
|
|
0x00 0x58 0x20 0x2e
|
|
0x00 0x58 0x60 0x2e
|
|
0x00 0x18 0x20 0x0e
|
|
0x00 0x08 0x20 0x2e
|
|
0x00 0x08 0x20 0x0e
|
|
0x00 0x68 0x20 0x0e
|
|
0x00 0x28 0x20 0x0e
|
|
0x00 0xd8 0x21 0x0e
|
|
0x00 0x38 0x21 0x2e
|
|
0x00 0x78 0x20 0x0e
|
|
0x00 0x78 0x20 0x2e
|
|
0x00 0x48 0x21 0x0e
|
|
0x00 0x28 0x21 0x2e
|
|
0x00 0x38 0x20 0x0e
|
|
0x00 0x68 0x20 0x2e
|
|
0x00 0x28 0x20 0x2e
|
|
0x00 0xd8 0x21 0x2e
|
|
0x00 0x48 0x21 0x2e
|
|
0x00 0xc8 0xa1 0x0e
|
|
0x00 0xc8 0xa1 0x2e
|
|
0x00 0x38 0x20 0x2e
|
|
0x00 0x28 0x21 0x0e
|
|
0x00 0x48 0x20 0x0e
|
|
0x00 0x48 0x20 0x2e
|
|
0x00 0x58 0x20 0x0e
|
|
0x00 0xf8 0xa0 0x0e
|
|
0x00 0xc8 0x21 0x0e
|
|
0x00 0xc8 0x21 0x2e
|
|
0x00 0xb8 0x21 0x0e
|
|
0x00 0xb8 0x21 0x2e
|
|
0x00 0xa8 0x21 0x0e
|
|
0x00 0xa8 0x21 0x2e
|
|
0x00 0xa8 0xa1 0x0e
|
|
0x00 0xa8 0xa1 0x2e
|
|
0x00 0xb8 0xa1 0x0e
|
|
0x00 0xb8 0xa1 0x2e
|
|
0x00 0xf8 0xa0 0x2e
|
|
0x00 0xd8 0xa1 0x0e
|
|
0x00 0xd8 0xa1 0x2e
|
|
0x00 0xf8 0xa1 0x2e
|
|
0x00 0xb8 0x20 0x2e
|
|
0x00 0x58 0x20 0x2e
|
|
0x00 0x58 0x60 0x2e
|
|
0x00 0x18 0x20 0x0e
|
|
0x00 0x08 0x20 0x2e
|
|
0x00 0x08 0x20 0x0e
|
|
0x00 0x68 0x20 0x0e
|
|
0x00 0x28 0x20 0x0e
|
|
0x00 0xd8 0x21 0x0e
|
|
0x00 0x38 0x21 0x2e
|
|
0x00 0x78 0x20 0x0e
|
|
0x00 0x78 0x20 0x2e
|
|
0x00 0x48 0x21 0x0e
|
|
0x00 0x28 0x21 0x2e
|
|
0x00 0x38 0x20 0x0e
|
|
0x00 0x68 0x20 0x2e
|
|
0x00 0x28 0x20 0x2e
|
|
0x00 0xd8 0x21 0x2e
|
|
0x00 0x48 0x21 0x2e
|
|
0x00 0xc8 0xa1 0x0e
|
|
0x00 0xc8 0xa1 0x2e
|
|
0x00 0x38 0x20 0x2e
|
|
0x00 0x28 0x21 0x0e
|
|
|
|
# CHECK: cls.8b v0, v0
|
|
# CHECK: clz.8b v0, v0
|
|
# CHECK: cnt.8b v0, v0
|
|
# CHECK: fabs.2s v0, v0
|
|
# CHECK: fcvtas.2s v0, v0
|
|
# CHECK: fcvtau.2s v0, v0
|
|
# CHECK: fcvtms.2s v0, v0
|
|
# CHECK: fcvtmu.2s v0, v0
|
|
# CHECK: fcvtns.2s v0, v0
|
|
# CHECK: fcvtnu.2s v0, v0
|
|
# CHECK: fcvtps.2s v0, v0
|
|
# CHECK: fcvtpu.2s v0, v0
|
|
# CHECK: fcvtzs.2s v0, v0
|
|
# CHECK: fcvtzu.2s v0, v0
|
|
# CHECK: fneg.2s v0, v0
|
|
# CHECK: frecpe.2s v0, v0
|
|
# CHECK: frsqrte.2s v0, v0
|
|
# CHECK: fsqrt.2s v0, v0
|
|
# CHECK: neg.8b v0, v0
|
|
# CHECK: not.8b v0, v0
|
|
# CHECK: rbit.8b v0, v0
|
|
# CHECK: rev16.8b v0, v0
|
|
# CHECK: rev32.8b v0, v0
|
|
# CHECK: rev64.8b v0, v0
|
|
# CHECK: sadalp.4h v0, v0
|
|
# CHECK: saddlp.4h v0, v0
|
|
# CHECK: scvtf.2s v0, v0
|
|
# CHECK: shll.8h v0, v0, #8
|
|
# CHECK: sqabs.8b v0, v0
|
|
# CHECK: sqneg.8b v0, v0
|
|
# CHECK: sqxtn.8b v0, v0
|
|
# CHECK: sqxtun.8b v0, v0
|
|
# CHECK: suqadd.8b v0, v0
|
|
# CHECK: uadalp.4h v0, v0
|
|
# CHECK: uaddlp.4h v0, v0
|
|
# CHECK: ucvtf.2s v0, v0
|
|
# CHECK: uqxtn.8b v0, v0
|
|
# CHECK: urecpe.2s v0, v0
|
|
# CHECK: ursqrte.2s v0, v0
|
|
# CHECK: usqadd.8b v0, v0
|
|
# CHECK: xtn.8b v0, v0
|
|
|
|
0x00 0x98 0x20 0x0e
|
|
0x00 0x98 0x20 0x4e
|
|
0x00 0x98 0x60 0x0e
|
|
0x00 0x98 0x60 0x4e
|
|
0x00 0x98 0xa0 0x0e
|
|
0x00 0x98 0xa0 0x4e
|
|
0x00 0x98 0xe0 0x4e
|
|
|
|
# CHECK: cmeq.8b v0, v0, #0
|
|
# CHECK: cmeq.16b v0, v0, #0
|
|
# CHECK: cmeq.4h v0, v0, #0
|
|
# CHECK: cmeq.8h v0, v0, #0
|
|
# CHECK: cmeq.2s v0, v0, #0
|
|
# CHECK: cmeq.4s v0, v0, #0
|
|
# CHECK: cmeq.2d v0, v0, #0
|
|
|
|
0x00 0x88 0x20 0x2e
|
|
0x00 0x88 0x20 0x0e
|
|
0x00 0x98 0x20 0x2e
|
|
0x00 0xa8 0x20 0x0e
|
|
0x00 0xd8 0xa0 0x0e
|
|
0x00 0xc8 0xa0 0x2e
|
|
0x00 0xc8 0xa0 0x0e
|
|
0x00 0xd8 0xa0 0x2e
|
|
0x00 0xe8 0xa0 0x0e
|
|
|
|
# CHECK: cmge.8b v0, v0, #0
|
|
# CHECK: cmgt.8b v0, v0, #0
|
|
# CHECK: cmle.8b v0, v0, #0
|
|
# CHECK: cmlt.8b v0, v0, #0
|
|
# CHECK: fcmeq.2s v0, v0, #0
|
|
# CHECK: fcmge.2s v0, v0, #0
|
|
# CHECK: fcmgt.2s v0, v0, #0
|
|
# CHECK: fcmle.2s v0, v0, #0
|
|
# CHECK: fcmlt.2s v0, v0, #0
|
|
|
|
0x00 0x78 0x21 0x0e
|
|
0x00 0x78 0x21 0x4e
|
|
0x00 0x78 0x61 0x0e
|
|
0x00 0x78 0x61 0x4e
|
|
0x00 0x68 0x21 0x0e
|
|
0x00 0x68 0x21 0x4e
|
|
0x00 0x68 0x61 0x0e
|
|
0x00 0x68 0x61 0x4e
|
|
0x00 0x68 0x61 0x2e
|
|
0x00 0x68 0x61 0x6e
|
|
|
|
# CHECK: fcvtl v0.4s, v0.4h
|
|
# CHECK: fcvtl2 v0.4s, v0.8h
|
|
# CHECK: fcvtl v0.2d, v0.2s
|
|
# CHECK: fcvtl2 v0.2d, v0.4s
|
|
# CHECK: fcvtn v0.4h, v0.4s
|
|
# CHECK: fcvtn2 v0.8h, v0.4s
|
|
# CHECK: fcvtn v0.2s, v0.2d
|
|
# CHECK: fcvtn2 v0.4s, v0.2d
|
|
# CHECK: fcvtxn v0.2s, v0.2d
|
|
# CHECK: fcvtxn2 v0.4s, v0.2d
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD modified immediate instructions
|
|
#===-------------------------------------------------------------------------===
|
|
|
|
0x20 0x14 0x00 0x2f
|
|
0x20 0x34 0x00 0x2f
|
|
0x20 0x54 0x00 0x2f
|
|
0x20 0x74 0x00 0x2f
|
|
|
|
# CHECK: bic.2s v0, #1
|
|
# CHECK: bic.2s v0, #1, lsl #8
|
|
# CHECK: bic.2s v0, #1, lsl #16
|
|
# CHECK: bic.2s v0, #1, lsl #24
|
|
|
|
0x20 0x94 0x00 0x2f
|
|
0x20 0x94 0x00 0x2f
|
|
0x20 0xb4 0x00 0x2f
|
|
|
|
# CHECK: bic.4h v0, #1
|
|
# CHECK: bic.4h v0, #1
|
|
# FIXME: bic.4h v0, #1, lsl #8
|
|
# 'bic.4h' should be selected over "fcvtnu.2s v0, v1, #0"
|
|
|
|
0x20 0x14 0x00 0x6f
|
|
0x20 0x34 0x00 0x6f
|
|
0x20 0x54 0x00 0x6f
|
|
0x20 0x74 0x00 0x6f
|
|
|
|
# CHECK: bic.4s v0, #1
|
|
# CHECK: bic.4s v0, #1, lsl #8
|
|
# CHECK: bic.4s v0, #1, lsl #16
|
|
# CHECK: bic.4s v0, #1, lsl #24
|
|
|
|
0x20 0x94 0x00 0x6f
|
|
0x20 0xb4 0x00 0x6f
|
|
|
|
# CHECK: bic.8h v0, #1
|
|
# FIXME: bic.8h v0, #1, lsl #8
|
|
# "bic.8h" should be selected over "fcvtnu.4s v0, v1, #0"
|
|
|
|
0x00 0xf4 0x02 0x6f
|
|
|
|
# CHECK: fmov.2d v0, #1.250000e-01
|
|
|
|
0x00 0xf4 0x02 0x0f
|
|
0x00 0xf4 0x02 0x4f
|
|
|
|
# CHECK: fmov.2s v0, #1.250000e-01
|
|
# CHECK: fmov.4s v0, #1.250000e-01
|
|
|
|
0x20 0x14 0x00 0x0f
|
|
0x20 0x34 0x00 0x0f
|
|
0x20 0x54 0x00 0x0f
|
|
0x20 0x74 0x00 0x0f
|
|
|
|
# CHECK: orr.2s v0, #1
|
|
# CHECK: orr.2s v0, #1, lsl #8
|
|
# CHECK: orr.2s v0, #1, lsl #16
|
|
# CHECK: orr.2s v0, #1, lsl #24
|
|
|
|
0x20 0x94 0x00 0x0f
|
|
0x20 0xb4 0x00 0x0f
|
|
|
|
# CHECK: orr.4h v0, #1
|
|
# FIXME: orr.4h v0, #1, lsl #8
|
|
# 'orr.4h' should be selected over "fcvtns.2s v0, v1, #0"
|
|
|
|
0x20 0x14 0x00 0x4f
|
|
0x20 0x34 0x00 0x4f
|
|
0x20 0x54 0x00 0x4f
|
|
0x20 0x74 0x00 0x4f
|
|
|
|
# CHECK: orr.4s v0, #1
|
|
# CHECK: orr.4s v0, #1, lsl #8
|
|
# CHECK: orr.4s v0, #1, lsl #16
|
|
# CHECK: orr.4s v0, #1, lsl #24
|
|
|
|
0x20 0x94 0x00 0x4f
|
|
0x20 0xb4 0x00 0x4f
|
|
|
|
# CHECK: orr.8h v0, #1
|
|
# FIXME: orr.8h v0, #1, lsl #8
|
|
# "orr.8h" should be selected over "fcvtns.4s v0, v1, #0"
|
|
|
|
0x21 0x70 0x40 0x0c
|
|
0x42 0xa0 0x40 0x4c
|
|
0x64 0x64 0x40 0x0c
|
|
0x87 0x24 0x40 0x4c
|
|
0x0c 0xa8 0x40 0x0c
|
|
0x0a 0x68 0x40 0x4c
|
|
0x2d 0xac 0x40 0x0c
|
|
0x4f 0x7c 0x40 0x4c
|
|
|
|
# CHECK: ld1.8b { v1 }, [x1]
|
|
# CHECK: ld1.16b { v2, v3 }, [x2]
|
|
# CHECK: ld1.4h { v4, v5, v6 }, [x3]
|
|
# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4]
|
|
# CHECK: ld1.2s { v12, v13 }, [x0]
|
|
# CHECK: ld1.4s { v10, v11, v12 }, [x0]
|
|
# CHECK: ld1.1d { v13, v14 }, [x1]
|
|
# CHECK: ld1.2d { v15 }, [x2]
|
|
|
|
0x41 0x70 0xdf 0x0c
|
|
0x41 0xa0 0xdf 0x0c
|
|
0x41 0x60 0xdf 0x0c
|
|
0x41 0x20 0xdf 0x0c
|
|
0x42 0x70 0xdf 0x4c
|
|
0x42 0xa0 0xdf 0x4c
|
|
0x42 0x60 0xdf 0x4c
|
|
0x42 0x20 0xdf 0x4c
|
|
0x64 0x74 0xdf 0x0c
|
|
0x64 0xa4 0xdf 0x0c
|
|
0x64 0x64 0xdf 0x0c
|
|
0x64 0x24 0xdf 0x0c
|
|
0x87 0x74 0xdf 0x4c
|
|
0x87 0xa4 0xdf 0x4c
|
|
0x87 0x64 0xdf 0x4c
|
|
0x87 0x24 0xdf 0x4c
|
|
0x0c 0x78 0xdf 0x0c
|
|
0x0c 0xa8 0xdf 0x0c
|
|
0x0c 0x68 0xdf 0x0c
|
|
0x0c 0x28 0xdf 0x0c
|
|
0x0a 0x78 0xdf 0x4c
|
|
0x0a 0xa8 0xdf 0x4c
|
|
0x0a 0x68 0xdf 0x4c
|
|
0x0a 0x28 0xdf 0x4c
|
|
0x2d 0x7c 0xdf 0x0c
|
|
0x2d 0xac 0xdf 0x0c
|
|
0x2d 0x6c 0xdf 0x0c
|
|
0x2d 0x2c 0xdf 0x0c
|
|
0x4f 0x7c 0xdf 0x4c
|
|
0x4f 0xac 0xdf 0x4c
|
|
0x4f 0x6c 0xdf 0x4c
|
|
0x4f 0x2c 0xdf 0x4c
|
|
|
|
# CHECK: ld1.8b { v1 }, [x2], #8
|
|
# CHECK: ld1.8b { v1, v2 }, [x2], #16
|
|
# CHECK: ld1.8b { v1, v2, v3 }, [x2], #24
|
|
# CHECK: ld1.8b { v1, v2, v3, v4 }, [x2], #32
|
|
# CHECK: ld1.16b { v2 }, [x2], #16
|
|
# CHECK: ld1.16b { v2, v3 }, [x2], #32
|
|
# CHECK: ld1.16b { v2, v3, v4 }, [x2], #48
|
|
# CHECK: ld1.16b { v2, v3, v4, v5 }, [x2], #64
|
|
# CHECK: ld1.4h { v4 }, [x3], #8
|
|
# CHECK: ld1.4h { v4, v5 }, [x3], #16
|
|
# CHECK: ld1.4h { v4, v5, v6 }, [x3], #24
|
|
# CHECK: ld1.4h { v4, v5, v6, v7 }, [x3], #32
|
|
# CHECK: ld1.8h { v7 }, [x4], #16
|
|
# CHECK: ld1.8h { v7, v8 }, [x4], #32
|
|
# CHECK: ld1.8h { v7, v8, v9 }, [x4], #48
|
|
# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], #64
|
|
# CHECK: ld1.2s { v12 }, [x0], #8
|
|
# CHECK: ld1.2s { v12, v13 }, [x0], #16
|
|
# CHECK: ld1.2s { v12, v13, v14 }, [x0], #24
|
|
# CHECK: ld1.2s { v12, v13, v14, v15 }, [x0], #32
|
|
# CHECK: ld1.4s { v10 }, [x0], #16
|
|
# CHECK: ld1.4s { v10, v11 }, [x0], #32
|
|
# CHECK: ld1.4s { v10, v11, v12 }, [x0], #48
|
|
# CHECK: ld1.4s { v10, v11, v12, v13 }, [x0], #64
|
|
# CHECK: ld1.1d { v13 }, [x1], #8
|
|
# CHECK: ld1.1d { v13, v14 }, [x1], #16
|
|
# CHECK: ld1.1d { v13, v14, v15 }, [x1], #24
|
|
# CHECK: ld1.1d { v13, v14, v15, v16 }, [x1], #32
|
|
# CHECK: ld1.2d { v15 }, [x2], #16
|
|
# CHECK: ld1.2d { v15, v16 }, [x2], #32
|
|
# CHECK: ld1.2d { v15, v16, v17 }, [x2], #48
|
|
# CHECK: ld1.2d { v15, v16, v17, v18 }, [x2], #64
|
|
|
|
0x21 0x70 0x00 0x0c
|
|
0x42 0xa0 0x00 0x4c
|
|
0x64 0x64 0x00 0x0c
|
|
0x87 0x24 0x00 0x4c
|
|
0x0c 0xa8 0x00 0x0c
|
|
0x0a 0x68 0x00 0x4c
|
|
0x2d 0xac 0x00 0x0c
|
|
0x4f 0x7c 0x00 0x4c
|
|
|
|
# CHECK: st1.8b { v1 }, [x1]
|
|
# CHECK: st1.16b { v2, v3 }, [x2]
|
|
# CHECK: st1.4h { v4, v5, v6 }, [x3]
|
|
# CHECK: st1.8h { v7, v8, v9, v10 }, [x4]
|
|
# CHECK: st1.2s { v12, v13 }, [x0]
|
|
# CHECK: st1.4s { v10, v11, v12 }, [x0]
|
|
# CHECK: st1.1d { v13, v14 }, [x1]
|
|
# CHECK: st1.2d { v15 }, [x2]
|
|
|
|
0x61 0x08 0x40 0x0d
|
|
0x82 0x84 0x40 0x4d
|
|
0xa3 0x58 0x40 0x0d
|
|
0xc4 0x80 0x40 0x4d
|
|
|
|
# CHECK: ld1.b { v1 }[2], [x3]
|
|
# CHECK: ld1.d { v2 }[1], [x4]
|
|
# CHECK: ld1.h { v3 }[3], [x5]
|
|
# CHECK: ld1.s { v4 }[2], [x6]
|
|
|
|
0x61 0x08 0xdf 0x0d
|
|
0x82 0x84 0xdf 0x4d
|
|
0xa3 0x58 0xdf 0x0d
|
|
0xc4 0x80 0xdf 0x4d
|
|
|
|
# CHECK: ld1.b { v1 }[2], [x3], #1
|
|
# CHECK: ld1.d { v2 }[1], [x4], #8
|
|
# CHECK: ld1.h { v3 }[3], [x5], #2
|
|
# CHECK: ld1.s { v4 }[2], [x6], #4
|
|
|
|
0x61 0x08 0x00 0x0d
|
|
0x82 0x84 0x00 0x4d
|
|
0xa3 0x58 0x00 0x0d
|
|
0xc4 0x80 0x00 0x4d
|
|
|
|
# CHECK: st1.b { v1 }[2], [x3]
|
|
# CHECK: st1.d { v2 }[1], [x4]
|
|
# CHECK: st1.h { v3 }[3], [x5]
|
|
# CHECK: st1.s { v4 }[2], [x6]
|
|
|
|
0x61 0x08 0x9f 0x0d
|
|
0x82 0x84 0x9f 0x4d
|
|
0xa3 0x58 0x9f 0x0d
|
|
0xc4 0x80 0x9f 0x4d
|
|
|
|
# CHECK: st1.b { v1 }[2], [x3], #1
|
|
# CHECK: st1.d { v2 }[1], [x4], #8
|
|
# CHECK: st1.h { v3 }[3], [x5], #2
|
|
# CHECK: st1.s { v4 }[2], [x6], #4
|
|
|
|
0x61 0x08 0xc4 0x0d
|
|
0x82 0x84 0xc5 0x4d
|
|
0xa3 0x58 0xc6 0x0d
|
|
0xc4 0x80 0xc7 0x4d
|
|
|
|
# CHECK: ld1.b { v1 }[2], [x3], x4
|
|
# CHECK: ld1.d { v2 }[1], [x4], x5
|
|
# CHECK: ld1.h { v3 }[3], [x5], x6
|
|
# CHECK: ld1.s { v4 }[2], [x6], x7
|
|
|
|
0x61 0x08 0x84 0x0d
|
|
0x82 0x84 0x85 0x4d
|
|
0xa3 0x58 0x86 0x0d
|
|
0xc4 0x80 0x87 0x4d
|
|
|
|
# CHECK: st1.b { v1 }[2], [x3], x4
|
|
# CHECK: st1.d { v2 }[1], [x4], x5
|
|
# CHECK: st1.h { v3 }[3], [x5], x6
|
|
# CHECK: st1.s { v4 }[2], [x6], x7
|
|
|
|
0x41 0x70 0xc3 0x0c
|
|
0x42 0xa0 0xc4 0x4c
|
|
0x64 0x64 0xc5 0x0c
|
|
0x87 0x24 0xc6 0x4c
|
|
0x0c 0xa8 0xc7 0x0c
|
|
0x0a 0x68 0xc8 0x4c
|
|
0x2d 0xac 0xc9 0x0c
|
|
0x4f 0x7c 0xca 0x4c
|
|
|
|
# CHECK: ld1.8b { v1 }, [x2], x3
|
|
# CHECK: ld1.16b { v2, v3 }, [x2], x4
|
|
# CHECK: ld1.4h { v4, v5, v6 }, [x3], x5
|
|
# CHECK: ld1.8h { v7, v8, v9, v10 }, [x4], x6
|
|
# CHECK: ld1.2s { v12, v13 }, [x0], x7
|
|
# CHECK: ld1.4s { v10, v11, v12 }, [x0], x8
|
|
# CHECK: ld1.1d { v13, v14 }, [x1], x9
|
|
# CHECK: ld1.2d { v15 }, [x2], x10
|
|
|
|
0x41 0x70 0x83 0x0c
|
|
0x42 0xa0 0x84 0x4c
|
|
0x64 0x64 0x85 0x0c
|
|
0x87 0x24 0x86 0x4c
|
|
0x0c 0xa8 0x87 0x0c
|
|
0x0a 0x68 0x88 0x4c
|
|
0x2d 0xac 0x89 0x0c
|
|
0x4f 0x7c 0x8a 0x4c
|
|
|
|
# CHECK: st1.8b { v1 }, [x2], x3
|
|
# CHECK: st1.16b { v2, v3 }, [x2], x4
|
|
# CHECK: st1.4h { v4, v5, v6 }, [x3], x5
|
|
# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], x6
|
|
# CHECK: st1.2s { v12, v13 }, [x0], x7
|
|
# CHECK: st1.4s { v10, v11, v12 }, [x0], x8
|
|
# CHECK: st1.1d { v13, v14 }, [x1], x9
|
|
# CHECK: st1.2d { v15 }, [x2], x10
|
|
|
|
0x41 0x70 0x9f 0x0c
|
|
0x41 0xa0 0x9f 0x0c
|
|
0x41 0x60 0x9f 0x0c
|
|
0x41 0x20 0x9f 0x0c
|
|
0x42 0x70 0x9f 0x4c
|
|
0x42 0xa0 0x9f 0x4c
|
|
0x42 0x60 0x9f 0x4c
|
|
0x42 0x20 0x9f 0x4c
|
|
0x64 0x74 0x9f 0x0c
|
|
0x64 0xa4 0x9f 0x0c
|
|
0x64 0x64 0x9f 0x0c
|
|
0x64 0x24 0x9f 0x0c
|
|
0x87 0x74 0x9f 0x4c
|
|
0x87 0xa4 0x9f 0x4c
|
|
0x87 0x64 0x9f 0x4c
|
|
0x87 0x24 0x9f 0x4c
|
|
0x0c 0x78 0x9f 0x0c
|
|
0x0c 0xa8 0x9f 0x0c
|
|
0x0c 0x68 0x9f 0x0c
|
|
0x0c 0x28 0x9f 0x0c
|
|
0x0a 0x78 0x9f 0x4c
|
|
0x0a 0xa8 0x9f 0x4c
|
|
0x0a 0x68 0x9f 0x4c
|
|
0x0a 0x28 0x9f 0x4c
|
|
0x2d 0x7c 0x9f 0x0c
|
|
0x2d 0xac 0x9f 0x0c
|
|
0x2d 0x6c 0x9f 0x0c
|
|
0x2d 0x2c 0x9f 0x0c
|
|
0x4f 0x7c 0x9f 0x4c
|
|
0x4f 0xac 0x9f 0x4c
|
|
0x4f 0x6c 0x9f 0x4c
|
|
0x4f 0x2c 0x9f 0x4c
|
|
|
|
# CHECK: st1.8b { v1 }, [x2], #8
|
|
# CHECK: st1.8b { v1, v2 }, [x2], #16
|
|
# CHECK: st1.8b { v1, v2, v3 }, [x2], #24
|
|
# CHECK: st1.8b { v1, v2, v3, v4 }, [x2], #32
|
|
# CHECK: st1.16b { v2 }, [x2], #16
|
|
# CHECK: st1.16b { v2, v3 }, [x2], #32
|
|
# CHECK: st1.16b { v2, v3, v4 }, [x2], #48
|
|
# CHECK: st1.16b { v2, v3, v4, v5 }, [x2], #64
|
|
# CHECK: st1.4h { v4 }, [x3], #8
|
|
# CHECK: st1.4h { v4, v5 }, [x3], #16
|
|
# CHECK: st1.4h { v4, v5, v6 }, [x3], #24
|
|
# CHECK: st1.4h { v4, v5, v6, v7 }, [x3], #32
|
|
# CHECK: st1.8h { v7 }, [x4], #16
|
|
# CHECK: st1.8h { v7, v8 }, [x4], #32
|
|
# CHECK: st1.8h { v7, v8, v9 }, [x4], #48
|
|
# CHECK: st1.8h { v7, v8, v9, v10 }, [x4], #64
|
|
# CHECK: st1.2s { v12 }, [x0], #8
|
|
# CHECK: st1.2s { v12, v13 }, [x0], #16
|
|
# CHECK: st1.2s { v12, v13, v14 }, [x0], #24
|
|
# CHECK: st1.2s { v12, v13, v14, v15 }, [x0], #32
|
|
# CHECK: st1.4s { v10 }, [x0], #16
|
|
# CHECK: st1.4s { v10, v11 }, [x0], #32
|
|
# CHECK: st1.4s { v10, v11, v12 }, [x0], #48
|
|
# CHECK: st1.4s { v10, v11, v12, v13 }, [x0], #64
|
|
# CHECK: st1.1d { v13 }, [x1], #8
|
|
# CHECK: st1.1d { v13, v14 }, [x1], #16
|
|
# CHECK: st1.1d { v13, v14, v15 }, [x1], #24
|
|
# CHECK: st1.1d { v13, v14, v15, v16 }, [x1], #32
|
|
# CHECK: st1.2d { v15 }, [x2], #16
|
|
# CHECK: st1.2d { v15, v16 }, [x2], #32
|
|
# CHECK: st1.2d { v15, v16, v17 }, [x2], #48
|
|
# CHECK: st1.2d { v15, v16, v17, v18 }, [x2], #64
|
|
|
|
0x21 0xc0 0x40 0x0d
|
|
0x21 0xc0 0xc2 0x0d
|
|
0x64 0xc4 0x40 0x0d
|
|
0x64 0xc4 0xc5 0x0d
|
|
0xa9 0xc8 0x40 0x0d
|
|
0xa9 0xc8 0xc6 0x0d
|
|
0xec 0xcc 0x40 0x0d
|
|
0xec 0xcc 0xc8 0x0d
|
|
|
|
# CHECK: ld1r.8b { v1 }, [x1]
|
|
# CHECK: ld1r.8b { v1 }, [x1], x2
|
|
# CHECK: ld1r.4h { v4 }, [x3]
|
|
# CHECK: ld1r.4h { v4 }, [x3], x5
|
|
# CHECK: ld1r.2s { v9 }, [x5]
|
|
# CHECK: ld1r.2s { v9 }, [x5], x6
|
|
# CHECK: ld1r.1d { v12 }, [x7]
|
|
# CHECK: ld1r.1d { v12 }, [x7], x8
|
|
|
|
0x21 0xc0 0xdf 0x0d
|
|
0x21 0xc4 0xdf 0x0d
|
|
0x21 0xc8 0xdf 0x0d
|
|
0x21 0xcc 0xdf 0x0d
|
|
|
|
# CHECK: ld1r.8b { v1 }, [x1], #1
|
|
# CHECK: ld1r.4h { v1 }, [x1], #2
|
|
# CHECK: ld1r.2s { v1 }, [x1], #4
|
|
# CHECK: ld1r.1d { v1 }, [x1], #8
|
|
|
|
0x45 0x80 0x40 0x4c
|
|
0x0a 0x88 0x40 0x0c
|
|
|
|
# CHECK: ld2.16b { v5, v6 }, [x2]
|
|
# CHECK: ld2.2s { v10, v11 }, [x0]
|
|
|
|
0x45 0x80 0x00 0x4c
|
|
0x0a 0x88 0x00 0x0c
|
|
|
|
# CHECK: st2.16b { v5, v6 }, [x2]
|
|
# CHECK: st2.2s { v10, v11 }, [x0]
|
|
|
|
0x61 0x08 0x20 0x0d
|
|
0x82 0x84 0x20 0x4d
|
|
0xc3 0x50 0x20 0x0d
|
|
0xe4 0x90 0x20 0x4d
|
|
|
|
# CHECK: st2.b { v1, v2 }[2], [x3]
|
|
# CHECK: st2.d { v2, v3 }[1], [x4]
|
|
# CHECK: st2.h { v3, v4 }[2], [x6]
|
|
# CHECK: st2.s { v4, v5 }[3], [x7]
|
|
|
|
0x61 0x08 0xbf 0x0d
|
|
0x82 0x84 0xbf 0x4d
|
|
0xa3 0x58 0xbf 0x0d
|
|
0xc4 0x80 0xbf 0x4d
|
|
|
|
# CHECK: st2.b { v1, v2 }[2], [x3], #2
|
|
# CHECK: st2.d { v2, v3 }[1], [x4], #16
|
|
# CHECK: st2.h { v3, v4 }[3], [x5], #4
|
|
# CHECK: st2.s { v4, v5 }[2], [x6], #8
|
|
|
|
0x61 0x08 0x60 0x0d
|
|
0x82 0x84 0x60 0x4d
|
|
0xc3 0x50 0x60 0x0d
|
|
0xe4 0x90 0x60 0x4d
|
|
|
|
# CHECK: ld2.b { v1, v2 }[2], [x3]
|
|
# CHECK: ld2.d { v2, v3 }[1], [x4]
|
|
# CHECK: ld2.h { v3, v4 }[2], [x6]
|
|
# CHECK: ld2.s { v4, v5 }[3], [x7]
|
|
|
|
0x61 0x08 0xff 0x0d
|
|
0x82 0x84 0xff 0x4d
|
|
0xa3 0x58 0xff 0x0d
|
|
0xc4 0x80 0xff 0x4d
|
|
|
|
# CHECK: ld2.b { v1, v2 }[2], [x3], #2
|
|
# CHECK: ld2.d { v2, v3 }[1], [x4], #16
|
|
# CHECK: ld2.h { v3, v4 }[3], [x5], #4
|
|
# CHECK: ld2.s { v4, v5 }[2], [x6], #8
|
|
|
|
0x61 0x08 0xe4 0x0d
|
|
0x82 0x84 0xe6 0x4d
|
|
0xa3 0x58 0xe8 0x0d
|
|
0xc4 0x80 0xea 0x4d
|
|
|
|
# CHECK: ld2.b { v1, v2 }[2], [x3], x4
|
|
# CHECK: ld2.d { v2, v3 }[1], [x4], x6
|
|
# CHECK: ld2.h { v3, v4 }[3], [x5], x8
|
|
# CHECK: ld2.s { v4, v5 }[2], [x6], x10
|
|
|
|
0x61 0x08 0xa4 0x0d
|
|
0x82 0x84 0xa6 0x4d
|
|
0xa3 0x58 0xa8 0x0d
|
|
0xc4 0x80 0xaa 0x4d
|
|
|
|
# CHECK: st2.b { v1, v2 }[2], [x3], x4
|
|
# CHECK: st2.d { v2, v3 }[1], [x4], x6
|
|
# CHECK: st2.h { v3, v4 }[3], [x5], x8
|
|
# CHECK: st2.s { v4, v5 }[2], [x6], x10
|
|
|
|
0x64 0x84 0xc5 0x0c
|
|
0x0c 0x88 0xc7 0x0c
|
|
|
|
# CHECK: ld2.4h { v4, v5 }, [x3], x5
|
|
# CHECK: ld2.2s { v12, v13 }, [x0], x7
|
|
|
|
0x00 0x80 0xdf 0x0c
|
|
0x00 0x80 0xdf 0x4c
|
|
0x00 0x84 0xdf 0x0c
|
|
0x00 0x84 0xdf 0x4c
|
|
0x00 0x88 0xdf 0x0c
|
|
0x00 0x88 0xdf 0x4c
|
|
0x00 0x8c 0xdf 0x4c
|
|
|
|
# CHECK: ld2.8b { v0, v1 }, [x0], #16
|
|
# CHECK: ld2.16b { v0, v1 }, [x0], #32
|
|
# CHECK: ld2.4h { v0, v1 }, [x0], #16
|
|
# CHECK: ld2.8h { v0, v1 }, [x0], #32
|
|
# CHECK: ld2.2s { v0, v1 }, [x0], #16
|
|
# CHECK: ld2.4s { v0, v1 }, [x0], #32
|
|
# CHECK: ld2.2d { v0, v1 }, [x0], #32
|
|
|
|
0x64 0x84 0x85 0x0c
|
|
0x0c 0x88 0x87 0x0c
|
|
|
|
# CHECK: st2.4h { v4, v5 }, [x3], x5
|
|
# CHECK: st2.2s { v12, v13 }, [x0], x7
|
|
|
|
0x00 0x80 0x9f 0x0c
|
|
0x00 0x80 0x9f 0x4c
|
|
0x00 0x84 0x9f 0x0c
|
|
0x00 0x84 0x9f 0x4c
|
|
0x00 0x88 0x9f 0x0c
|
|
0x00 0x88 0x9f 0x4c
|
|
0x00 0x8c 0x9f 0x4c
|
|
|
|
# CHECK: st2.8b { v0, v1 }, [x0], #16
|
|
# CHECK: st2.16b { v0, v1 }, [x0], #32
|
|
# CHECK: st2.4h { v0, v1 }, [x0], #16
|
|
# CHECK: st2.8h { v0, v1 }, [x0], #32
|
|
# CHECK: st2.2s { v0, v1 }, [x0], #16
|
|
# CHECK: st2.4s { v0, v1 }, [x0], #32
|
|
# CHECK: st2.2d { v0, v1 }, [x0], #32
|
|
|
|
0x21 0xc0 0x60 0x0d
|
|
0x21 0xc0 0xe2 0x0d
|
|
0x21 0xc0 0x60 0x4d
|
|
0x21 0xc0 0xe2 0x4d
|
|
0x21 0xc4 0x60 0x0d
|
|
0x21 0xc4 0xe2 0x0d
|
|
0x21 0xc4 0x60 0x4d
|
|
0x21 0xc4 0xe2 0x4d
|
|
0x21 0xc8 0x60 0x0d
|
|
0x21 0xc8 0xe2 0x0d
|
|
0x21 0xcc 0x60 0x4d
|
|
0x21 0xcc 0xe2 0x4d
|
|
0x21 0xcc 0x60 0x0d
|
|
0x21 0xcc 0xe2 0x0d
|
|
|
|
# CHECK: ld2r.8b { v1, v2 }, [x1]
|
|
# CHECK: ld2r.8b { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.16b { v1, v2 }, [x1]
|
|
# CHECK: ld2r.16b { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.4h { v1, v2 }, [x1]
|
|
# CHECK: ld2r.4h { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.8h { v1, v2 }, [x1]
|
|
# CHECK: ld2r.8h { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.2s { v1, v2 }, [x1]
|
|
# CHECK: ld2r.2s { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.2d { v1, v2 }, [x1]
|
|
# CHECK: ld2r.2d { v1, v2 }, [x1], x2
|
|
# CHECK: ld2r.1d { v1, v2 }, [x1]
|
|
# CHECK: ld2r.1d { v1, v2 }, [x1], x2
|
|
|
|
0x21 0xc0 0xff 0x0d
|
|
0x21 0xc0 0xff 0x4d
|
|
0x21 0xc4 0xff 0x0d
|
|
0x21 0xc4 0xff 0x4d
|
|
0x21 0xc8 0xff 0x0d
|
|
0x21 0xcc 0xff 0x4d
|
|
0x21 0xcc 0xff 0x0d
|
|
|
|
# CHECK: ld2r.8b { v1, v2 }, [x1], #2
|
|
# CHECK: ld2r.16b { v1, v2 }, [x1], #2
|
|
# CHECK: ld2r.4h { v1, v2 }, [x1], #4
|
|
# CHECK: ld2r.8h { v1, v2 }, [x1], #4
|
|
# CHECK: ld2r.2s { v1, v2 }, [x1], #8
|
|
# CHECK: ld2r.2d { v1, v2 }, [x1], #16
|
|
# CHECK: ld2r.1d { v1, v2 }, [x1], #16
|
|
|
|
0x21 0x40 0x40 0x0c
|
|
0x45 0x40 0x40 0x4c
|
|
0x0a 0x48 0x40 0x0c
|
|
|
|
# CHECK: ld3.8b { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3.16b { v5, v6, v7 }, [x2]
|
|
# CHECK: ld3.2s { v10, v11, v12 }, [x0]
|
|
|
|
0x21 0x40 0x00 0x0c
|
|
0x45 0x40 0x00 0x4c
|
|
0x0a 0x48 0x00 0x0c
|
|
|
|
# CHECK: st3.8b { v1, v2, v3 }, [x1]
|
|
# CHECK: st3.16b { v5, v6, v7 }, [x2]
|
|
# CHECK: st3.2s { v10, v11, v12 }, [x0]
|
|
|
|
0x61 0x28 0xc4 0x0d
|
|
0x82 0xa4 0xc5 0x4d
|
|
0xa3 0x78 0xc6 0x0d
|
|
0xc4 0xa0 0xc7 0x4d
|
|
|
|
# CHECK: ld3.b { v1, v2, v3 }[2], [x3], x4
|
|
# CHECK: ld3.d { v2, v3, v4 }[1], [x4], x5
|
|
# CHECK: ld3.h { v3, v4, v5 }[3], [x5], x6
|
|
# CHECK: ld3.s { v4, v5, v6 }[2], [x6], x7
|
|
|
|
0x61 0x28 0x84 0x0d
|
|
0x82 0xa4 0x85 0x4d
|
|
0xa3 0x78 0x86 0x0d
|
|
0xc4 0xa0 0x87 0x4d
|
|
|
|
# CHECK: st3.b { v1, v2, v3 }[2], [x3], x4
|
|
# CHECK: st3.d { v2, v3, v4 }[1], [x4], x5
|
|
# CHECK: st3.h { v3, v4, v5 }[3], [x5], x6
|
|
# CHECK: st3.s { v4, v5, v6 }[2], [x6], x7
|
|
|
|
0x61 0x28 0x9f 0x0d
|
|
0x82 0xa4 0x9f 0x4d
|
|
0xa3 0x78 0x9f 0x0d
|
|
0xc4 0xa0 0x9f 0x4d
|
|
|
|
# CHECK: st3.b { v1, v2, v3 }[2], [x3], #3
|
|
# CHECK: st3.d { v2, v3, v4 }[1], [x4], #24
|
|
# CHECK: st3.h { v3, v4, v5 }[3], [x5], #6
|
|
# CHECK: st3.s { v4, v5, v6 }[2], [x6], #12
|
|
|
|
0x41 0x40 0xc3 0x0c
|
|
0x42 0x40 0xc4 0x4c
|
|
0x64 0x44 0xc5 0x0c
|
|
0x87 0x44 0xc6 0x4c
|
|
0x0c 0x48 0xc7 0x0c
|
|
0x0a 0x48 0xc8 0x4c
|
|
0x4f 0x4c 0xca 0x4c
|
|
|
|
# CHECK: ld3.8b { v1, v2, v3 }, [x2], x3
|
|
# CHECK: ld3.16b { v2, v3, v4 }, [x2], x4
|
|
# CHECK: ld3.4h { v4, v5, v6 }, [x3], x5
|
|
# CHECK: ld3.8h { v7, v8, v9 }, [x4], x6
|
|
# CHECK: ld3.2s { v12, v13, v14 }, [x0], x7
|
|
# CHECK: ld3.4s { v10, v11, v12 }, [x0], x8
|
|
# CHECK: ld3.2d { v15, v16, v17 }, [x2], x10
|
|
|
|
0x00 0x40 0xdf 0x0c
|
|
0x00 0x40 0xdf 0x4c
|
|
0x00 0x44 0xdf 0x0c
|
|
0x00 0x44 0xdf 0x4c
|
|
0x00 0x48 0xdf 0x0c
|
|
0x00 0x48 0xdf 0x4c
|
|
0x00 0x4c 0xdf 0x4c
|
|
|
|
# CHECK: ld3.8b { v0, v1, v2 }, [x0], #24
|
|
# CHECK: ld3.16b { v0, v1, v2 }, [x0], #48
|
|
# CHECK: ld3.4h { v0, v1, v2 }, [x0], #24
|
|
# CHECK: ld3.8h { v0, v1, v2 }, [x0], #48
|
|
# CHECK: ld3.2s { v0, v1, v2 }, [x0], #24
|
|
# CHECK: ld3.4s { v0, v1, v2 }, [x0], #48
|
|
# CHECK: ld3.2d { v0, v1, v2 }, [x0], #48
|
|
|
|
0x41 0x40 0x83 0x0c
|
|
0x42 0x40 0x84 0x4c
|
|
0x64 0x44 0x85 0x0c
|
|
0x87 0x44 0x86 0x4c
|
|
0x0c 0x48 0x87 0x0c
|
|
0x0a 0x48 0x88 0x4c
|
|
0x4f 0x4c 0x8a 0x4c
|
|
|
|
# CHECK: st3.8b { v1, v2, v3 }, [x2], x3
|
|
# CHECK: st3.16b { v2, v3, v4 }, [x2], x4
|
|
# CHECK: st3.4h { v4, v5, v6 }, [x3], x5
|
|
# CHECK: st3.8h { v7, v8, v9 }, [x4], x6
|
|
# CHECK: st3.2s { v12, v13, v14 }, [x0], x7
|
|
# CHECK: st3.4s { v10, v11, v12 }, [x0], x8
|
|
# CHECK: st3.2d { v15, v16, v17 }, [x2], x10
|
|
|
|
0x00 0x40 0x9f 0x0c
|
|
0x00 0x40 0x9f 0x4c
|
|
0x00 0x44 0x9f 0x0c
|
|
0x00 0x44 0x9f 0x4c
|
|
0x00 0x48 0x9f 0x0c
|
|
0x00 0x48 0x9f 0x4c
|
|
0x00 0x4c 0x9f 0x4c
|
|
|
|
# CHECK: st3.8b { v0, v1, v2 }, [x0], #24
|
|
# CHECK: st3.16b { v0, v1, v2 }, [x0], #48
|
|
# CHECK: st3.4h { v0, v1, v2 }, [x0], #24
|
|
# CHECK: st3.8h { v0, v1, v2 }, [x0], #48
|
|
# CHECK: st3.2s { v0, v1, v2 }, [x0], #24
|
|
# CHECK: st3.4s { v0, v1, v2 }, [x0], #48
|
|
# CHECK: st3.2d { v0, v1, v2 }, [x0], #48
|
|
|
|
0x61 0x28 0x40 0x0d
|
|
0x82 0xa4 0x40 0x4d
|
|
0xc3 0x70 0x40 0x0d
|
|
0xe4 0xb0 0x40 0x4d
|
|
|
|
# CHECK: ld3.b { v1, v2, v3 }[2], [x3]
|
|
# CHECK: ld3.d { v2, v3, v4 }[1], [x4]
|
|
# CHECK: ld3.h { v3, v4, v5 }[2], [x6]
|
|
# CHECK: ld3.s { v4, v5, v6 }[3], [x7]
|
|
|
|
0x61 0x28 0xdf 0x0d
|
|
0x82 0xa4 0xdf 0x4d
|
|
0xa3 0x78 0xdf 0x0d
|
|
0xc4 0xa0 0xdf 0x4d
|
|
|
|
# CHECK: ld3.b { v1, v2, v3 }[2], [x3], #3
|
|
# CHECK: ld3.d { v2, v3, v4 }[1], [x4], #24
|
|
# CHECK: ld3.h { v3, v4, v5 }[3], [x5], #6
|
|
# CHECK: ld3.s { v4, v5, v6 }[2], [x6], #12
|
|
|
|
0x61 0x28 0x00 0x0d
|
|
0x82 0xa4 0x00 0x4d
|
|
0xc3 0x70 0x00 0x0d
|
|
0xe4 0xb0 0x00 0x4d
|
|
|
|
# CHECK: st3.b { v1, v2, v3 }[2], [x3]
|
|
# CHECK: st3.d { v2, v3, v4 }[1], [x4]
|
|
# CHECK: st3.h { v3, v4, v5 }[2], [x6]
|
|
# CHECK: st3.s { v4, v5, v6 }[3], [x7]
|
|
|
|
0x21 0xe0 0x40 0x0d
|
|
0x21 0xe0 0xc2 0x0d
|
|
0x21 0xe0 0x40 0x4d
|
|
0x21 0xe0 0xc2 0x4d
|
|
0x21 0xe4 0x40 0x0d
|
|
0x21 0xe4 0xc2 0x0d
|
|
0x21 0xe4 0x40 0x4d
|
|
0x21 0xe4 0xc2 0x4d
|
|
0x21 0xe8 0x40 0x0d
|
|
0x21 0xe8 0xc2 0x0d
|
|
0x21 0xec 0x40 0x4d
|
|
0x21 0xec 0xc2 0x4d
|
|
0x21 0xec 0x40 0x0d
|
|
0x21 0xec 0xc2 0x0d
|
|
|
|
# CHECK: ld3r.8b { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.8b { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.16b { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.16b { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.4h { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.4h { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.8h { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.8h { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.2s { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.2s { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.2d { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.2d { v1, v2, v3 }, [x1], x2
|
|
# CHECK: ld3r.1d { v1, v2, v3 }, [x1]
|
|
# CHECK: ld3r.1d { v1, v2, v3 }, [x1], x2
|
|
|
|
0x21 0xe0 0xdf 0x0d
|
|
0x21 0xe0 0xdf 0x4d
|
|
0x21 0xe4 0xdf 0x0d
|
|
0x21 0xe4 0xdf 0x4d
|
|
0x21 0xe8 0xdf 0x0d
|
|
0x21 0xec 0xdf 0x4d
|
|
0x21 0xec 0xdf 0x0d
|
|
|
|
# CHECK: ld3r.8b { v1, v2, v3 }, [x1], #3
|
|
# CHECK: ld3r.16b { v1, v2, v3 }, [x1], #3
|
|
# CHECK: ld3r.4h { v1, v2, v3 }, [x1], #6
|
|
# CHECK: ld3r.8h { v1, v2, v3 }, [x1], #6
|
|
# CHECK: ld3r.2s { v1, v2, v3 }, [x1], #12
|
|
# CHECK: ld3r.2d { v1, v2, v3 }, [x1], #24
|
|
# CHECK: ld3r.1d { v1, v2, v3 }, [x1], #24
|
|
|
|
0x21 0x00 0x40 0x0c
|
|
0x45 0x00 0x40 0x4c
|
|
0x0a 0x08 0x40 0x0c
|
|
|
|
# CHECK: ld4.8b { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4.16b { v5, v6, v7, v8 }, [x2]
|
|
# CHECK: ld4.2s { v10, v11, v12, v13 }, [x0]
|
|
|
|
0x21 0x00 0x00 0x0c
|
|
0x45 0x00 0x00 0x4c
|
|
0x0a 0x08 0x00 0x0c
|
|
|
|
# CHECK: st4.8b { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: st4.16b { v5, v6, v7, v8 }, [x2]
|
|
# CHECK: st4.2s { v10, v11, v12, v13 }, [x0]
|
|
|
|
0x61 0x28 0xe4 0x0d
|
|
0x82 0xa4 0xe5 0x4d
|
|
0xa3 0x78 0xe6 0x0d
|
|
0xc4 0xa0 0xe7 0x4d
|
|
|
|
# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], x4
|
|
# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], x5
|
|
# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], x6
|
|
# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], x7
|
|
|
|
0x61 0x28 0xff 0x0d
|
|
0x82 0xa4 0xff 0x4d
|
|
0xa3 0x78 0xff 0x0d
|
|
0xc4 0xa0 0xff 0x4d
|
|
|
|
# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3], #4
|
|
# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4], #32
|
|
# CHECK: ld4.h { v3, v4, v5, v6 }[3], [x5], #8
|
|
# CHECK: ld4.s { v4, v5, v6, v7 }[2], [x6], #16
|
|
|
|
0x61 0x28 0xa4 0x0d
|
|
0x82 0xa4 0xa5 0x4d
|
|
0xa3 0x78 0xa6 0x0d
|
|
0xc4 0xa0 0xa7 0x4d
|
|
|
|
# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], x4
|
|
# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], x5
|
|
# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], x6
|
|
# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], x7
|
|
|
|
0x61 0x28 0xbf 0x0d
|
|
0x82 0xa4 0xbf 0x4d
|
|
0xa3 0x78 0xbf 0x0d
|
|
0xc4 0xa0 0xbf 0x4d
|
|
|
|
# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3], #4
|
|
# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4], #32
|
|
# CHECK: st4.h { v3, v4, v5, v6 }[3], [x5], #8
|
|
# CHECK: st4.s { v4, v5, v6, v7 }[2], [x6], #16
|
|
|
|
0x41 0x00 0xc3 0x0c
|
|
0x42 0x00 0xc4 0x4c
|
|
0x64 0x04 0xc5 0x0c
|
|
0x87 0x04 0xc6 0x4c
|
|
0x0c 0x08 0xc7 0x0c
|
|
0x0a 0x08 0xc8 0x4c
|
|
0x4f 0x0c 0xca 0x4c
|
|
|
|
# CHECK: ld4.8b { v1, v2, v3, v4 }, [x2], x3
|
|
# CHECK: ld4.16b { v2, v3, v4, v5 }, [x2], x4
|
|
# CHECK: ld4.4h { v4, v5, v6, v7 }, [x3], x5
|
|
# CHECK: ld4.8h { v7, v8, v9, v10 }, [x4], x6
|
|
# CHECK: ld4.2s { v12, v13, v14, v15 }, [x0], x7
|
|
# CHECK: ld4.4s { v10, v11, v12, v13 }, [x0], x8
|
|
# CHECK: ld4.2d { v15, v16, v17, v18 }, [x2], x10
|
|
|
|
0x00 0x00 0xdf 0x0c
|
|
0x00 0x00 0xdf 0x4c
|
|
0x00 0x04 0xdf 0x0c
|
|
0x00 0x04 0xdf 0x4c
|
|
0x00 0x08 0xdf 0x0c
|
|
0x00 0x08 0xdf 0x4c
|
|
0x00 0x0c 0xdf 0x4c
|
|
|
|
# CHECK: ld4.8b { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: ld4.16b { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: ld4.4h { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: ld4.8h { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: ld4.2s { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: ld4.4s { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: ld4.2d { v0, v1, v2, v3 }, [x0], #64
|
|
|
|
0x00 0x00 0x9f 0x0c
|
|
0x00 0x00 0x9f 0x4c
|
|
0x00 0x04 0x9f 0x0c
|
|
0x00 0x04 0x9f 0x4c
|
|
0x00 0x08 0x9f 0x0c
|
|
0x00 0x08 0x9f 0x4c
|
|
0x00 0x0c 0x9f 0x4c
|
|
|
|
# CHECK: st4.8b { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: st4.16b { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: st4.4h { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: st4.8h { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: st4.2s { v0, v1, v2, v3 }, [x0], #32
|
|
# CHECK: st4.4s { v0, v1, v2, v3 }, [x0], #64
|
|
# CHECK: st4.2d { v0, v1, v2, v3 }, [x0], #64
|
|
|
|
0x41 0x00 0x83 0x0c
|
|
0x42 0x00 0x84 0x4c
|
|
0x64 0x04 0x85 0x0c
|
|
0x87 0x04 0x86 0x4c
|
|
0x0c 0x08 0x87 0x0c
|
|
0x0a 0x08 0x88 0x4c
|
|
0x4f 0x0c 0x8a 0x4c
|
|
|
|
# CHECK: st4.8b { v1, v2, v3, v4 }, [x2], x3
|
|
# CHECK: st4.16b { v2, v3, v4, v5 }, [x2], x4
|
|
# CHECK: st4.4h { v4, v5, v6, v7 }, [x3], x5
|
|
# CHECK: st4.8h { v7, v8, v9, v10 }, [x4], x6
|
|
# CHECK: st4.2s { v12, v13, v14, v15 }, [x0], x7
|
|
# CHECK: st4.4s { v10, v11, v12, v13 }, [x0], x8
|
|
# CHECK: st4.2d { v15, v16, v17, v18 }, [x2], x10
|
|
|
|
0x61 0x28 0x60 0x0d
|
|
0x82 0xa4 0x60 0x4d
|
|
0xc3 0x70 0x60 0x0d
|
|
0xe4 0xb0 0x60 0x4d
|
|
|
|
# CHECK: ld4.b { v1, v2, v3, v4 }[2], [x3]
|
|
# CHECK: ld4.d { v2, v3, v4, v5 }[1], [x4]
|
|
# CHECK: ld4.h { v3, v4, v5, v6 }[2], [x6]
|
|
# CHECK: ld4.s { v4, v5, v6, v7 }[3], [x7]
|
|
|
|
0x61 0x28 0x20 0x0d
|
|
0x82 0xa4 0x20 0x4d
|
|
0xc3 0x70 0x20 0x0d
|
|
0xe4 0xb0 0x20 0x4d
|
|
|
|
# CHECK: st4.b { v1, v2, v3, v4 }[2], [x3]
|
|
# CHECK: st4.d { v2, v3, v4, v5 }[1], [x4]
|
|
# CHECK: st4.h { v3, v4, v5, v6 }[2], [x6]
|
|
# CHECK: st4.s { v4, v5, v6, v7 }[3], [x7]
|
|
|
|
0x21 0xe0 0x60 0x0d
|
|
0x21 0xe0 0xe2 0x0d
|
|
0x21 0xe0 0x60 0x4d
|
|
0x21 0xe0 0xe2 0x4d
|
|
0x21 0xe4 0x60 0x0d
|
|
0x21 0xe4 0xe2 0x0d
|
|
0x21 0xe4 0x60 0x4d
|
|
0x21 0xe4 0xe2 0x4d
|
|
0x21 0xe8 0x60 0x0d
|
|
0x21 0xe8 0xe2 0x0d
|
|
0x21 0xec 0x60 0x4d
|
|
0x21 0xec 0xe2 0x4d
|
|
0x21 0xec 0x60 0x0d
|
|
0x21 0xec 0xe2 0x0d
|
|
|
|
# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], x2
|
|
# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1]
|
|
# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], x2
|
|
|
|
0x21 0xe0 0xff 0x0d
|
|
0x21 0xe0 0xff 0x4d
|
|
0x21 0xe4 0xff 0x0d
|
|
0x21 0xe4 0xff 0x4d
|
|
0x21 0xe8 0xff 0x0d
|
|
0x21 0xec 0xff 0x4d
|
|
0x21 0xec 0xff 0x0d
|
|
|
|
# CHECK: ld4r.8b { v1, v2, v3, v4 }, [x1], #4
|
|
# CHECK: ld4r.16b { v1, v2, v3, v4 }, [x1], #4
|
|
# CHECK: ld4r.4h { v1, v2, v3, v4 }, [x1], #8
|
|
# CHECK: ld4r.8h { v1, v2, v3, v4 }, [x1], #8
|
|
# CHECK: ld4r.2s { v1, v2, v3, v4 }, [x1], #16
|
|
# CHECK: ld4r.2d { v1, v2, v3, v4 }, [x1], #32
|
|
# CHECK: ld4r.1d { v1, v2, v3, v4 }, [x1], #32
|
|
|
|
0x20 0xe4 0x00 0x2f
|
|
0x20 0xe4 0x00 0x6f
|
|
0x20 0xe4 0x00 0x0f
|
|
0x20 0xe4 0x00 0x4f
|
|
|
|
# CHECK: movi d0, #0x000000000000ff
|
|
# CHECK: movi.2d v0, #0x000000000000ff
|
|
# CHECK: movi.8b v0, #1
|
|
# CHECK: movi.16b v0, #1
|
|
|
|
0x20 0x04 0x00 0x0f
|
|
0x20 0x24 0x00 0x0f
|
|
0x20 0x44 0x00 0x0f
|
|
0x20 0x64 0x00 0x0f
|
|
|
|
# CHECK: movi.2s v0, #1
|
|
# CHECK: movi.2s v0, #1, lsl #8
|
|
# CHECK: movi.2s v0, #1, lsl #16
|
|
# CHECK: movi.2s v0, #1, lsl #24
|
|
|
|
0x20 0x04 0x00 0x4f
|
|
0x20 0x24 0x00 0x4f
|
|
0x20 0x44 0x00 0x4f
|
|
0x20 0x64 0x00 0x4f
|
|
|
|
# CHECK: movi.4s v0, #1
|
|
# CHECK: movi.4s v0, #1, lsl #8
|
|
# CHECK: movi.4s v0, #1, lsl #16
|
|
# CHECK: movi.4s v0, #1, lsl #24
|
|
|
|
0x20 0x84 0x00 0x0f
|
|
0x20 0xa4 0x00 0x0f
|
|
|
|
# CHECK: movi.4h v0, #1
|
|
# CHECK: movi.4h v0, #1, lsl #8
|
|
|
|
0x20 0x84 0x00 0x4f
|
|
0x20 0xa4 0x00 0x4f
|
|
|
|
# CHECK: movi.8h v0, #1
|
|
# CHECK: movi.8h v0, #1, lsl #8
|
|
|
|
0x20 0x04 0x00 0x2f
|
|
0x20 0x24 0x00 0x2f
|
|
0x20 0x44 0x00 0x2f
|
|
0x20 0x64 0x00 0x2f
|
|
|
|
# CHECK: mvni.2s v0, #1
|
|
# CHECK: mvni.2s v0, #1, lsl #8
|
|
# CHECK: mvni.2s v0, #1, lsl #16
|
|
# CHECK: mvni.2s v0, #1, lsl #24
|
|
|
|
0x20 0x04 0x00 0x6f
|
|
0x20 0x24 0x00 0x6f
|
|
0x20 0x44 0x00 0x6f
|
|
0x20 0x64 0x00 0x6f
|
|
|
|
# CHECK: mvni.4s v0, #1
|
|
# CHECK: mvni.4s v0, #1, lsl #8
|
|
# CHECK: mvni.4s v0, #1, lsl #16
|
|
# CHECK: mvni.4s v0, #1, lsl #24
|
|
|
|
0x20 0x84 0x00 0x2f
|
|
0x20 0xa4 0x00 0x2f
|
|
|
|
# CHECK: mvni.4h v0, #1
|
|
# CHECK: mvni.4h v0, #1, lsl #8
|
|
|
|
0x20 0x84 0x00 0x6f
|
|
0x20 0xa4 0x00 0x6f
|
|
|
|
# CHECK: mvni.8h v0, #1
|
|
# CHECK: mvni.8h v0, #1, lsl #8
|
|
|
|
0x20 0xc4 0x00 0x2f
|
|
0x20 0xd4 0x00 0x2f
|
|
0x20 0xc4 0x00 0x6f
|
|
0x20 0xd4 0x00 0x6f
|
|
|
|
# CHECK: mvni.2s v0, #1, msl #8
|
|
# CHECK: mvni.2s v0, #1, msl #16
|
|
# CHECK: mvni.4s v0, #1, msl #8
|
|
# CHECK: mvni.4s v0, #1, msl #16
|
|
|
|
0x00 0x88 0x21 0x2e
|
|
0x00 0x98 0x21 0x2e
|
|
0x00 0x98 0xa1 0x2e
|
|
0x00 0x98 0x21 0x0e
|
|
0x00 0x88 0x21 0x0e
|
|
0x00 0x88 0xa1 0x0e
|
|
0x00 0x98 0xa1 0x0e
|
|
|
|
# CHECK: frinta.2s v0, v0
|
|
# CHECK: frintx.2s v0, v0
|
|
# CHECK: frinti.2s v0, v0
|
|
# CHECK: frintm.2s v0, v0
|
|
# CHECK: frintn.2s v0, v0
|
|
# CHECK: frintp.2s v0, v0
|
|
# CHECK: frintz.2s v0, v0
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD scalar x index instructions
|
|
#===-------------------------------------------------------------------------===
|
|
|
|
0x00 0x18 0xa0 0x5f
|
|
0x00 0x18 0xc0 0x5f
|
|
0x00 0x58 0xa0 0x5f
|
|
0x00 0x58 0xc0 0x5f
|
|
0x00 0x98 0xa0 0x7f
|
|
0x00 0x98 0xc0 0x7f
|
|
0x00 0x98 0xa0 0x5f
|
|
0x00 0x98 0xc0 0x5f
|
|
0x00 0x38 0x70 0x5f
|
|
0x00 0x38 0xa0 0x5f
|
|
0x00 0x78 0x70 0x5f
|
|
0x00 0xc8 0x70 0x5f
|
|
0x00 0xc8 0xa0 0x5f
|
|
0x00 0xb8 0x70 0x5f
|
|
0x00 0xb8 0xa0 0x5f
|
|
0x00 0xd8 0x70 0x5f
|
|
0x00 0xd8 0xa0 0x5f
|
|
|
|
# CHECK: fmla.s s0, s0, v0[3]
|
|
# CHECK: fmla.d d0, d0, v0[1]
|
|
# CHECK: fmls.s s0, s0, v0[3]
|
|
# CHECK: fmls.d d0, d0, v0[1]
|
|
# CHECK: fmulx.s s0, s0, v0[3]
|
|
# CHECK: fmulx.d d0, d0, v0[1]
|
|
# CHECK: fmul.s s0, s0, v0[3]
|
|
# CHECK: fmul.d d0, d0, v0[1]
|
|
# CHECK: sqdmlal.h s0, h0, v0[7]
|
|
# CHECK: sqdmlal.s d0, s0, v0[3]
|
|
# CHECK: sqdmlsl.h s0, h0, v0[7]
|
|
# CHECK: sqdmulh.h h0, h0, v0[7]
|
|
# CHECK: sqdmulh.s s0, s0, v0[3]
|
|
# CHECK: sqdmull.h s0, h0, v0[7]
|
|
# CHECK: sqdmull.s d0, s0, v0[3]
|
|
# CHECK: sqrdmulh.h h0, h0, v0[7]
|
|
# CHECK: sqrdmulh.s s0, s0, v0[3]
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD vector x index instructions
|
|
#===-------------------------------------------------------------------------===
|
|
|
|
0x00 0x10 0x80 0x0f
|
|
0x00 0x10 0xa0 0x4f
|
|
0x00 0x18 0xc0 0x4f
|
|
0x00 0x50 0x80 0x0f
|
|
0x00 0x50 0xa0 0x4f
|
|
0x00 0x58 0xc0 0x4f
|
|
0x00 0x90 0x80 0x2f
|
|
0x00 0x90 0xa0 0x6f
|
|
0x00 0x98 0xc0 0x6f
|
|
0x00 0x90 0x80 0x0f
|
|
0x00 0x90 0xa0 0x4f
|
|
0x00 0x98 0xc0 0x4f
|
|
0x00 0x00 0x40 0x2f
|
|
0x00 0x00 0x50 0x6f
|
|
0x00 0x08 0x80 0x2f
|
|
0x00 0x08 0xa0 0x6f
|
|
0x00 0x40 0x40 0x2f
|
|
0x00 0x40 0x50 0x6f
|
|
0x00 0x48 0x80 0x2f
|
|
0x00 0x48 0xa0 0x6f
|
|
0x00 0x80 0x40 0x0f
|
|
0x00 0x80 0x50 0x4f
|
|
0x00 0x88 0x80 0x0f
|
|
0x00 0x88 0xa0 0x4f
|
|
0x00 0x20 0x40 0x0f
|
|
0x00 0x20 0x50 0x4f
|
|
0x00 0x28 0x80 0x0f
|
|
0x00 0x28 0xa0 0x4f
|
|
0x00 0x60 0x40 0x0f
|
|
0x00 0x60 0x50 0x4f
|
|
0x00 0x68 0x80 0x0f
|
|
0x00 0x68 0xa0 0x4f
|
|
0x00 0xa0 0x40 0x0f
|
|
0x00 0xa0 0x50 0x4f
|
|
0x00 0xa8 0x80 0x0f
|
|
0x00 0xa8 0xa0 0x4f
|
|
0x00 0x30 0x40 0x0f
|
|
0x00 0x30 0x50 0x4f
|
|
0x00 0x38 0x80 0x0f
|
|
0x00 0x38 0xa0 0x4f
|
|
0x00 0x70 0x40 0x0f
|
|
0x00 0x70 0x50 0x4f
|
|
0x00 0x78 0x80 0x0f
|
|
0x00 0x78 0xa0 0x4f
|
|
0x00 0xc0 0x40 0x0f
|
|
0x00 0xc0 0x50 0x4f
|
|
0x00 0xc8 0x80 0x0f
|
|
0x00 0xc8 0xa0 0x4f
|
|
0x00 0xb0 0x40 0x0f
|
|
0x00 0xb0 0x50 0x4f
|
|
0x00 0xb8 0x80 0x0f
|
|
0x00 0xb8 0xa0 0x4f
|
|
0x00 0xd0 0x40 0x0f
|
|
0x00 0xd0 0x50 0x4f
|
|
0x00 0xd8 0x80 0x0f
|
|
0x00 0xd8 0xa0 0x4f
|
|
0x00 0x20 0x40 0x2f
|
|
0x00 0x20 0x50 0x6f
|
|
0x00 0x28 0x80 0x2f
|
|
0x00 0x28 0xa0 0x6f
|
|
0x00 0x60 0x40 0x2f
|
|
0x00 0x60 0x50 0x6f
|
|
0x00 0x68 0x80 0x2f
|
|
0x00 0x68 0xa0 0x6f
|
|
0x00 0xa0 0x40 0x2f
|
|
0x00 0xa0 0x50 0x6f
|
|
0x00 0xa8 0x80 0x2f
|
|
0x00 0xa8 0xa0 0x6f
|
|
|
|
# CHECK: fmla.2s v0, v0, v0[0]
|
|
# CHECK: fmla.4s v0, v0, v0[1]
|
|
# CHECK: fmla.2d v0, v0, v0[1]
|
|
# CHECK: fmls.2s v0, v0, v0[0]
|
|
# CHECK: fmls.4s v0, v0, v0[1]
|
|
# CHECK: fmls.2d v0, v0, v0[1]
|
|
# CHECK: fmulx.2s v0, v0, v0[0]
|
|
# CHECK: fmulx.4s v0, v0, v0[1]
|
|
# CHECK: fmulx.2d v0, v0, v0[1]
|
|
# CHECK: fmul.2s v0, v0, v0[0]
|
|
# CHECK: fmul.4s v0, v0, v0[1]
|
|
# CHECK: fmul.2d v0, v0, v0[1]
|
|
# CHECK: mla.4h v0, v0, v0[0]
|
|
# CHECK: mla.8h v0, v0, v0[1]
|
|
# CHECK: mla.2s v0, v0, v0[2]
|
|
# CHECK: mla.4s v0, v0, v0[3]
|
|
# CHECK: mls.4h v0, v0, v0[0]
|
|
# CHECK: mls.8h v0, v0, v0[1]
|
|
# CHECK: mls.2s v0, v0, v0[2]
|
|
# CHECK: mls.4s v0, v0, v0[3]
|
|
# CHECK: mul.4h v0, v0, v0[0]
|
|
# CHECK: mul.8h v0, v0, v0[1]
|
|
# CHECK: mul.2s v0, v0, v0[2]
|
|
# CHECK: mul.4s v0, v0, v0[3]
|
|
# CHECK: smlal.4s v0, v0, v0[0]
|
|
# CHECK: smlal2.4s v0, v0, v0[1]
|
|
# CHECK: smlal.2d v0, v0, v0[2]
|
|
# CHECK: smlal2.2d v0, v0, v0[3]
|
|
# CHECK: smlsl.4s v0, v0, v0[0]
|
|
# CHECK: smlsl2.4s v0, v0, v0[1]
|
|
# CHECK: smlsl.2d v0, v0, v0[2]
|
|
# CHECK: smlsl2.2d v0, v0, v0[3]
|
|
# CHECK: smull.4s v0, v0, v0[0]
|
|
# CHECK: smull2.4s v0, v0, v0[1]
|
|
# CHECK: smull.2d v0, v0, v0[2]
|
|
# CHECK: smull2.2d v0, v0, v0[3]
|
|
# CHECK: sqdmlal.4s v0, v0, v0[0]
|
|
# CHECK: sqdmlal2.4s v0, v0, v0[1]
|
|
# CHECK: sqdmlal.2d v0, v0, v0[2]
|
|
# CHECK: sqdmlal2.2d v0, v0, v0[3]
|
|
# CHECK: sqdmlsl.4s v0, v0, v0[0]
|
|
# CHECK: sqdmlsl2.4s v0, v0, v0[1]
|
|
# CHECK: sqdmlsl.2d v0, v0, v0[2]
|
|
# CHECK: sqdmlsl2.2d v0, v0, v0[3]
|
|
# CHECK: sqdmulh.4h v0, v0, v0[0]
|
|
# CHECK: sqdmulh.8h v0, v0, v0[1]
|
|
# CHECK: sqdmulh.2s v0, v0, v0[2]
|
|
# CHECK: sqdmulh.4s v0, v0, v0[3]
|
|
# CHECK: sqdmull.4s v0, v0, v0[0]
|
|
# CHECK: sqdmull2.4s v0, v0, v0[1]
|
|
# CHECK: sqdmull.2d v0, v0, v0[2]
|
|
# CHECK: sqdmull2.2d v0, v0, v0[3]
|
|
# CHECK: sqrdmulh.4h v0, v0, v0[0]
|
|
# CHECK: sqrdmulh.8h v0, v0, v0[1]
|
|
# CHECK: sqrdmulh.2s v0, v0, v0[2]
|
|
# CHECK: sqrdmulh.4s v0, v0, v0[3]
|
|
# CHECK: umlal.4s v0, v0, v0[0]
|
|
# CHECK: umlal2.4s v0, v0, v0[1]
|
|
# CHECK: umlal.2d v0, v0, v0[2]
|
|
# CHECK: umlal2.2d v0, v0, v0[3]
|
|
# CHECK: umlsl.4s v0, v0, v0[0]
|
|
# CHECK: umlsl2.4s v0, v0, v0[1]
|
|
# CHECK: umlsl.2d v0, v0, v0[2]
|
|
# CHECK: umlsl2.2d v0, v0, v0[3]
|
|
# CHECK: umull.4s v0, v0, v0[0]
|
|
# CHECK: umull2.4s v0, v0, v0[1]
|
|
# CHECK: umull.2d v0, v0, v0[2]
|
|
# CHECK: umull2.2d v0, v0, v0[3]
|
|
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD scalar + shift instructions
|
|
#===-------------------------------------------------------------------------===
|
|
|
|
0x00 0x54 0x41 0x5f
|
|
0x00 0x54 0x41 0x7f
|
|
0x00 0x9c 0x09 0x5f
|
|
0x00 0x9c 0x12 0x5f
|
|
0x00 0x9c 0x23 0x5f
|
|
0x00 0x8c 0x09 0x7f
|
|
0x00 0x8c 0x12 0x7f
|
|
0x00 0x8c 0x23 0x7f
|
|
0x00 0x64 0x09 0x7f
|
|
0x00 0x64 0x12 0x7f
|
|
0x00 0x64 0x23 0x7f
|
|
0x00 0x64 0x44 0x7f
|
|
0x00 0x74 0x09 0x5f
|
|
0x00 0x74 0x12 0x5f
|
|
0x00 0x74 0x23 0x5f
|
|
0x00 0x74 0x44 0x5f
|
|
0x00 0x94 0x09 0x5f
|
|
0x00 0x94 0x12 0x5f
|
|
0x00 0x94 0x23 0x5f
|
|
0x00 0x84 0x09 0x7f
|
|
0x00 0x84 0x12 0x7f
|
|
0x00 0x84 0x23 0x7f
|
|
0x00 0x44 0x41 0x7f
|
|
0x00 0x24 0x41 0x5f
|
|
0x00 0x34 0x41 0x5f
|
|
0x00 0x04 0x41 0x5f
|
|
0x00 0xe4 0x21 0x7f
|
|
0x00 0xe4 0x42 0x7f
|
|
0x00 0x9c 0x09 0x7f
|
|
0x00 0x9c 0x12 0x7f
|
|
0x00 0x9c 0x23 0x7f
|
|
0x00 0x74 0x09 0x7f
|
|
0x00 0x74 0x12 0x7f
|
|
0x00 0x74 0x23 0x7f
|
|
0x00 0x74 0x44 0x7f
|
|
0x00 0x94 0x09 0x7f
|
|
0x00 0x94 0x12 0x7f
|
|
0x00 0x94 0x23 0x7f
|
|
0x00 0x24 0x41 0x7f
|
|
0x00 0x34 0x41 0x7f
|
|
0x00 0x04 0x41 0x7f
|
|
0x00 0x14 0x41 0x7f
|
|
|
|
# CHECK: shl d0, d0, #1
|
|
# CHECK: sli d0, d0, #1
|
|
# CHECK: sqrshrn b0, h0, #7
|
|
# CHECK: sqrshrn h0, s0, #14
|
|
# CHECK: sqrshrn s0, d0, #29
|
|
# CHECK: sqrshrun b0, h0, #7
|
|
# CHECK: sqrshrun h0, s0, #14
|
|
# CHECK: sqrshrun s0, d0, #29
|
|
# CHECK: sqshlu b0, b0, #1
|
|
# CHECK: sqshlu h0, h0, #2
|
|
# CHECK: sqshlu s0, s0, #3
|
|
# CHECK: sqshlu d0, d0, #4
|
|
# CHECK: sqshl b0, b0, #1
|
|
# CHECK: sqshl h0, h0, #2
|
|
# CHECK: sqshl s0, s0, #3
|
|
# CHECK: sqshl d0, d0, #4
|
|
# CHECK: sqshrn b0, h0, #7
|
|
# CHECK: sqshrn h0, s0, #14
|
|
# CHECK: sqshrn s0, d0, #29
|
|
# CHECK: sqshrun b0, h0, #7
|
|
# CHECK: sqshrun h0, s0, #14
|
|
# CHECK: sqshrun s0, d0, #29
|
|
# CHECK: sri d0, d0, #63
|
|
# CHECK: srshr d0, d0, #63
|
|
# CHECK: srsra d0, d0, #63
|
|
# CHECK: sshr d0, d0, #63
|
|
# CHECK: ucvtf s0, s0, #31
|
|
# CHECK: ucvtf d0, d0, #62
|
|
# CHECK: uqrshrn b0, h0, #7
|
|
# CHECK: uqrshrn h0, s0, #14
|
|
# CHECK: uqrshrn s0, d0, #29
|
|
# CHECK: uqshl b0, b0, #1
|
|
# CHECK: uqshl h0, h0, #2
|
|
# CHECK: uqshl s0, s0, #3
|
|
# CHECK: uqshl d0, d0, #4
|
|
# CHECK: uqshrn b0, h0, #7
|
|
# CHECK: uqshrn h0, s0, #14
|
|
# CHECK: uqshrn s0, d0, #29
|
|
# CHECK: urshr d0, d0, #63
|
|
# CHECK: ursra d0, d0, #63
|
|
# CHECK: ushr d0, d0, #63
|
|
# CHECK: usra d0, d0, #63
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD vector + shift instructions
|
|
#===-------------------------------------------------------------------------===
|
|
|
|
0x00 0xfc 0x21 0x0f
|
|
0x00 0xfc 0x22 0x4f
|
|
0x00 0xfc 0x43 0x4f
|
|
0x00 0xfc 0x21 0x2f
|
|
0x00 0xfc 0x22 0x6f
|
|
0x00 0xfc 0x43 0x6f
|
|
0x00 0x8c 0x09 0x0f
|
|
0x00 0x8c 0x0a 0x4f
|
|
0x00 0x8c 0x13 0x0f
|
|
0x00 0x8c 0x14 0x4f
|
|
0x00 0x8c 0x25 0x0f
|
|
0x00 0x8c 0x26 0x4f
|
|
0x00 0xe4 0x21 0x0f
|
|
0x00 0xe4 0x22 0x4f
|
|
0x00 0xe4 0x43 0x4f
|
|
0x00 0x54 0x09 0x0f
|
|
0x00 0x54 0x0a 0x4f
|
|
0x00 0x54 0x13 0x0f
|
|
0x00 0x54 0x14 0x4f
|
|
0x00 0x54 0x25 0x0f
|
|
0x00 0x54 0x26 0x4f
|
|
0x00 0x54 0x47 0x4f
|
|
0x00 0x84 0x09 0x0f
|
|
0x00 0x84 0x0a 0x4f
|
|
0x00 0x84 0x13 0x0f
|
|
0x00 0x84 0x14 0x4f
|
|
0x00 0x84 0x25 0x0f
|
|
0x00 0x84 0x26 0x4f
|
|
0x00 0x54 0x09 0x2f
|
|
0x00 0x54 0x0a 0x6f
|
|
0x00 0x54 0x13 0x2f
|
|
0x00 0x54 0x14 0x6f
|
|
0x00 0x54 0x25 0x2f
|
|
0x00 0x54 0x26 0x6f
|
|
0x00 0x54 0x47 0x6f
|
|
0x00 0x9c 0x09 0x0f
|
|
0x00 0x9c 0x0a 0x4f
|
|
0x00 0x9c 0x13 0x0f
|
|
0x00 0x9c 0x14 0x4f
|
|
0x00 0x9c 0x25 0x0f
|
|
0x00 0x9c 0x26 0x4f
|
|
0x00 0x8c 0x09 0x2f
|
|
0x00 0x8c 0x0a 0x6f
|
|
0x00 0x8c 0x13 0x2f
|
|
0x00 0x8c 0x14 0x6f
|
|
0x00 0x8c 0x25 0x2f
|
|
0x00 0x8c 0x26 0x6f
|
|
0x00 0x64 0x09 0x2f
|
|
0x00 0x64 0x0a 0x6f
|
|
0x00 0x64 0x13 0x2f
|
|
0x00 0x64 0x14 0x6f
|
|
0x00 0x64 0x25 0x2f
|
|
0x00 0x64 0x26 0x6f
|
|
0x00 0x64 0x47 0x6f
|
|
0x00 0x74 0x09 0x0f
|
|
0x00 0x74 0x0a 0x4f
|
|
0x00 0x74 0x13 0x0f
|
|
0x00 0x74 0x14 0x4f
|
|
0x00 0x74 0x25 0x0f
|
|
0x00 0x74 0x26 0x4f
|
|
0x00 0x74 0x47 0x4f
|
|
0x00 0x94 0x09 0x0f
|
|
0x00 0x94 0x0a 0x4f
|
|
0x00 0x94 0x13 0x0f
|
|
0x00 0x94 0x14 0x4f
|
|
0x00 0x94 0x25 0x0f
|
|
0x00 0x94 0x26 0x4f
|
|
0x00 0x84 0x09 0x2f
|
|
0x00 0x84 0x0a 0x6f
|
|
0x00 0x84 0x13 0x2f
|
|
0x00 0x84 0x14 0x6f
|
|
0x00 0x84 0x25 0x2f
|
|
0x00 0x84 0x26 0x6f
|
|
0x00 0x44 0x09 0x2f
|
|
0x00 0x44 0x0a 0x6f
|
|
0x00 0x44 0x13 0x2f
|
|
0x00 0x44 0x14 0x6f
|
|
0x00 0x44 0x25 0x2f
|
|
0x00 0x44 0x26 0x6f
|
|
0x00 0x44 0x47 0x6f
|
|
0x00 0x24 0x09 0x0f
|
|
0x00 0x24 0x0a 0x4f
|
|
0x00 0x24 0x13 0x0f
|
|
0x00 0x24 0x14 0x4f
|
|
0x00 0x24 0x25 0x0f
|
|
0x00 0x24 0x26 0x4f
|
|
0x00 0x24 0x47 0x4f
|
|
0x00 0x34 0x09 0x0f
|
|
0x00 0x34 0x0a 0x4f
|
|
0x00 0x34 0x13 0x0f
|
|
0x00 0x34 0x14 0x4f
|
|
0x00 0x34 0x25 0x0f
|
|
0x00 0x34 0x26 0x4f
|
|
0x00 0x34 0x47 0x4f
|
|
0x00 0xa4 0x09 0x0f
|
|
0x00 0xa4 0x0a 0x4f
|
|
0x00 0xa4 0x13 0x0f
|
|
0x00 0xa4 0x14 0x4f
|
|
0x00 0xa4 0x25 0x0f
|
|
0x00 0xa4 0x26 0x4f
|
|
0x00 0x04 0x09 0x0f
|
|
0x00 0x04 0x0a 0x4f
|
|
0x00 0x04 0x13 0x0f
|
|
0x00 0x04 0x14 0x4f
|
|
0x00 0x04 0x25 0x0f
|
|
0x00 0x04 0x26 0x4f
|
|
0x00 0x04 0x47 0x4f
|
|
0x00 0x04 0x09 0x0f
|
|
0x00 0x14 0x0a 0x4f
|
|
0x00 0x14 0x13 0x0f
|
|
0x00 0x14 0x14 0x4f
|
|
0x00 0x14 0x25 0x0f
|
|
0x00 0x14 0x26 0x4f
|
|
0x00 0x14 0x47 0x4f
|
|
0x00 0x14 0x40 0x5f
|
|
0x00 0xe4 0x21 0x2f
|
|
0x00 0xe4 0x22 0x6f
|
|
0x00 0xe4 0x43 0x6f
|
|
0x00 0x9c 0x09 0x2f
|
|
0x00 0x9c 0x0a 0x6f
|
|
0x00 0x9c 0x13 0x2f
|
|
0x00 0x9c 0x14 0x6f
|
|
0x00 0x9c 0x25 0x2f
|
|
0x00 0x9c 0x26 0x6f
|
|
0x00 0x74 0x09 0x2f
|
|
0x00 0x74 0x0a 0x6f
|
|
0x00 0x74 0x13 0x2f
|
|
0x00 0x74 0x14 0x6f
|
|
0x00 0x74 0x25 0x2f
|
|
0x00 0x74 0x26 0x6f
|
|
0x00 0x74 0x47 0x6f
|
|
0x00 0x94 0x09 0x2f
|
|
0x00 0x94 0x0a 0x6f
|
|
0x00 0x94 0x13 0x2f
|
|
0x00 0x94 0x14 0x6f
|
|
0x00 0x94 0x25 0x2f
|
|
0x00 0x94 0x26 0x6f
|
|
0x00 0x24 0x09 0x2f
|
|
0x00 0x24 0x0a 0x6f
|
|
0x00 0x24 0x13 0x2f
|
|
0x00 0x24 0x14 0x6f
|
|
0x00 0x24 0x25 0x2f
|
|
0x00 0x24 0x26 0x6f
|
|
0x00 0x24 0x47 0x6f
|
|
0x00 0x34 0x09 0x2f
|
|
0x00 0x34 0x0a 0x6f
|
|
0x00 0x34 0x13 0x2f
|
|
0x00 0x34 0x14 0x6f
|
|
0x00 0x34 0x25 0x2f
|
|
0x00 0x34 0x26 0x6f
|
|
0x00 0x34 0x47 0x6f
|
|
0x00 0xa4 0x09 0x2f
|
|
0x00 0xa4 0x0a 0x6f
|
|
0x00 0xa4 0x13 0x2f
|
|
0x00 0xa4 0x14 0x6f
|
|
0x00 0xa4 0x25 0x2f
|
|
0x00 0xa4 0x26 0x6f
|
|
0x00 0x04 0x09 0x2f
|
|
0x00 0x04 0x0a 0x6f
|
|
0x00 0x04 0x13 0x2f
|
|
0x00 0x04 0x14 0x6f
|
|
0x00 0x04 0x25 0x2f
|
|
0x00 0x04 0x26 0x6f
|
|
0x00 0x04 0x47 0x6f
|
|
0x00 0x14 0x09 0x2f
|
|
0x00 0x14 0x0a 0x6f
|
|
0x00 0x14 0x13 0x2f
|
|
0x00 0x14 0x14 0x6f
|
|
0x00 0x14 0x25 0x2f
|
|
0x00 0x14 0x26 0x6f
|
|
0x00 0x14 0x47 0x6f
|
|
|
|
# CHECK: fcvtzs.2s v0, v0, #31
|
|
# CHECK: fcvtzs.4s v0, v0, #30
|
|
# CHECK: fcvtzs.2d v0, v0, #61
|
|
# CHECK: fcvtzu.2s v0, v0, #31
|
|
# CHECK: fcvtzu.4s v0, v0, #30
|
|
# CHECK: fcvtzu.2d v0, v0, #61
|
|
# CHECK: rshrn.8b v0, v0, #7
|
|
# CHECK: rshrn2.16b v0, v0, #6
|
|
# CHECK: rshrn.4h v0, v0, #13
|
|
# CHECK: rshrn2.8h v0, v0, #12
|
|
# CHECK: rshrn.2s v0, v0, #27
|
|
# CHECK: rshrn2.4s v0, v0, #26
|
|
# CHECK: scvtf.2s v0, v0, #31
|
|
# CHECK: scvtf.4s v0, v0, #30
|
|
# CHECK: scvtf.2d v0, v0, #61
|
|
# CHECK: shl.8b v0, v0, #1
|
|
# CHECK: shl.16b v0, v0, #2
|
|
# CHECK: shl.4h v0, v0, #3
|
|
# CHECK: shl.8h v0, v0, #4
|
|
# CHECK: shl.2s v0, v0, #5
|
|
# CHECK: shl.4s v0, v0, #6
|
|
# CHECK: shl.2d v0, v0, #7
|
|
# CHECK: shrn.8b v0, v0, #7
|
|
# CHECK: shrn2.16b v0, v0, #6
|
|
# CHECK: shrn.4h v0, v0, #13
|
|
# CHECK: shrn2.8h v0, v0, #12
|
|
# CHECK: shrn.2s v0, v0, #27
|
|
# CHECK: shrn2.4s v0, v0, #26
|
|
# CHECK: sli.8b v0, v0, #1
|
|
# CHECK: sli.16b v0, v0, #2
|
|
# CHECK: sli.4h v0, v0, #3
|
|
# CHECK: sli.8h v0, v0, #4
|
|
# CHECK: sli.2s v0, v0, #5
|
|
# CHECK: sli.4s v0, v0, #6
|
|
# CHECK: sli.2d v0, v0, #7
|
|
# CHECK: sqrshrn.8b v0, v0, #7
|
|
# CHECK: sqrshrn2.16b v0, v0, #6
|
|
# CHECK: sqrshrn.4h v0, v0, #13
|
|
# CHECK: sqrshrn2.8h v0, v0, #12
|
|
# CHECK: sqrshrn.2s v0, v0, #27
|
|
# CHECK: sqrshrn2.4s v0, v0, #26
|
|
# CHECK: sqrshrun.8b v0, v0, #7
|
|
# CHECK: sqrshrun2.16b v0, v0, #6
|
|
# CHECK: sqrshrun.4h v0, v0, #13
|
|
# CHECK: sqrshrun2.8h v0, v0, #12
|
|
# CHECK: sqrshrun.2s v0, v0, #27
|
|
# CHECK: sqrshrun2.4s v0, v0, #26
|
|
# CHECK: sqshlu.8b v0, v0, #1
|
|
# CHECK: sqshlu.16b v0, v0, #2
|
|
# CHECK: sqshlu.4h v0, v0, #3
|
|
# CHECK: sqshlu.8h v0, v0, #4
|
|
# CHECK: sqshlu.2s v0, v0, #5
|
|
# CHECK: sqshlu.4s v0, v0, #6
|
|
# CHECK: sqshlu.2d v0, v0, #7
|
|
# CHECK: sqshl.8b v0, v0, #1
|
|
# CHECK: sqshl.16b v0, v0, #2
|
|
# CHECK: sqshl.4h v0, v0, #3
|
|
# CHECK: sqshl.8h v0, v0, #4
|
|
# CHECK: sqshl.2s v0, v0, #5
|
|
# CHECK: sqshl.4s v0, v0, #6
|
|
# CHECK: sqshl.2d v0, v0, #7
|
|
# CHECK: sqshrn.8b v0, v0, #7
|
|
# CHECK: sqshrn2.16b v0, v0, #6
|
|
# CHECK: sqshrn.4h v0, v0, #13
|
|
# CHECK: sqshrn2.8h v0, v0, #12
|
|
# CHECK: sqshrn.2s v0, v0, #27
|
|
# CHECK: sqshrn2.4s v0, v0, #26
|
|
# CHECK: sqshrun.8b v0, v0, #7
|
|
# CHECK: sqshrun2.16b v0, v0, #6
|
|
# CHECK: sqshrun.4h v0, v0, #13
|
|
# CHECK: sqshrun2.8h v0, v0, #12
|
|
# CHECK: sqshrun.2s v0, v0, #27
|
|
# CHECK: sqshrun2.4s v0, v0, #26
|
|
# CHECK: sri.8b v0, v0, #7
|
|
# CHECK: sri.16b v0, v0, #6
|
|
# CHECK: sri.4h v0, v0, #13
|
|
# CHECK: sri.8h v0, v0, #12
|
|
# CHECK: sri.2s v0, v0, #27
|
|
# CHECK: sri.4s v0, v0, #26
|
|
# CHECK: sri.2d v0, v0, #57
|
|
# CHECK: srshr.8b v0, v0, #7
|
|
# CHECK: srshr.16b v0, v0, #6
|
|
# CHECK: srshr.4h v0, v0, #13
|
|
# CHECK: srshr.8h v0, v0, #12
|
|
# CHECK: srshr.2s v0, v0, #27
|
|
# CHECK: srshr.4s v0, v0, #26
|
|
# CHECK: srshr.2d v0, v0, #57
|
|
# CHECK: srsra.8b v0, v0, #7
|
|
# CHECK: srsra.16b v0, v0, #6
|
|
# CHECK: srsra.4h v0, v0, #13
|
|
# CHECK: srsra.8h v0, v0, #12
|
|
# CHECK: srsra.2s v0, v0, #27
|
|
# CHECK: srsra.4s v0, v0, #26
|
|
# CHECK: srsra.2d v0, v0, #57
|
|
# CHECK: sshll.8h v0, v0, #1
|
|
# CHECK: sshll2.8h v0, v0, #2
|
|
# CHECK: sshll.4s v0, v0, #3
|
|
# CHECK: sshll2.4s v0, v0, #4
|
|
# CHECK: sshll.2d v0, v0, #5
|
|
# CHECK: sshll2.2d v0, v0, #6
|
|
# CHECK: sshr.8b v0, v0, #7
|
|
# CHECK: sshr.16b v0, v0, #6
|
|
# CHECK: sshr.4h v0, v0, #13
|
|
# CHECK: sshr.8h v0, v0, #12
|
|
# CHECK: sshr.2s v0, v0, #27
|
|
# CHECK: sshr.4s v0, v0, #26
|
|
# CHECK: sshr.2d v0, v0, #57
|
|
# CHECK: sshr.8b v0, v0, #7
|
|
# CHECK: ssra.16b v0, v0, #6
|
|
# CHECK: ssra.4h v0, v0, #13
|
|
# CHECK: ssra.8h v0, v0, #12
|
|
# CHECK: ssra.2s v0, v0, #27
|
|
# CHECK: ssra.4s v0, v0, #26
|
|
# CHECK: ssra.2d v0, v0, #57
|
|
# CHECK: ssra d0, d0, #64
|
|
# CHECK: ucvtf.2s v0, v0, #31
|
|
# CHECK: ucvtf.4s v0, v0, #30
|
|
# CHECK: ucvtf.2d v0, v0, #61
|
|
# CHECK: uqrshrn.8b v0, v0, #7
|
|
# CHECK: uqrshrn2.16b v0, v0, #6
|
|
# CHECK: uqrshrn.4h v0, v0, #13
|
|
# CHECK: uqrshrn2.8h v0, v0, #12
|
|
# CHECK: uqrshrn.2s v0, v0, #27
|
|
# CHECK: uqrshrn2.4s v0, v0, #26
|
|
# CHECK: uqshl.8b v0, v0, #1
|
|
# CHECK: uqshl.16b v0, v0, #2
|
|
# CHECK: uqshl.4h v0, v0, #3
|
|
# CHECK: uqshl.8h v0, v0, #4
|
|
# CHECK: uqshl.2s v0, v0, #5
|
|
# CHECK: uqshl.4s v0, v0, #6
|
|
# CHECK: uqshl.2d v0, v0, #7
|
|
# CHECK: uqshrn.8b v0, v0, #7
|
|
# CHECK: uqshrn2.16b v0, v0, #6
|
|
# CHECK: uqshrn.4h v0, v0, #13
|
|
# CHECK: uqshrn2.8h v0, v0, #12
|
|
# CHECK: uqshrn.2s v0, v0, #27
|
|
# CHECK: uqshrn2.4s v0, v0, #26
|
|
# CHECK: urshr.8b v0, v0, #7
|
|
# CHECK: urshr.16b v0, v0, #6
|
|
# CHECK: urshr.4h v0, v0, #13
|
|
# CHECK: urshr.8h v0, v0, #12
|
|
# CHECK: urshr.2s v0, v0, #27
|
|
# CHECK: urshr.4s v0, v0, #26
|
|
# CHECK: urshr.2d v0, v0, #57
|
|
# CHECK: ursra.8b v0, v0, #7
|
|
# CHECK: ursra.16b v0, v0, #6
|
|
# CHECK: ursra.4h v0, v0, #13
|
|
# CHECK: ursra.8h v0, v0, #12
|
|
# CHECK: ursra.2s v0, v0, #27
|
|
# CHECK: ursra.4s v0, v0, #26
|
|
# CHECK: ursra.2d v0, v0, #57
|
|
# CHECK: ushll.8h v0, v0, #1
|
|
# CHECK: ushll2.8h v0, v0, #2
|
|
# CHECK: ushll.4s v0, v0, #3
|
|
# CHECK: ushll2.4s v0, v0, #4
|
|
# CHECK: ushll.2d v0, v0, #5
|
|
# CHECK: ushll2.2d v0, v0, #6
|
|
# CHECK: ushr.8b v0, v0, #7
|
|
# CHECK: ushr.16b v0, v0, #6
|
|
# CHECK: ushr.4h v0, v0, #13
|
|
# CHECK: ushr.8h v0, v0, #12
|
|
# CHECK: ushr.2s v0, v0, #27
|
|
# CHECK: ushr.4s v0, v0, #26
|
|
# CHECK: ushr.2d v0, v0, #57
|
|
# CHECK: usra.8b v0, v0, #7
|
|
# CHECK: usra.16b v0, v0, #6
|
|
# CHECK: usra.4h v0, v0, #13
|
|
# CHECK: usra.8h v0, v0, #12
|
|
# CHECK: usra.2s v0, v0, #27
|
|
# CHECK: usra.4s v0, v0, #26
|
|
# CHECK: usra.2d v0, v0, #57
|
|
|
|
|
|
0x00 0xe0 0x20 0x0e
|
|
0x00 0xe0 0x20 0x4e
|
|
0x00 0xe0 0xe0 0x0e
|
|
0x00 0xe0 0xe0 0x4e
|
|
|
|
# CHECK: pmull.8h v0, v0, v0
|
|
# CHECK: pmull2.8h v0, v0, v0
|
|
# CHECK: pmull.1q v0, v0, v0
|
|
# CHECK: pmull2.1q v0, v0, v0
|
|
|
|
0x41 0xd8 0x70 0x7e
|
|
0x83 0xd8 0x30 0x7e
|
|
# CHECK: faddp.2d d1, v2
|
|
# CHECK: faddp.2s s3, v4
|
|
|
|
0x82 0x60 0x01 0x4e
|
|
0x80 0x60 0x01 0x0e
|
|
0xa2 0x00 0x01 0x4e
|
|
0xa0 0x00 0x01 0x0e
|
|
0xa2 0x40 0x01 0x4e
|
|
0xa0 0x40 0x01 0x0e
|
|
0xc2 0x20 0x01 0x4e
|
|
0xc0 0x20 0x01 0x0e
|
|
|
|
# CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v1
|
|
# CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v1
|
|
# CHECK: tbl.16b v2, { v5 }, v1
|
|
# CHECK: tbl.8b v0, { v5 }, v1
|
|
# CHECK: tbl.16b v2, { v5, v6, v7 }, v1
|
|
# CHECK: tbl.8b v0, { v5, v6, v7 }, v1
|
|
# CHECK: tbl.16b v2, { v6, v7 }, v1
|
|
# CHECK: tbl.8b v0, { v6, v7 }, v1
|
|
#
|
|
0x82 0x70 0x01 0x4e
|
|
0x80 0x70 0x01 0x0e
|
|
0xa2 0x10 0x01 0x4e
|
|
0xa0 0x10 0x01 0x0e
|
|
0xa2 0x50 0x01 0x4e
|
|
0xa0 0x50 0x01 0x0e
|
|
0xc2 0x30 0x01 0x4e
|
|
0xc0 0x30 0x01 0x0e
|
|
|
|
# CHECK: tbx.16b v2, { v4, v5, v6, v7 }, v1
|
|
# CHECK: tbx.8b v0, { v4, v5, v6, v7 }, v1
|
|
# CHECK: tbx.16b v2, { v5 }, v1
|
|
# CHECK: tbx.8b v0, { v5 }, v1
|
|
# CHECK: tbx.16b v2, { v5, v6, v7 }, v1
|
|
# CHECK: tbx.8b v0, { v5, v6, v7 }, v1
|
|
# CHECK: tbx.16b v2, { v6, v7 }, v1
|
|
# CHECK: tbx.8b v0, { v6, v7 }, v1
|
|
#
|
|
|
|
0x00 0x80 0x20 0x0e
|
|
0x00 0x80 0x20 0x4e
|
|
0x00 0x80 0xa0 0x0e
|
|
0x00 0x80 0xa0 0x4e
|
|
|
|
# CHECK: smlal.8h v0, v0, v0
|
|
# CHECK: smlal2.8h v0, v0, v0
|
|
# CHECK: smlal.2d v0, v0, v0
|
|
# CHECK: smlal2.2d v0, v0, v0
|
|
|
|
0x00 0x80 0x20 0x2e
|
|
0x00 0x80 0x20 0x6e
|
|
0x00 0x80 0xa0 0x2e
|
|
0x00 0x80 0xa0 0x6e
|
|
|
|
# CHECK: umlal.8h v0, v0, v0
|
|
# CHECK: umlal2.8h v0, v0, v0
|
|
# CHECK: umlal.2d v0, v0, v0
|
|
# CHECK: umlal2.2d v0, v0, v0
|
|
|
|
0x00 0x90 0x60 0x5e
|
|
0x00 0x90 0xa0 0x5e
|
|
0x00 0xb0 0x60 0x5e
|
|
0x00 0xb0 0xa0 0x5e
|
|
|
|
# CHECK: sqdmlal s0, h0, h0
|
|
# CHECK: sqdmlal d0, s0, s0
|
|
# CHECK: sqdmlsl s0, h0, h0
|
|
# CHECK: sqdmlsl d0, s0, s0
|
|
|
|
0xaa 0xc5 0xc7 0x4d
|
|
0xaa 0xc9 0xc7 0x4d
|
|
0xaa 0xc1 0xc7 0x4d
|
|
|
|
# CHECK: ld1r.8h { v10 }, [x13], x7
|
|
# CHECK: ld1r.4s { v10 }, [x13], x7
|
|
# CHECK: ld1r.16b { v10 }, [x13], x7
|
|
|
|
0x00 0xd0 0x60 0x5e
|
|
0x00 0xd0 0xa0 0x5e
|
|
# CHECK: sqdmull s0, h0, h0
|
|
# CHECK: sqdmull d0, s0, s0
|
|
|
|
0x00 0xd8 0xa1 0x7e
|
|
0x00 0xd8 0xe1 0x7e
|
|
|
|
# CHECK: frsqrte s0, s0
|
|
# CHECK: frsqrte d0, d0
|
|
|
|
0xca 0xcd 0xc7 0x4d
|
|
0xea 0xc9 0xe7 0x4d
|
|
0xea 0xe9 0xc7 0x4d
|
|
0xea 0xe9 0xe7 0x4d
|
|
# CHECK: ld1r.2d { v10 }, [x14], x7
|
|
# CHECK: ld2r.4s { v10, v11 }, [x15], x7
|
|
# CHECK: ld3r.4s { v10, v11, v12 }, [x15], x7
|
|
# CHECK: ld4r.4s { v10, v11, v12, v13 }, [x15], x7
|
|
|
|
#===-------------------------------------------------------------------------===
|
|
# AdvSIMD scalar three same
|
|
#===-------------------------------------------------------------------------===
|
|
0x62 0xdc 0x21 0x5e
|
|
# CHECK: fmulx s2, s3, s1
|
|
0x62 0xdc 0x61 0x5e
|
|
# CHECK: fmulx d2, d3, d1
|
|
|
|
|
|
# rdar://12511369
|
|
0xe8 0x6b 0xdf 0x4c
|
|
# CHECK: ld1.4s { v8, v9, v10 }, [sp], #48
|