[go] cmd/compile: add new arm64 assembler data structure

0 views
Skip to first unread message

Junyang Shao (Gerrit)

unread,
1:02 PM (7 hours ago) 1:02 PM
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Go LUCI, David Chase, Alexander Musman, Cherry Mui, golang-co...@googlegroups.com

Junyang Shao submitted the change with unreviewed changes

Unreviewed changes

45 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:

```
The name of the file: src/cmd/internal/obj/arm64/inst.go
Insertions: 6, Deletions: 6.

@@ -38,7 +38,8 @@
type component uint16

type elemEncoder struct {
- fn func(uint32) (uint32, bool)
+ fn func(uint32) (uint32, bool)
+ // comp is the component of the binary encoding.
comp component
}

@@ -46,10 +47,9 @@
type operand struct {
class AClass // Operand class, register, constant, memory operation etc.
// The elements that this operand includes, this only includes the encoding-related parts
- // They are represented as a list of pointer to the encoding functions.
- // The first returned value is the encoded binary, the second is the encoded binary symbol name,
- // the third is the ok signal.
- // The encoding functions returns the latter two for deduplication purposes:
+ // They are represented as a list of pointers to the encoding functions.
+ // The first returned value is the encoded binary, the second is the ok signal.
+ // The encoding functions return the ok signal for deduplication purposes:
// For example:
// SDOT <Zda>.<T>, <Zn>.<Tb>, <Zm>.<Tb>
// SDOT <Zda>.H, <Zn>.B, <Zm>.B
@@ -59,7 +59,7 @@
// We don't know this fact by looking at the encoding format solely, without this information
// the first encoding domain entails the other 2. And at instruction matching phase we simply
// cannot deduplicate them. So we defer this deduplication to the encoding phase.
- // Which is here, and we need these status return value.
+ // We need the ok signal with [elemEncoder.comp] field to deduplicate them.
elemEncoders []elemEncoder
}

```
```
The name of the file: src/cmd/internal/obj/arm64/inst_gen.go
Insertions: 4203, Deletions: 2993.

@@ -1,3468 +1,4678 @@
// Code generated by 'instgen -o=$GOROOT # from go install golang.org/x/arch/arm64/instgen@latest'. DO NOT EDIT.

// The following constants are generated from the XML specification.
-// args are filled with constants named oc_<ACLASS_OP0>_<ENCODER_ELM0>_<ENCODER_ELM1>_..._<ACLASS_OP1>_...
-// the encoder functions are represented by their ID, i.e. encodeGen<ENCODER_ELM0> is the encoding
-// function you should look at for the 0-th op, 0-th element.

package arm64

-var insts = []instEncoder{
- // ZABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+// insts are grouped by [goOp].
+var insts = [][]instEncoder{
+ // PAND
{
- goOp: AZABS,
- fixedBits: 0x416a000,
- args: Zn_T__PgM__Zd_T__2,
+ // PAND <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APAND,
+ fixedBits: 0x25004000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // PANDS
{
- goOp: AZABS,
- fixedBits: 0x406a000,
- args: Zn_T__PgZ__Zd_T__2,
+ // PANDS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APANDS,
+ fixedBits: 0x25404000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADCLB <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ // PBIC
{
- goOp: AZADCLB,
- fixedBits: 0x4500d000,
- args: Zm_T__Zn_T__Zda_T__1,
+ // PBIC <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBIC,
+ fixedBits: 0x25004010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADCLT <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ // PBICS
{
- goOp: AZADCLT,
- fixedBits: 0x4500d400,
- args: Zm_T__Zn_T__Zda_T__1,
+ // PBICS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBICS,
+ fixedBits: 0x25404010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PBRKA
{
- goOp: AZADD,
- fixedBits: 0x4000000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // PBRKA <Pn>.B, <Pg>/<ZM>, <Pd>.B
+ {
+ goOp: APBRKA,
+ fixedBits: 0x25104000,
+ args: Pn_B__PgZM__Pd_B,
+ },
},
- // ZADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // PBRKAS
{
- goOp: AZADD,
- fixedBits: 0x4200000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // PBRKAS <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKAS,
+ fixedBits: 0x25504000,
+ args: Pn_B__PgZ__Pd_B,
+ },
},
- // ZADDHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // PBRKB
{
- goOp: AZADDHNB,
- fixedBits: 0x45206000,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
+ // PBRKB <Pn>.B, <Pg>/<ZM>, <Pd>.B
+ {
+ goOp: APBRKB,
+ fixedBits: 0x25904000,
+ args: Pn_B__PgZM__Pd_B,
+ },
},
- // ZADDHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // PBRKBS
{
- goOp: AZADDHNT,
- fixedBits: 0x45206400,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
+ // PBRKBS <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKBS,
+ fixedBits: 0x25d04000,
+ args: Pn_B__PgZ__Pd_B,
+ },
},
- // ZADDP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PBRKN
{
- goOp: AZADDP,
- fixedBits: 0x4411a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // PBRKN <Pdm>.B, <Pn>.B, <Pg>/Z, <Pdm>.B
+ {
+ goOp: APBRKN,
+ fixedBits: 0x25184000,
+ args: Pdm_B__Pn_B__PgZ__Pdm_B,
+ },
},
- // ZADDPT <Zm>.D, <Zdn>.D, <Pg>/M, <Zdn>.D
+ // PBRKNS
{
- goOp: AZADDPT,
- fixedBits: 0x4c40000,
- args: Zm_D__Zdn_D__PgM__Zdn_D,
+ // PBRKNS <Pdm>.B, <Pn>.B, <Pg>/Z, <Pdm>.B
+ {
+ goOp: APBRKNS,
+ fixedBits: 0x25584000,
+ args: Pdm_B__Pn_B__PgZ__Pdm_B,
+ },
},
- // ZADDPT <Zm>.D, <Zn>.D, <Zd>.D
+ // PBRKPA
{
- goOp: AZADDPT,
- fixedBits: 0x4e00800,
- args: Zm_D__Zn_D__Zd_D,
+ // PBRKPA <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKPA,
+ fixedBits: 0x2500c000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADDQP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // PBRKPAS
{
- goOp: AZADDQP,
- fixedBits: 0x4207800,
- args: Zm_T__Zn_T__Zd_T__1,
+ // PBRKPAS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKPAS,
+ fixedBits: 0x2540c000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // PBRKPB
{
- goOp: AZADDQV,
- fixedBits: 0x4052000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // PBRKPB <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKPB,
+ fixedBits: 0x2500c010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZADDSUBP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // PBRKPBS
{
- goOp: AZADDSUBP,
- fixedBits: 0x4207c00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // PBRKPBS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APBRKPBS,
+ fixedBits: 0x2540c010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAESD <Zm>.B, <Zdn>.B, <Zdn>.B
+ // PEOR
{
- goOp: AZAESD,
- fixedBits: 0x4522e400,
- args: Zm_B__Zdn_B__Zdn_B,
+ // PEOR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APEOR,
+ fixedBits: 0x25004200,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAESE <Zm>.B, <Zdn>.B, <Zdn>.B
+ // PEORS
{
- goOp: AZAESE,
- fixedBits: 0x4522e000,
- args: Zm_B__Zdn_B__Zdn_B,
+ // PEORS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APEORS,
+ fixedBits: 0x25404200,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAESIMC <Zdn>.B, <Zdn>.B
+ // PNAND
{
- goOp: AZAESIMC,
- fixedBits: 0x4520e400,
- args: Zdn_B__Zdn_B,
+ // PNAND <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APNAND,
+ fixedBits: 0x25804210,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAESMC <Zdn>.B, <Zdn>.B
+ // PNANDS
{
- goOp: AZAESMC,
- fixedBits: 0x4520e000,
- args: Zdn_B__Zdn_B,
+ // PNANDS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APNANDS,
+ fixedBits: 0x25c04210,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // PAND <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ // PNOR
{
- goOp: APAND,
- fixedBits: 0x25004000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
+ // PNOR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APNOR,
+ fixedBits: 0x25804200,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAND <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PNORS
{
- goOp: AZAND,
- fixedBits: 0x41a0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // PNORS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APNORS,
+ fixedBits: 0x25c04200,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZAND <Zm>.D, <Zn>.D, <Zd>.D
+ // PORN
{
- goOp: AZAND,
- fixedBits: 0x4203000,
- args: Zm_D__Zn_D__Zd_D,
+ // PORN <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APORN,
+ fixedBits: 0x25804010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZANDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // PORNS
{
- goOp: AZANDQV,
- fixedBits: 0x41e2000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // PORNS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APORNS,
+ fixedBits: 0x25c04010,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // PANDS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ // PORR
{
- goOp: APANDS,
- fixedBits: 0x25404000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
+ // PORR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APORR,
+ fixedBits: 0x25804000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZASR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PORRS
{
- goOp: AZASR,
- fixedBits: 0x4108000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // PORRS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
+ {
+ goOp: APORRS,
+ fixedBits: 0x25c04000,
+ args: Pm_B__Pn_B__PgZ__Pd_B,
+ },
},
- // ZASR <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PPFALSE
{
- goOp: AZASR,
- fixedBits: 0x4188000,
- args: Zm_D__Zdn_T__PgM__Zdn_T,
+ // PPFALSE <Pd>.B
+ {
+ goOp: APPFALSE,
+ fixedBits: 0x2518e400,
+ args: Pd_B,
+ },
},
- // ZASR <Zm>.D, <Zn>.<T>, <Zd>.<T>
+ // PPFIRST
{
- goOp: AZASR,
- fixedBits: 0x4208000,
- args: Zm_D__Zn_T__Zd_T,
+ // PPFIRST <Pdn>.B, <Pg>, <Pdn>.B
+ {
+ goOp: APPFIRST,
+ fixedBits: 0x2558c000,
+ args: Pdn_B__Pg__Pdn_B,
+ },
},
- // ZASRR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // PPNEXT
{
- goOp: AZASRR,
- fixedBits: 0x4148000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // PPNEXT <Pdn>.<T>, <Pv>, <Pdn>.<T>
+ {
+ goOp: APPNEXT,
+ fixedBits: 0x2519c400,
+ args: Pdn_T__Pv__Pdn_T,
+ },
},
- // ZBCAX <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ // PPTEST
{
- goOp: AZBCAX,
- fixedBits: 0x4603800,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ // PPTEST <Pn>.B, <Pg>
+ {
+ goOp: APPTEST,
+ fixedBits: 0x2550c000,
+ args: Pn_B__Pg,
+ },
},
- // ZBDEP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // PPTRUE
{
- goOp: AZBDEP,
- fixedBits: 0x4500b400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // PPTRUE <PNd>.<T>
+ {
+ goOp: APPTRUE,
+ fixedBits: 0x25207810,
+ args: PNd_T,
+ },
},
- // ZBEXT <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // PPUNPKHI
{
- goOp: AZBEXT,
- fixedBits: 0x4500b000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // PPUNPKHI <Pn>.B, <Pd>.H
+ {
+ goOp: APPUNPKHI,
+ fixedBits: 0x5314000,
+ args: Pn_B__Pd_H,
+ },
},
- // ZBF1CVT <Zn>.B, <Zd>.H
+ // PPUNPKLO
{
- goOp: AZBF1CVT,
- fixedBits: 0x65083800,
- args: Zn_B__Zd_H,
+ // PPUNPKLO <Pn>.B, <Pd>.H
+ {
+ goOp: APPUNPKLO,
+ fixedBits: 0x5304000,
+ args: Pn_B__Pd_H,
+ },
},
- // ZBF2CVT <Zn>.B, <Zd>.H
+ // PRDFFR
{
- goOp: AZBF2CVT,
- fixedBits: 0x65083c00,
- args: Zn_B__Zd_H,
+ // PRDFFR <Pd>.B
+ {
+ goOp: APRDFFR,
+ fixedBits: 0x2519f000,
+ args: Pd_B,
+ },
+ // PRDFFR <Pg>/Z, <Pd>.B
+ {
+ goOp: APRDFFR,
+ fixedBits: 0x2518f000,
+ args: PgZ__Pd_B,
+ },
},
- // ZBF1CVTLT <Zn>.B, <Zd>.H
+ // PRDFFRS
{
- goOp: AZBF1CVTLT,
- fixedBits: 0x65093800,
- args: Zn_B__Zd_H,
+ // PRDFFRS <Pg>/Z, <Pd>.B
+ {
+ goOp: APRDFFRS,
+ fixedBits: 0x2558f000,
+ args: PgZ__Pd_B,
+ },
},
- // ZBF2CVTLT <Zn>.B, <Zd>.H
+ // PREV
{
- goOp: AZBF2CVTLT,
- fixedBits: 0x65093c00,
- args: Zn_B__Zd_H,
+ // PREV <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APREV,
+ fixedBits: 0x5344000,
+ args: Pn_T__Pd_T,
+ },
},
- // ZBFADD <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ // PSEL
{
- goOp: AZBFADD,
- fixedBits: 0x65008000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
+ // PSEL <Pm>.B, <Pn>.B, <Pg>, <Pd>.B
+ {
+ goOp: APSEL,
+ fixedBits: 0x25004210,
+ args: Pm_B__Pn_B__Pg__Pd_B,
+ },
},
- // ZBFADD <Zm>.H, <Zn>.H, <Zd>.H
+ // PTRN1
{
- goOp: AZBFADD,
- fixedBits: 0x65000000,
- args: Zm_H__Zn_H__Zd_H,
+ // PTRN1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APTRN1,
+ fixedBits: 0x5205000,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
- // ZBFCLAMP <Zm>.H, <Zn>.H, <Zd>.H
+ // PTRN2
{
- goOp: AZBFCLAMP,
- fixedBits: 0x64202400,
- args: Zm_H__Zn_H__Zd_H,
+ // PTRN2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APTRN2,
+ fixedBits: 0x5205400,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
- // ZBFCVT <Zn>.S, <Pg>/M, <Zd>.H
+ // PUZP1
{
- goOp: AZBFCVT,
- fixedBits: 0x658aa000,
- args: Zn_S__PgM__Zd_H,
+ // PUZP1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APUZP1,
+ fixedBits: 0x5204800,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
- // ZBFCVT <Zn>.S, <Pg>/Z, <Zd>.H
+ // PUZP2
{
- goOp: AZBFCVT,
- fixedBits: 0x649ac000,
- args: Zn_S__PgZ__Zd_H,
+ // PUZP2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APUZP2,
+ fixedBits: 0x5204c00,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
- // ZBFCVTNT <Zn>.S, <Pg>/M, <Zd>.H
+ // PWRFFR
{
- goOp: AZBFCVTNT,
- fixedBits: 0x648aa000,
- args: Zn_S__PgM__Zd_H,
+ // PWRFFR <Pn>.B
+ {
+ goOp: APWRFFR,
+ fixedBits: 0x25289000,
+ args: Pn_B,
+ },
},
- // ZBFCVTNT <Zn>.S, <Pg>/Z, <Zd>.H
+ // PZIP1
{
- goOp: AZBFCVTNT,
- fixedBits: 0x6482a000,
- args: Zn_S__PgZ__Zd_H,
+ // PZIP1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APZIP1,
+ fixedBits: 0x5204000,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
- // ZBFDOT <Zm>.H, <Zn>.H, <Zda>.S
+ // PZIP2
{
- goOp: AZBFDOT,
- fixedBits: 0x64608000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMAX <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFMAX,
- fixedBits: 0x65068000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFMAXNM <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFMAXNM,
- fixedBits: 0x65048000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFMIN <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFMIN,
- fixedBits: 0x65078000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFMINNM <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFMINNM,
- fixedBits: 0x65058000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFMLA <Zm>.H, <Zn>.H, <Pg>/M, <Zda>.H
- {
- goOp: AZBFMLA,
- fixedBits: 0x65200000,
- args: Zm_H__Zn_H__PgM__Zda_H,
- },
- // ZBFMLALB <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZBFMLALB,
- fixedBits: 0x64e08000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMLALT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZBFMLALT,
- fixedBits: 0x64e08400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMLS <Zm>.H, <Zn>.H, <Pg>/M, <Zda>.H
- {
- goOp: AZBFMLS,
- fixedBits: 0x65202000,
- args: Zm_H__Zn_H__PgM__Zda_H,
- },
- // ZBFMLSLB <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZBFMLSLB,
- fixedBits: 0x64e0a000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMLSLT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZBFMLSLT,
- fixedBits: 0x64e0a400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMMLA <Zm>.H, <Zn>.H, <Zda>.H
- {
- goOp: AZBFMMLA,
- fixedBits: 0x64e0e000,
- args: Zm_H__Zn_H__Zda_H,
- },
- // ZBFMMLA <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZBFMMLA,
- fixedBits: 0x6460e400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZBFMUL <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFMUL,
- fixedBits: 0x65028000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFMUL <Zm>.H, <Zn>.H, <Zd>.H
- {
- goOp: AZBFMUL,
- fixedBits: 0x65000800,
- args: Zm_H__Zn_H__Zd_H,
- },
- // ZBFSCALE <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFSCALE,
- fixedBits: 0x65098000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFSUB <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
- {
- goOp: AZBFSUB,
- fixedBits: 0x65018000,
- args: Zm_H__Zdn_H__PgM__Zdn_H,
- },
- // ZBFSUB <Zm>.H, <Zn>.H, <Zd>.H
- {
- goOp: AZBFSUB,
- fixedBits: 0x65000400,
- args: Zm_H__Zn_H__Zd_H,
- },
- // ZBGRP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZBGRP,
- fixedBits: 0x4500b800,
- args: Zm_T__Zn_T__Zd_T__1,
- },
- // PBIC <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBIC,
- fixedBits: 0x25004010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZBIC <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZBIC,
- fixedBits: 0x41b0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZBIC <Zm>.D, <Zn>.D, <Zd>.D
- {
- goOp: AZBIC,
- fixedBits: 0x4e03000,
- args: Zm_D__Zn_D__Zd_D,
- },
- // PBICS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBICS,
- fixedBits: 0x25404010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PBRKA <Pn>.B, <Pg>/<ZM>, <Pd>.B
- {
- goOp: APBRKA,
- fixedBits: 0x25104000,
- args: Pn_B__PgZM__Pd_B,
- },
- // PBRKAS <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKAS,
- fixedBits: 0x25504000,
- args: Pn_B__PgZ__Pd_B,
- },
- // PBRKB <Pn>.B, <Pg>/<ZM>, <Pd>.B
- {
- goOp: APBRKB,
- fixedBits: 0x25904000,
- args: Pn_B__PgZM__Pd_B,
- },
- // PBRKBS <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKBS,
- fixedBits: 0x25d04000,
- args: Pn_B__PgZ__Pd_B,
- },
- // PBRKN <Pdm>.B, <Pn>.B, <Pg>/Z, <Pdm>.B
- {
- goOp: APBRKN,
- fixedBits: 0x25184000,
- args: Pdm_B__Pn_B__PgZ__Pdm_B,
- },
- // PBRKNS <Pdm>.B, <Pn>.B, <Pg>/Z, <Pdm>.B
- {
- goOp: APBRKNS,
- fixedBits: 0x25584000,
- args: Pdm_B__Pn_B__PgZ__Pdm_B,
- },
- // PBRKPA <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKPA,
- fixedBits: 0x2500c000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PBRKPAS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKPAS,
- fixedBits: 0x2540c000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PBRKPB <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKPB,
- fixedBits: 0x2500c010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PBRKPBS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APBRKPBS,
- fixedBits: 0x2540c010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZBSL <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
- {
- goOp: AZBSL,
- fixedBits: 0x4203c00,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
- },
- // ZBSL1N <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
- {
- goOp: AZBSL1N,
- fixedBits: 0x4603c00,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
- },
- // ZBSL2N <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
- {
- goOp: AZBSL2N,
- fixedBits: 0x4a03c00,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
- },
- // ZCLASTA <Zm>.<T>, <Zdn>.<T>, <Pg>, <Zdn>.<T>
- {
- goOp: AZCLASTA,
- fixedBits: 0x5288000,
- args: Zm_T__Zdn_T__Pg__Zdn_T,
- },
- // ZCLASTB <Zm>.<T>, <Zdn>.<T>, <Pg>, <Zdn>.<T>
- {
- goOp: AZCLASTB,
- fixedBits: 0x5298000,
- args: Zm_T__Zdn_T__Pg__Zdn_T,
- },
- // ZCLS <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZCLS,
- fixedBits: 0x418a000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZCLS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZCLS,
- fixedBits: 0x408a000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // ZCLZ <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZCLZ,
- fixedBits: 0x419a000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZCLZ <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZCLZ,
- fixedBits: 0x409a000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // ZCMPEQ <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPEQ,
- fixedBits: 0x2400a000,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPGT,
- fixedBits: 0x24008010,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPGE,
- fixedBits: 0x24008000,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPHI <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPHI,
- fixedBits: 0x24000010,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPHS <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPHS,
- fixedBits: 0x24000000,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPNE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPNE,
- fixedBits: 0x2400a010,
- args: Zm_T__Zn_T__PgZ__Pd_T__2,
- },
- // ZCMPEQ <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPEQ,
- fixedBits: 0x24002000,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPGT <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPGT,
- fixedBits: 0x24004010,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPGE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPGE,
- fixedBits: 0x24004000,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPHI <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPHI,
- fixedBits: 0x2400c010,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPHS <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPHS,
- fixedBits: 0x2400c000,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPLT <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPLT,
- fixedBits: 0x24006000,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPLE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPLE,
- fixedBits: 0x24006010,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPLO <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPLO,
- fixedBits: 0x2400e000,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPLS <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPLS,
- fixedBits: 0x2400e010,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCMPNE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZCMPNE,
- fixedBits: 0x24002010,
- args: Zm_D__Zn_T__PgZ__Pd_T,
- },
- // ZCNOT <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZCNOT,
- fixedBits: 0x41ba000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZCNOT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZCNOT,
- fixedBits: 0x40ba000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // ZCNT <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZCNT,
- fixedBits: 0x41aa000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZCNT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZCNT,
- fixedBits: 0x40aa000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // ZCOMPACT <Zn>.<T>, <Pg>, <Zd>.<T>
- {
- goOp: AZCOMPACT,
- fixedBits: 0x5218000,
- args: Zn_T__Pg__Zd_T__1,
- },
- // ZCOMPACT <Zn>.<T>, <Pg>, <Zd>.<T>
- {
- goOp: AZCOMPACT,
- fixedBits: 0x5a18000,
- args: Zn_T__Pg__Zd_T__2,
- },
- // ZDECP <Pm>.<T>, <Zdn>.<T>
- {
- goOp: AZDECP,
- fixedBits: 0x252d8000,
- args: Pm_T__Zdn_T,
- },
- // PEOR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APEOR,
- fixedBits: 0x25004200,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZEOR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZEOR,
- fixedBits: 0x4190000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZEOR <Zm>.D, <Zn>.D, <Zd>.D
- {
- goOp: AZEOR,
- fixedBits: 0x4a03000,
- args: Zm_D__Zn_D__Zd_D,
- },
- // ZEOR3 <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
- {
- goOp: AZEOR3,
- fixedBits: 0x4203800,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
- },
- // ZEORBT <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZEORBT,
- fixedBits: 0x45009000,
- args: Zm_T__Zn_T__Zd_T__1,
- },
- // ZEORQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZEORQV,
- fixedBits: 0x41d2000,
- args: Zn_Tb__Pg__Vd_T__1,
- },
- // PEORS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APEORS,
- fixedBits: 0x25404200,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZEORTB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZEORTB,
- fixedBits: 0x45009400,
- args: Zm_T__Zn_T__Zd_T__1,
- },
- // ZEXPAND <Zn>.<T>, <Pg>, <Zd>.<T>
- {
- goOp: AZEXPAND,
- fixedBits: 0x5318000,
- args: Zn_T__Pg__Zd_T__3,
- },
- // ZF1CVT <Zn>.B, <Zd>.H
- {
- goOp: AZF1CVT,
- fixedBits: 0x65083000,
- args: Zn_B__Zd_H,
- },
- // ZF2CVT <Zn>.B, <Zd>.H
- {
- goOp: AZF2CVT,
- fixedBits: 0x65083400,
- args: Zn_B__Zd_H,
- },
- // ZF1CVTLT <Zn>.B, <Zd>.H
- {
- goOp: AZF1CVTLT,
- fixedBits: 0x65093000,
- args: Zn_B__Zd_H,
- },
- // ZF2CVTLT <Zn>.B, <Zd>.H
- {
- goOp: AZF2CVTLT,
- fixedBits: 0x65093400,
- args: Zn_B__Zd_H,
- },
- // ZFABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFABD,
- fixedBits: 0x65088000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFABS,
- fixedBits: 0x41ca000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFABS,
- fixedBits: 0x40ca000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFACGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFACGT,
- fixedBits: 0x6500e010,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFACGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFACGE,
- fixedBits: 0x6500c010,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFADD,
- fixedBits: 0x65008000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFADD,
- fixedBits: 0x65000000,
- args: Zm_T__Zn_T__Zd_T__2,
- },
- // ZFADDP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFADDP,
- fixedBits: 0x64108000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFADDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZFADDQV,
- fixedBits: 0x6410a000,
- args: Zn_Tb__Pg__Vd_T__2,
- },
- // ZFAMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFAMAX,
- fixedBits: 0x650e8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFAMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFAMIN,
- fixedBits: 0x650f8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFCLAMP,
- fixedBits: 0x64202400,
- args: Zm_T__Zn_T__Zd_T__2,
- },
- // ZFCMEQ <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFCMEQ,
- fixedBits: 0x65006000,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFCMGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFCMGT,
- fixedBits: 0x65004010,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFCMGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFCMGE,
- fixedBits: 0x65004000,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFCMNE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFCMNE,
- fixedBits: 0x65006010,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFCMUO <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZFCMUO,
- fixedBits: 0x6500c000,
- args: Zm_T__Zn_T__PgZ__Pd_T__1,
- },
- // ZFCVT <Zn>.H, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVT,
- fixedBits: 0x6589a000,
- args: Zn_H__PgM__Zd_S,
- },
- // ZFCVT <Zn>.H, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVT,
- fixedBits: 0x649aa000,
- args: Zn_H__PgZ__Zd_S,
- },
- // ZFCVT <Zn>.H, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVT,
- fixedBits: 0x65c9a000,
- args: Zn_H__PgM__Zd_D,
- },
- // ZFCVT <Zn>.H, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVT,
- fixedBits: 0x64daa000,
- args: Zn_H__PgZ__Zd_D,
- },
- // ZFCVT <Zn>.S, <Pg>/M, <Zd>.H
- {
- goOp: AZFCVT,
- fixedBits: 0x6588a000,
- args: Zn_S__PgM__Zd_H,
- },
- // ZFCVT <Zn>.S, <Pg>/Z, <Zd>.H
- {
- goOp: AZFCVT,
- fixedBits: 0x649a8000,
- args: Zn_S__PgZ__Zd_H,
- },
- // ZFCVT <Zn>.S, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVT,
- fixedBits: 0x65cba000,
- args: Zn_S__PgM__Zd_D,
- },
- // ZFCVT <Zn>.S, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVT,
- fixedBits: 0x64dae000,
- args: Zn_S__PgZ__Zd_D,
- },
- // ZFCVT <Zn>.D, <Pg>/M, <Zd>.H
- {
- goOp: AZFCVT,
- fixedBits: 0x65c8a000,
- args: Zn_D__PgM__Zd_H,
- },
- // ZFCVT <Zn>.D, <Pg>/Z, <Zd>.H
- {
- goOp: AZFCVT,
- fixedBits: 0x64da8000,
- args: Zn_D__PgZ__Zd_H,
- },
- // ZFCVT <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVT,
- fixedBits: 0x65caa000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVT <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVT,
- fixedBits: 0x64dac000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTLT <Zn>.H, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTLT,
- fixedBits: 0x6489a000,
- args: Zn_H__PgM__Zd_S,
- },
- // ZFCVTLT <Zn>.H, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTLT,
- fixedBits: 0x6481a000,
- args: Zn_H__PgZ__Zd_S,
- },
- // ZFCVTLT <Zn>.S, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTLT,
- fixedBits: 0x64cba000,
- args: Zn_S__PgM__Zd_D,
- },
- // ZFCVTLT <Zn>.S, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTLT,
- fixedBits: 0x64c3a000,
- args: Zn_S__PgZ__Zd_D,
- },
- // ZFCVTNT <Zn>.S, <Pg>/M, <Zd>.H
- {
- goOp: AZFCVTNT,
- fixedBits: 0x6488a000,
- args: Zn_S__PgM__Zd_H,
- },
- // ZFCVTNT <Zn>.S, <Pg>/Z, <Zd>.H
- {
- goOp: AZFCVTNT,
- fixedBits: 0x6480a000,
- args: Zn_S__PgZ__Zd_H,
- },
- // ZFCVTNT <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTNT,
- fixedBits: 0x64caa000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVTNT <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTNT,
- fixedBits: 0x64c2a000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTX <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTX,
- fixedBits: 0x650aa000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVTX <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTX,
- fixedBits: 0x641ac000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTXNT <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTXNT,
- fixedBits: 0x640aa000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVTXNT <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTXNT,
- fixedBits: 0x6402a000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.H
- {
- goOp: AZFCVTZS,
- fixedBits: 0x655aa000,
- args: Zn_H__PgM__Zd_H,
- },
- // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.H
- {
- goOp: AZFCVTZS,
- fixedBits: 0x645ec000,
- args: Zn_H__PgZ__Zd_H,
- },
- // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x655ca000,
- args: Zn_H__PgM__Zd_S,
- },
- // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x645f8000,
- args: Zn_H__PgZ__Zd_S,
- },
- // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x655ea000,
- args: Zn_H__PgM__Zd_D,
- },
- // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x645fc000,
- args: Zn_H__PgZ__Zd_D,
- },
- // ZFCVTZS <Zn>.S, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x659ca000,
- args: Zn_S__PgM__Zd_S,
- },
- // ZFCVTZS <Zn>.S, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x649f8000,
- args: Zn_S__PgZ__Zd_S,
- },
- // ZFCVTZS <Zn>.S, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x65dca000,
- args: Zn_S__PgM__Zd_D,
- },
- // ZFCVTZS <Zn>.S, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x64df8000,
- args: Zn_S__PgZ__Zd_D,
- },
- // ZFCVTZS <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x65d8a000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVTZS <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZS,
- fixedBits: 0x64de8000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTZS <Zn>.D, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x65dea000,
- args: Zn_D__PgM__Zd_D,
- },
- // ZFCVTZS <Zn>.D, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZS,
- fixedBits: 0x64dfc000,
- args: Zn_D__PgZ__Zd_D,
- },
- // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.H
- {
- goOp: AZFCVTZU,
- fixedBits: 0x655ba000,
- args: Zn_H__PgM__Zd_H,
- },
- // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.H
- {
- goOp: AZFCVTZU,
- fixedBits: 0x645ee000,
- args: Zn_H__PgZ__Zd_H,
- },
- // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x655da000,
- args: Zn_H__PgM__Zd_S,
- },
- // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x645fa000,
- args: Zn_H__PgZ__Zd_S,
- },
- // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x655fa000,
- args: Zn_H__PgM__Zd_D,
- },
- // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x645fe000,
- args: Zn_H__PgZ__Zd_D,
- },
- // ZFCVTZU <Zn>.S, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x659da000,
- args: Zn_S__PgM__Zd_S,
- },
- // ZFCVTZU <Zn>.S, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x649fa000,
- args: Zn_S__PgZ__Zd_S,
- },
- // ZFCVTZU <Zn>.S, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x65dda000,
- args: Zn_S__PgM__Zd_D,
- },
- // ZFCVTZU <Zn>.S, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x64dfa000,
- args: Zn_S__PgZ__Zd_D,
- },
- // ZFCVTZU <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x65d9a000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZFCVTZU <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZFCVTZU,
- fixedBits: 0x64dea000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZFCVTZU <Zn>.D, <Pg>/M, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x65dfa000,
- args: Zn_D__PgM__Zd_D,
- },
- // ZFCVTZU <Zn>.D, <Pg>/Z, <Zd>.D
- {
- goOp: AZFCVTZU,
- fixedBits: 0x64dfe000,
- args: Zn_D__PgZ__Zd_D,
- },
- // ZFDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFDIV,
- fixedBits: 0x650d8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFDIVR,
- fixedBits: 0x650c8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFDOT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFDOT,
- fixedBits: 0x64208000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFDOT <Zm>.B, <Zn>.B, <Zda>.H
- {
- goOp: AZFDOT,
- fixedBits: 0x64208400,
- args: Zm_B__Zn_B__Zda_H,
- },
- // ZFDOT <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFDOT,
- fixedBits: 0x64608400,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFEXPA <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFEXPA,
- fixedBits: 0x420b800,
- args: Zn_T__Zd_T__1,
- },
- // ZFLOGB <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFLOGB,
- fixedBits: 0x6518a000,
- args: Zn_T__PgM__Zd_T__6,
- },
- // ZFLOGB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFLOGB,
- fixedBits: 0x641e8000,
- args: Zn_T__PgZ__Zd_T__6,
- },
- // ZFMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMAD,
- fixedBits: 0x65208000,
- args: Za_T__Zm_T__PgM__Zdn_T__1,
- },
- // ZFMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMAX,
- fixedBits: 0x65068000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFMAXNM <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMAXNM,
- fixedBits: 0x65048000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFMAXNMP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMAXNMP,
- fixedBits: 0x64148000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFMAXNMQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZFMAXNMQV,
- fixedBits: 0x6414a000,
- args: Zn_Tb__Pg__Vd_T__2,
- },
- // ZFMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMAXP,
- fixedBits: 0x64168000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZFMAXQV,
- fixedBits: 0x6416a000,
- args: Zn_Tb__Pg__Vd_T__2,
- },
- // ZFMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMIN,
- fixedBits: 0x65078000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFMINNM <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMINNM,
- fixedBits: 0x65058000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFMINNMP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMINNMP,
- fixedBits: 0x64158000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFMINNMQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZFMINNMQV,
- fixedBits: 0x6415a000,
- args: Zn_Tb__Pg__Vd_T__2,
- },
- // ZFMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMINP,
- fixedBits: 0x64178000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZFMINQV,
- fixedBits: 0x6417a000,
- args: Zn_Tb__Pg__Vd_T__2,
- },
- // ZFMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZFMLA,
- fixedBits: 0x65200000,
- args: Zm_T__Zn_T__PgM__Zda_T__1,
- },
- // ZFMLALB <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFMLALB,
- fixedBits: 0x64a08000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFMLALB <Zm>.B, <Zn>.B, <Zda>.H
- {
- goOp: AZFMLALB,
- fixedBits: 0x64a08800,
- args: Zm_B__Zn_B__Zda_H,
- },
- // ZFMLALLBB <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFMLALLBB,
- fixedBits: 0x64208800,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFMLALLBT <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFMLALLBT,
- fixedBits: 0x64209800,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFMLALLTB <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFMLALLTB,
- fixedBits: 0x6420a800,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFMLALLTT <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFMLALLTT,
- fixedBits: 0x6420b800,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFMLALT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFMLALT,
- fixedBits: 0x64a08400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFMLALT <Zm>.B, <Zn>.B, <Zda>.H
- {
- goOp: AZFMLALT,
- fixedBits: 0x64a09800,
- args: Zm_B__Zn_B__Zda_H,
- },
- // ZFMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZFMLS,
- fixedBits: 0x65202000,
- args: Zm_T__Zn_T__PgM__Zda_T__1,
- },
- // ZFMLSLB <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFMLSLB,
- fixedBits: 0x64a0a000,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFMLSLT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFMLSLT,
- fixedBits: 0x64a0a400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFMMLA <Zm>.H, <Zn>.H, <Zda>.H
- {
- goOp: AZFMMLA,
- fixedBits: 0x64a0e000,
- args: Zm_H__Zn_H__Zda_H,
- },
- // ZFMMLA <Zm>.S, <Zn>.S, <Zda>.S
- {
- goOp: AZFMMLA,
- fixedBits: 0x64a0e400,
- args: Zm_S__Zn_S__Zda_S,
- },
- // ZFMMLA <Zm>.D, <Zn>.D, <Zda>.D
- {
- goOp: AZFMMLA,
- fixedBits: 0x64e0e400,
- args: Zm_D__Zn_D__Zda_D,
- },
- // ZFMMLA <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZFMMLA,
- fixedBits: 0x6420e400,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZFMMLA <Zm>.B, <Zn>.B, <Zda>.H
- {
- goOp: AZFMMLA,
- fixedBits: 0x6460e000,
- args: Zm_B__Zn_B__Zda_H,
- },
- // ZFMMLA <Zm>.B, <Zn>.B, <Zda>.S
- {
- goOp: AZFMMLA,
- fixedBits: 0x6420e000,
- args: Zm_B__Zn_B__Zda_S,
- },
- // ZFMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMSB,
- fixedBits: 0x6520a000,
- args: Za_T__Zm_T__PgM__Zdn_T__1,
- },
- // ZFMUL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMUL,
- fixedBits: 0x65028000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFMUL,
- fixedBits: 0x65000800,
- args: Zm_T__Zn_T__Zd_T__2,
- },
- // ZFMULX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFMULX,
- fixedBits: 0x650a8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFNEG,
- fixedBits: 0x41da000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFNEG,
- fixedBits: 0x40da000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFNMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFNMAD,
- fixedBits: 0x6520c000,
- args: Za_T__Zm_T__PgM__Zdn_T__1,
- },
- // ZFNMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZFNMLA,
- fixedBits: 0x65204000,
- args: Zm_T__Zn_T__PgM__Zda_T__1,
- },
- // ZFNMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZFNMLS,
- fixedBits: 0x65206000,
- args: Zm_T__Zn_T__PgM__Zda_T__1,
- },
- // ZFNMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFNMSB,
- fixedBits: 0x6520e000,
- args: Za_T__Zm_T__PgM__Zdn_T__1,
- },
- // ZFRECPE <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFRECPE,
- fixedBits: 0x650e3000,
- args: Zn_T__Zd_T__1,
- },
- // ZFRECPS <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFRECPS,
- fixedBits: 0x65001800,
- args: Zm_T__Zn_T__Zd_T__3,
- },
- // ZFRECPX <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRECPX,
- fixedBits: 0x650ca000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRECPX <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRECPX,
- fixedBits: 0x641b8000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINT32X <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINT32X,
- fixedBits: 0x6511a000,
- args: Zn_T__PgM__Zd_T__3,
- },
- // ZFRINT32X <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINT32X,
- fixedBits: 0x641ca000,
- args: Zn_T__PgZ__Zd_T__3,
- },
- // ZFRINT32Z <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINT32Z,
- fixedBits: 0x6510a000,
- args: Zn_T__PgM__Zd_T__3,
- },
- // ZFRINT32Z <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINT32Z,
- fixedBits: 0x641c8000,
- args: Zn_T__PgZ__Zd_T__3,
- },
- // ZFRINT64X <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINT64X,
- fixedBits: 0x6515a000,
- args: Zn_T__PgM__Zd_T__3,
- },
- // ZFRINT64X <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINT64X,
- fixedBits: 0x641da000,
- args: Zn_T__PgZ__Zd_T__3,
- },
- // ZFRINT64Z <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINT64Z,
- fixedBits: 0x6514a000,
- args: Zn_T__PgM__Zd_T__3,
- },
- // ZFRINT64Z <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINT64Z,
- fixedBits: 0x641d8000,
- args: Zn_T__PgZ__Zd_T__3,
- },
- // ZFRINTX <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTX,
- fixedBits: 0x6506a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTX <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTX,
- fixedBits: 0x6419c000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTI <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTI,
- fixedBits: 0x6507a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTI <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTI,
- fixedBits: 0x6419e000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTA <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTA,
- fixedBits: 0x6504a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTA <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTA,
- fixedBits: 0x64198000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTN <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTN,
- fixedBits: 0x6500a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTN <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTN,
- fixedBits: 0x64188000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTZ <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTZ,
- fixedBits: 0x6503a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTZ <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTZ,
- fixedBits: 0x6418e000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTM <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTM,
- fixedBits: 0x6502a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTM <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTM,
- fixedBits: 0x6418c000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRINTP <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFRINTP,
- fixedBits: 0x6501a000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFRINTP <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFRINTP,
- fixedBits: 0x6418a000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFRSQRTE <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFRSQRTE,
- fixedBits: 0x650f3000,
- args: Zn_T__Zd_T__1,
- },
- // ZFRSQRTS <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFRSQRTS,
- fixedBits: 0x65001c00,
- args: Zm_T__Zn_T__Zd_T__3,
- },
- // ZFSCALE <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFSCALE,
- fixedBits: 0x65098000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFSQRT <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZFSQRT,
- fixedBits: 0x650da000,
- args: Zn_T__PgM__Zd_T__1,
- },
- // ZFSQRT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZFSQRT,
- fixedBits: 0x641ba000,
- args: Zn_T__PgZ__Zd_T__1,
- },
- // ZFSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFSUB,
- fixedBits: 0x65018000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__3,
- },
- // ZFSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFSUB,
- fixedBits: 0x65000400,
- args: Zm_T__Zn_T__Zd_T__2,
- },
- // ZFSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZFSUBR,
- fixedBits: 0x65038000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__2,
- },
- // ZFTSMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFTSMUL,
- fixedBits: 0x65000c00,
- args: Zm_T__Zn_T__Zd_T__3,
- },
- // ZFTSSEL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZFTSSEL,
- fixedBits: 0x420b000,
- args: Zm_T__Zn_T__Zd_T__3,
- },
- // ZHISTCNT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZHISTCNT,
- fixedBits: 0x45a0c000,
- args: Zm_T__Zn_T__PgZ__Zd_T,
- },
- // ZHISTSEG <Zm>.B, <Zn>.B, <Zd>.B
- {
- goOp: AZHISTSEG,
- fixedBits: 0x4520a000,
- args: Zm_B__Zn_B__Zd_B,
- },
- // ZINCP <Pm>.<T>, <Zdn>.<T>
- {
- goOp: AZINCP,
- fixedBits: 0x252c8000,
- args: Pm_T__Zdn_T,
- },
- // ZLSL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSL,
- fixedBits: 0x4138000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZLSL <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSL,
- fixedBits: 0x41b8000,
- args: Zm_D__Zdn_T__PgM__Zdn_T,
- },
- // ZLSL <Zm>.D, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZLSL,
- fixedBits: 0x4208c00,
- args: Zm_D__Zn_T__Zd_T,
- },
- // ZLSLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSLR,
- fixedBits: 0x4178000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZLSR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSR,
- fixedBits: 0x4118000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZLSR <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSR,
- fixedBits: 0x4198000,
- args: Zm_D__Zdn_T__PgM__Zdn_T,
- },
- // ZLSR <Zm>.D, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZLSR,
- fixedBits: 0x4208400,
- args: Zm_D__Zn_T__Zd_T,
- },
- // ZLSRR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZLSRR,
- fixedBits: 0x4158000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZMAD,
- fixedBits: 0x400c000,
- args: Za_T__Zm_T__PgM__Zdn_T__2,
- },
- // ZMADPT <Za>.D, <Zm>.D, <Zdn>.D
- {
- goOp: AZMADPT,
- fixedBits: 0x44c0d800,
- args: Za_D__Zm_D__Zdn_D,
- },
- // ZMATCH <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZMATCH,
- fixedBits: 0x45208000,
- args: Zm_T__Zn_T__PgZ__Pd_T__3,
- },
- // ZMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZMLA,
- fixedBits: 0x4004000,
- args: Zm_T__Zn_T__PgM__Zda_T__2,
- },
- // ZMLAPT <Zm>.D, <Zn>.D, <Zda>.D
- {
- goOp: AZMLAPT,
- fixedBits: 0x44c0d000,
- args: Zm_D__Zn_D__Zda_D,
- },
- // ZMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZMLS,
- fixedBits: 0x4006000,
- args: Zm_T__Zn_T__PgM__Zda_T__2,
- },
- // ZMOVPRFX <Zn>.<T>, <Pg>/<ZM>, <Zd>.<T>
- {
- goOp: AZMOVPRFX,
- fixedBits: 0x4102000,
- args: Zn_T__PgZM__Zd_T,
- },
- // ZMOVPRFX <Zn>, <Zd>
- {
- goOp: AZMOVPRFX,
- fixedBits: 0x420bc00,
- args: Zn__Zd,
- },
- // ZMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZMSB,
- fixedBits: 0x400e000,
- args: Za_T__Zm_T__PgM__Zdn_T__2,
- },
- // ZMUL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZMUL,
- fixedBits: 0x4100000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZMUL,
- fixedBits: 0x4206000,
- args: Zm_T__Zn_T__Zd_T__1,
- },
- // PNAND <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APNAND,
- fixedBits: 0x25804210,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PNANDS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APNANDS,
- fixedBits: 0x25c04210,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZNBSL <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
- {
- goOp: AZNBSL,
- fixedBits: 0x4e03c00,
- args: Zk_D__Zm_D__Zdn_D__Zdn_D,
- },
- // ZNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZNEG,
- fixedBits: 0x417a000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZNEG,
- fixedBits: 0x407a000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // ZNMATCH <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
- {
- goOp: AZNMATCH,
- fixedBits: 0x45208010,
- args: Zm_T__Zn_T__PgZ__Pd_T__3,
- },
- // PNOR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APNOR,
- fixedBits: 0x25804200,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PNORS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APNORS,
- fixedBits: 0x25c04200,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZNOT <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZNOT,
- fixedBits: 0x41ea000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZNOT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZNOT,
- fixedBits: 0x40ea000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // PORN <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APORN,
- fixedBits: 0x25804010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PORNS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APORNS,
- fixedBits: 0x25c04010,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZORQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
- {
- goOp: AZORQV,
- fixedBits: 0x41c2000,
- args: Zn_Tb__Pg__Vd_T__1,
- },
- // PORR <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APORR,
- fixedBits: 0x25804000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // ZORR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZORR,
- fixedBits: 0x4180000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZORR <Zm>.D, <Zn>.D, <Zd>.D
- {
- goOp: AZORR,
- fixedBits: 0x4603000,
- args: Zm_D__Zn_D__Zd_D,
- },
- // PORRS <Pm>.B, <Pn>.B, <Pg>/Z, <Pd>.B
- {
- goOp: APORRS,
- fixedBits: 0x25c04000,
- args: Pm_B__Pn_B__PgZ__Pd_B,
- },
- // PPFALSE <Pd>.B
- {
- goOp: APPFALSE,
- fixedBits: 0x2518e400,
- args: Pd_B,
- },
- // PPFIRST <Pdn>.B, <Pg>, <Pdn>.B
- {
- goOp: APPFIRST,
- fixedBits: 0x2558c000,
- args: Pdn_B__Pg__Pdn_B,
- },
- // ZPMOV <Zn>, <Pd>.B
- {
- goOp: AZPMOV,
- fixedBits: 0x52a3800,
- args: Zn__Pd_B,
- },
- // ZPMOV <Pn>.B, <Zd>
- {
- goOp: AZPMOV,
- fixedBits: 0x52b3800,
- args: Pn_B__Zd,
- },
- // ZPMUL <Zm>.B, <Zn>.B, <Zd>.B
- {
- goOp: AZPMUL,
- fixedBits: 0x4206400,
- args: Zm_B__Zn_B__Zd_B,
- },
- // ZPMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZPMULLB,
- fixedBits: 0x45006800,
- args: Zm_Tb__Zn_Tb__Zd_T__3,
- },
- // ZPMULLB <Zm>.D, <Zn>.D, <Zd>.Q
- {
- goOp: AZPMULLB,
- fixedBits: 0x45006800,
- args: Zm_D__Zn_D__Zd_Q,
- },
- // ZPMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZPMULLT,
- fixedBits: 0x45006c00,
- args: Zm_Tb__Zn_Tb__Zd_T__3,
- },
- // ZPMULLT <Zm>.D, <Zn>.D, <Zd>.Q
- {
- goOp: AZPMULLT,
- fixedBits: 0x45006c00,
- args: Zm_D__Zn_D__Zd_Q,
- },
- // PPNEXT <Pdn>.<T>, <Pv>, <Pdn>.<T>
- {
- goOp: APPNEXT,
- fixedBits: 0x2519c400,
- args: Pdn_T__Pv__Pdn_T,
- },
- // PPTEST <Pn>.B, <Pg>
- {
- goOp: APPTEST,
- fixedBits: 0x2550c000,
- args: Pn_B__Pg,
- },
- // PPTRUE <PNd>.<T>
- {
- goOp: APPTRUE,
- fixedBits: 0x25207810,
- args: PNd_T,
- },
- // PPUNPKHI <Pn>.B, <Pd>.H
- {
- goOp: APPUNPKHI,
- fixedBits: 0x5314000,
- args: Pn_B__Pd_H,
- },
- // PPUNPKLO <Pn>.B, <Pd>.H
- {
- goOp: APPUNPKLO,
- fixedBits: 0x5304000,
- args: Pn_B__Pd_H,
- },
- // ZRADDHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZRADDHNB,
- fixedBits: 0x45206800,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
- },
- // ZRADDHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZRADDHNT,
- fixedBits: 0x45206c00,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
- },
- // ZRAX1 <Zm>.D, <Zn>.D, <Zd>.D
- {
- goOp: AZRAX1,
- fixedBits: 0x4520f400,
- args: Zm_D__Zn_D__Zd_D,
- },
- // ZRBIT <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZRBIT,
- fixedBits: 0x5278000,
- args: Zn_T__PgM__Zd_T__2,
- },
- // ZRBIT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZRBIT,
- fixedBits: 0x527a000,
- args: Zn_T__PgZ__Zd_T__2,
- },
- // PRDFFR <Pg>/Z, <Pd>.B
- {
- goOp: APRDFFR,
- fixedBits: 0x2518f000,
- args: PgZ__Pd_B,
- },
- // PRDFFR <Pd>.B
- {
- goOp: APRDFFR,
- fixedBits: 0x2519f000,
- args: Pd_B,
- },
- // PRDFFRS <Pg>/Z, <Pd>.B
- {
- goOp: APRDFFRS,
- fixedBits: 0x2558f000,
- args: PgZ__Pd_B,
- },
- // PREV <Pn>.<T>, <Pd>.<T>
- {
- goOp: APREV,
- fixedBits: 0x5344000,
- args: Pn_T__Pd_T,
- },
- // ZREV <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZREV,
- fixedBits: 0x5383800,
- args: Zn_T__Zd_T__2,
- },
- // ZREVB <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZREVB,
- fixedBits: 0x5248000,
- args: Zn_T__PgM__Zd_T__4,
- },
- // ZREVB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZREVB,
- fixedBits: 0x524a000,
- args: Zn_T__PgZ__Zd_T__4,
- },
- // ZREVH <Zn>.<T>, <Pg>/M, <Zd>.<T>
- {
- goOp: AZREVH,
- fixedBits: 0x5a58000,
- args: Zn_T__PgM__Zd_T__5,
- },
- // ZREVH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
- {
- goOp: AZREVH,
- fixedBits: 0x5a5a000,
- args: Zn_T__PgZ__Zd_T__5,
- },
- // ZREVW <Zn>.D, <Pg>/M, <Zd>.D
- {
- goOp: AZREVW,
- fixedBits: 0x5e68000,
- args: Zn_D__PgM__Zd_D,
- },
- // ZREVW <Zn>.D, <Pg>/Z, <Zd>.D
- {
- goOp: AZREVW,
- fixedBits: 0x5e6a000,
- args: Zn_D__PgZ__Zd_D,
- },
- // ZREVD <Zn>.Q, <Pg>/M, <Zd>.Q
- {
- goOp: AZREVD,
- fixedBits: 0x52e8000,
- args: Zn_Q__PgM__Zd_Q,
- },
- // ZREVD <Zn>.Q, <Pg>/Z, <Zd>.Q
- {
- goOp: AZREVD,
- fixedBits: 0x52ea000,
- args: Zn_Q__PgZ__Zd_Q,
- },
- // ZRSUBHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZRSUBHNB,
- fixedBits: 0x45207800,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
- },
- // ZRSUBHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZRSUBHNT,
- fixedBits: 0x45207c00,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
- },
- // ZSABA <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
- {
- goOp: AZSABA,
- fixedBits: 0x4500f800,
- args: Zm_T__Zn_T__Zda_T__2,
- },
- // ZSABAL <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
- {
- goOp: AZSABAL,
- fixedBits: 0x4400d400,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
- },
- // ZSABALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
- {
- goOp: AZSABALB,
- fixedBits: 0x4500c000,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
- },
- // ZSABALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
- {
- goOp: AZSABALT,
- fixedBits: 0x4500c400,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
- },
- // ZSABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZSABD,
- fixedBits: 0x40c0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
- },
- // ZSABDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSABDLB,
- fixedBits: 0x45003000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
- },
- // ZSABDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSABDLT,
- fixedBits: 0x45003400,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
- },
- // ZSADALP <Zn>.<Tb>, <Pg>/M, <Zda>.<T>
- {
- goOp: AZSADALP,
- fixedBits: 0x4404a000,
- args: Zn_Tb__PgM__Zda_T,
- },
- // ZSADDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSADDLB,
- fixedBits: 0x45000000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
- },
- // ZSADDLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSADDLBT,
- fixedBits: 0x45008000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
- },
- // ZSADDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSADDLT,
- fixedBits: 0x45000400,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
- },
- // ZSADDWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZSADDWB,
- fixedBits: 0x45004000,
- args: Zm_Tb__Zn_T__Zd_T,
- },
- // ZSADDWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZSADDWT,
- fixedBits: 0x45004400,
- args: Zm_Tb__Zn_T__Zd_T,
- },
- // ZSBCLB <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
- {
- goOp: AZSBCLB,
- fixedBits: 0x4580d000,
- args: Zm_T__Zn_T__Zda_T__1,
- },
- // ZSBCLT <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
- {
- goOp: AZSBCLT,
- fixedBits: 0x4580d400,
- args: Zm_T__Zn_T__Zda_T__1,
- },
- // ZSCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
- {
- goOp: AZSCLAMP,
- fixedBits: 0x4400c000,
- args: Zm_T__Zn_T__Zd_T__1,
- },
- // ZSCVTF <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSCVTF,
- fixedBits: 0x650c3000,
- args: Zn_Tb__Zd_T__1,
- },
- // ZSCVTF <Zn>.H, <Pg>/M, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x6552a000,
- args: Zn_H__PgM__Zd_H,
- },
- // ZSCVTF <Zn>.H, <Pg>/Z, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x645cc000,
- args: Zn_H__PgZ__Zd_H,
- },
- // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x6554a000,
- args: Zn_S__PgM__Zd_H,
- },
- // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x645d8000,
- args: Zn_S__PgZ__Zd_H,
- },
- // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.S
- {
- goOp: AZSCVTF,
- fixedBits: 0x6594a000,
- args: Zn_S__PgM__Zd_S,
- },
- // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.S
- {
- goOp: AZSCVTF,
- fixedBits: 0x649d8000,
- args: Zn_S__PgZ__Zd_S,
- },
- // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.D
- {
- goOp: AZSCVTF,
- fixedBits: 0x65d0a000,
- args: Zn_S__PgM__Zd_D,
- },
- // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.D
- {
- goOp: AZSCVTF,
- fixedBits: 0x64dc8000,
- args: Zn_S__PgZ__Zd_D,
- },
- // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x6556a000,
- args: Zn_D__PgM__Zd_H,
- },
- // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.H
- {
- goOp: AZSCVTF,
- fixedBits: 0x645dc000,
- args: Zn_D__PgZ__Zd_H,
- },
- // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.S
- {
- goOp: AZSCVTF,
- fixedBits: 0x65d4a000,
- args: Zn_D__PgM__Zd_S,
- },
- // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.S
- {
- goOp: AZSCVTF,
- fixedBits: 0x64dd8000,
- args: Zn_D__PgZ__Zd_S,
- },
- // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.D
- {
- goOp: AZSCVTF,
- fixedBits: 0x65d6a000,
- args: Zn_D__PgM__Zd_D,
- },
- // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.D
- {
- goOp: AZSCVTF,
- fixedBits: 0x64ddc000,
- args: Zn_D__PgZ__Zd_D,
- },
- // ZSCVTFLT <Zn>.<Tb>, <Zd>.<T>
- {
- goOp: AZSCVTFLT,
- fixedBits: 0x650c3800,
- args: Zn_Tb__Zd_T__1,
- },
- // ZSDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZSDIV,
- fixedBits: 0x4940000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__4,
- },
- // ZSDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
- {
- goOp: AZSDIVR,
- fixedBits: 0x4960000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__4,
- },
- // ZSDOT <Zm>.B, <Zn>.B, <Zda>.H
- {
- goOp: AZSDOT,
- fixedBits: 0x44400000,
- args: Zm_B__Zn_B__Zda_H,
- },
- // ZSDOT <Zm>.H, <Zn>.H, <Zda>.S
- {
- goOp: AZSDOT,
- fixedBits: 0x4400c800,
- args: Zm_H__Zn_H__Zda_S,
- },
- // ZSDOT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
- {
- goOp: AZSDOT,
- fixedBits: 0x44800000,
- args: Zm_Tb__Zn_Tb__Zda_T__2,
- },
- // PSEL <Pm>.B, <Pn>.B, <Pg>, <Pd>.B
- {
- goOp: APSEL,
- fixedBits: 0x25004210,
- args: Pm_B__Pn_B__Pg__Pd_B,
- },
- // ZSEL <Zm>.<T>, <Zn>.<T>, <Pv>, <Zd>.<T>
- {
- goOp: AZSEL,
- fixedBits: 0x520c000,
- args: Zm_T__Zn_T__Pv__Zd_T,
+ // PZIP2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ {
+ goOp: APZIP2,
+ fixedBits: 0x5204400,
+ args: Pm_T__Pn_T__Pd_T,
+ },
},
// SETFFR
{
- goOp: ASETFFR,
- fixedBits: 0x252c9000,
- args: oc,
+ // SETFFR
+ {
+ goOp: ASETFFR,
+ fixedBits: 0x252c9000,
+ args: oc,
+ },
},
- // ZSHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZABS
{
- goOp: AZSHADD,
- fixedBits: 0x44108000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZABS,
+ fixedBits: 0x416a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZABS,
+ fixedBits: 0x406a000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
},
- // ZSHSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADCLB
{
- goOp: AZSHSUB,
- fixedBits: 0x44128000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADCLB <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZADCLB,
+ fixedBits: 0x4500d000,
+ args: Zm_T__Zn_T__Zda_T__1,
+ },
},
- // ZSHSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADCLT
{
- goOp: AZSHSUBR,
- fixedBits: 0x44168000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADCLT <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZADCLT,
+ fixedBits: 0x4500d400,
+ args: Zm_T__Zn_T__Zda_T__1,
+ },
},
- // ZSM4E <Zm>.S, <Zdn>.S, <Zdn>.S
+ // ZADD
{
- goOp: AZSM4E,
- fixedBits: 0x4523e000,
- args: Zm_S__Zdn_S__Zdn_S,
+ // ZADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZADD,
+ fixedBits: 0x4000000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZADD,
+ fixedBits: 0x4200000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZSM4EKEY <Zm>.S, <Zn>.S, <Zd>.S
+ // ZADDHNB
{
- goOp: AZSM4EKEY,
- fixedBits: 0x4520f000,
- args: Zm_S__Zn_S__Zd_S,
+ // ZADDHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZADDHNB,
+ fixedBits: 0x45206000,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADDHNT
{
- goOp: AZSMAX,
- fixedBits: 0x4080000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADDHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZADDHNT,
+ fixedBits: 0x45206400,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADDP
{
- goOp: AZSMAXP,
- fixedBits: 0x4414a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADDP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZADDP,
+ fixedBits: 0x4411a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // ZADDPT
{
- goOp: AZSMAXQV,
- fixedBits: 0x40c2000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // ZADDPT <Zm>.D, <Zdn>.D, <Pg>/M, <Zdn>.D
+ {
+ goOp: AZADDPT,
+ fixedBits: 0x4c40000,
+ args: Zm_D__Zdn_D__PgM__Zdn_D,
+ },
+ // ZADDPT <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZADDPT,
+ fixedBits: 0x4e00800,
+ args: Zm_D__Zn_D__Zd_D,
+ },
},
- // ZSMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADDQP
{
- goOp: AZSMIN,
- fixedBits: 0x40a0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADDQP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZADDQP,
+ fixedBits: 0x4207800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZSMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZADDQV
{
- goOp: AZSMINP,
- fixedBits: 0x4416a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZADDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZADDQV,
+ fixedBits: 0x4052000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
},
- // ZSMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // ZADDSUBP
{
- goOp: AZSMINQV,
- fixedBits: 0x40e2000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // ZADDSUBP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZADDSUBP,
+ fixedBits: 0x4207c00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZSMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZAESD
{
- goOp: AZSMLALB,
- fixedBits: 0x44004000,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZAESD <Zm>.B, <Zdn>.B, <Zdn>.B
+ {
+ goOp: AZAESD,
+ fixedBits: 0x4522e400,
+ args: Zm_B__Zdn_B__Zdn_B,
+ },
},
- // ZSMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZAESE
{
- goOp: AZSMLALT,
- fixedBits: 0x44004400,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZAESE <Zm>.B, <Zdn>.B, <Zdn>.B
+ {
+ goOp: AZAESE,
+ fixedBits: 0x4522e000,
+ args: Zm_B__Zdn_B__Zdn_B,
+ },
+ },
+ // ZAESIMC
+ {
+ // ZAESIMC <Zdn>.B, <Zdn>.B
+ {
+ goOp: AZAESIMC,
+ fixedBits: 0x4520e400,
+ args: Zdn_B__Zdn_B,
+ },
+ },
+ // ZAESMC
+ {
+ // ZAESMC <Zdn>.B, <Zdn>.B
+ {
+ goOp: AZAESMC,
+ fixedBits: 0x4520e000,
+ args: Zdn_B__Zdn_B,
+ },
+ },
+ // ZAND
+ {
+ // ZAND <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZAND,
+ fixedBits: 0x41a0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZAND <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZAND,
+ fixedBits: 0x4203000,
+ args: Zm_D__Zn_D__Zd_D,
+ },
+ },
+ // ZANDQV
+ {
+ // ZANDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZANDQV,
+ fixedBits: 0x41e2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
+ },
+ // ZASR
+ {
+ // ZASR <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZASR,
+ fixedBits: 0x4188000,
+ args: Zm_D__Zdn_T__PgM__Zdn_T,
+ },
+ // ZASR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZASR,
+ fixedBits: 0x4108000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZASR <Zm>.D, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZASR,
+ fixedBits: 0x4208000,
+ args: Zm_D__Zn_T__Zd_T,
+ },
+ },
+ // ZASRR
+ {
+ // ZASRR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZASRR,
+ fixedBits: 0x4148000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZBCAX
+ {
+ // ZBCAX <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZBCAX,
+ fixedBits: 0x4603800,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZBDEP
+ {
+ // ZBDEP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZBDEP,
+ fixedBits: 0x4500b400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ },
+ // ZBEXT
+ {
+ // ZBEXT <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZBEXT,
+ fixedBits: 0x4500b000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ },
+ // ZBF1CVT
+ {
+ // ZBF1CVT <Zn>.B, <Zd>.H
+ {
+ goOp: AZBF1CVT,
+ fixedBits: 0x65083800,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZBF1CVTLT
+ {
+ // ZBF1CVTLT <Zn>.B, <Zd>.H
+ {
+ goOp: AZBF1CVTLT,
+ fixedBits: 0x65093800,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZBF2CVT
+ {
+ // ZBF2CVT <Zn>.B, <Zd>.H
+ {
+ goOp: AZBF2CVT,
+ fixedBits: 0x65083c00,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZBF2CVTLT
+ {
+ // ZBF2CVTLT <Zn>.B, <Zd>.H
+ {
+ goOp: AZBF2CVTLT,
+ fixedBits: 0x65093c00,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZBFADD
+ {
+ // ZBFADD <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFADD,
+ fixedBits: 0x65008000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ // ZBFADD <Zm>.H, <Zn>.H, <Zd>.H
+ {
+ goOp: AZBFADD,
+ fixedBits: 0x65000000,
+ args: Zm_H__Zn_H__Zd_H,
+ },
+ },
+ // ZBFCLAMP
+ {
+ // ZBFCLAMP <Zm>.H, <Zn>.H, <Zd>.H
+ {
+ goOp: AZBFCLAMP,
+ fixedBits: 0x64202400,
+ args: Zm_H__Zn_H__Zd_H,
+ },
+ },
+ // ZBFCVT
+ {
+ // ZBFCVT <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZBFCVT,
+ fixedBits: 0x649ac000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ // ZBFCVT <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZBFCVT,
+ fixedBits: 0x658aa000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ },
+ // ZBFCVTNT
+ {
+ // ZBFCVTNT <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZBFCVTNT,
+ fixedBits: 0x648aa000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ // ZBFCVTNT <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZBFCVTNT,
+ fixedBits: 0x6482a000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ },
+ // ZBFDOT
+ {
+ // ZBFDOT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFDOT,
+ fixedBits: 0x64608000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMAX
+ {
+ // ZBFMAX <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFMAX,
+ fixedBits: 0x65068000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBFMAXNM
+ {
+ // ZBFMAXNM <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFMAXNM,
+ fixedBits: 0x65048000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBFMIN
+ {
+ // ZBFMIN <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFMIN,
+ fixedBits: 0x65078000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBFMINNM
+ {
+ // ZBFMINNM <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFMINNM,
+ fixedBits: 0x65058000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBFMLA
+ {
+ // ZBFMLA <Zm>.H, <Zn>.H, <Pg>/M, <Zda>.H
+ {
+ goOp: AZBFMLA,
+ fixedBits: 0x65200000,
+ args: Zm_H__Zn_H__PgM__Zda_H,
+ },
+ },
+ // ZBFMLALB
+ {
+ // ZBFMLALB <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFMLALB,
+ fixedBits: 0x64e08000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMLALT
+ {
+ // ZBFMLALT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFMLALT,
+ fixedBits: 0x64e08400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMLS
+ {
+ // ZBFMLS <Zm>.H, <Zn>.H, <Pg>/M, <Zda>.H
+ {
+ goOp: AZBFMLS,
+ fixedBits: 0x65202000,
+ args: Zm_H__Zn_H__PgM__Zda_H,
+ },
+ },
+ // ZBFMLSLB
+ {
+ // ZBFMLSLB <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFMLSLB,
+ fixedBits: 0x64e0a000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMLSLT
+ {
+ // ZBFMLSLT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFMLSLT,
+ fixedBits: 0x64e0a400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMMLA
+ {
+ // ZBFMMLA <Zm>.H, <Zn>.H, <Zda>.H
+ {
+ goOp: AZBFMMLA,
+ fixedBits: 0x64e0e000,
+ args: Zm_H__Zn_H__Zda_H,
+ },
+ // ZBFMMLA <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZBFMMLA,
+ fixedBits: 0x6460e400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZBFMUL
+ {
+ // ZBFMUL <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFMUL,
+ fixedBits: 0x65028000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ // ZBFMUL <Zm>.H, <Zn>.H, <Zd>.H
+ {
+ goOp: AZBFMUL,
+ fixedBits: 0x65000800,
+ args: Zm_H__Zn_H__Zd_H,
+ },
+ },
+ // ZBFSCALE
+ {
+ // ZBFSCALE <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFSCALE,
+ fixedBits: 0x65098000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBFSUB
+ {
+ // ZBFSUB <Zm>.H, <Zn>.H, <Zd>.H
+ {
+ goOp: AZBFSUB,
+ fixedBits: 0x65000400,
+ args: Zm_H__Zn_H__Zd_H,
+ },
+ // ZBFSUB <Zm>.H, <Zdn>.H, <Pg>/M, <Zdn>.H
+ {
+ goOp: AZBFSUB,
+ fixedBits: 0x65018000,
+ args: Zm_H__Zdn_H__PgM__Zdn_H,
+ },
+ },
+ // ZBGRP
+ {
+ // ZBGRP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZBGRP,
+ fixedBits: 0x4500b800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ },
+ // ZBIC
+ {
+ // ZBIC <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZBIC,
+ fixedBits: 0x41b0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZBIC <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZBIC,
+ fixedBits: 0x4e03000,
+ args: Zm_D__Zn_D__Zd_D,
+ },
+ },
+ // ZBSL
+ {
+ // ZBSL <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZBSL,
+ fixedBits: 0x4203c00,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZBSL1N
+ {
+ // ZBSL1N <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZBSL1N,
+ fixedBits: 0x4603c00,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZBSL2N
+ {
+ // ZBSL2N <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZBSL2N,
+ fixedBits: 0x4a03c00,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZCLASTA
+ {
+ // ZCLASTA <Zm>.<T>, <Zdn>.<T>, <Pg>, <Zdn>.<T>
+ {
+ goOp: AZCLASTA,
+ fixedBits: 0x5288000,
+ args: Zm_T__Zdn_T__Pg__Zdn_T,
+ },
+ },
+ // ZCLASTB
+ {
+ // ZCLASTB <Zm>.<T>, <Zdn>.<T>, <Pg>, <Zdn>.<T>
+ {
+ goOp: AZCLASTB,
+ fixedBits: 0x5298000,
+ args: Zm_T__Zdn_T__Pg__Zdn_T,
+ },
+ },
+ // ZCLS
+ {
+ // ZCLS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZCLS,
+ fixedBits: 0x408a000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ // ZCLS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZCLS,
+ fixedBits: 0x418a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ },
+ // ZCLZ
+ {
+ // ZCLZ <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZCLZ,
+ fixedBits: 0x409a000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ // ZCLZ <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZCLZ,
+ fixedBits: 0x419a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ },
+ // ZCMPEQ
+ {
+ // ZCMPEQ <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPEQ,
+ fixedBits: 0x2400a000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ // ZCMPEQ <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPEQ,
+ fixedBits: 0x24002000,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPGE
+ {
+ // ZCMPGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPGE,
+ fixedBits: 0x24008000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ // ZCMPGE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPGE,
+ fixedBits: 0x24004000,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPGT
+ {
+ // ZCMPGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPGT,
+ fixedBits: 0x24008010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ // ZCMPGT <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPGT,
+ fixedBits: 0x24004010,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPHI
+ {
+ // ZCMPHI <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPHI,
+ fixedBits: 0x2400c010,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ // ZCMPHI <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPHI,
+ fixedBits: 0x24000010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ },
+ // ZCMPHS
+ {
+ // ZCMPHS <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPHS,
+ fixedBits: 0x24000000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ // ZCMPHS <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPHS,
+ fixedBits: 0x2400c000,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPLE
+ {
+ // ZCMPLE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPLE,
+ fixedBits: 0x24006010,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPLO
+ {
+ // ZCMPLO <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPLO,
+ fixedBits: 0x2400e000,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPLS
+ {
+ // ZCMPLS <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPLS,
+ fixedBits: 0x2400e010,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPLT
+ {
+ // ZCMPLT <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPLT,
+ fixedBits: 0x24006000,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ },
+ // ZCMPNE
+ {
+ // ZCMPNE <Zm>.D, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPNE,
+ fixedBits: 0x24002010,
+ args: Zm_D__Zn_T__PgZ__Pd_T,
+ },
+ // ZCMPNE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZCMPNE,
+ fixedBits: 0x2400a010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__2,
+ },
+ },
+ // ZCNOT
+ {
+ // ZCNOT <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZCNOT,
+ fixedBits: 0x41ba000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZCNOT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZCNOT,
+ fixedBits: 0x40ba000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ },
+ // ZCNT
+ {
+ // ZCNT <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZCNT,
+ fixedBits: 0x41aa000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZCNT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZCNT,
+ fixedBits: 0x40aa000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ },
+ // ZCOMPACT
+ {
+ // ZCOMPACT <Zn>.<T>, <Pg>, <Zd>.<T>
+ {
+ goOp: AZCOMPACT,
+ fixedBits: 0x5218000,
+ args: Zn_T__Pg__Zd_T__1,
+ },
+ // ZCOMPACT <Zn>.<T>, <Pg>, <Zd>.<T>
+ {
+ goOp: AZCOMPACT,
+ fixedBits: 0x5a18000,
+ args: Zn_T__Pg__Zd_T__2,
+ },
+ },
+ // ZDECP
+ {
+ // ZDECP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZDECP,
+ fixedBits: 0x252d8000,
+ args: Pm_T__Zdn_T,
+ },
+ },
+ // ZEOR
+ {
+ // ZEOR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZEOR,
+ fixedBits: 0x4190000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZEOR <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZEOR,
+ fixedBits: 0x4a03000,
+ args: Zm_D__Zn_D__Zd_D,
+ },
+ },
+ // ZEOR3
+ {
+ // ZEOR3 <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZEOR3,
+ fixedBits: 0x4203800,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZEORBT
+ {
+ // ZEORBT <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZEORBT,
+ fixedBits: 0x45009000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ },
+ // ZEORQV
+ {
+ // ZEORQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZEORQV,
+ fixedBits: 0x41d2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
+ },
+ // ZEORTB
+ {
+ // ZEORTB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZEORTB,
+ fixedBits: 0x45009400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ },
+ // ZEXPAND
+ {
+ // ZEXPAND <Zn>.<T>, <Pg>, <Zd>.<T>
+ {
+ goOp: AZEXPAND,
+ fixedBits: 0x5318000,
+ args: Zn_T__Pg__Zd_T__3,
+ },
+ },
+ // ZF1CVT
+ {
+ // ZF1CVT <Zn>.B, <Zd>.H
+ {
+ goOp: AZF1CVT,
+ fixedBits: 0x65083000,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZF1CVTLT
+ {
+ // ZF1CVTLT <Zn>.B, <Zd>.H
+ {
+ goOp: AZF1CVTLT,
+ fixedBits: 0x65093000,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZF2CVT
+ {
+ // ZF2CVT <Zn>.B, <Zd>.H
+ {
+ goOp: AZF2CVT,
+ fixedBits: 0x65083400,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZF2CVTLT
+ {
+ // ZF2CVTLT <Zn>.B, <Zd>.H
+ {
+ goOp: AZF2CVTLT,
+ fixedBits: 0x65093400,
+ args: Zn_B__Zd_H,
+ },
+ },
+ // ZFABD
+ {
+ // ZFABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFABD,
+ fixedBits: 0x65088000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFABS
+ {
+ // ZFABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFABS,
+ fixedBits: 0x40ca000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ // ZFABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFABS,
+ fixedBits: 0x41ca000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ },
+ // ZFACGE
+ {
+ // ZFACGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFACGE,
+ fixedBits: 0x6500c010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFACGT
+ {
+ // ZFACGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFACGT,
+ fixedBits: 0x6500e010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFADD
+ {
+ // ZFADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFADD,
+ fixedBits: 0x65008000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ // ZFADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFADD,
+ fixedBits: 0x65000000,
+ args: Zm_T__Zn_T__Zd_T__2,
+ },
+ },
+ // ZFADDP
+ {
+ // ZFADDP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFADDP,
+ fixedBits: 0x64108000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFADDQV
+ {
+ // ZFADDQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZFADDQV,
+ fixedBits: 0x6410a000,
+ args: Zn_Tb__Pg__Vd_T__2,
+ },
+ },
+ // ZFAMAX
+ {
+ // ZFAMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFAMAX,
+ fixedBits: 0x650e8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFAMIN
+ {
+ // ZFAMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFAMIN,
+ fixedBits: 0x650f8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFCLAMP
+ {
+ // ZFCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFCLAMP,
+ fixedBits: 0x64202400,
+ args: Zm_T__Zn_T__Zd_T__2,
+ },
+ },
+ // ZFCMEQ
+ {
+ // ZFCMEQ <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFCMEQ,
+ fixedBits: 0x65006000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFCMGE
+ {
+ // ZFCMGE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFCMGE,
+ fixedBits: 0x65004000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFCMGT
+ {
+ // ZFCMGT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFCMGT,
+ fixedBits: 0x65004010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFCMNE
+ {
+ // ZFCMNE <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFCMNE,
+ fixedBits: 0x65006010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFCMUO
+ {
+ // ZFCMUO <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZFCMUO,
+ fixedBits: 0x6500c000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__1,
+ },
+ },
+ // ZFCVT
+ {
+ // ZFCVT <Zn>.H, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x6589a000,
+ args: Zn_H__PgM__Zd_S,
+ },
+ // ZFCVT <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x65cba000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZFCVT <Zn>.H, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x649aa000,
+ args: Zn_H__PgZ__Zd_S,
+ },
+ // ZFCVT <Zn>.H, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x65c9a000,
+ args: Zn_H__PgM__Zd_D,
+ },
+ // ZFCVT <Zn>.H, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x64daa000,
+ args: Zn_H__PgZ__Zd_D,
+ },
+ // ZFCVT <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x6588a000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ // ZFCVT <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x649a8000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ // ZFCVT <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x64dae000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ // ZFCVT <Zn>.D, <Pg>/M, <Zd>.H
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x65c8a000,
+ args: Zn_D__PgM__Zd_H,
+ },
+ // ZFCVT <Zn>.D, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x64da8000,
+ args: Zn_D__PgZ__Zd_H,
+ },
+ // ZFCVT <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x65caa000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZFCVT <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVT,
+ fixedBits: 0x64dac000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ },
+ // ZFCVTLT
+ {
+ // ZFCVTLT <Zn>.H, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTLT,
+ fixedBits: 0x6489a000,
+ args: Zn_H__PgM__Zd_S,
+ },
+ // ZFCVTLT <Zn>.H, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTLT,
+ fixedBits: 0x6481a000,
+ args: Zn_H__PgZ__Zd_S,
+ },
+ // ZFCVTLT <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTLT,
+ fixedBits: 0x64cba000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZFCVTLT <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTLT,
+ fixedBits: 0x64c3a000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ },
+ // ZFCVTNT
+ {
+ // ZFCVTNT <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZFCVTNT,
+ fixedBits: 0x6488a000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ // ZFCVTNT <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZFCVTNT,
+ fixedBits: 0x6480a000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ // ZFCVTNT <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTNT,
+ fixedBits: 0x64caa000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZFCVTNT <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTNT,
+ fixedBits: 0x64c2a000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ },
+ // ZFCVTX
+ {
+ // ZFCVTX <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTX,
+ fixedBits: 0x641ac000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ // ZFCVTX <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTX,
+ fixedBits: 0x650aa000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ },
+ // ZFCVTXNT
+ {
+ // ZFCVTXNT <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTXNT,
+ fixedBits: 0x640aa000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZFCVTXNT <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTXNT,
+ fixedBits: 0x6402a000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ },
+ // ZFCVTZS
+ {
+ // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.H
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x655aa000,
+ args: Zn_H__PgM__Zd_H,
+ },
+ // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x645ec000,
+ args: Zn_H__PgZ__Zd_H,
+ },
+ // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x655ca000,
+ args: Zn_H__PgM__Zd_S,
+ },
+ // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x645f8000,
+ args: Zn_H__PgZ__Zd_S,
+ },
+ // ZFCVTZS <Zn>.H, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x655ea000,
+ args: Zn_H__PgM__Zd_D,
+ },
+ // ZFCVTZS <Zn>.H, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x645fc000,
+ args: Zn_H__PgZ__Zd_D,
+ },
+ // ZFCVTZS <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x659ca000,
+ args: Zn_S__PgM__Zd_S,
+ },
+ // ZFCVTZS <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x649f8000,
+ args: Zn_S__PgZ__Zd_S,
+ },
+ // ZFCVTZS <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x65dca000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZFCVTZS <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x64df8000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ // ZFCVTZS <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x65d8a000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZFCVTZS <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x64de8000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ // ZFCVTZS <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x65dea000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZFCVTZS <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZS,
+ fixedBits: 0x64dfc000,
+ args: Zn_D__PgZ__Zd_D,
+ },
+ },
+ // ZFCVTZU
+ {
+ // ZFCVTZU <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x64dea000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x655fa000,
+ args: Zn_H__PgM__Zd_D,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.H
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x655ba000,
+ args: Zn_H__PgM__Zd_H,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x645ee000,
+ args: Zn_H__PgZ__Zd_H,
+ },
+ // ZFCVTZU <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x64dfe000,
+ args: Zn_D__PgZ__Zd_D,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x655da000,
+ args: Zn_H__PgM__Zd_S,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x645fa000,
+ args: Zn_H__PgZ__Zd_S,
+ },
+ // ZFCVTZU <Zn>.H, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x645fe000,
+ args: Zn_H__PgZ__Zd_D,
+ },
+ // ZFCVTZU <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x65dfa000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZFCVTZU <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x659da000,
+ args: Zn_S__PgM__Zd_S,
+ },
+ // ZFCVTZU <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x65d9a000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZFCVTZU <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x64dfa000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ // ZFCVTZU <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x65dda000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZFCVTZU <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZFCVTZU,
+ fixedBits: 0x649fa000,
+ args: Zn_S__PgZ__Zd_S,
+ },
+ },
+ // ZFDIV
+ {
+ // ZFDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFDIV,
+ fixedBits: 0x650d8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFDIVR
+ {
+ // ZFDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFDIVR,
+ fixedBits: 0x650c8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFDOT
+ {
+ // ZFDOT <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFDOT,
+ fixedBits: 0x64608400,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ // ZFDOT <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZFDOT,
+ fixedBits: 0x64208400,
+ args: Zm_B__Zn_B__Zda_H,
+ },
+ // ZFDOT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFDOT,
+ fixedBits: 0x64208000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZFEXPA
+ {
+ // ZFEXPA <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFEXPA,
+ fixedBits: 0x420b800,
+ args: Zn_T__Zd_T__1,
+ },
+ },
+ // ZFLOGB
+ {
+ // ZFLOGB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFLOGB,
+ fixedBits: 0x6518a000,
+ args: Zn_T__PgM__Zd_T__6,
+ },
+ // ZFLOGB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFLOGB,
+ fixedBits: 0x641e8000,
+ args: Zn_T__PgZ__Zd_T__6,
+ },
+ },
+ // ZFMAD
+ {
+ // ZFMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMAD,
+ fixedBits: 0x65208000,
+ args: Za_T__Zm_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZFMAX
+ {
+ // ZFMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMAX,
+ fixedBits: 0x65068000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFMAXNM
+ {
+ // ZFMAXNM <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMAXNM,
+ fixedBits: 0x65048000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFMAXNMP
+ {
+ // ZFMAXNMP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMAXNMP,
+ fixedBits: 0x64148000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFMAXNMQV
+ {
+ // ZFMAXNMQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZFMAXNMQV,
+ fixedBits: 0x6414a000,
+ args: Zn_Tb__Pg__Vd_T__2,
+ },
+ },
+ // ZFMAXP
+ {
+ // ZFMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMAXP,
+ fixedBits: 0x64168000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFMAXQV
+ {
+ // ZFMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZFMAXQV,
+ fixedBits: 0x6416a000,
+ args: Zn_Tb__Pg__Vd_T__2,
+ },
+ },
+ // ZFMIN
+ {
+ // ZFMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMIN,
+ fixedBits: 0x65078000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFMINNM
+ {
+ // ZFMINNM <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMINNM,
+ fixedBits: 0x65058000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFMINNMP
+ {
+ // ZFMINNMP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMINNMP,
+ fixedBits: 0x64158000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFMINNMQV
+ {
+ // ZFMINNMQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZFMINNMQV,
+ fixedBits: 0x6415a000,
+ args: Zn_Tb__Pg__Vd_T__2,
+ },
+ },
+ // ZFMINP
+ {
+ // ZFMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMINP,
+ fixedBits: 0x64178000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFMINQV
+ {
+ // ZFMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZFMINQV,
+ fixedBits: 0x6417a000,
+ args: Zn_Tb__Pg__Vd_T__2,
+ },
+ },
+ // ZFMLA
+ {
+ // ZFMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZFMLA,
+ fixedBits: 0x65200000,
+ args: Zm_T__Zn_T__PgM__Zda_T__1,
+ },
+ },
+ // ZFMLALB
+ {
+ // ZFMLALB <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFMLALB,
+ fixedBits: 0x64a08000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ // ZFMLALB <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZFMLALB,
+ fixedBits: 0x64a08800,
+ args: Zm_B__Zn_B__Zda_H,
+ },
+ },
+ // ZFMLALLBB
+ {
+ // ZFMLALLBB <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFMLALLBB,
+ fixedBits: 0x64208800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ },
+ // ZFMLALLBT
+ {
+ // ZFMLALLBT <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFMLALLBT,
+ fixedBits: 0x64209800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ },
+ // ZFMLALLTB
+ {
+ // ZFMLALLTB <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFMLALLTB,
+ fixedBits: 0x6420a800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ },
+ // ZFMLALLTT
+ {
+ // ZFMLALLTT <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFMLALLTT,
+ fixedBits: 0x6420b800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ },
+ // ZFMLALT
+ {
+ // ZFMLALT <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZFMLALT,
+ fixedBits: 0x64a09800,
+ args: Zm_B__Zn_B__Zda_H,
+ },
+ // ZFMLALT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFMLALT,
+ fixedBits: 0x64a08400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZFMLS
+ {
+ // ZFMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZFMLS,
+ fixedBits: 0x65202000,
+ args: Zm_T__Zn_T__PgM__Zda_T__1,
+ },
+ },
+ // ZFMLSLB
+ {
+ // ZFMLSLB <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFMLSLB,
+ fixedBits: 0x64a0a000,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZFMLSLT
+ {
+ // ZFMLSLT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFMLSLT,
+ fixedBits: 0x64a0a400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ },
+ // ZFMMLA
+ {
+ // ZFMMLA <Zm>.H, <Zn>.H, <Zda>.H
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x64a0e000,
+ args: Zm_H__Zn_H__Zda_H,
+ },
+ // ZFMMLA <Zm>.S, <Zn>.S, <Zda>.S
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x64a0e400,
+ args: Zm_S__Zn_S__Zda_S,
+ },
+ // ZFMMLA <Zm>.D, <Zn>.D, <Zda>.D
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x64e0e400,
+ args: Zm_D__Zn_D__Zda_D,
+ },
+ // ZFMMLA <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x6420e400,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ // ZFMMLA <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x6460e000,
+ args: Zm_B__Zn_B__Zda_H,
+ },
+ // ZFMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZFMMLA,
+ fixedBits: 0x6420e000,
+ args: Zm_B__Zn_B__Zda_S,
+ },
+ },
+ // ZFMSB
+ {
+ // ZFMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMSB,
+ fixedBits: 0x6520a000,
+ args: Za_T__Zm_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZFMUL
+ {
+ // ZFMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFMUL,
+ fixedBits: 0x65000800,
+ args: Zm_T__Zn_T__Zd_T__2,
+ },
+ // ZFMUL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMUL,
+ fixedBits: 0x65028000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFMULX
+ {
+ // ZFMULX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFMULX,
+ fixedBits: 0x650a8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFNEG
+ {
+ // ZFNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFNEG,
+ fixedBits: 0x41da000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFNEG,
+ fixedBits: 0x40da000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFNMAD
+ {
+ // ZFNMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFNMAD,
+ fixedBits: 0x6520c000,
+ args: Za_T__Zm_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZFNMLA
+ {
+ // ZFNMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZFNMLA,
+ fixedBits: 0x65204000,
+ args: Zm_T__Zn_T__PgM__Zda_T__1,
+ },
+ },
+ // ZFNMLS
+ {
+ // ZFNMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZFNMLS,
+ fixedBits: 0x65206000,
+ args: Zm_T__Zn_T__PgM__Zda_T__1,
+ },
+ },
+ // ZFNMSB
+ {
+ // ZFNMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFNMSB,
+ fixedBits: 0x6520e000,
+ args: Za_T__Zm_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZFRECPE
+ {
+ // ZFRECPE <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFRECPE,
+ fixedBits: 0x650e3000,
+ args: Zn_T__Zd_T__1,
+ },
+ },
+ // ZFRECPS
+ {
+ // ZFRECPS <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFRECPS,
+ fixedBits: 0x65001800,
+ args: Zm_T__Zn_T__Zd_T__3,
+ },
+ },
+ // ZFRECPX
+ {
+ // ZFRECPX <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRECPX,
+ fixedBits: 0x650ca000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFRECPX <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRECPX,
+ fixedBits: 0x641b8000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFRINT32X
+ {
+ // ZFRINT32X <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINT32X,
+ fixedBits: 0x6511a000,
+ args: Zn_T__PgM__Zd_T__3,
+ },
+ // ZFRINT32X <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINT32X,
+ fixedBits: 0x641ca000,
+ args: Zn_T__PgZ__Zd_T__3,
+ },
+ },
+ // ZFRINT32Z
+ {
+ // ZFRINT32Z <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINT32Z,
+ fixedBits: 0x641c8000,
+ args: Zn_T__PgZ__Zd_T__3,
+ },
+ // ZFRINT32Z <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINT32Z,
+ fixedBits: 0x6510a000,
+ args: Zn_T__PgM__Zd_T__3,
+ },
+ },
+ // ZFRINT64X
+ {
+ // ZFRINT64X <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINT64X,
+ fixedBits: 0x641da000,
+ args: Zn_T__PgZ__Zd_T__3,
+ },
+ // ZFRINT64X <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINT64X,
+ fixedBits: 0x6515a000,
+ args: Zn_T__PgM__Zd_T__3,
+ },
+ },
+ // ZFRINT64Z
+ {
+ // ZFRINT64Z <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINT64Z,
+ fixedBits: 0x6514a000,
+ args: Zn_T__PgM__Zd_T__3,
+ },
+ // ZFRINT64Z <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINT64Z,
+ fixedBits: 0x641d8000,
+ args: Zn_T__PgZ__Zd_T__3,
+ },
+ },
+ // ZFRINTA
+ {
+ // ZFRINTA <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTA,
+ fixedBits: 0x6504a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFRINTA <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTA,
+ fixedBits: 0x64198000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFRINTI
+ {
+ // ZFRINTI <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTI,
+ fixedBits: 0x6419e000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ // ZFRINTI <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTI,
+ fixedBits: 0x6507a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ },
+ // ZFRINTM
+ {
+ // ZFRINTM <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTM,
+ fixedBits: 0x6418c000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ // ZFRINTM <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTM,
+ fixedBits: 0x6502a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ },
+ // ZFRINTN
+ {
+ // ZFRINTN <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTN,
+ fixedBits: 0x6500a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFRINTN <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTN,
+ fixedBits: 0x64188000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFRINTP
+ {
+ // ZFRINTP <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTP,
+ fixedBits: 0x6501a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFRINTP <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTP,
+ fixedBits: 0x6418a000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFRINTX
+ {
+ // ZFRINTX <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTX,
+ fixedBits: 0x6419c000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ // ZFRINTX <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTX,
+ fixedBits: 0x6506a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ },
+ // ZFRINTZ
+ {
+ // ZFRINTZ <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFRINTZ,
+ fixedBits: 0x6503a000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ // ZFRINTZ <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFRINTZ,
+ fixedBits: 0x6418e000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ },
+ // ZFRSQRTE
+ {
+ // ZFRSQRTE <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFRSQRTE,
+ fixedBits: 0x650f3000,
+ args: Zn_T__Zd_T__1,
+ },
+ },
+ // ZFRSQRTS
+ {
+ // ZFRSQRTS <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFRSQRTS,
+ fixedBits: 0x65001c00,
+ args: Zm_T__Zn_T__Zd_T__3,
+ },
+ },
+ // ZFSCALE
+ {
+ // ZFSCALE <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFSCALE,
+ fixedBits: 0x65098000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFSQRT
+ {
+ // ZFSQRT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZFSQRT,
+ fixedBits: 0x641ba000,
+ args: Zn_T__PgZ__Zd_T__1,
+ },
+ // ZFSQRT <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZFSQRT,
+ fixedBits: 0x650da000,
+ args: Zn_T__PgM__Zd_T__1,
+ },
+ },
+ // ZFSUB
+ {
+ // ZFSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFSUB,
+ fixedBits: 0x65000400,
+ args: Zm_T__Zn_T__Zd_T__2,
+ },
+ // ZFSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFSUB,
+ fixedBits: 0x65018000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__3,
+ },
+ },
+ // ZFSUBR
+ {
+ // ZFSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZFSUBR,
+ fixedBits: 0x65038000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZFTSMUL
+ {
+ // ZFTSMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFTSMUL,
+ fixedBits: 0x65000c00,
+ args: Zm_T__Zn_T__Zd_T__3,
+ },
+ },
+ // ZFTSSEL
+ {
+ // ZFTSSEL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZFTSSEL,
+ fixedBits: 0x420b000,
+ args: Zm_T__Zn_T__Zd_T__3,
+ },
+ },
+ // ZHISTCNT
+ {
+ // ZHISTCNT <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZHISTCNT,
+ fixedBits: 0x45a0c000,
+ args: Zm_T__Zn_T__PgZ__Zd_T,
+ },
+ },
+ // ZHISTSEG
+ {
+ // ZHISTSEG <Zm>.B, <Zn>.B, <Zd>.B
+ {
+ goOp: AZHISTSEG,
+ fixedBits: 0x4520a000,
+ args: Zm_B__Zn_B__Zd_B,
+ },
+ },
+ // ZINCP
+ {
+ // ZINCP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZINCP,
+ fixedBits: 0x252c8000,
+ args: Pm_T__Zdn_T,
+ },
+ },
+ // ZLSL
+ {
+ // ZLSL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSL,
+ fixedBits: 0x4138000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZLSL <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSL,
+ fixedBits: 0x41b8000,
+ args: Zm_D__Zdn_T__PgM__Zdn_T,
+ },
+ // ZLSL <Zm>.D, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZLSL,
+ fixedBits: 0x4208c00,
+ args: Zm_D__Zn_T__Zd_T,
+ },
+ },
+ // ZLSLR
+ {
+ // ZLSLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSLR,
+ fixedBits: 0x4178000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZLSR
+ {
+ // ZLSR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSR,
+ fixedBits: 0x4118000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZLSR <Zm>.D, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZLSR,
+ fixedBits: 0x4208400,
+ args: Zm_D__Zn_T__Zd_T,
+ },
+ // ZLSR <Zm>.D, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSR,
+ fixedBits: 0x4198000,
+ args: Zm_D__Zdn_T__PgM__Zdn_T,
+ },
+ },
+ // ZLSRR
+ {
+ // ZLSRR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZLSRR,
+ fixedBits: 0x4158000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZMAD
+ {
+ // ZMAD <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZMAD,
+ fixedBits: 0x400c000,
+ args: Za_T__Zm_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZMADPT
+ {
+ // ZMADPT <Za>.D, <Zm>.D, <Zdn>.D
+ {
+ goOp: AZMADPT,
+ fixedBits: 0x44c0d800,
+ args: Za_D__Zm_D__Zdn_D,
+ },
+ },
+ // ZMATCH
+ {
+ // ZMATCH <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZMATCH,
+ fixedBits: 0x45208000,
+ args: Zm_T__Zn_T__PgZ__Pd_T__3,
+ },
+ },
+ // ZMLA
+ {
+ // ZMLA <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZMLA,
+ fixedBits: 0x4004000,
+ args: Zm_T__Zn_T__PgM__Zda_T__2,
+ },
+ },
+ // ZMLAPT
+ {
+ // ZMLAPT <Zm>.D, <Zn>.D, <Zda>.D
+ {
+ goOp: AZMLAPT,
+ fixedBits: 0x44c0d000,
+ args: Zm_D__Zn_D__Zda_D,
+ },
+ },
+ // ZMLS
+ {
+ // ZMLS <Zm>.<T>, <Zn>.<T>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZMLS,
+ fixedBits: 0x4006000,
+ args: Zm_T__Zn_T__PgM__Zda_T__2,
+ },
+ },
+ // ZMOVPRFX
+ {
+ // ZMOVPRFX <Zn>.<T>, <Pg>/<ZM>, <Zd>.<T>
+ {
+ goOp: AZMOVPRFX,
+ fixedBits: 0x4102000,
+ args: Zn_T__PgZM__Zd_T,
+ },
+ // ZMOVPRFX <Zn>, <Zd>
+ {
+ goOp: AZMOVPRFX,
+ fixedBits: 0x420bc00,
+ args: Zn__Zd,
+ },
+ },
+ // ZMSB
+ {
+ // ZMSB <Za>.<T>, <Zm>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZMSB,
+ fixedBits: 0x400e000,
+ args: Za_T__Zm_T__PgM__Zdn_T__2,
+ },
+ },
+ // ZMUL
+ {
+ // ZMUL <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZMUL,
+ fixedBits: 0x4206000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZMUL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZMUL,
+ fixedBits: 0x4100000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ },
+ // ZNBSL
+ {
+ // ZNBSL <Zk>.D, <Zm>.D, <Zdn>.D, <Zdn>.D
+ {
+ goOp: AZNBSL,
+ fixedBits: 0x4e03c00,
+ args: Zk_D__Zm_D__Zdn_D__Zdn_D,
+ },
+ },
+ // ZNEG
+ {
+ // ZNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZNEG,
+ fixedBits: 0x417a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZNEG,
+ fixedBits: 0x407a000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ },
+ // ZNMATCH
+ {
+ // ZNMATCH <Zm>.<T>, <Zn>.<T>, <Pg>/Z, <Pd>.<T>
+ {
+ goOp: AZNMATCH,
+ fixedBits: 0x45208010,
+ args: Zm_T__Zn_T__PgZ__Pd_T__3,
+ },
+ },
+ // ZNOT
+ {
+ // ZNOT <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZNOT,
+ fixedBits: 0x41ea000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZNOT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZNOT,
+ fixedBits: 0x40ea000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ },
+ // ZORQV
+ {
+ // ZORQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZORQV,
+ fixedBits: 0x41c2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
+ },
+ // ZORR
+ {
+ // ZORR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZORR,
+ fixedBits: 0x4180000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZORR <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZORR,
+ fixedBits: 0x4603000,
+ args: Zm_D__Zn_D__Zd_D,
+ },
+ },
+ // ZPMOV
+ {
+ // ZPMOV <Pn>.B, <Zd>
+ {
+ goOp: AZPMOV,
+ fixedBits: 0x52b3800,
+ args: Pn_B__Zd,
+ },
+ // ZPMOV <Zn>, <Pd>.B
+ {
+ goOp: AZPMOV,
+ fixedBits: 0x52a3800,
+ args: Zn__Pd_B,
+ },
+ },
+ // ZPMUL
+ {
+ // ZPMUL <Zm>.B, <Zn>.B, <Zd>.B
+ {
+ goOp: AZPMUL,
+ fixedBits: 0x4206400,
+ args: Zm_B__Zn_B__Zd_B,
+ },
+ },
+ // ZPMULLB
+ {
+ // ZPMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZPMULLB,
+ fixedBits: 0x45006800,
+ args: Zm_Tb__Zn_Tb__Zd_T__3,
+ },
+ // ZPMULLB <Zm>.D, <Zn>.D, <Zd>.Q
+ {
+ goOp: AZPMULLB,
+ fixedBits: 0x45006800,
+ args: Zm_D__Zn_D__Zd_Q,
+ },
},
- // ZSMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZPMULLT
{
- goOp: AZSMLSLB,
- fixedBits: 0x44005000,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZPMULLT <Zm>.D, <Zn>.D, <Zd>.Q
+ {
+ goOp: AZPMULLT,
+ fixedBits: 0x45006c00,
+ args: Zm_D__Zn_D__Zd_Q,
+ },
+ // ZPMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZPMULLT,
+ fixedBits: 0x45006c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__3,
+ },
},
- // ZSMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZRADDHNB
{
- goOp: AZSMLSLT,
- fixedBits: 0x44005400,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZRADDHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZRADDHNB,
+ fixedBits: 0x45206800,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ // ZRADDHNT
{
- goOp: AZSMMLA,
- fixedBits: 0x45009800,
- args: Zm_B__Zn_B__Zda_S,
+ // ZRADDHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZRADDHNT,
+ fixedBits: 0x45206c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSMULH <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZRAX1
{
- goOp: AZSMULH,
- fixedBits: 0x4120000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZRAX1 <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZRAX1,
+ fixedBits: 0x4520f400,
+ args: Zm_D__Zn_D__Zd_D,
+ },
},
- // ZSMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZRBIT
{
- goOp: AZSMULH,
- fixedBits: 0x4206800,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZRBIT <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZRBIT,
+ fixedBits: 0x527a000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
+ // ZRBIT <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZRBIT,
+ fixedBits: 0x5278000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
},
- // ZSMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZREV
{
- goOp: AZSMULLB,
- fixedBits: 0x45007000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZREV <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZREV,
+ fixedBits: 0x5383800,
+ args: Zn_T__Zd_T__2,
+ },
},
- // ZSMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZREVB
{
- goOp: AZSMULLT,
- fixedBits: 0x45007400,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZREVB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZREVB,
+ fixedBits: 0x524a000,
+ args: Zn_T__PgZ__Zd_T__4,
+ },
+ // ZREVB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZREVB,
+ fixedBits: 0x5248000,
+ args: Zn_T__PgM__Zd_T__4,
+ },
},
- // ZSPLICE <Zm>.<T>, <Zdn>.<T>, <Pv>, <Zdn>.<T>
+ // ZREVD
{
- goOp: AZSPLICE,
- fixedBits: 0x52c8000,
- args: Zm_T__Zdn_T__Pv__Zdn_T,
+ // ZREVD <Zn>.Q, <Pg>/M, <Zd>.Q
+ {
+ goOp: AZREVD,
+ fixedBits: 0x52e8000,
+ args: Zn_Q__PgM__Zd_Q,
+ },
+ // ZREVD <Zn>.Q, <Pg>/Z, <Zd>.Q
+ {
+ goOp: AZREVD,
+ fixedBits: 0x52ea000,
+ args: Zn_Q__PgZ__Zd_Q,
+ },
},
- // ZSQABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZREVH
{
- goOp: AZSQABS,
- fixedBits: 0x4408a000,
- args: Zn_T__PgM__Zd_T__2,
+ // ZREVH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZREVH,
+ fixedBits: 0x5a5a000,
+ args: Zn_T__PgZ__Zd_T__5,
+ },
+ // ZREVH <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZREVH,
+ fixedBits: 0x5a58000,
+ args: Zn_T__PgM__Zd_T__5,
+ },
},
- // ZSQABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZREVW
{
- goOp: AZSQABS,
- fixedBits: 0x440aa000,
- args: Zn_T__PgZ__Zd_T__2,
+ // ZREVW <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZREVW,
+ fixedBits: 0x5e6a000,
+ args: Zn_D__PgZ__Zd_D,
+ },
+ // ZREVW <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZREVW,
+ fixedBits: 0x5e68000,
+ args: Zn_D__PgM__Zd_D,
+ },
},
- // ZSQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZRSUBHNB
{
- goOp: AZSQADD,
- fixedBits: 0x44188000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZRSUBHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZRSUBHNB,
+ fixedBits: 0x45207800,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSQADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZRSUBHNT
{
- goOp: AZSQADD,
- fixedBits: 0x4201000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZRSUBHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZRSUBHNT,
+ fixedBits: 0x45207c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZSQDECP <Pm>.<T>, <Zdn>.<T>
+ // ZSABA
{
- goOp: AZSQDECP,
- fixedBits: 0x252a8000,
- args: Pm_T__Zdn_T,
+ // ZSABA <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZSABA,
+ fixedBits: 0x4500f800,
+ args: Zm_T__Zn_T__Zda_T__2,
+ },
},
- // ZSQDMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABAL
{
- goOp: AZSQDMLALB,
- fixedBits: 0x44006000,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABAL <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSABAL,
+ fixedBits: 0x4400d400,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSQDMLALBT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABALB
{
- goOp: AZSQDMLALBT,
- fixedBits: 0x44000800,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSABALB,
+ fixedBits: 0x4500c000,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSQDMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABALT
{
- goOp: AZSQDMLALT,
- fixedBits: 0x44006400,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSABALT,
+ fixedBits: 0x4500c400,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSQDMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABD
{
- goOp: AZSQDMLSLB,
- fixedBits: 0x44006800,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSABD,
+ fixedBits: 0x40c0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSQDMLSLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABDLB
{
- goOp: AZSQDMLSLBT,
- fixedBits: 0x44000c00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSABDLB,
+ fixedBits: 0x45003000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSQDMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSABDLT
{
- goOp: AZSQDMLSLT,
- fixedBits: 0x44006c00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSABDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSABDLT,
+ fixedBits: 0x45003400,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSQDMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSADALP
{
- goOp: AZSQDMULH,
- fixedBits: 0x4207000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSADALP <Zn>.<Tb>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZSADALP,
+ fixedBits: 0x4404a000,
+ args: Zn_Tb__PgM__Zda_T,
+ },
},
- // ZSQDMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSADDLB
{
- goOp: AZSQDMULLB,
- fixedBits: 0x45006000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSADDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSADDLB,
+ fixedBits: 0x45000000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSQDMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSADDLBT
{
- goOp: AZSQDMULLT,
- fixedBits: 0x45006400,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSADDLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSADDLBT,
+ fixedBits: 0x45008000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSQINCP <Pm>.<T>, <Zdn>.<T>
+ // ZSADDLT
{
- goOp: AZSQINCP,
- fixedBits: 0x25288000,
- args: Pm_T__Zdn_T,
+ // ZSADDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSADDLT,
+ fixedBits: 0x45000400,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSQNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZSADDWB
{
- goOp: AZSQNEG,
- fixedBits: 0x4409a000,
- args: Zn_T__PgM__Zd_T__2,
+ // ZSADDWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSADDWB,
+ fixedBits: 0x45004000,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZSQNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZSADDWT
{
- goOp: AZSQNEG,
- fixedBits: 0x440ba000,
- args: Zn_T__PgZ__Zd_T__2,
+ // ZSADDWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSADDWT,
+ fixedBits: 0x45004400,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZSQRDMLAH <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ // ZSBCLB
{
- goOp: AZSQRDMLAH,
- fixedBits: 0x44007000,
- args: Zm_T__Zn_T__Zda_T__2,
+ // ZSBCLB <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZSBCLB,
+ fixedBits: 0x4580d000,
+ args: Zm_T__Zn_T__Zda_T__1,
+ },
},
- // ZSQRDMLSH <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ // ZSBCLT
{
- goOp: AZSQRDMLSH,
- fixedBits: 0x44007400,
- args: Zm_T__Zn_T__Zda_T__2,
+ // ZSBCLT <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZSBCLT,
+ fixedBits: 0x4580d400,
+ args: Zm_T__Zn_T__Zda_T__1,
+ },
},
- // ZSQRDMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSCLAMP
{
- goOp: AZSQRDMULH,
- fixedBits: 0x4207400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSCLAMP,
+ fixedBits: 0x4400c000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZSQRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSCVTF
{
- goOp: AZSQRSHL,
- fixedBits: 0x440a8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x65d0a000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZSCVTF <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x650c3000,
+ args: Zn_Tb__Zd_T__1,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x65d4a000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x64dd8000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x65d6a000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x64ddc000,
+ args: Zn_D__PgZ__Zd_D,
+ },
+ // ZSCVTF <Zn>.H, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x645cc000,
+ args: Zn_H__PgZ__Zd_H,
+ },
+ // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x6554a000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x645d8000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x645dc000,
+ args: Zn_D__PgZ__Zd_H,
+ },
+ // ZSCVTF <Zn>.D, <Pg>/M, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x6556a000,
+ args: Zn_D__PgM__Zd_H,
+ },
+ // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x64dc8000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ // ZSCVTF <Zn>.H, <Pg>/M, <Zd>.H
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x6552a000,
+ args: Zn_H__PgM__Zd_H,
+ },
+ // ZSCVTF <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x649d8000,
+ args: Zn_S__PgZ__Zd_S,
+ },
+ // ZSCVTF <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZSCVTF,
+ fixedBits: 0x6594a000,
+ args: Zn_S__PgM__Zd_S,
+ },
},
- // ZSQRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSCVTFLT
{
- goOp: AZSQRSHLR,
- fixedBits: 0x440e8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSCVTFLT <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSCVTFLT,
+ fixedBits: 0x650c3800,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZSQSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSDIV
{
- goOp: AZSQSHL,
- fixedBits: 0x44088000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSDIV,
+ fixedBits: 0x4940000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ },
},
- // ZSQSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSDIVR
{
- goOp: AZSQSHLR,
- fixedBits: 0x440c8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSDIVR,
+ fixedBits: 0x4960000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ },
},
- // ZSQSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSDOT
{
- goOp: AZSQSUB,
- fixedBits: 0x441a8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSDOT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSDOT,
+ fixedBits: 0x44800000,
+ args: Zm_Tb__Zn_Tb__Zda_T__2,
+ },
+ // ZSDOT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZSDOT,
+ fixedBits: 0x4400c800,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ // ZSDOT <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZSDOT,
+ fixedBits: 0x44400000,
+ args: Zm_B__Zn_B__Zda_H,
+ },
},
- // ZSQSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSEL
{
- goOp: AZSQSUB,
- fixedBits: 0x4201800,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSEL <Zm>.<T>, <Zn>.<T>, <Pv>, <Zd>.<T>
+ {
+ goOp: AZSEL,
+ fixedBits: 0x520c000,
+ args: Zm_T__Zn_T__Pv__Zd_T,
+ },
},
- // ZSQSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSHADD
{
- goOp: AZSQSUBR,
- fixedBits: 0x441e8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSHADD,
+ fixedBits: 0x44108000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSQXTNB <Zn>.<Tb>, <Zd>.<T>
+ // ZSHSUB
{
- goOp: AZSQXTNB,
- fixedBits: 0x45204000,
- args: Zn_Tb__Zd_T__2,
+ // ZSHSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSHSUB,
+ fixedBits: 0x44128000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSQXTNT <Zn>.<Tb>, <Zd>.<T>
+ // ZSHSUBR
{
- goOp: AZSQXTNT,
- fixedBits: 0x45204400,
- args: Zn_Tb__Zd_T__2,
+ // ZSHSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSHSUBR,
+ fixedBits: 0x44168000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSQXTUNB <Zn>.<Tb>, <Zd>.<T>
+ // ZSM4E
{
- goOp: AZSQXTUNB,
- fixedBits: 0x45205000,
- args: Zn_Tb__Zd_T__2,
+ // ZSM4E <Zm>.S, <Zdn>.S, <Zdn>.S
+ {
+ goOp: AZSM4E,
+ fixedBits: 0x4523e000,
+ args: Zm_S__Zdn_S__Zdn_S,
+ },
},
- // ZSQXTUNT <Zn>.<Tb>, <Zd>.<T>
+ // ZSM4EKEY
{
- goOp: AZSQXTUNT,
- fixedBits: 0x45205400,
- args: Zn_Tb__Zd_T__2,
+ // ZSM4EKEY <Zm>.S, <Zn>.S, <Zd>.S
+ {
+ goOp: AZSM4EKEY,
+ fixedBits: 0x4520f000,
+ args: Zm_S__Zn_S__Zd_S,
+ },
},
- // ZSRHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSMAX
{
- goOp: AZSRHADD,
- fixedBits: 0x44148000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSMAX,
+ fixedBits: 0x4080000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSMAXP
{
- goOp: AZSRSHL,
- fixedBits: 0x44028000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSMAXP,
+ fixedBits: 0x4414a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSMAXQV
{
- goOp: AZSRSHLR,
- fixedBits: 0x44068000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZSMAXQV,
+ fixedBits: 0x40c2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
},
- // ZSSUBLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMIN
{
- goOp: AZSSUBLB,
- fixedBits: 0x45001000,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSMIN,
+ fixedBits: 0x40a0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSSUBLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMINP
{
- goOp: AZSSUBLBT,
- fixedBits: 0x45008800,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSMINP,
+ fixedBits: 0x4416a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSSUBLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMINQV
{
- goOp: AZSSUBLT,
- fixedBits: 0x45001400,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZSMINQV,
+ fixedBits: 0x40e2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
},
- // ZSSUBLTB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMLALB
{
- goOp: AZSSUBLTB,
- fixedBits: 0x45008c00,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSMLALB,
+ fixedBits: 0x44004000,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSSUBWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZSMLALT
{
- goOp: AZSSUBWB,
- fixedBits: 0x45005000,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZSMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSMLALT,
+ fixedBits: 0x44004400,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSSUBWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZSMLSLB
{
- goOp: AZSSUBWT,
- fixedBits: 0x45005400,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZSMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSMLSLB,
+ fixedBits: 0x44005000,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSMLSLT
{
- goOp: AZSUB,
- fixedBits: 0x4010000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSMLSLT,
+ fixedBits: 0x44005400,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSMMLA
{
- goOp: AZSUB,
- fixedBits: 0x4200400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZSMMLA,
+ fixedBits: 0x45009800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
},
- // ZSUBHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMULH
{
- goOp: AZSUBHNB,
- fixedBits: 0x45207000,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
+ // ZSMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSMULH,
+ fixedBits: 0x4206800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZSMULH <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSMULH,
+ fixedBits: 0x4120000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSUBHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSMULLB
{
- goOp: AZSUBHNT,
- fixedBits: 0x45207400,
- args: Zm_Tb__Zn_Tb__Zd_T__2,
+ // ZSMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSMULLB,
+ fixedBits: 0x45007000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSUBP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSMULLT
{
- goOp: AZSUBP,
- fixedBits: 0x4410a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSMULLT,
+ fixedBits: 0x45007400,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZSUBPT <Zm>.D, <Zdn>.D, <Pg>/M, <Zdn>.D
+ // ZSPLICE
{
- goOp: AZSUBPT,
- fixedBits: 0x4c50000,
- args: Zm_D__Zdn_D__PgM__Zdn_D,
+ // ZSPLICE <Zm>.<T>, <Zdn>.<T>, <Pv>, <Zdn>.<T>
+ {
+ goOp: AZSPLICE,
+ fixedBits: 0x52c8000,
+ args: Zm_T__Zdn_T__Pv__Zdn_T,
+ },
},
- // ZSUBPT <Zm>.D, <Zn>.D, <Zd>.D
+ // ZSQABS
{
- goOp: AZSUBPT,
- fixedBits: 0x4e00c00,
- args: Zm_D__Zn_D__Zd_D,
+ // ZSQABS <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZSQABS,
+ fixedBits: 0x4408a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZSQABS <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZSQABS,
+ fixedBits: 0x440aa000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
},
- // ZSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSQADD
{
- goOp: AZSUBR,
- fixedBits: 0x4030000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSQADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSQADD,
+ fixedBits: 0x4201000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZSQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQADD,
+ fixedBits: 0x44188000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZSUNPKHI <Zn>.<Tb>, <Zd>.<T>
+ // ZSQDECP
{
- goOp: AZSUNPKHI,
- fixedBits: 0x5313800,
- args: Zn_Tb__Zd_T__1,
+ // ZSQDECP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZSQDECP,
+ fixedBits: 0x252a8000,
+ args: Pm_T__Zdn_T,
+ },
},
- // ZSUNPKLO <Zn>.<Tb>, <Zd>.<T>
+ // ZSQDMLALB
{
- goOp: AZSUNPKLO,
- fixedBits: 0x5303800,
- args: Zn_Tb__Zd_T__1,
+ // ZSQDMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLALB,
+ fixedBits: 0x44006000,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSUQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSQDMLALBT
{
- goOp: AZSUQADD,
- fixedBits: 0x441c8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSQDMLALBT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLALBT,
+ fixedBits: 0x44000800,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSXTB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZSQDMLALT
{
- goOp: AZSXTB,
- fixedBits: 0x410a000,
- args: Zn_T__PgM__Zd_T__4,
+ // ZSQDMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLALT,
+ fixedBits: 0x44006400,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSXTB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZSQDMLSLB
{
- goOp: AZSXTB,
- fixedBits: 0x400a000,
- args: Zn_T__PgZ__Zd_T__4,
+ // ZSQDMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLSLB,
+ fixedBits: 0x44006800,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSXTH <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZSQDMLSLBT
{
- goOp: AZSXTH,
- fixedBits: 0x492a000,
- args: Zn_T__PgM__Zd_T__5,
+ // ZSQDMLSLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLSLBT,
+ fixedBits: 0x44000c00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSXTH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZSQDMLSLT
{
- goOp: AZSXTH,
- fixedBits: 0x482a000,
- args: Zn_T__PgZ__Zd_T__5,
+ // ZSQDMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZSQDMLSLT,
+ fixedBits: 0x44006c00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZSXTW <Zn>.D, <Pg>/M, <Zd>.D
+ // ZSQDMULH
{
- goOp: AZSXTW,
- fixedBits: 0x4d4a000,
- args: Zn_D__PgM__Zd_D,
+ // ZSQDMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSQDMULH,
+ fixedBits: 0x4207000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZSXTW <Zn>.D, <Pg>/Z, <Zd>.D
+ // ZSQDMULLB
{
- goOp: AZSXTW,
- fixedBits: 0x4c4a000,
- args: Zn_D__PgZ__Zd_D,
+ // ZSQDMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQDMULLB,
+ fixedBits: 0x45006000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZTBX <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSQDMULLT
{
- goOp: AZTBX,
- fixedBits: 0x5202c00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSQDMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQDMULLT,
+ fixedBits: 0x45006400,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZTBXQ <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSQINCP
{
- goOp: AZTBXQ,
- fixedBits: 0x5203400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSQINCP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZSQINCP,
+ fixedBits: 0x25288000,
+ args: Pm_T__Zdn_T,
+ },
},
- // PTRN1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZSQNEG
{
- goOp: APTRN1,
- fixedBits: 0x5205000,
- args: Pm_T__Pn_T__Pd_T,
+ // ZSQNEG <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZSQNEG,
+ fixedBits: 0x4409a000,
+ args: Zn_T__PgM__Zd_T__2,
+ },
+ // ZSQNEG <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZSQNEG,
+ fixedBits: 0x440ba000,
+ args: Zn_T__PgZ__Zd_T__2,
+ },
},
- // PTRN2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZSQRDMLAH
{
- goOp: APTRN2,
- fixedBits: 0x5205400,
- args: Pm_T__Pn_T__Pd_T,
+ // ZSQRDMLAH <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZSQRDMLAH,
+ fixedBits: 0x44007000,
+ args: Zm_T__Zn_T__Zda_T__2,
+ },
},
- // ZTRN1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSQRDMLSH
{
- goOp: AZTRN1,
- fixedBits: 0x5207000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSQRDMLSH <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZSQRDMLSH,
+ fixedBits: 0x44007400,
+ args: Zm_T__Zn_T__Zda_T__2,
+ },
},
- // ZTRN1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZSQRDMULH
{
- goOp: AZTRN1,
- fixedBits: 0x5a01800,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZSQRDMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSQRDMULH,
+ fixedBits: 0x4207400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZTRN2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSQRSHL
{
- goOp: AZTRN2,
- fixedBits: 0x5207400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSQRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQRSHL,
+ fixedBits: 0x440a8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZTRN2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZSQRSHLR
{
- goOp: AZTRN2,
- fixedBits: 0x5a01c00,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZSQRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQRSHLR,
+ fixedBits: 0x440e8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUABA <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ // ZSQSHL
{
- goOp: AZUABA,
- fixedBits: 0x4500fc00,
- args: Zm_T__Zn_T__Zda_T__2,
+ // ZSQSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQSHL,
+ fixedBits: 0x44088000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUABAL <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSQSHLR
{
- goOp: AZUABAL,
- fixedBits: 0x4400dc00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSQSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQSHLR,
+ fixedBits: 0x440c8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUABALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSQSUB
{
- goOp: AZUABALB,
- fixedBits: 0x4500c800,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSQSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSQSUB,
+ fixedBits: 0x4201800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZSQSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQSUB,
+ fixedBits: 0x441a8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUABALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZSQSUBR
{
- goOp: AZUABALT,
- fixedBits: 0x4500cc00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZSQSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSQSUBR,
+ fixedBits: 0x441e8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZSQXTNB
{
- goOp: AZUABD,
- fixedBits: 0x40d0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZSQXTNB <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQXTNB,
+ fixedBits: 0x45204000,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUABDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSQXTNT
{
- goOp: AZUABDLB,
- fixedBits: 0x45003800,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSQXTNT <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQXTNT,
+ fixedBits: 0x45204400,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUABDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSQXTUNB
{
- goOp: AZUABDLT,
- fixedBits: 0x45003c00,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSQXTUNB <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQXTUNB,
+ fixedBits: 0x45205000,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUADALP <Zn>.<Tb>, <Pg>/M, <Zda>.<T>
+ // ZSQXTUNT
{
- goOp: AZUADALP,
- fixedBits: 0x4405a000,
- args: Zn_Tb__PgM__Zda_T,
+ // ZSQXTUNT <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSQXTUNT,
+ fixedBits: 0x45205400,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUADDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSRHADD
{
- goOp: AZUADDLB,
- fixedBits: 0x45000800,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSRHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSRHADD,
+ fixedBits: 0x44148000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUADDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZSRSHL
{
- goOp: AZUADDLT,
- fixedBits: 0x45000c00,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZSRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSRSHL,
+ fixedBits: 0x44028000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUADDWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZSRSHLR
{
- goOp: AZUADDWB,
- fixedBits: 0x45004800,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZSRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSRSHLR,
+ fixedBits: 0x44068000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUADDWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZSSUBLB
{
- goOp: AZUADDWT,
- fixedBits: 0x45004c00,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZSSUBLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSSUBLB,
+ fixedBits: 0x45001000,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZSSUBLBT
{
- goOp: AZUCLAMP,
- fixedBits: 0x4400c400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZSSUBLBT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSSUBLBT,
+ fixedBits: 0x45008800,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUCVTF <Zn>.<Tb>, <Zd>.<T>
+ // ZSSUBLT
{
- goOp: AZUCVTF,
- fixedBits: 0x650c3400,
- args: Zn_Tb__Zd_T__1,
+ // ZSSUBLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSSUBLT,
+ fixedBits: 0x45001400,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUCVTF <Zn>.H, <Pg>/M, <Zd>.H
+ // ZSSUBLTB
{
- goOp: AZUCVTF,
- fixedBits: 0x6553a000,
- args: Zn_H__PgM__Zd_H,
+ // ZSSUBLTB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSSUBLTB,
+ fixedBits: 0x45008c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUCVTF <Zn>.H, <Pg>/Z, <Zd>.H
+ // ZSSUBWB
{
- goOp: AZUCVTF,
- fixedBits: 0x645ce000,
- args: Zn_H__PgZ__Zd_H,
+ // ZSSUBWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSSUBWB,
+ fixedBits: 0x45005000,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.H
+ // ZSSUBWT
{
- goOp: AZUCVTF,
- fixedBits: 0x6555a000,
- args: Zn_S__PgM__Zd_H,
+ // ZSSUBWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSSUBWT,
+ fixedBits: 0x45005400,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.H
+ // ZSUB
{
- goOp: AZUCVTF,
- fixedBits: 0x645da000,
- args: Zn_S__PgZ__Zd_H,
+ // ZSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZSUB,
+ fixedBits: 0x4200400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSUB,
+ fixedBits: 0x4010000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.S
+ // ZSUBHNB
{
- goOp: AZUCVTF,
- fixedBits: 0x6595a000,
- args: Zn_S__PgM__Zd_S,
+ // ZSUBHNB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSUBHNB,
+ fixedBits: 0x45207000,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.S
+ // ZSUBHNT
{
- goOp: AZUCVTF,
- fixedBits: 0x649da000,
- args: Zn_S__PgZ__Zd_S,
+ // ZSUBHNT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSUBHNT,
+ fixedBits: 0x45207400,
+ args: Zm_Tb__Zn_Tb__Zd_T__2,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.D
+ // ZSUBP
{
- goOp: AZUCVTF,
- fixedBits: 0x65d1a000,
- args: Zn_S__PgM__Zd_D,
+ // ZSUBP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSUBP,
+ fixedBits: 0x4410a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.D
+ // ZSUBPT
{
- goOp: AZUCVTF,
- fixedBits: 0x64dca000,
- args: Zn_S__PgZ__Zd_D,
+ // ZSUBPT <Zm>.D, <Zn>.D, <Zd>.D
+ {
+ goOp: AZSUBPT,
+ fixedBits: 0x4e00c00,
+ args: Zm_D__Zn_D__Zd_D,
+ },
+ // ZSUBPT <Zm>.D, <Zdn>.D, <Pg>/M, <Zdn>.D
+ {
+ goOp: AZSUBPT,
+ fixedBits: 0x4c50000,
+ args: Zm_D__Zdn_D__PgM__Zdn_D,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.H
+ // ZSUBR
{
- goOp: AZUCVTF,
- fixedBits: 0x6557a000,
- args: Zn_D__PgM__Zd_H,
+ // ZSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSUBR,
+ fixedBits: 0x4030000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.H
+ // ZSUNPKHI
{
- goOp: AZUCVTF,
- fixedBits: 0x645de000,
- args: Zn_D__PgZ__Zd_H,
+ // ZSUNPKHI <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSUNPKHI,
+ fixedBits: 0x5313800,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.S
+ // ZSUNPKLO
{
- goOp: AZUCVTF,
- fixedBits: 0x65d5a000,
- args: Zn_D__PgM__Zd_S,
+ // ZSUNPKLO <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZSUNPKLO,
+ fixedBits: 0x5303800,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.S
+ // ZSUQADD
{
- goOp: AZUCVTF,
- fixedBits: 0x64dda000,
- args: Zn_D__PgZ__Zd_S,
+ // ZSUQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZSUQADD,
+ fixedBits: 0x441c8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.D
+ // ZSXTB
{
- goOp: AZUCVTF,
- fixedBits: 0x65d7a000,
- args: Zn_D__PgM__Zd_D,
+ // ZSXTB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZSXTB,
+ fixedBits: 0x400a000,
+ args: Zn_T__PgZ__Zd_T__4,
+ },
+ // ZSXTB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZSXTB,
+ fixedBits: 0x410a000,
+ args: Zn_T__PgM__Zd_T__4,
+ },
},
- // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.D
+ // ZSXTH
{
- goOp: AZUCVTF,
- fixedBits: 0x64dde000,
- args: Zn_D__PgZ__Zd_D,
+ // ZSXTH <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZSXTH,
+ fixedBits: 0x492a000,
+ args: Zn_T__PgM__Zd_T__5,
+ },
+ // ZSXTH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZSXTH,
+ fixedBits: 0x482a000,
+ args: Zn_T__PgZ__Zd_T__5,
+ },
},
- // ZUCVTFLT <Zn>.<Tb>, <Zd>.<T>
+ // ZSXTW
{
- goOp: AZUCVTFLT,
- fixedBits: 0x650c3c00,
- args: Zn_Tb__Zd_T__1,
+ // ZSXTW <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZSXTW,
+ fixedBits: 0x4d4a000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZSXTW <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZSXTW,
+ fixedBits: 0x4c4a000,
+ args: Zn_D__PgZ__Zd_D,
+ },
},
- // ZUDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZTBX
{
- goOp: AZUDIV,
- fixedBits: 0x4950000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ // ZTBX <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZTBX,
+ fixedBits: 0x5202c00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZUDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZTBXQ
{
- goOp: AZUDIVR,
- fixedBits: 0x4970000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ // ZTBXQ <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZTBXQ,
+ fixedBits: 0x5203400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZUDOT <Zm>.B, <Zn>.B, <Zda>.H
+ // ZTRN1
{
- goOp: AZUDOT,
- fixedBits: 0x44400400,
- args: Zm_B__Zn_B__Zda_H,
+ // ZTRN1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZTRN1,
+ fixedBits: 0x5207000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZTRN1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZTRN1,
+ fixedBits: 0x5a01800,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // ZUDOT <Zm>.H, <Zn>.H, <Zda>.S
+ // ZTRN2
{
- goOp: AZUDOT,
- fixedBits: 0x4400cc00,
- args: Zm_H__Zn_H__Zda_S,
+ // ZTRN2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZTRN2,
+ fixedBits: 0x5207400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZTRN2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZTRN2,
+ fixedBits: 0x5a01c00,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // ZUDOT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZUABA
{
- goOp: AZUDOT,
- fixedBits: 0x44800400,
- args: Zm_Tb__Zn_Tb__Zda_T__2,
+ // ZUABA <Zm>.<T>, <Zn>.<T>, <Zda>.<T>
+ {
+ goOp: AZUABA,
+ fixedBits: 0x4500fc00,
+ args: Zm_T__Zn_T__Zda_T__2,
+ },
},
- // ZUHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUABAL
{
- goOp: AZUHADD,
- fixedBits: 0x44118000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUABAL <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUABAL,
+ fixedBits: 0x4400dc00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUHSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUABALB
{
- goOp: AZUHSUB,
- fixedBits: 0x44138000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUABALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUABALB,
+ fixedBits: 0x4500c800,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUHSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUABALT
{
- goOp: AZUHSUBR,
- fixedBits: 0x44178000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUABALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUABALT,
+ fixedBits: 0x4500cc00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUABD
{
- goOp: AZUMAX,
- fixedBits: 0x4090000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUABD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUABD,
+ fixedBits: 0x40d0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUABDLB
{
- goOp: AZUMAXP,
- fixedBits: 0x4415a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUABDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUABDLB,
+ fixedBits: 0x45003800,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // ZUABDLT
{
- goOp: AZUMAXQV,
- fixedBits: 0x40d2000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // ZUABDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUABDLT,
+ fixedBits: 0x45003c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUADALP
{
- goOp: AZUMIN,
- fixedBits: 0x40b0000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUADALP <Zn>.<Tb>, <Pg>/M, <Zda>.<T>
+ {
+ goOp: AZUADALP,
+ fixedBits: 0x4405a000,
+ args: Zn_Tb__PgM__Zda_T,
+ },
},
- // ZUMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUADDLB
{
- goOp: AZUMINP,
- fixedBits: 0x4417a000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUADDLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUADDLB,
+ fixedBits: 0x45000800,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ // ZUADDLT
{
- goOp: AZUMINQV,
- fixedBits: 0x40f2000,
- args: Zn_Tb__Pg__Vd_T__1,
+ // ZUADDLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUADDLT,
+ fixedBits: 0x45000c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZUADDWB
{
- goOp: AZUMLALB,
- fixedBits: 0x44004800,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZUADDWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUADDWB,
+ fixedBits: 0x45004800,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZUADDWT
{
- goOp: AZUMLALT,
- fixedBits: 0x44004c00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZUADDWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUADDWT,
+ fixedBits: 0x45004c00,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZUCLAMP
{
- goOp: AZUMLSLB,
- fixedBits: 0x44005800,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZUCLAMP <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUCLAMP,
+ fixedBits: 0x4400c400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZUMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ // ZUCVTF
{
- goOp: AZUMLSLT,
- fixedBits: 0x44005c00,
- args: Zm_Tb__Zn_Tb__Zda_T__1,
+ // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x64dda000,
+ args: Zn_D__PgZ__Zd_S,
+ },
+ // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x6557a000,
+ args: Zn_D__PgM__Zd_H,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x645da000,
+ args: Zn_S__PgZ__Zd_H,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x6595a000,
+ args: Zn_S__PgM__Zd_S,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x649da000,
+ args: Zn_S__PgZ__Zd_S,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.D
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x65d1a000,
+ args: Zn_S__PgM__Zd_D,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x64dca000,
+ args: Zn_S__PgZ__Zd_D,
+ },
+ // ZUCVTF <Zn>.H, <Pg>/M, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x6553a000,
+ args: Zn_H__PgM__Zd_H,
+ },
+ // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x645de000,
+ args: Zn_D__PgZ__Zd_H,
+ },
+ // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.S
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x65d5a000,
+ args: Zn_D__PgM__Zd_S,
+ },
+ // ZUCVTF <Zn>.H, <Pg>/Z, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x645ce000,
+ args: Zn_H__PgZ__Zd_H,
+ },
+ // ZUCVTF <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x65d7a000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZUCVTF <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x64dde000,
+ args: Zn_D__PgZ__Zd_D,
+ },
+ // ZUCVTF <Zn>.S, <Pg>/M, <Zd>.H
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x6555a000,
+ args: Zn_S__PgM__Zd_H,
+ },
+ // ZUCVTF <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUCVTF,
+ fixedBits: 0x650c3400,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ // ZUCVTFLT
{
- goOp: AZUMMLA,
- fixedBits: 0x45c09800,
- args: Zm_B__Zn_B__Zda_S,
+ // ZUCVTFLT <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUCVTFLT,
+ fixedBits: 0x650c3c00,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUMULH <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUDIV
{
- goOp: AZUMULH,
- fixedBits: 0x4130000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUDIV <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUDIV,
+ fixedBits: 0x4950000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ },
},
- // ZUMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUDIVR
{
- goOp: AZUMULH,
- fixedBits: 0x4206c00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUDIVR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUDIVR,
+ fixedBits: 0x4970000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__4,
+ },
},
- // ZUMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZUDOT
{
- goOp: AZUMULLB,
- fixedBits: 0x45007800,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZUDOT <Zm>.B, <Zn>.B, <Zda>.H
+ {
+ goOp: AZUDOT,
+ fixedBits: 0x44400400,
+ args: Zm_B__Zn_B__Zda_H,
+ },
+ // ZUDOT <Zm>.H, <Zn>.H, <Zda>.S
+ {
+ goOp: AZUDOT,
+ fixedBits: 0x4400cc00,
+ args: Zm_H__Zn_H__Zda_S,
+ },
+ // ZUDOT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUDOT,
+ fixedBits: 0x44800400,
+ args: Zm_Tb__Zn_Tb__Zda_T__2,
+ },
},
- // ZUMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZUHADD
{
- goOp: AZUMULLT,
- fixedBits: 0x45007c00,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZUHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUHADD,
+ fixedBits: 0x44118000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUHSUB
{
- goOp: AZUQADD,
- fixedBits: 0x44198000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUHSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUHSUB,
+ fixedBits: 0x44138000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUHSUBR
{
- goOp: AZUQADD,
- fixedBits: 0x4201400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUHSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUHSUBR,
+ fixedBits: 0x44178000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQDECP <Pm>.<T>, <Zdn>.<T>
+ // ZUMAX
{
- goOp: AZUQDECP,
- fixedBits: 0x252b8000,
- args: Pm_T__Zdn_T,
+ // ZUMAX <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUMAX,
+ fixedBits: 0x4090000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQINCP <Pm>.<T>, <Zdn>.<T>
+ // ZUMAXP
{
- goOp: AZUQINCP,
- fixedBits: 0x25298000,
- args: Pm_T__Zdn_T,
+ // ZUMAXP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUMAXP,
+ fixedBits: 0x4415a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMAXQV
{
- goOp: AZUQRSHL,
- fixedBits: 0x440b8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMAXQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZUMAXQV,
+ fixedBits: 0x40d2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
},
- // ZUQRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMIN
{
- goOp: AZUQRSHLR,
- fixedBits: 0x440f8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMIN <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUMIN,
+ fixedBits: 0x40b0000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMINP
{
- goOp: AZUQSHL,
- fixedBits: 0x44098000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMINP <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUMINP,
+ fixedBits: 0x4417a000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUQSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMINQV
{
- goOp: AZUQSHLR,
- fixedBits: 0x440d8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMINQV <Zn>.<Tb>, <Pg>, <Vd>.<T>
+ {
+ goOp: AZUMINQV,
+ fixedBits: 0x40f2000,
+ args: Zn_Tb__Pg__Vd_T__1,
+ },
},
- // ZUQSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMLALB
{
- goOp: AZUQSUB,
- fixedBits: 0x441b8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMLALB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUMLALB,
+ fixedBits: 0x44004800,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUQSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUMLALT
{
- goOp: AZUQSUB,
- fixedBits: 0x4201c00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUMLALT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUMLALT,
+ fixedBits: 0x44004c00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUQSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMLSLB
{
- goOp: AZUQSUBR,
- fixedBits: 0x441f8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMLSLB <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUMLSLB,
+ fixedBits: 0x44005800,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUQXTNB <Zn>.<Tb>, <Zd>.<T>
+ // ZUMLSLT
{
- goOp: AZUQXTNB,
- fixedBits: 0x45204800,
- args: Zn_Tb__Zd_T__2,
+ // ZUMLSLT <Zm>.<Tb>, <Zn>.<Tb>, <Zda>.<T>
+ {
+ goOp: AZUMLSLT,
+ fixedBits: 0x44005c00,
+ args: Zm_Tb__Zn_Tb__Zda_T__1,
+ },
},
- // ZUQXTNT <Zn>.<Tb>, <Zd>.<T>
+ // ZUMMLA
{
- goOp: AZUQXTNT,
- fixedBits: 0x45204c00,
- args: Zn_Tb__Zd_T__2,
+ // ZUMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZUMMLA,
+ fixedBits: 0x45c09800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
},
- // ZURECPE <Zn>.S, <Pg>/M, <Zd>.S
+ // ZUMULH
{
- goOp: AZURECPE,
- fixedBits: 0x4480a000,
- args: Zn_S__PgM__Zd_S,
+ // ZUMULH <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUMULH,
+ fixedBits: 0x4130000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZUMULH <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUMULH,
+ fixedBits: 0x4206c00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZURECPE <Zn>.S, <Pg>/Z, <Zd>.S
+ // ZUMULLB
{
- goOp: AZURECPE,
- fixedBits: 0x4482a000,
- args: Zn_S__PgZ__Zd_S,
+ // ZUMULLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUMULLB,
+ fixedBits: 0x45007800,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZURHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUMULLT
{
- goOp: AZURHADD,
- fixedBits: 0x44158000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUMULLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUMULLT,
+ fixedBits: 0x45007c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZURSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUQADD
{
- goOp: AZURSHL,
- fixedBits: 0x44038000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQADD,
+ fixedBits: 0x44198000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZUQADD <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUQADD,
+ fixedBits: 0x4201400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZURSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUQDECP
{
- goOp: AZURSHLR,
- fixedBits: 0x44078000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUQDECP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZUQDECP,
+ fixedBits: 0x252b8000,
+ args: Pm_T__Zdn_T,
+ },
},
- // ZURSQRTE <Zn>.S, <Pg>/M, <Zd>.S
+ // ZUQINCP
{
- goOp: AZURSQRTE,
- fixedBits: 0x4481a000,
- args: Zn_S__PgM__Zd_S,
+ // ZUQINCP <Pm>.<T>, <Zdn>.<T>
+ {
+ goOp: AZUQINCP,
+ fixedBits: 0x25298000,
+ args: Pm_T__Zdn_T,
+ },
},
- // ZURSQRTE <Zn>.S, <Pg>/Z, <Zd>.S
+ // ZUQRSHL
{
- goOp: AZURSQRTE,
- fixedBits: 0x4483a000,
- args: Zn_S__PgZ__Zd_S,
+ // ZUQRSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQRSHL,
+ fixedBits: 0x440b8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUSDOT <Zm>.B, <Zn>.B, <Zda>.S
+ // ZUQRSHLR
{
- goOp: AZUSDOT,
- fixedBits: 0x44807800,
- args: Zm_B__Zn_B__Zda_S,
+ // ZUQRSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQRSHLR,
+ fixedBits: 0x440f8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUSMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ // ZUQSHL
{
- goOp: AZUSMMLA,
- fixedBits: 0x45809800,
- args: Zm_B__Zn_B__Zda_S,
+ // ZUQSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQSHL,
+ fixedBits: 0x44098000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUSQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ // ZUQSHLR
{
- goOp: AZUSQADD,
- fixedBits: 0x441d8000,
- args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ // ZUQSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQSHLR,
+ fixedBits: 0x440d8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUSUBLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZUQSUB
{
- goOp: AZUSUBLB,
- fixedBits: 0x45001800,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZUQSUB <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQSUB,
+ fixedBits: 0x441b8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
+ // ZUQSUB <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUQSUB,
+ fixedBits: 0x4201c00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZUSUBLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ // ZUQSUBR
{
- goOp: AZUSUBLT,
- fixedBits: 0x45001c00,
- args: Zm_Tb__Zn_Tb__Zd_T__1,
+ // ZUQSUBR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUQSUBR,
+ fixedBits: 0x441f8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUSUBWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZUQXTNB
{
- goOp: AZUSUBWB,
- fixedBits: 0x45005800,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZUQXTNB <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUQXTNB,
+ fixedBits: 0x45204800,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUSUBWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ // ZUQXTNT
{
- goOp: AZUSUBWT,
- fixedBits: 0x45005c00,
- args: Zm_Tb__Zn_T__Zd_T,
+ // ZUQXTNT <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUQXTNT,
+ fixedBits: 0x45204c00,
+ args: Zn_Tb__Zd_T__2,
+ },
},
- // ZUUNPKHI <Zn>.<Tb>, <Zd>.<T>
+ // ZURECPE
{
- goOp: AZUUNPKHI,
- fixedBits: 0x5333800,
- args: Zn_Tb__Zd_T__1,
+ // ZURECPE <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZURECPE,
+ fixedBits: 0x4480a000,
+ args: Zn_S__PgM__Zd_S,
+ },
+ // ZURECPE <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZURECPE,
+ fixedBits: 0x4482a000,
+ args: Zn_S__PgZ__Zd_S,
+ },
},
- // ZUUNPKLO <Zn>.<Tb>, <Zd>.<T>
+ // ZURHADD
{
- goOp: AZUUNPKLO,
- fixedBits: 0x5323800,
- args: Zn_Tb__Zd_T__1,
+ // ZURHADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZURHADD,
+ fixedBits: 0x44158000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUXTB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZURSHL
{
- goOp: AZUXTB,
- fixedBits: 0x411a000,
- args: Zn_T__PgM__Zd_T__4,
+ // ZURSHL <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZURSHL,
+ fixedBits: 0x44038000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUXTB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZURSHLR
{
- goOp: AZUXTB,
- fixedBits: 0x401a000,
- args: Zn_T__PgZ__Zd_T__4,
+ // ZURSHLR <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZURSHLR,
+ fixedBits: 0x44078000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // ZUXTH <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ // ZURSQRTE
{
- goOp: AZUXTH,
- fixedBits: 0x493a000,
- args: Zn_T__PgM__Zd_T__5,
+ // ZURSQRTE <Zn>.S, <Pg>/M, <Zd>.S
+ {
+ goOp: AZURSQRTE,
+ fixedBits: 0x4481a000,
+ args: Zn_S__PgM__Zd_S,
+ },
+ // ZURSQRTE <Zn>.S, <Pg>/Z, <Zd>.S
+ {
+ goOp: AZURSQRTE,
+ fixedBits: 0x4483a000,
+ args: Zn_S__PgZ__Zd_S,
+ },
},
- // ZUXTH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ // ZUSDOT
{
- goOp: AZUXTH,
- fixedBits: 0x483a000,
- args: Zn_T__PgZ__Zd_T__5,
+ // ZUSDOT <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZUSDOT,
+ fixedBits: 0x44807800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
},
- // ZUXTW <Zn>.D, <Pg>/M, <Zd>.D
+ // ZUSMMLA
{
- goOp: AZUXTW,
- fixedBits: 0x4d5a000,
- args: Zn_D__PgM__Zd_D,
+ // ZUSMMLA <Zm>.B, <Zn>.B, <Zda>.S
+ {
+ goOp: AZUSMMLA,
+ fixedBits: 0x45809800,
+ args: Zm_B__Zn_B__Zda_S,
+ },
},
- // ZUXTW <Zn>.D, <Pg>/Z, <Zd>.D
+ // ZUSQADD
{
- goOp: AZUXTW,
- fixedBits: 0x4c5a000,
- args: Zn_D__PgZ__Zd_D,
+ // ZUSQADD <Zm>.<T>, <Zdn>.<T>, <Pg>/M, <Zdn>.<T>
+ {
+ goOp: AZUSQADD,
+ fixedBits: 0x441d8000,
+ args: Zm_T__Zdn_T__PgM__Zdn_T__1,
+ },
},
- // PUZP1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZUSUBLB
{
- goOp: APUZP1,
- fixedBits: 0x5204800,
- args: Pm_T__Pn_T__Pd_T,
+ // ZUSUBLB <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUSUBLB,
+ fixedBits: 0x45001800,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // PUZP2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZUSUBLT
{
- goOp: APUZP2,
- fixedBits: 0x5204c00,
- args: Pm_T__Pn_T__Pd_T,
+ // ZUSUBLT <Zm>.<Tb>, <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUSUBLT,
+ fixedBits: 0x45001c00,
+ args: Zm_Tb__Zn_Tb__Zd_T__1,
+ },
},
- // ZUZP1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUSUBWB
{
- goOp: AZUZP1,
- fixedBits: 0x5206800,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUSUBWB <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUSUBWB,
+ fixedBits: 0x45005800,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUZP1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZUSUBWT
{
- goOp: AZUZP1,
- fixedBits: 0x5a00800,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZUSUBWT <Zm>.<Tb>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUSUBWT,
+ fixedBits: 0x45005c00,
+ args: Zm_Tb__Zn_T__Zd_T,
+ },
},
- // ZUZP2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUUNPKHI
{
- goOp: AZUZP2,
- fixedBits: 0x5206c00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUUNPKHI <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUUNPKHI,
+ fixedBits: 0x5333800,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUZP2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZUUNPKLO
{
- goOp: AZUZP2,
- fixedBits: 0x5a00c00,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZUUNPKLO <Zn>.<Tb>, <Zd>.<T>
+ {
+ goOp: AZUUNPKLO,
+ fixedBits: 0x5323800,
+ args: Zn_Tb__Zd_T__1,
+ },
},
- // ZUZPQ1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUXTB
{
- goOp: AZUZPQ1,
- fixedBits: 0x4400e800,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUXTB <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZUXTB,
+ fixedBits: 0x411a000,
+ args: Zn_T__PgM__Zd_T__4,
+ },
+ // ZUXTB <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZUXTB,
+ fixedBits: 0x401a000,
+ args: Zn_T__PgZ__Zd_T__4,
+ },
},
- // ZUZPQ2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUXTH
{
- goOp: AZUZPQ2,
- fixedBits: 0x4400ec00,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUXTH <Zn>.<T>, <Pg>/M, <Zd>.<T>
+ {
+ goOp: AZUXTH,
+ fixedBits: 0x493a000,
+ args: Zn_T__PgM__Zd_T__5,
+ },
+ // ZUXTH <Zn>.<T>, <Pg>/Z, <Zd>.<T>
+ {
+ goOp: AZUXTH,
+ fixedBits: 0x483a000,
+ args: Zn_T__PgZ__Zd_T__5,
+ },
},
- // PWRFFR <Pn>.B
+ // ZUXTW
{
- goOp: APWRFFR,
- fixedBits: 0x25289000,
- args: Pn_B,
+ // ZUXTW <Zn>.D, <Pg>/M, <Zd>.D
+ {
+ goOp: AZUXTW,
+ fixedBits: 0x4d5a000,
+ args: Zn_D__PgM__Zd_D,
+ },
+ // ZUXTW <Zn>.D, <Pg>/Z, <Zd>.D
+ {
+ goOp: AZUXTW,
+ fixedBits: 0x4c5a000,
+ args: Zn_D__PgZ__Zd_D,
+ },
},
- // PZIP2 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZUZP1
{
- goOp: APZIP2,
- fixedBits: 0x5204400,
- args: Pm_T__Pn_T__Pd_T,
+ // ZUZP1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUZP1,
+ fixedBits: 0x5206800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZUZP1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZUZP1,
+ fixedBits: 0x5a00800,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // PZIP1 <Pm>.<T>, <Pn>.<T>, <Pd>.<T>
+ // ZUZP2
{
- goOp: APZIP1,
- fixedBits: 0x5204000,
- args: Pm_T__Pn_T__Pd_T,
+ // ZUZP2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUZP2,
+ fixedBits: 0x5206c00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZUZP2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZUZP2,
+ fixedBits: 0x5a00c00,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // ZZIP2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZUZPQ1
{
- goOp: AZZIP2,
- fixedBits: 0x5206400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZUZPQ1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUZPQ1,
+ fixedBits: 0x4400e800,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZZIP2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZUZPQ2
{
- goOp: AZZIP2,
- fixedBits: 0x5a00400,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZUZPQ2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZUZPQ2,
+ fixedBits: 0x4400ec00,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZZIP1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZZIP1
{
- goOp: AZZIP1,
- fixedBits: 0x5206000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZZIP1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZZIP1,
+ fixedBits: 0x5206000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZZIP1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZZIP1,
+ fixedBits: 0x5a00000,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // ZZIP1 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ // ZZIP2
{
- goOp: AZZIP1,
- fixedBits: 0x5a00000,
- args: Zm_Q__Zn_Q__Zd_Q,
+ // ZZIP2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZZIP2,
+ fixedBits: 0x5206400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
+ // ZZIP2 <Zm>.Q, <Zn>.Q, <Zd>.Q
+ {
+ goOp: AZZIP2,
+ fixedBits: 0x5a00400,
+ args: Zm_Q__Zn_Q__Zd_Q,
+ },
},
- // ZZIPQ1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZZIPQ1
{
- goOp: AZZIPQ1,
- fixedBits: 0x4400e000,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZZIPQ1 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZZIPQ1,
+ fixedBits: 0x4400e000,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
- // ZZIPQ2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ // ZZIPQ2
{
- goOp: AZZIPQ2,
- fixedBits: 0x4400e400,
- args: Zm_T__Zn_T__Zd_T__1,
+ // ZZIPQ2 <Zm>.<T>, <Zn>.<T>, <Zd>.<T>
+ {
+ goOp: AZZIPQ2,
+ fixedBits: 0x4400e400,
+ args: Zm_T__Zn_T__Zd_T__1,
+ },
},
}

```
```
The name of the file: src/cmd/internal/obj/arm64/asm7.go
Insertions: 3, Deletions: 3.

@@ -5827,9 +5827,9 @@
case 127:
// Generic SVE instruction encoding
matched := false
- for idx := range insts {
- inst := &insts[idx]
- if inst.goOp == p.As {
+ groupIdx := int(p.As - ASVESTART - 1)
+ if groupIdx >= 0 && groupIdx < len(insts) {
+ for _, inst := range insts[groupIdx] {
if bin, ok := inst.tryEncode(p); ok {
o1 = bin
matched = true
```

Change information

Commit message:
cmd/internal/obj/arm64: new arm64 assembling path for SVE

This CL integrates a new assembling path specifically designed for SVE
and other modern ARM64 instructions, utilizing generated instruction
tables. It contains the foundational files and modifications to direct
the assembling pipeline to use this new data-driven path.

In a.out.go, it registers new constants for registers and operand types
used by SVE.

A new file inst.go is added, which defines the instruction table data
types and utility functions for the new path. The entry point from the
upstream pipeline is `tryEncode`.

`tryEncode` returns false upon an encoding failure, which allows the
upstream matching logic to handle multiple potential matches. The exact
match is not finalized until an instruction is actually encoded, as
detailed in the comments for `elemEncoders`.

This CL also introduces the core generated tables (`anames_gen.go`,
`encoding_gen.go`, `goops_gen.go`, and `inst_gen.go`) which handle a
wide variety of SVE instructions. A comprehensive end-to-end assembly
test file (`arm64sveenc.s`) is added, containing hundreds of test cases
for these SVE instructions to verify the new encoding path.

To facilitate these encodings, this CL implements handling for operand
types such as AC_ARNG, AC_PREG, AC_PREGZM, and AC_ZREG. Others are left
as TODOs.

The generated files in this CL are produced by the `instgen` tool in CL
755180.

Original author Eric Fang (eric...@arm.com, CL 424137)
Change-Id: I483f170c776fcd8edd8b8b04520f9d69ee0855dd
Reviewed-by: David Chase <drc...@google.com>
Files:
  • M src/cmd/asm/internal/arch/arch.go
  • M src/cmd/asm/internal/arch/arm64.go
  • M src/cmd/asm/internal/asm/asm.go
  • M src/cmd/asm/internal/asm/endtoend_test.go
  • A src/cmd/asm/internal/asm/testdata/arm64sveenc.s
  • A src/cmd/asm/internal/asm/testdata/arm64sveerror.s
  • M src/cmd/internal/obj/arm64/a.out.go
  • M src/cmd/internal/obj/arm64/anames.go
  • A src/cmd/internal/obj/arm64/anames_gen.go
  • M src/cmd/internal/obj/arm64/asm7.go
  • A src/cmd/internal/obj/arm64/encoding_gen.go
  • A src/cmd/internal/obj/arm64/goops_gen.go
  • A src/cmd/internal/obj/arm64/inst.go
  • A src/cmd/internal/obj/arm64/inst_gen.go
  • M src/cmd/internal/obj/arm64/list7.go
  • M src/cmd/internal/obj/util.go
Change size: XL
Delta: 16 files changed, 9702 insertions(+), 17 deletions(-)
Branch: refs/heads/master
Submit Requirements:
  • requirement satisfiedCode-Review: +2 by David Chase
  • requirement satisfiedTryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I483f170c776fcd8edd8b8b04520f9d69ee0855dd
Gerrit-Change-Number: 742620
Gerrit-PatchSet: 48
Gerrit-Owner: Junyang Shao <shaoj...@google.com>
Gerrit-Reviewer: Cherry Mui <cher...@google.com>
Gerrit-Reviewer: David Chase <drc...@google.com>
Gerrit-Reviewer: Junyang Shao <shaoj...@google.com>
Gerrit-CC: Alexander Musman <alexande...@gmail.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages