1e67cd1caSRichard Henderson# AArch64 SME instruction descriptions 2e67cd1caSRichard Henderson# 3e67cd1caSRichard Henderson# Copyright (c) 2022 Linaro, Ltd 4e67cd1caSRichard Henderson# 5e67cd1caSRichard Henderson# This library is free software; you can redistribute it and/or 6e67cd1caSRichard Henderson# modify it under the terms of the GNU Lesser General Public 7e67cd1caSRichard Henderson# License as published by the Free Software Foundation; either 8e67cd1caSRichard Henderson# version 2.1 of the License, or (at your option) any later version. 9e67cd1caSRichard Henderson# 10e67cd1caSRichard Henderson# This library is distributed in the hope that it will be useful, 11e67cd1caSRichard Henderson# but WITHOUT ANY WARRANTY; without even the implied warranty of 12e67cd1caSRichard Henderson# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13e67cd1caSRichard Henderson# Lesser General Public License for more details. 14e67cd1caSRichard Henderson# 15e67cd1caSRichard Henderson# You should have received a copy of the GNU Lesser General Public 16e67cd1caSRichard Henderson# License along with this library; if not, see <http://www.gnu.org/licenses/>. 17e67cd1caSRichard Henderson 18e67cd1caSRichard Henderson# 19e67cd1caSRichard Henderson# This file is processed by scripts/decodetree.py 20e67cd1caSRichard Henderson# 21ad939afbSRichard Henderson 22ad939afbSRichard Henderson### SME Misc 23ad939afbSRichard Henderson 24ad939afbSRichard HendersonZERO 11000000 00 001 00000000000 imm:8 25e9ad3ef1SRichard Henderson 26e9ad3ef1SRichard Henderson### SME Move into/from Array 27e9ad3ef1SRichard Henderson 28e9ad3ef1SRichard Henderson%mova_rs 13:2 !function=plus_12 29e9ad3ef1SRichard Henderson&mova esz rs pg zr za_imm v:bool to_vec:bool 30e9ad3ef1SRichard Henderson 31e9ad3ef1SRichard HendersonMOVA 11000000 esz:2 00000 0 v:1 .. pg:3 zr:5 0 za_imm:4 \ 32e9ad3ef1SRichard Henderson &mova to_vec=0 rs=%mova_rs 33e9ad3ef1SRichard HendersonMOVA 11000000 11 00000 1 v:1 .. pg:3 zr:5 0 za_imm:4 \ 34e9ad3ef1SRichard Henderson &mova to_vec=0 rs=%mova_rs esz=4 35e9ad3ef1SRichard Henderson 36e9ad3ef1SRichard HendersonMOVA 11000000 esz:2 00001 0 v:1 .. pg:3 0 za_imm:4 zr:5 \ 37e9ad3ef1SRichard Henderson &mova to_vec=1 rs=%mova_rs 38e9ad3ef1SRichard HendersonMOVA 11000000 11 00001 1 v:1 .. pg:3 0 za_imm:4 zr:5 \ 39e9ad3ef1SRichard Henderson &mova to_vec=1 rs=%mova_rs esz=4 407390e0e9SRichard Henderson 417390e0e9SRichard Henderson### SME Memory 427390e0e9SRichard Henderson 437390e0e9SRichard Henderson&ldst esz rs pg rn rm za_imm v:bool st:bool 447390e0e9SRichard Henderson 457390e0e9SRichard HendersonLDST1 1110000 0 esz:2 st:1 rm:5 v:1 .. pg:3 rn:5 0 za_imm:4 \ 467390e0e9SRichard Henderson &ldst rs=%mova_rs 477390e0e9SRichard HendersonLDST1 1110000 111 st:1 rm:5 v:1 .. pg:3 rn:5 0 za_imm:4 \ 487390e0e9SRichard Henderson &ldst esz=4 rs=%mova_rs 494c46a5f1SRichard Henderson 504c46a5f1SRichard Henderson&ldstr rv rn imm 514c46a5f1SRichard Henderson@ldstr ....... ... . ...... .. ... rn:5 . imm:4 \ 524c46a5f1SRichard Henderson &ldstr rv=%mova_rs 534c46a5f1SRichard Henderson 544c46a5f1SRichard HendersonLDR 1110000 100 0 000000 .. 000 ..... 0 .... @ldstr 554c46a5f1SRichard HendersonSTR 1110000 100 1 000000 .. 000 ..... 0 .... @ldstr 56bc4420d9SRichard Henderson 57bc4420d9SRichard Henderson### SME Add Vector to Array 58bc4420d9SRichard Henderson 59bc4420d9SRichard Henderson&adda zad zn pm pn 60bc4420d9SRichard Henderson@adda_32 ........ .. ..... . pm:3 pn:3 zn:5 ... zad:2 &adda 61bc4420d9SRichard Henderson@adda_64 ........ .. ..... . pm:3 pn:3 zn:5 .. zad:3 &adda 62bc4420d9SRichard Henderson 63bc4420d9SRichard HendersonADDHA_s 11000000 10 01000 0 ... ... ..... 000 .. @adda_32 64bc4420d9SRichard HendersonADDVA_s 11000000 10 01000 1 ... ... ..... 000 .. @adda_32 65bc4420d9SRichard HendersonADDHA_d 11000000 11 01000 0 ... ... ..... 00 ... @adda_64 66bc4420d9SRichard HendersonADDVA_d 11000000 11 01000 1 ... ... ..... 00 ... @adda_64 67*558e956cSRichard Henderson 68*558e956cSRichard Henderson### SME Outer Product 69*558e956cSRichard Henderson 70*558e956cSRichard Henderson&op zad zn zm pm pn sub:bool 71*558e956cSRichard Henderson@op_32 ........ ... zm:5 pm:3 pn:3 zn:5 sub:1 .. zad:2 &op 72*558e956cSRichard Henderson@op_64 ........ ... zm:5 pm:3 pn:3 zn:5 sub:1 . zad:3 &op 73*558e956cSRichard Henderson 74*558e956cSRichard HendersonFMOPA_s 10000000 100 ..... ... ... ..... . 00 .. @op_32 75*558e956cSRichard HendersonFMOPA_d 10000000 110 ..... ... ... ..... . 0 ... @op_64 76