docs(asm): generate the instruction appendices
Assisted-by: GLM 5.3 Flash
This commit is contained in:
+101
-3
@@ -8,6 +8,10 @@
|
||||
// names so gasm-devkit supports every instruction the real assembler does,
|
||||
// with no hand-maintained (and therefore inevitably incomplete) lists.
|
||||
//
|
||||
// The same data feeds the generated instruction appendices of the assembly
|
||||
// language reference, docs/asm/INSTRUCTIONS-<ARCH>.md, so that the reference
|
||||
// cannot drift from the tables it documents.
|
||||
//
|
||||
// Usage (via the justfile):
|
||||
//
|
||||
// just gen
|
||||
@@ -26,6 +30,9 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"sourcedock.dev/petrbalvin/gasm-devkit/arch"
|
||||
"sourcedock.dev/petrbalvin/gasm-devkit/asm"
|
||||
)
|
||||
|
||||
// archDirs maps a gasm-devkit architecture name to its obj sub-directory.
|
||||
@@ -39,11 +46,30 @@ var archDirs = []struct {
|
||||
{"loong64", "loong64"},
|
||||
}
|
||||
|
||||
// docPages maps an architecture to its generated appendix in the language
|
||||
// reference. The amd64 page carries a per-mnemonic encodability column,
|
||||
// decided by asm.Encodable, which mirrors the encoder's own dispatch; the
|
||||
// other targets have no single cheap predicate, so their pages carry the
|
||||
// inventory and point at the live measurement instead.
|
||||
var docPages = []struct {
|
||||
arch arch.Arch
|
||||
title string
|
||||
file string
|
||||
anames string
|
||||
encodable bool
|
||||
}{
|
||||
{arch.AMD64, "AMD64", "INSTRUCTIONS-AMD64.md", "cmd/internal/obj/x86/anames.go", true},
|
||||
{arch.ARM64, "ARM64", "INSTRUCTIONS-ARM64.md", "cmd/internal/obj/arm64/anames.go", false},
|
||||
{arch.RISCV, "RISC-V 64", "INSTRUCTIONS-RISCV64.md", "cmd/internal/obj/riscv/anames.go", false},
|
||||
{arch.LOONG64, "LoongArch 64", "INSTRUCTIONS-LOONG64.md", "cmd/internal/obj/loong64/anames.go", false},
|
||||
}
|
||||
|
||||
func main() {
|
||||
goroot := strings.TrimSpace(runGoEnvGOROOT())
|
||||
if goroot == "" {
|
||||
fatal("could not determine GOROOT")
|
||||
}
|
||||
version := strings.TrimSpace(runGoEnv("GOVERSION"))
|
||||
// The common opcodes shared by every architecture (RET, JMP, NOP, CALL,
|
||||
// TEXT, FUNCDATA, …) live in cmd/internal/obj/util.go.
|
||||
commonPath := filepath.Join(goroot, "src", "cmd", "internal", "obj", "util.go")
|
||||
@@ -57,16 +83,24 @@ func main() {
|
||||
}
|
||||
fmt.Printf("%-8s %4d instructions -> arch/common_gen.go\n", "common", len(common))
|
||||
|
||||
names := map[string][]string{}
|
||||
for _, a := range archDirs {
|
||||
path := filepath.Join(goroot, "src", "cmd", "internal", "obj", a.sub, "anames.go")
|
||||
names, err := extractInstrs(path)
|
||||
names[a.arch], err = extractInstrs(path)
|
||||
if err != nil {
|
||||
fatal("extract %s: %v", a.arch, err)
|
||||
}
|
||||
if err := writeGen(a.arch, a.sub, names); err != nil {
|
||||
if err := writeGen(a.arch, a.sub, names[a.arch]); err != nil {
|
||||
fatal("write %s: %v", a.arch, err)
|
||||
}
|
||||
fmt.Printf("%-8s %4d instructions -> arch/%s_gen.go\n", a.arch, len(names), a.arch)
|
||||
fmt.Printf("%-8s %4d instructions -> arch/%s_gen.go\n", a.arch, len(names[a.arch]), a.arch)
|
||||
}
|
||||
|
||||
for _, p := range docPages {
|
||||
if err := writeDocPage(p.arch, p.title, p.file, p.anames, version, p.encodable); err != nil {
|
||||
fatal("write %s: %v", p.file, err)
|
||||
}
|
||||
fmt.Printf("%-8s -> docs/asm/%s\n", p.arch, p.file)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,6 +206,61 @@ func writeGen(arch, sub string, names []string) error {
|
||||
return os.WriteFile(filepath.Join("arch", arch+"_gen.go"), []byte(b.String()), 0o644)
|
||||
}
|
||||
|
||||
// writeDocPage emits docs/asm/<file>, the generated instruction appendix of
|
||||
// the language reference for one architecture: every mnemonic the toolchain
|
||||
// accepts, with the curated summary where the architecture table carries one
|
||||
// and, on amd64, a per-mnemonic encodability column.
|
||||
func writeDocPage(a arch.Arch, title, file, anames, version string, encodable bool) error {
|
||||
table := arch.ForArch(a)
|
||||
instrs := table.Instructions()
|
||||
|
||||
var b strings.Builder
|
||||
b.WriteString("# " + title + ": instruction inventory\n\n")
|
||||
b.WriteString("Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table\n")
|
||||
b.WriteString("(`" + anames + "`, " + version + "); DO NOT EDIT. This page lists every mnemonic\n")
|
||||
b.WriteString("`go tool asm` accepts on this target, which is the upper bound of the\n")
|
||||
b.WriteString("language on it: a name absent here is not an instruction of the target,\n")
|
||||
b.WriteString("and a name present here may still be one gasm's encoder cannot emit yet.\n\n")
|
||||
|
||||
encodableCount := 0
|
||||
if encodable {
|
||||
b.WriteString("The `gasm encodes` column reports whether gasm's encoder can emit the\n")
|
||||
b.WriteString("mnemonic today; the gap is the encoder backlog, measured live by\n")
|
||||
b.WriteString("`gasm audit-instructions`.\n\n")
|
||||
b.WriteString("| Mnemonic | gasm encodes | Notes |\n")
|
||||
b.WriteString("|---|---|---|\n")
|
||||
for _, in := range instrs {
|
||||
ok := asm.Encodable(in.Name)
|
||||
if ok {
|
||||
encodableCount++
|
||||
}
|
||||
b.WriteString("| `" + in.Name + "` | " + yesNo(ok) + " | " + in.Summary + " |\n")
|
||||
}
|
||||
b.WriteString("\n")
|
||||
fmt.Fprintf(&b, "Recognised: %d mnemonics. gasm encodes: %d.\n", len(instrs), encodableCount)
|
||||
} else {
|
||||
b.WriteString("The inventory carries no per-mnemonic encoder column: on this target\n")
|
||||
b.WriteString("encodability is decided per operand shape, and the live measured\n")
|
||||
b.WriteString("coverage is reported by `gasm audit-instructions`.\n\n")
|
||||
b.WriteString("| Mnemonic | Notes |\n")
|
||||
b.WriteString("|---|---|\n")
|
||||
for _, in := range instrs {
|
||||
b.WriteString("| `" + in.Name + "` | " + in.Summary + " |\n")
|
||||
}
|
||||
b.WriteString("\n")
|
||||
fmt.Fprintf(&b, "Recognised: %d mnemonics.\n", len(instrs))
|
||||
}
|
||||
return os.WriteFile(filepath.Join("docs", "asm", file), []byte(b.String()), 0o644)
|
||||
}
|
||||
|
||||
// yesNo renders a boolean as the word the appendix tables use.
|
||||
func yesNo(v bool) string {
|
||||
if v {
|
||||
return "yes"
|
||||
}
|
||||
return "no"
|
||||
}
|
||||
|
||||
func runGoEnvGOROOT() string {
|
||||
out, err := exec.Command("go", "env", "GOROOT").Output()
|
||||
if err != nil {
|
||||
@@ -180,6 +269,15 @@ func runGoEnvGOROOT() string {
|
||||
return string(out)
|
||||
}
|
||||
|
||||
// runGoEnv runs `go env` for a single variable.
|
||||
func runGoEnv(name string) string {
|
||||
out, err := exec.Command("go", "env", name).Output()
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return string(out)
|
||||
}
|
||||
|
||||
func fatal(format string, args ...any) {
|
||||
fmt.Fprintf(os.Stderr, "gen: "+format+"\n", args...)
|
||||
os.Exit(1)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,570 @@
|
||||
# ARM64: instruction inventory
|
||||
|
||||
Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table
|
||||
(`cmd/internal/obj/arm64/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic
|
||||
`go tool asm` accepts on this target, which is the upper bound of the
|
||||
language on it: a name absent here is not an instruction of the target,
|
||||
and a name present here may still be one gasm's encoder cannot emit yet.
|
||||
|
||||
The inventory carries no per-mnemonic encoder column: on this target
|
||||
encodability is decided per operand shape, and the live measured
|
||||
coverage is reported by `gasm audit-instructions`.
|
||||
|
||||
| Mnemonic | Notes |
|
||||
|---|---|
|
||||
| `CALL` | |
|
||||
| `DUFFCOPY` | |
|
||||
| `DUFFZERO` | |
|
||||
| `END` | |
|
||||
| `FUNCDATA` | |
|
||||
| `GETCALLERPC` | |
|
||||
| `JMP` | |
|
||||
| `NOP` | No operation |
|
||||
| `PCALIGN` | |
|
||||
| `PCALIGNMAX` | |
|
||||
| `PCDATA` | |
|
||||
| `RET` | Return |
|
||||
| `TEXT` | |
|
||||
| `UNDEF` | |
|
||||
| `ADC` | ADC (64-bit) |
|
||||
| `ADCS` | ADCS (64-bit) |
|
||||
| `ADCSW` | ADCS (32-bit) |
|
||||
| `ADCW` | ADC (32-bit) |
|
||||
| `ADD` | ADD (64-bit) |
|
||||
| `ADDS` | ADDS (64-bit) |
|
||||
| `ADDSW` | ADDS (32-bit) |
|
||||
| `ADDW` | ADD (32-bit) |
|
||||
| `ADR` | Address of label/page |
|
||||
| `ADRP` | Address of label/page |
|
||||
| `AESD` | AES round |
|
||||
| `AESE` | AES round |
|
||||
| `AESIMC` | AES round |
|
||||
| `AESMC` | AES round |
|
||||
| `AND` | AND (64-bit) |
|
||||
| `ANDS` | ANDS (64-bit) |
|
||||
| `ANDSW` | ANDS (32-bit) |
|
||||
| `ANDW` | AND (32-bit) |
|
||||
| `ASR` | ASR shift |
|
||||
| `ASRW` | ASR shift (32-bit) |
|
||||
| `AT` | |
|
||||
| `AUTIA1716` | |
|
||||
| `AUTIASP` | |
|
||||
| `AUTIB1716` | |
|
||||
| `AUTIBSP` | |
|
||||
| `BCC` | Conditional branch |
|
||||
| `BCS` | Conditional branch |
|
||||
| `BEQ` | Conditional branch |
|
||||
| `BFI` | |
|
||||
| `BFIW` | |
|
||||
| `BFM` | |
|
||||
| `BFMW` | |
|
||||
| `BFXIL` | Bitfield extract |
|
||||
| `BFXILW` | |
|
||||
| `BGE` | Conditional branch |
|
||||
| `BGT` | Conditional branch |
|
||||
| `BHI` | Conditional branch |
|
||||
| `BHS` | Conditional branch |
|
||||
| `BIC` | BIC (64-bit) |
|
||||
| `BICS` | BICS (64-bit) |
|
||||
| `BICSW` | BICS (32-bit) |
|
||||
| `BICW` | BIC (32-bit) |
|
||||
| `BLE` | Conditional branch |
|
||||
| `BLO` | Conditional branch |
|
||||
| `BLS` | Conditional branch |
|
||||
| `BLT` | Conditional branch |
|
||||
| `BMI` | Conditional branch |
|
||||
| `BNE` | Conditional branch |
|
||||
| `BPL` | Conditional branch |
|
||||
| `BRK` | Breakpoint |
|
||||
| `BTI` | |
|
||||
| `BVC` | Conditional branch |
|
||||
| `BVS` | Conditional branch |
|
||||
| `CASAD` | |
|
||||
| `CASALB` | |
|
||||
| `CASALD` | |
|
||||
| `CASALH` | |
|
||||
| `CASALW` | |
|
||||
| `CASAW` | |
|
||||
| `CASB` | |
|
||||
| `CASD` | |
|
||||
| `CASH` | |
|
||||
| `CASLD` | |
|
||||
| `CASLW` | |
|
||||
| `CASPD` | |
|
||||
| `CASPW` | |
|
||||
| `CASW` | |
|
||||
| `CBNZ` | Compare/test and branch |
|
||||
| `CBNZW` | Compare/test and branch (32-bit) |
|
||||
| `CBZ` | Compare/test and branch |
|
||||
| `CBZW` | Compare/test and branch (32-bit) |
|
||||
| `CCMN` | Conditional compare |
|
||||
| `CCMNW` | Conditional compare |
|
||||
| `CCMP` | Conditional compare |
|
||||
| `CCMPW` | Conditional compare |
|
||||
| `CINC` | Conditional select |
|
||||
| `CINCW` | Conditional select (32-bit) |
|
||||
| `CINV` | Conditional select |
|
||||
| `CINVW` | Conditional select (32-bit) |
|
||||
| `CLREX` | |
|
||||
| `CLS` | Bit manipulation |
|
||||
| `CLSW` | Bit manipulation |
|
||||
| `CLZ` | Bit manipulation |
|
||||
| `CLZW` | Bit manipulation |
|
||||
| `CMN` | CMN (64-bit) |
|
||||
| `CMNW` | CMN (32-bit) |
|
||||
| `CMP` | CMP (64-bit) |
|
||||
| `CMPW` | CMP (32-bit) |
|
||||
| `CNEG` | Conditional select |
|
||||
| `CNEGW` | Conditional select (32-bit) |
|
||||
| `CRC32B` | |
|
||||
| `CRC32CB` | |
|
||||
| `CRC32CH` | |
|
||||
| `CRC32CW` | |
|
||||
| `CRC32CX` | |
|
||||
| `CRC32H` | |
|
||||
| `CRC32W` | |
|
||||
| `CRC32X` | |
|
||||
| `CSEL` | Conditional select |
|
||||
| `CSELW` | Conditional select (32-bit) |
|
||||
| `CSET` | Conditional select |
|
||||
| `CSETM` | Conditional select |
|
||||
| `CSETMW` | Conditional select (32-bit) |
|
||||
| `CSETW` | Conditional select (32-bit) |
|
||||
| `CSINC` | Conditional select |
|
||||
| `CSINCW` | Conditional select (32-bit) |
|
||||
| `CSINV` | Conditional select |
|
||||
| `CSINVW` | Conditional select (32-bit) |
|
||||
| `CSNEG` | Conditional select |
|
||||
| `CSNEGW` | Conditional select (32-bit) |
|
||||
| `DC` | Data cache maintenance |
|
||||
| `DCPS1` | |
|
||||
| `DCPS2` | |
|
||||
| `DCPS3` | |
|
||||
| `DMB` | Barrier |
|
||||
| `DRPS` | |
|
||||
| `DSB` | Barrier |
|
||||
| `DWORD` | |
|
||||
| `EON` | EON (64-bit) |
|
||||
| `EONW` | EON (32-bit) |
|
||||
| `EOR` | EOR (64-bit) |
|
||||
| `EORW` | EOR (32-bit) |
|
||||
| `ERET` | |
|
||||
| `EXTR` | Bitfield extract |
|
||||
| `EXTRW` | |
|
||||
| `FABSD` | |
|
||||
| `FABSS` | |
|
||||
| `FADDD` | |
|
||||
| `FADDS` | |
|
||||
| `FCCMPD` | |
|
||||
| `FCCMPED` | |
|
||||
| `FCCMPES` | |
|
||||
| `FCCMPS` | |
|
||||
| `FCMPD` | |
|
||||
| `FCMPED` | |
|
||||
| `FCMPES` | |
|
||||
| `FCMPS` | |
|
||||
| `FCSELD` | |
|
||||
| `FCSELS` | |
|
||||
| `FCVTDH` | |
|
||||
| `FCVTDS` | |
|
||||
| `FCVTHD` | |
|
||||
| `FCVTHS` | |
|
||||
| `FCVTSD` | |
|
||||
| `FCVTSH` | |
|
||||
| `FCVTZSD` | |
|
||||
| `FCVTZSDW` | |
|
||||
| `FCVTZSS` | |
|
||||
| `FCVTZSSW` | |
|
||||
| `FCVTZUD` | |
|
||||
| `FCVTZUDW` | |
|
||||
| `FCVTZUS` | |
|
||||
| `FCVTZUSW` | |
|
||||
| `FDIVD` | |
|
||||
| `FDIVS` | |
|
||||
| `FLDPD` | Register-pair load or store |
|
||||
| `FLDPQ` | |
|
||||
| `FLDPS` | |
|
||||
| `FMADDD` | |
|
||||
| `FMADDS` | |
|
||||
| `FMAXD` | |
|
||||
| `FMAXNMD` | |
|
||||
| `FMAXNMS` | |
|
||||
| `FMAXS` | |
|
||||
| `FMIND` | |
|
||||
| `FMINNMD` | |
|
||||
| `FMINNMS` | |
|
||||
| `FMINS` | |
|
||||
| `FMOVD` | Move / load / store |
|
||||
| `FMOVQ` | |
|
||||
| `FMOVS` | Move / load / store |
|
||||
| `FMSUBD` | |
|
||||
| `FMSUBS` | |
|
||||
| `FMULD` | |
|
||||
| `FMULS` | |
|
||||
| `FNEGD` | |
|
||||
| `FNEGS` | |
|
||||
| `FNMADDD` | |
|
||||
| `FNMADDS` | |
|
||||
| `FNMSUBD` | |
|
||||
| `FNMSUBS` | |
|
||||
| `FNMULD` | |
|
||||
| `FNMULS` | |
|
||||
| `FRINTAD` | |
|
||||
| `FRINTAS` | |
|
||||
| `FRINTID` | |
|
||||
| `FRINTIS` | |
|
||||
| `FRINTMD` | |
|
||||
| `FRINTMS` | |
|
||||
| `FRINTND` | |
|
||||
| `FRINTNS` | |
|
||||
| `FRINTPD` | |
|
||||
| `FRINTPS` | |
|
||||
| `FRINTXD` | |
|
||||
| `FRINTXS` | |
|
||||
| `FRINTZD` | |
|
||||
| `FRINTZS` | |
|
||||
| `FSQRTD` | |
|
||||
| `FSQRTS` | |
|
||||
| `FSTPD` | Register-pair load or store |
|
||||
| `FSTPQ` | |
|
||||
| `FSTPS` | |
|
||||
| `FSUBD` | |
|
||||
| `FSUBS` | |
|
||||
| `HINT` | |
|
||||
| `HLT` | |
|
||||
| `HVC` | Exception generation |
|
||||
| `IC` | |
|
||||
| `ISB` | Barrier |
|
||||
| `LDADDAB` | |
|
||||
| `LDADDAD` | |
|
||||
| `LDADDAH` | |
|
||||
| `LDADDALB` | |
|
||||
| `LDADDALD` | |
|
||||
| `LDADDALH` | |
|
||||
| `LDADDALW` | |
|
||||
| `LDADDAW` | |
|
||||
| `LDADDB` | |
|
||||
| `LDADDD` | |
|
||||
| `LDADDH` | |
|
||||
| `LDADDLB` | |
|
||||
| `LDADDLD` | |
|
||||
| `LDADDLH` | |
|
||||
| `LDADDLW` | |
|
||||
| `LDADDW` | |
|
||||
| `LDAR` | Atomic memory operation |
|
||||
| `LDARB` | Atomic memory operation |
|
||||
| `LDARH` | Atomic memory operation |
|
||||
| `LDARW` | Atomic memory operation |
|
||||
| `LDAXP` | |
|
||||
| `LDAXPW` | |
|
||||
| `LDAXR` | Atomic memory operation |
|
||||
| `LDAXRB` | Atomic memory operation |
|
||||
| `LDAXRH` | Atomic memory operation |
|
||||
| `LDAXRW` | Atomic memory operation |
|
||||
| `LDCLRAB` | |
|
||||
| `LDCLRAD` | |
|
||||
| `LDCLRAH` | |
|
||||
| `LDCLRALB` | |
|
||||
| `LDCLRALD` | |
|
||||
| `LDCLRALH` | |
|
||||
| `LDCLRALW` | |
|
||||
| `LDCLRAW` | |
|
||||
| `LDCLRB` | |
|
||||
| `LDCLRD` | |
|
||||
| `LDCLRH` | |
|
||||
| `LDCLRLB` | |
|
||||
| `LDCLRLD` | |
|
||||
| `LDCLRLH` | |
|
||||
| `LDCLRLW` | |
|
||||
| `LDCLRW` | |
|
||||
| `LDEORAB` | |
|
||||
| `LDEORAD` | |
|
||||
| `LDEORAH` | |
|
||||
| `LDEORALB` | |
|
||||
| `LDEORALD` | |
|
||||
| `LDEORALH` | |
|
||||
| `LDEORALW` | |
|
||||
| `LDEORAW` | |
|
||||
| `LDEORB` | |
|
||||
| `LDEORD` | |
|
||||
| `LDEORH` | |
|
||||
| `LDEORLB` | |
|
||||
| `LDEORLD` | |
|
||||
| `LDEORLH` | |
|
||||
| `LDEORLW` | |
|
||||
| `LDEORW` | |
|
||||
| `LDORAB` | |
|
||||
| `LDORAD` | |
|
||||
| `LDORAH` | |
|
||||
| `LDORALB` | |
|
||||
| `LDORALD` | |
|
||||
| `LDORALH` | |
|
||||
| `LDORALW` | |
|
||||
| `LDORAW` | |
|
||||
| `LDORB` | |
|
||||
| `LDORD` | |
|
||||
| `LDORH` | |
|
||||
| `LDORLB` | |
|
||||
| `LDORLD` | |
|
||||
| `LDORLH` | |
|
||||
| `LDORLW` | |
|
||||
| `LDORW` | |
|
||||
| `LDP` | Register-pair load or store |
|
||||
| `LDPSW` | |
|
||||
| `LDPW` | Register-pair load or store |
|
||||
| `LDXP` | |
|
||||
| `LDXPW` | |
|
||||
| `LDXR` | |
|
||||
| `LDXRB` | |
|
||||
| `LDXRH` | |
|
||||
| `LDXRW` | |
|
||||
| `LSL` | LSL shift |
|
||||
| `LSLW` | LSL shift (32-bit) |
|
||||
| `LSR` | LSR shift |
|
||||
| `LSRW` | LSR shift (32-bit) |
|
||||
| `MADD` | Multiply / multiply-accumulate |
|
||||
| `MADDW` | |
|
||||
| `MNEG` | Multiply / multiply-accumulate |
|
||||
| `MNEGW` | |
|
||||
| `MOVB` | Move / load / store |
|
||||
| `MOVBU` | Move / load / store |
|
||||
| `MOVD` | Move / load / store |
|
||||
| `MOVH` | Move / load / store |
|
||||
| `MOVHU` | Move / load / store |
|
||||
| `MOVK` | Move wide constant |
|
||||
| `MOVKW` | Move wide constant |
|
||||
| `MOVN` | Move wide constant |
|
||||
| `MOVNW` | Move wide constant |
|
||||
| `MOVP` | |
|
||||
| `MOVPD` | |
|
||||
| `MOVPQ` | |
|
||||
| `MOVPS` | |
|
||||
| `MOVPSW` | |
|
||||
| `MOVPW` | |
|
||||
| `MOVW` | Move / load / store |
|
||||
| `MOVWU` | Move / load / store |
|
||||
| `MOVZ` | Move wide constant |
|
||||
| `MOVZW` | Move wide constant |
|
||||
| `MRS` | System register access |
|
||||
| `MSR` | System register access |
|
||||
| `MSUB` | Multiply / multiply-accumulate |
|
||||
| `MSUBW` | |
|
||||
| `MUL` | Multiply / multiply-accumulate |
|
||||
| `MULW` | |
|
||||
| `MVN` | MVN (64-bit) |
|
||||
| `MVNW` | MVN (32-bit) |
|
||||
| `NEG` | NEG (64-bit) |
|
||||
| `NEGS` | |
|
||||
| `NEGSW` | |
|
||||
| `NEGW` | NEG (32-bit) |
|
||||
| `NGC` | NGC (64-bit) |
|
||||
| `NGCS` | |
|
||||
| `NGCSW` | |
|
||||
| `NGCW` | NGC (32-bit) |
|
||||
| `NOOP` | |
|
||||
| `ORN` | ORN (64-bit) |
|
||||
| `ORNW` | ORN (32-bit) |
|
||||
| `ORR` | ORR (64-bit) |
|
||||
| `ORRW` | ORR (32-bit) |
|
||||
| `PACIASP` | |
|
||||
| `PACIBSP` | |
|
||||
| `PRFM` | Memory prefetch |
|
||||
| `PRFUM` | |
|
||||
| `RBIT` | Bit manipulation |
|
||||
| `RBITW` | Bit manipulation |
|
||||
| `REM` | |
|
||||
| `REMW` | |
|
||||
| `REV` | Bit manipulation |
|
||||
| `REV16` | Bit manipulation |
|
||||
| `REV16W` | |
|
||||
| `REV32` | Bit manipulation |
|
||||
| `REVW` | Bit manipulation |
|
||||
| `ROR` | ROR shift |
|
||||
| `RORW` | ROR shift (32-bit) |
|
||||
| `SBC` | SBC (64-bit) |
|
||||
| `SBCS` | SBCS (64-bit) |
|
||||
| `SBCSW` | SBCS (32-bit) |
|
||||
| `SBCW` | SBC (32-bit) |
|
||||
| `SBFIZ` | |
|
||||
| `SBFIZW` | |
|
||||
| `SBFM` | Bitfield extract |
|
||||
| `SBFMW` | |
|
||||
| `SBFX` | Bitfield extract |
|
||||
| `SBFXW` | |
|
||||
| `SCVTFD` | |
|
||||
| `SCVTFS` | |
|
||||
| `SCVTFWD` | |
|
||||
| `SCVTFWS` | |
|
||||
| `SDIV` | Divide |
|
||||
| `SDIVW` | Divide |
|
||||
| `SEV` | |
|
||||
| `SEVL` | |
|
||||
| `SHA1C` | SHA round |
|
||||
| `SHA1H` | SHA round |
|
||||
| `SHA1M` | SHA round |
|
||||
| `SHA1P` | SHA round |
|
||||
| `SHA1SU0` | SHA round |
|
||||
| `SHA1SU1` | SHA round |
|
||||
| `SHA256H` | SHA round |
|
||||
| `SHA256H2` | SHA round |
|
||||
| `SHA256SU0` | SHA round |
|
||||
| `SHA256SU1` | SHA round |
|
||||
| `SHA512H` | SHA round |
|
||||
| `SHA512H2` | SHA round |
|
||||
| `SHA512SU0` | SHA round |
|
||||
| `SHA512SU1` | SHA round |
|
||||
| `SMADDL` | Multiply / multiply-accumulate |
|
||||
| `SMC` | Exception generation |
|
||||
| `SMNEGL` | |
|
||||
| `SMSUBL` | Multiply / multiply-accumulate |
|
||||
| `SMULH` | Multiply / multiply-accumulate |
|
||||
| `SMULL` | Multiply / multiply-accumulate |
|
||||
| `STLR` | Atomic memory operation |
|
||||
| `STLRB` | Atomic memory operation |
|
||||
| `STLRH` | Atomic memory operation |
|
||||
| `STLRW` | Atomic memory operation |
|
||||
| `STLXP` | |
|
||||
| `STLXPW` | |
|
||||
| `STLXR` | |
|
||||
| `STLXRB` | |
|
||||
| `STLXRH` | |
|
||||
| `STLXRW` | |
|
||||
| `STP` | Register-pair load or store |
|
||||
| `STPW` | Register-pair load or store |
|
||||
| `STXP` | |
|
||||
| `STXPW` | |
|
||||
| `STXR` | Atomic memory operation |
|
||||
| `STXRB` | Atomic memory operation |
|
||||
| `STXRH` | Atomic memory operation |
|
||||
| `STXRW` | Atomic memory operation |
|
||||
| `SUB` | SUB (64-bit) |
|
||||
| `SUBS` | SUBS (64-bit) |
|
||||
| `SUBSW` | SUBS (32-bit) |
|
||||
| `SUBW` | SUB (32-bit) |
|
||||
| `SVC` | Exception generation |
|
||||
| `SWPAB` | |
|
||||
| `SWPAD` | |
|
||||
| `SWPAH` | |
|
||||
| `SWPALB` | |
|
||||
| `SWPALD` | |
|
||||
| `SWPALH` | |
|
||||
| `SWPALW` | |
|
||||
| `SWPAW` | |
|
||||
| `SWPB` | |
|
||||
| `SWPD` | |
|
||||
| `SWPH` | |
|
||||
| `SWPLB` | |
|
||||
| `SWPLD` | |
|
||||
| `SWPLH` | |
|
||||
| `SWPLW` | |
|
||||
| `SWPW` | |
|
||||
| `SXTB` | |
|
||||
| `SXTBW` | |
|
||||
| `SXTH` | |
|
||||
| `SXTHW` | |
|
||||
| `SXTW` | |
|
||||
| `SYS` | |
|
||||
| `SYSL` | |
|
||||
| `TBNZ` | Compare/test and branch |
|
||||
| `TBZ` | Compare/test and branch |
|
||||
| `TLBI` | |
|
||||
| `TST` | TST (64-bit) |
|
||||
| `TSTW` | TST (32-bit) |
|
||||
| `UBFIZ` | |
|
||||
| `UBFIZW` | |
|
||||
| `UBFM` | Bitfield extract |
|
||||
| `UBFMW` | |
|
||||
| `UBFX` | Bitfield extract |
|
||||
| `UBFXW` | |
|
||||
| `UCVTFD` | |
|
||||
| `UCVTFS` | |
|
||||
| `UCVTFWD` | |
|
||||
| `UCVTFWS` | |
|
||||
| `UDIV` | Divide |
|
||||
| `UDIVW` | Divide |
|
||||
| `UMADDL` | Multiply / multiply-accumulate |
|
||||
| `UMNEGL` | |
|
||||
| `UMSUBL` | Multiply / multiply-accumulate |
|
||||
| `UMULH` | Multiply / multiply-accumulate |
|
||||
| `UMULL` | Multiply / multiply-accumulate |
|
||||
| `UREM` | |
|
||||
| `UREMW` | |
|
||||
| `UXTB` | |
|
||||
| `UXTBW` | |
|
||||
| `UXTH` | |
|
||||
| `UXTHW` | |
|
||||
| `UXTW` | |
|
||||
| `VADD` | NEON SIMD vector operation |
|
||||
| `VADDP` | |
|
||||
| `VADDV` | NEON SIMD vector operation |
|
||||
| `VAND` | NEON SIMD vector operation |
|
||||
| `VBCAX` | Three-way XOR / rotate crypto vector operation |
|
||||
| `VBIF` | NEON SIMD vector operation |
|
||||
| `VBIT` | |
|
||||
| `VBSL` | NEON SIMD vector operation |
|
||||
| `VCMEQ` | |
|
||||
| `VCMTST` | |
|
||||
| `VCNT` | NEON SIMD vector operation |
|
||||
| `VDUP` | NEON SIMD vector operation |
|
||||
| `VEOR` | NEON SIMD vector operation |
|
||||
| `VEOR3` | Three-way XOR / rotate crypto vector operation |
|
||||
| `VEXT` | NEON SIMD vector operation |
|
||||
| `VFMLA` | NEON SIMD vector operation |
|
||||
| `VFMLS` | NEON SIMD vector operation |
|
||||
| `VLD1` | NEON SIMD vector operation |
|
||||
| `VLD1R` | |
|
||||
| `VLD2` | NEON SIMD vector operation |
|
||||
| `VLD2R` | |
|
||||
| `VLD3` | NEON SIMD vector operation |
|
||||
| `VLD3R` | |
|
||||
| `VLD4` | NEON SIMD vector operation |
|
||||
| `VLD4R` | |
|
||||
| `VMOV` | NEON SIMD vector operation |
|
||||
| `VMOVD` | |
|
||||
| `VMOVI` | NEON SIMD vector operation |
|
||||
| `VMOVQ` | NEON SIMD vector operation |
|
||||
| `VMOVS` | |
|
||||
| `VORR` | NEON SIMD vector operation |
|
||||
| `VPMULL` | |
|
||||
| `VPMULL2` | |
|
||||
| `VRAX1` | Three-way XOR / rotate crypto vector operation |
|
||||
| `VRBIT` | |
|
||||
| `VREV16` | NEON SIMD vector operation |
|
||||
| `VREV32` | NEON SIMD vector operation |
|
||||
| `VREV64` | NEON SIMD vector operation |
|
||||
| `VSHL` | NEON SIMD vector operation |
|
||||
| `VSLI` | |
|
||||
| `VSRI` | |
|
||||
| `VST1` | NEON SIMD vector operation |
|
||||
| `VST2` | NEON SIMD vector operation |
|
||||
| `VST3` | NEON SIMD vector operation |
|
||||
| `VST4` | NEON SIMD vector operation |
|
||||
| `VSUB` | NEON SIMD vector operation |
|
||||
| `VTBL` | NEON SIMD vector operation |
|
||||
| `VTBX` | NEON SIMD vector operation |
|
||||
| `VTRN1` | NEON SIMD vector operation |
|
||||
| `VTRN2` | NEON SIMD vector operation |
|
||||
| `VUADDLV` | |
|
||||
| `VUADDW` | |
|
||||
| `VUADDW2` | |
|
||||
| `VUMAX` | |
|
||||
| `VUMIN` | |
|
||||
| `VUSHLL` | |
|
||||
| `VUSHLL2` | |
|
||||
| `VUSHR` | NEON SIMD vector operation |
|
||||
| `VUSRA` | |
|
||||
| `VUXTL` | |
|
||||
| `VUXTL2` | |
|
||||
| `VUZP1` | NEON SIMD vector operation |
|
||||
| `VUZP2` | NEON SIMD vector operation |
|
||||
| `VXAR` | Three-way XOR / rotate crypto vector operation |
|
||||
| `VZIP1` | NEON SIMD vector operation |
|
||||
| `VZIP2` | NEON SIMD vector operation |
|
||||
| `WFE` | |
|
||||
| `WFI` | |
|
||||
| `WORD` | |
|
||||
| `YIELD` | |
|
||||
| `B` | Unconditional branch |
|
||||
| `BL` | Branch with link |
|
||||
|
||||
Recognised: 554 mnemonics.
|
||||
@@ -0,0 +1,830 @@
|
||||
# LoongArch 64: instruction inventory
|
||||
|
||||
Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table
|
||||
(`cmd/internal/obj/loong64/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic
|
||||
`go tool asm` accepts on this target, which is the upper bound of the
|
||||
language on it: a name absent here is not an instruction of the target,
|
||||
and a name present here may still be one gasm's encoder cannot emit yet.
|
||||
|
||||
The inventory carries no per-mnemonic encoder column: on this target
|
||||
encodability is decided per operand shape, and the live measured
|
||||
coverage is reported by `gasm audit-instructions`.
|
||||
|
||||
| Mnemonic | Notes |
|
||||
|---|---|
|
||||
| `CALL` | |
|
||||
| `DUFFCOPY` | |
|
||||
| `DUFFZERO` | |
|
||||
| `END` | |
|
||||
| `FUNCDATA` | |
|
||||
| `GETCALLERPC` | |
|
||||
| `JMP` | |
|
||||
| `NOP` | No operation |
|
||||
| `PCALIGN` | |
|
||||
| `PCALIGNMAX` | |
|
||||
| `PCDATA` | |
|
||||
| `RET` | Return |
|
||||
| `TEXT` | |
|
||||
| `UNDEF` | |
|
||||
| `ABSD` | |
|
||||
| `ABSF` | |
|
||||
| `ADD` | Integer add (word) |
|
||||
| `ADDD` | Add doubleword |
|
||||
| `ADDF` | |
|
||||
| `ADDV` | |
|
||||
| `ADDV16` | |
|
||||
| `ADDVU` | |
|
||||
| `ADDW` | Add word |
|
||||
| `ALSLV` | |
|
||||
| `ALSLW` | |
|
||||
| `ALSLWU` | |
|
||||
| `AMADDDBV` | |
|
||||
| `AMADDDBW` | |
|
||||
| `AMADDV` | |
|
||||
| `AMADDW` | |
|
||||
| `AMANDDBV` | |
|
||||
| `AMANDDBW` | |
|
||||
| `AMANDV` | |
|
||||
| `AMANDW` | |
|
||||
| `AMCASB` | |
|
||||
| `AMCASDBB` | |
|
||||
| `AMCASDBH` | |
|
||||
| `AMCASDBV` | |
|
||||
| `AMCASDBW` | |
|
||||
| `AMCASH` | |
|
||||
| `AMCASV` | |
|
||||
| `AMCASW` | |
|
||||
| `AMMAXDBV` | |
|
||||
| `AMMAXDBVU` | |
|
||||
| `AMMAXDBW` | |
|
||||
| `AMMAXDBWU` | |
|
||||
| `AMMAXV` | |
|
||||
| `AMMAXVU` | |
|
||||
| `AMMAXW` | |
|
||||
| `AMMAXWU` | |
|
||||
| `AMMINDBV` | |
|
||||
| `AMMINDBVU` | |
|
||||
| `AMMINDBW` | |
|
||||
| `AMMINDBWU` | |
|
||||
| `AMMINV` | |
|
||||
| `AMMINVU` | |
|
||||
| `AMMINW` | |
|
||||
| `AMMINWU` | |
|
||||
| `AMORDBV` | |
|
||||
| `AMORDBW` | |
|
||||
| `AMORV` | |
|
||||
| `AMORW` | |
|
||||
| `AMSWAPB` | |
|
||||
| `AMSWAPDBB` | |
|
||||
| `AMSWAPDBH` | |
|
||||
| `AMSWAPDBV` | |
|
||||
| `AMSWAPDBW` | |
|
||||
| `AMSWAPH` | |
|
||||
| `AMSWAPV` | |
|
||||
| `AMSWAPW` | |
|
||||
| `AMXORDBV` | |
|
||||
| `AMXORDBW` | |
|
||||
| `AMXORV` | |
|
||||
| `AMXORW` | |
|
||||
| `AND` | Bitwise AND |
|
||||
| `ANDN` | |
|
||||
| `BEQ` | Branch if equal |
|
||||
| `BFPF` | |
|
||||
| `BFPT` | |
|
||||
| `BGE` | Branch if greater or equal |
|
||||
| `BGEU` | Branch if greater or equal unsigned |
|
||||
| `BGEZ` | |
|
||||
| `BGTZ` | |
|
||||
| `BITREV4B` | |
|
||||
| `BITREV8B` | |
|
||||
| `BITREVV` | |
|
||||
| `BITREVW` | |
|
||||
| `BLEZ` | |
|
||||
| `BLT` | Branch if less than |
|
||||
| `BLTU` | Branch if less than unsigned |
|
||||
| `BLTZ` | |
|
||||
| `BNE` | Branch if not equal |
|
||||
| `BREAK` | Breakpoint |
|
||||
| `BSTRINSV` | |
|
||||
| `BSTRINSW` | |
|
||||
| `BSTRPICKV` | |
|
||||
| `BSTRPICKW` | |
|
||||
| `CLOV` | |
|
||||
| `CLOW` | |
|
||||
| `CLZV` | |
|
||||
| `CLZW` | |
|
||||
| `CMPEQD` | |
|
||||
| `CMPEQF` | |
|
||||
| `CMPGED` | |
|
||||
| `CMPGEF` | |
|
||||
| `CMPGTD` | |
|
||||
| `CMPGTF` | |
|
||||
| `CPUCFG` | |
|
||||
| `CRCCWBW` | |
|
||||
| `CRCCWHW` | |
|
||||
| `CRCCWVW` | |
|
||||
| `CRCCWWW` | |
|
||||
| `CRCWBW` | |
|
||||
| `CRCWHW` | |
|
||||
| `CRCWVW` | |
|
||||
| `CRCWWW` | |
|
||||
| `CTOV` | |
|
||||
| `CTOW` | |
|
||||
| `CTZV` | |
|
||||
| `CTZW` | |
|
||||
| `DBAR` | Barrier |
|
||||
| `DIV` | Divide (word) |
|
||||
| `DIVD` | Divide doubleword |
|
||||
| `DIVF` | |
|
||||
| `DIVU` | |
|
||||
| `DIVV` | |
|
||||
| `DIVVU` | |
|
||||
| `DIVW` | Divide word |
|
||||
| `DIVWU` | |
|
||||
| `EXTWB` | |
|
||||
| `EXTWH` | |
|
||||
| `FCLASSD` | |
|
||||
| `FCLASSF` | |
|
||||
| `FCOPYSGD` | |
|
||||
| `FCOPYSGF` | |
|
||||
| `FFINTDV` | |
|
||||
| `FFINTDW` | |
|
||||
| `FFINTFV` | |
|
||||
| `FFINTFW` | |
|
||||
| `FLOGBD` | |
|
||||
| `FLOGBF` | |
|
||||
| `FMADDD` | |
|
||||
| `FMADDF` | |
|
||||
| `FMAXAD` | |
|
||||
| `FMAXAF` | |
|
||||
| `FMAXD` | |
|
||||
| `FMAXF` | |
|
||||
| `FMINAD` | |
|
||||
| `FMINAF` | |
|
||||
| `FMIND` | |
|
||||
| `FMINF` | |
|
||||
| `FMSUBD` | |
|
||||
| `FMSUBF` | |
|
||||
| `FNMADDD` | |
|
||||
| `FNMADDF` | |
|
||||
| `FNMSUBD` | |
|
||||
| `FNMSUBF` | |
|
||||
| `FSCALEBD` | |
|
||||
| `FSCALEBF` | |
|
||||
| `FSEL` | |
|
||||
| `FTINTRMVD` | |
|
||||
| `FTINTRMVF` | |
|
||||
| `FTINTRMWD` | |
|
||||
| `FTINTRMWF` | |
|
||||
| `FTINTRNEVD` | |
|
||||
| `FTINTRNEVF` | |
|
||||
| `FTINTRNEWD` | |
|
||||
| `FTINTRNEWF` | |
|
||||
| `FTINTRPVD` | |
|
||||
| `FTINTRPVF` | |
|
||||
| `FTINTRPWD` | |
|
||||
| `FTINTRPWF` | |
|
||||
| `FTINTRZVD` | |
|
||||
| `FTINTRZVF` | |
|
||||
| `FTINTRZWD` | |
|
||||
| `FTINTRZWF` | |
|
||||
| `FTINTVD` | |
|
||||
| `FTINTVF` | |
|
||||
| `FTINTWD` | |
|
||||
| `FTINTWF` | |
|
||||
| `JIRL` | Jump indirect with link |
|
||||
| `LL` | |
|
||||
| `LLV` | |
|
||||
| `LU12IW` | |
|
||||
| `LU32ID` | |
|
||||
| `LU52ID` | |
|
||||
| `LUI` | |
|
||||
| `MASKEQZ` | |
|
||||
| `MASKNEZ` | |
|
||||
| `MOVB` | |
|
||||
| `MOVBU` | |
|
||||
| `MOVD` | |
|
||||
| `MOVDF` | |
|
||||
| `MOVDV` | |
|
||||
| `MOVDW` | |
|
||||
| `MOVF` | |
|
||||
| `MOVFD` | |
|
||||
| `MOVFV` | |
|
||||
| `MOVFW` | |
|
||||
| `MOVH` | |
|
||||
| `MOVHU` | |
|
||||
| `MOVV` | |
|
||||
| `MOVVD` | |
|
||||
| `MOVVF` | |
|
||||
| `MOVVP` | |
|
||||
| `MOVW` | |
|
||||
| `MOVWD` | |
|
||||
| `MOVWF` | |
|
||||
| `MOVWP` | |
|
||||
| `MOVWU` | |
|
||||
| `MUL` | Multiply (word) |
|
||||
| `MULD` | Multiply doubleword |
|
||||
| `MULF` | |
|
||||
| `MULH` | |
|
||||
| `MULHU` | |
|
||||
| `MULHV` | |
|
||||
| `MULHVU` | |
|
||||
| `MULV` | |
|
||||
| `MULVU` | |
|
||||
| `MULW` | Multiply word |
|
||||
| `MULWVW` | |
|
||||
| `MULWVWU` | |
|
||||
| `NEGD` | |
|
||||
| `NEGF` | |
|
||||
| `NEGV` | |
|
||||
| `NEGW` | |
|
||||
| `NOOP` | |
|
||||
| `NOR` | Bitwise NOR |
|
||||
| `OR` | Bitwise OR |
|
||||
| `ORN` | |
|
||||
| `PCADDU12I` | |
|
||||
| `PCALAU12I` | |
|
||||
| `PRELD` | |
|
||||
| `PRELDX` | |
|
||||
| `RDTIMED` | |
|
||||
| `RDTIMEHW` | |
|
||||
| `RDTIMELW` | |
|
||||
| `REM` | |
|
||||
| `REMU` | |
|
||||
| `REMV` | |
|
||||
| `REMVU` | |
|
||||
| `REMW` | |
|
||||
| `REMWU` | |
|
||||
| `REVB2H` | |
|
||||
| `REVB2W` | |
|
||||
| `REVB4H` | |
|
||||
| `REVBV` | |
|
||||
| `REVH2W` | |
|
||||
| `REVHV` | |
|
||||
| `RFE` | |
|
||||
| `ROTR` | Rotate right |
|
||||
| `ROTRV` | |
|
||||
| `SC` | |
|
||||
| `SCV` | |
|
||||
| `SGT` | |
|
||||
| `SGTU` | |
|
||||
| `SLL` | Shift left logical |
|
||||
| `SLLV` | |
|
||||
| `SQRTD` | |
|
||||
| `SQRTF` | |
|
||||
| `SRA` | Shift right arithmetic |
|
||||
| `SRAV` | |
|
||||
| `SRL` | Shift right logical |
|
||||
| `SRLV` | |
|
||||
| `SUB` | Subtract (word) |
|
||||
| `SUBD` | Subtract doubleword |
|
||||
| `SUBF` | |
|
||||
| `SUBV` | |
|
||||
| `SUBVU` | |
|
||||
| `SUBW` | Subtract word |
|
||||
| `SYSCALL` | System call |
|
||||
| `TEQ` | |
|
||||
| `TNE` | |
|
||||
| `TRUNCDV` | |
|
||||
| `TRUNCDW` | |
|
||||
| `TRUNCFV` | |
|
||||
| `TRUNCFW` | |
|
||||
| `VADDB` | |
|
||||
| `VADDBU` | |
|
||||
| `VADDD` | |
|
||||
| `VADDF` | |
|
||||
| `VADDH` | |
|
||||
| `VADDHU` | |
|
||||
| `VADDQ` | |
|
||||
| `VADDV` | |
|
||||
| `VADDVU` | |
|
||||
| `VADDW` | |
|
||||
| `VADDWEVHB` | |
|
||||
| `VADDWEVHBU` | |
|
||||
| `VADDWEVQV` | |
|
||||
| `VADDWEVQVU` | |
|
||||
| `VADDWEVVW` | |
|
||||
| `VADDWEVVWU` | |
|
||||
| `VADDWEVWH` | |
|
||||
| `VADDWEVWHU` | |
|
||||
| `VADDWODHB` | |
|
||||
| `VADDWODHBU` | |
|
||||
| `VADDWODQV` | |
|
||||
| `VADDWODQVU` | |
|
||||
| `VADDWODVW` | |
|
||||
| `VADDWODVWU` | |
|
||||
| `VADDWODWH` | |
|
||||
| `VADDWODWHU` | |
|
||||
| `VADDWU` | |
|
||||
| `VANDB` | |
|
||||
| `VANDNV` | |
|
||||
| `VANDV` | |
|
||||
| `VBITCLRB` | |
|
||||
| `VBITCLRH` | |
|
||||
| `VBITCLRV` | |
|
||||
| `VBITCLRW` | |
|
||||
| `VBITREVB` | |
|
||||
| `VBITREVH` | |
|
||||
| `VBITREVV` | |
|
||||
| `VBITREVW` | |
|
||||
| `VBITSETB` | |
|
||||
| `VBITSETH` | |
|
||||
| `VBITSETV` | |
|
||||
| `VBITSETW` | |
|
||||
| `VDIVB` | |
|
||||
| `VDIVBU` | |
|
||||
| `VDIVD` | |
|
||||
| `VDIVF` | |
|
||||
| `VDIVH` | |
|
||||
| `VDIVHU` | |
|
||||
| `VDIVV` | |
|
||||
| `VDIVVU` | |
|
||||
| `VDIVW` | |
|
||||
| `VDIVWU` | |
|
||||
| `VEXTRINSB` | |
|
||||
| `VEXTRINSH` | |
|
||||
| `VEXTRINSV` | |
|
||||
| `VEXTRINSW` | |
|
||||
| `VFCLASSD` | |
|
||||
| `VFCLASSF` | |
|
||||
| `VFRECIPD` | |
|
||||
| `VFRECIPF` | |
|
||||
| `VFRINTD` | |
|
||||
| `VFRINTF` | |
|
||||
| `VFRINTRMD` | |
|
||||
| `VFRINTRMF` | |
|
||||
| `VFRINTRNED` | |
|
||||
| `VFRINTRNEF` | |
|
||||
| `VFRINTRPD` | |
|
||||
| `VFRINTRPF` | |
|
||||
| `VFRINTRZD` | |
|
||||
| `VFRINTRZF` | |
|
||||
| `VFRSQRTD` | |
|
||||
| `VFRSQRTF` | |
|
||||
| `VFSQRTD` | |
|
||||
| `VFSQRTF` | |
|
||||
| `VILVHB` | |
|
||||
| `VILVHH` | |
|
||||
| `VILVHV` | |
|
||||
| `VILVHW` | |
|
||||
| `VILVLB` | |
|
||||
| `VILVLH` | |
|
||||
| `VILVLV` | |
|
||||
| `VILVLW` | |
|
||||
| `VMADDB` | |
|
||||
| `VMADDH` | |
|
||||
| `VMADDV` | |
|
||||
| `VMADDW` | |
|
||||
| `VMADDWEVHB` | |
|
||||
| `VMADDWEVHBU` | |
|
||||
| `VMADDWEVHBUB` | |
|
||||
| `VMADDWEVQV` | |
|
||||
| `VMADDWEVQVU` | |
|
||||
| `VMADDWEVQVUV` | |
|
||||
| `VMADDWEVVW` | |
|
||||
| `VMADDWEVVWU` | |
|
||||
| `VMADDWEVVWUW` | |
|
||||
| `VMADDWEVWH` | |
|
||||
| `VMADDWEVWHU` | |
|
||||
| `VMADDWEVWHUH` | |
|
||||
| `VMADDWODHB` | |
|
||||
| `VMADDWODHBU` | |
|
||||
| `VMADDWODHBUB` | |
|
||||
| `VMADDWODQV` | |
|
||||
| `VMADDWODQVU` | |
|
||||
| `VMADDWODQVUV` | |
|
||||
| `VMADDWODVW` | |
|
||||
| `VMADDWODVWU` | |
|
||||
| `VMADDWODVWUW` | |
|
||||
| `VMADDWODWH` | |
|
||||
| `VMADDWODWHU` | |
|
||||
| `VMADDWODWHUH` | |
|
||||
| `VMODB` | |
|
||||
| `VMODBU` | |
|
||||
| `VMODH` | |
|
||||
| `VMODHU` | |
|
||||
| `VMODV` | |
|
||||
| `VMODVU` | |
|
||||
| `VMODW` | |
|
||||
| `VMODWU` | |
|
||||
| `VMOVQ` | |
|
||||
| `VMSUBB` | |
|
||||
| `VMSUBH` | |
|
||||
| `VMSUBV` | |
|
||||
| `VMSUBW` | |
|
||||
| `VMUHB` | |
|
||||
| `VMUHBU` | |
|
||||
| `VMUHH` | |
|
||||
| `VMUHHU` | |
|
||||
| `VMUHV` | |
|
||||
| `VMUHVU` | |
|
||||
| `VMUHW` | |
|
||||
| `VMUHWU` | |
|
||||
| `VMULB` | |
|
||||
| `VMULD` | |
|
||||
| `VMULF` | |
|
||||
| `VMULH` | |
|
||||
| `VMULV` | |
|
||||
| `VMULW` | |
|
||||
| `VMULWEVHB` | |
|
||||
| `VMULWEVHBU` | |
|
||||
| `VMULWEVHBUB` | |
|
||||
| `VMULWEVQV` | |
|
||||
| `VMULWEVQVU` | |
|
||||
| `VMULWEVQVUV` | |
|
||||
| `VMULWEVVW` | |
|
||||
| `VMULWEVVWU` | |
|
||||
| `VMULWEVVWUW` | |
|
||||
| `VMULWEVWH` | |
|
||||
| `VMULWEVWHU` | |
|
||||
| `VMULWEVWHUH` | |
|
||||
| `VMULWODHB` | |
|
||||
| `VMULWODHBU` | |
|
||||
| `VMULWODHBUB` | |
|
||||
| `VMULWODQV` | |
|
||||
| `VMULWODQVU` | |
|
||||
| `VMULWODQVUV` | |
|
||||
| `VMULWODVW` | |
|
||||
| `VMULWODVWU` | |
|
||||
| `VMULWODVWUW` | |
|
||||
| `VMULWODWH` | |
|
||||
| `VMULWODWHU` | |
|
||||
| `VMULWODWHUH` | |
|
||||
| `VNEGB` | |
|
||||
| `VNEGH` | |
|
||||
| `VNEGV` | |
|
||||
| `VNEGW` | |
|
||||
| `VNORB` | |
|
||||
| `VNORV` | |
|
||||
| `VORB` | |
|
||||
| `VORNV` | |
|
||||
| `VORV` | |
|
||||
| `VPCNTB` | |
|
||||
| `VPCNTH` | |
|
||||
| `VPCNTV` | |
|
||||
| `VPCNTW` | |
|
||||
| `VPERMIW` | |
|
||||
| `VROTRB` | |
|
||||
| `VROTRH` | |
|
||||
| `VROTRV` | |
|
||||
| `VROTRW` | |
|
||||
| `VSADDB` | |
|
||||
| `VSADDBU` | |
|
||||
| `VSADDH` | |
|
||||
| `VSADDHU` | |
|
||||
| `VSADDV` | |
|
||||
| `VSADDVU` | |
|
||||
| `VSADDW` | |
|
||||
| `VSADDWU` | |
|
||||
| `VSEQB` | |
|
||||
| `VSEQH` | |
|
||||
| `VSEQV` | |
|
||||
| `VSEQW` | |
|
||||
| `VSETALLNEB` | |
|
||||
| `VSETALLNEH` | |
|
||||
| `VSETALLNEV` | |
|
||||
| `VSETALLNEW` | |
|
||||
| `VSETANYEQB` | |
|
||||
| `VSETANYEQH` | |
|
||||
| `VSETANYEQV` | |
|
||||
| `VSETANYEQW` | |
|
||||
| `VSETEQV` | |
|
||||
| `VSETNEV` | |
|
||||
| `VSHUF4IB` | |
|
||||
| `VSHUF4IH` | |
|
||||
| `VSHUF4IV` | |
|
||||
| `VSHUF4IW` | |
|
||||
| `VSHUFB` | |
|
||||
| `VSHUFH` | |
|
||||
| `VSHUFV` | |
|
||||
| `VSHUFW` | |
|
||||
| `VSLLB` | |
|
||||
| `VSLLH` | |
|
||||
| `VSLLV` | |
|
||||
| `VSLLW` | |
|
||||
| `VSLTB` | |
|
||||
| `VSLTBU` | |
|
||||
| `VSLTH` | |
|
||||
| `VSLTHU` | |
|
||||
| `VSLTV` | |
|
||||
| `VSLTVU` | |
|
||||
| `VSLTW` | |
|
||||
| `VSLTWU` | |
|
||||
| `VSRAB` | |
|
||||
| `VSRAH` | |
|
||||
| `VSRAV` | |
|
||||
| `VSRAW` | |
|
||||
| `VSRLB` | |
|
||||
| `VSRLH` | |
|
||||
| `VSRLV` | |
|
||||
| `VSRLW` | |
|
||||
| `VSSUBB` | |
|
||||
| `VSSUBBU` | |
|
||||
| `VSSUBH` | |
|
||||
| `VSSUBHU` | |
|
||||
| `VSSUBV` | |
|
||||
| `VSSUBVU` | |
|
||||
| `VSSUBW` | |
|
||||
| `VSSUBWU` | |
|
||||
| `VSUBB` | |
|
||||
| `VSUBBU` | |
|
||||
| `VSUBD` | |
|
||||
| `VSUBF` | |
|
||||
| `VSUBH` | |
|
||||
| `VSUBHU` | |
|
||||
| `VSUBQ` | |
|
||||
| `VSUBV` | |
|
||||
| `VSUBVU` | |
|
||||
| `VSUBW` | |
|
||||
| `VSUBWEVHB` | |
|
||||
| `VSUBWEVHBU` | |
|
||||
| `VSUBWEVQV` | |
|
||||
| `VSUBWEVQVU` | |
|
||||
| `VSUBWEVVW` | |
|
||||
| `VSUBWEVVWU` | |
|
||||
| `VSUBWEVWH` | |
|
||||
| `VSUBWEVWHU` | |
|
||||
| `VSUBWODHB` | |
|
||||
| `VSUBWODHBU` | |
|
||||
| `VSUBWODQV` | |
|
||||
| `VSUBWODQVU` | |
|
||||
| `VSUBWODVW` | |
|
||||
| `VSUBWODVWU` | |
|
||||
| `VSUBWODWH` | |
|
||||
| `VSUBWODWHU` | |
|
||||
| `VSUBWU` | |
|
||||
| `VXORB` | |
|
||||
| `VXORV` | |
|
||||
| `WORD` | |
|
||||
| `XOR` | Bitwise XOR |
|
||||
| `XVADDB` | |
|
||||
| `XVADDBU` | |
|
||||
| `XVADDD` | |
|
||||
| `XVADDF` | |
|
||||
| `XVADDH` | |
|
||||
| `XVADDHU` | |
|
||||
| `XVADDQ` | |
|
||||
| `XVADDV` | |
|
||||
| `XVADDVU` | |
|
||||
| `XVADDW` | |
|
||||
| `XVADDWEVHB` | |
|
||||
| `XVADDWEVHBU` | |
|
||||
| `XVADDWEVQV` | |
|
||||
| `XVADDWEVQVU` | |
|
||||
| `XVADDWEVVW` | |
|
||||
| `XVADDWEVVWU` | |
|
||||
| `XVADDWEVWH` | |
|
||||
| `XVADDWEVWHU` | |
|
||||
| `XVADDWODHB` | |
|
||||
| `XVADDWODHBU` | |
|
||||
| `XVADDWODQV` | |
|
||||
| `XVADDWODQVU` | |
|
||||
| `XVADDWODVW` | |
|
||||
| `XVADDWODVWU` | |
|
||||
| `XVADDWODWH` | |
|
||||
| `XVADDWODWHU` | |
|
||||
| `XVADDWU` | |
|
||||
| `XVANDB` | |
|
||||
| `XVANDNV` | |
|
||||
| `XVANDV` | |
|
||||
| `XVBITCLRB` | |
|
||||
| `XVBITCLRH` | |
|
||||
| `XVBITCLRV` | |
|
||||
| `XVBITCLRW` | |
|
||||
| `XVBITREVB` | |
|
||||
| `XVBITREVH` | |
|
||||
| `XVBITREVV` | |
|
||||
| `XVBITREVW` | |
|
||||
| `XVBITSETB` | |
|
||||
| `XVBITSETH` | |
|
||||
| `XVBITSETV` | |
|
||||
| `XVBITSETW` | |
|
||||
| `XVDIVB` | |
|
||||
| `XVDIVBU` | |
|
||||
| `XVDIVD` | |
|
||||
| `XVDIVF` | |
|
||||
| `XVDIVH` | |
|
||||
| `XVDIVHU` | |
|
||||
| `XVDIVV` | |
|
||||
| `XVDIVVU` | |
|
||||
| `XVDIVW` | |
|
||||
| `XVDIVWU` | |
|
||||
| `XVEXTRINSB` | |
|
||||
| `XVEXTRINSH` | |
|
||||
| `XVEXTRINSV` | |
|
||||
| `XVEXTRINSW` | |
|
||||
| `XVFCLASSD` | |
|
||||
| `XVFCLASSF` | |
|
||||
| `XVFRECIPD` | |
|
||||
| `XVFRECIPF` | |
|
||||
| `XVFRINTD` | |
|
||||
| `XVFRINTF` | |
|
||||
| `XVFRINTRMD` | |
|
||||
| `XVFRINTRMF` | |
|
||||
| `XVFRINTRNED` | |
|
||||
| `XVFRINTRNEF` | |
|
||||
| `XVFRINTRPD` | |
|
||||
| `XVFRINTRPF` | |
|
||||
| `XVFRINTRZD` | |
|
||||
| `XVFRINTRZF` | |
|
||||
| `XVFRSQRTD` | |
|
||||
| `XVFRSQRTF` | |
|
||||
| `XVFSQRTD` | |
|
||||
| `XVFSQRTF` | |
|
||||
| `XVILVHB` | |
|
||||
| `XVILVHH` | |
|
||||
| `XVILVHV` | |
|
||||
| `XVILVHW` | |
|
||||
| `XVILVLB` | |
|
||||
| `XVILVLH` | |
|
||||
| `XVILVLV` | |
|
||||
| `XVILVLW` | |
|
||||
| `XVMADDB` | |
|
||||
| `XVMADDH` | |
|
||||
| `XVMADDV` | |
|
||||
| `XVMADDW` | |
|
||||
| `XVMADDWEVHB` | |
|
||||
| `XVMADDWEVHBU` | |
|
||||
| `XVMADDWEVHBUB` | |
|
||||
| `XVMADDWEVQV` | |
|
||||
| `XVMADDWEVQVU` | |
|
||||
| `XVMADDWEVQVUV` | |
|
||||
| `XVMADDWEVVW` | |
|
||||
| `XVMADDWEVVWU` | |
|
||||
| `XVMADDWEVVWUW` | |
|
||||
| `XVMADDWEVWH` | |
|
||||
| `XVMADDWEVWHU` | |
|
||||
| `XVMADDWEVWHUH` | |
|
||||
| `XVMADDWODHB` | |
|
||||
| `XVMADDWODHBU` | |
|
||||
| `XVMADDWODHBUB` | |
|
||||
| `XVMADDWODQV` | |
|
||||
| `XVMADDWODQVU` | |
|
||||
| `XVMADDWODQVUV` | |
|
||||
| `XVMADDWODVW` | |
|
||||
| `XVMADDWODVWU` | |
|
||||
| `XVMADDWODVWUW` | |
|
||||
| `XVMADDWODWH` | |
|
||||
| `XVMADDWODWHU` | |
|
||||
| `XVMADDWODWHUH` | |
|
||||
| `XVMODB` | |
|
||||
| `XVMODBU` | |
|
||||
| `XVMODH` | |
|
||||
| `XVMODHU` | |
|
||||
| `XVMODV` | |
|
||||
| `XVMODVU` | |
|
||||
| `XVMODW` | |
|
||||
| `XVMODWU` | |
|
||||
| `XVMOVQ` | |
|
||||
| `XVMSUBB` | |
|
||||
| `XVMSUBH` | |
|
||||
| `XVMSUBV` | |
|
||||
| `XVMSUBW` | |
|
||||
| `XVMUHB` | |
|
||||
| `XVMUHBU` | |
|
||||
| `XVMUHH` | |
|
||||
| `XVMUHHU` | |
|
||||
| `XVMUHV` | |
|
||||
| `XVMUHVU` | |
|
||||
| `XVMUHW` | |
|
||||
| `XVMUHWU` | |
|
||||
| `XVMULB` | |
|
||||
| `XVMULD` | |
|
||||
| `XVMULF` | |
|
||||
| `XVMULH` | |
|
||||
| `XVMULV` | |
|
||||
| `XVMULW` | |
|
||||
| `XVMULWEVHB` | |
|
||||
| `XVMULWEVHBU` | |
|
||||
| `XVMULWEVHBUB` | |
|
||||
| `XVMULWEVQV` | |
|
||||
| `XVMULWEVQVU` | |
|
||||
| `XVMULWEVQVUV` | |
|
||||
| `XVMULWEVVW` | |
|
||||
| `XVMULWEVVWU` | |
|
||||
| `XVMULWEVVWUW` | |
|
||||
| `XVMULWEVWH` | |
|
||||
| `XVMULWEVWHU` | |
|
||||
| `XVMULWEVWHUH` | |
|
||||
| `XVMULWODHB` | |
|
||||
| `XVMULWODHBU` | |
|
||||
| `XVMULWODHBUB` | |
|
||||
| `XVMULWODQV` | |
|
||||
| `XVMULWODQVU` | |
|
||||
| `XVMULWODQVUV` | |
|
||||
| `XVMULWODVW` | |
|
||||
| `XVMULWODVWU` | |
|
||||
| `XVMULWODVWUW` | |
|
||||
| `XVMULWODWH` | |
|
||||
| `XVMULWODWHU` | |
|
||||
| `XVMULWODWHUH` | |
|
||||
| `XVNEGB` | |
|
||||
| `XVNEGH` | |
|
||||
| `XVNEGV` | |
|
||||
| `XVNEGW` | |
|
||||
| `XVNORB` | |
|
||||
| `XVNORV` | |
|
||||
| `XVORB` | |
|
||||
| `XVORNV` | |
|
||||
| `XVORV` | |
|
||||
| `XVPCNTB` | |
|
||||
| `XVPCNTH` | |
|
||||
| `XVPCNTV` | |
|
||||
| `XVPCNTW` | |
|
||||
| `XVPERMIQ` | |
|
||||
| `XVPERMIV` | |
|
||||
| `XVPERMIW` | |
|
||||
| `XVROTRB` | |
|
||||
| `XVROTRH` | |
|
||||
| `XVROTRV` | |
|
||||
| `XVROTRW` | |
|
||||
| `XVSADDB` | |
|
||||
| `XVSADDBU` | |
|
||||
| `XVSADDH` | |
|
||||
| `XVSADDHU` | |
|
||||
| `XVSADDV` | |
|
||||
| `XVSADDVU` | |
|
||||
| `XVSADDW` | |
|
||||
| `XVSADDWU` | |
|
||||
| `XVSEQB` | |
|
||||
| `XVSEQH` | |
|
||||
| `XVSEQV` | |
|
||||
| `XVSEQW` | |
|
||||
| `XVSETALLNEB` | |
|
||||
| `XVSETALLNEH` | |
|
||||
| `XVSETALLNEV` | |
|
||||
| `XVSETALLNEW` | |
|
||||
| `XVSETANYEQB` | |
|
||||
| `XVSETANYEQH` | |
|
||||
| `XVSETANYEQV` | |
|
||||
| `XVSETANYEQW` | |
|
||||
| `XVSETEQV` | |
|
||||
| `XVSETNEV` | |
|
||||
| `XVSHUF4IB` | |
|
||||
| `XVSHUF4IH` | |
|
||||
| `XVSHUF4IV` | |
|
||||
| `XVSHUF4IW` | |
|
||||
| `XVSHUFB` | |
|
||||
| `XVSHUFH` | |
|
||||
| `XVSHUFV` | |
|
||||
| `XVSHUFW` | |
|
||||
| `XVSLLB` | |
|
||||
| `XVSLLH` | |
|
||||
| `XVSLLV` | |
|
||||
| `XVSLLW` | |
|
||||
| `XVSLTB` | |
|
||||
| `XVSLTBU` | |
|
||||
| `XVSLTH` | |
|
||||
| `XVSLTHU` | |
|
||||
| `XVSLTV` | |
|
||||
| `XVSLTVU` | |
|
||||
| `XVSLTW` | |
|
||||
| `XVSLTWU` | |
|
||||
| `XVSRAB` | |
|
||||
| `XVSRAH` | |
|
||||
| `XVSRAV` | |
|
||||
| `XVSRAW` | |
|
||||
| `XVSRLB` | |
|
||||
| `XVSRLH` | |
|
||||
| `XVSRLV` | |
|
||||
| `XVSRLW` | |
|
||||
| `XVSSUBB` | |
|
||||
| `XVSSUBBU` | |
|
||||
| `XVSSUBH` | |
|
||||
| `XVSSUBHU` | |
|
||||
| `XVSSUBV` | |
|
||||
| `XVSSUBVU` | |
|
||||
| `XVSSUBW` | |
|
||||
| `XVSSUBWU` | |
|
||||
| `XVSUBB` | |
|
||||
| `XVSUBBU` | |
|
||||
| `XVSUBD` | |
|
||||
| `XVSUBF` | |
|
||||
| `XVSUBH` | |
|
||||
| `XVSUBHU` | |
|
||||
| `XVSUBQ` | |
|
||||
| `XVSUBV` | |
|
||||
| `XVSUBVU` | |
|
||||
| `XVSUBW` | |
|
||||
| `XVSUBWEVHB` | |
|
||||
| `XVSUBWEVHBU` | |
|
||||
| `XVSUBWEVQV` | |
|
||||
| `XVSUBWEVQVU` | |
|
||||
| `XVSUBWEVVW` | |
|
||||
| `XVSUBWEVVWU` | |
|
||||
| `XVSUBWEVWH` | |
|
||||
| `XVSUBWEVWHU` | |
|
||||
| `XVSUBWODHB` | |
|
||||
| `XVSUBWODHBU` | |
|
||||
| `XVSUBWODQV` | |
|
||||
| `XVSUBWODQVU` | |
|
||||
| `XVSUBWODVW` | |
|
||||
| `XVSUBWODVWU` | |
|
||||
| `XVSUBWODWH` | |
|
||||
| `XVSUBWODWHU` | |
|
||||
| `XVSUBWU` | |
|
||||
| `XVXORB` | |
|
||||
| `XVXORV` | |
|
||||
| `JAL` | |
|
||||
|
||||
Recognised: 814 mnemonics.
|
||||
@@ -0,0 +1,991 @@
|
||||
# RISC-V 64: instruction inventory
|
||||
|
||||
Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table
|
||||
(`cmd/internal/obj/riscv/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic
|
||||
`go tool asm` accepts on this target, which is the upper bound of the
|
||||
language on it: a name absent here is not an instruction of the target,
|
||||
and a name present here may still be one gasm's encoder cannot emit yet.
|
||||
|
||||
The inventory carries no per-mnemonic encoder column: on this target
|
||||
encodability is decided per operand shape, and the live measured
|
||||
coverage is reported by `gasm audit-instructions`.
|
||||
|
||||
| Mnemonic | Notes |
|
||||
|---|---|
|
||||
| `CALL` | Call subroutine |
|
||||
| `DUFFCOPY` | |
|
||||
| `DUFFZERO` | |
|
||||
| `END` | |
|
||||
| `FUNCDATA` | |
|
||||
| `GETCALLERPC` | |
|
||||
| `JMP` | Unconditional jump |
|
||||
| `NOP` | |
|
||||
| `PCALIGN` | |
|
||||
| `PCALIGNMAX` | |
|
||||
| `PCDATA` | |
|
||||
| `RET` | Return |
|
||||
| `TEXT` | |
|
||||
| `UNDEF` | |
|
||||
| `ADD` | Integer add |
|
||||
| `ADDI` | Add immediate |
|
||||
| `ADDIW` | Add immediate (32-bit) |
|
||||
| `ADDUW` | |
|
||||
| `ADDW` | Add (32-bit) |
|
||||
| `AMOADDD` | Atomic add doubleword |
|
||||
| `AMOADDW` | Atomic add word |
|
||||
| `AMOANDD` | |
|
||||
| `AMOANDW` | |
|
||||
| `AMOMAXD` | |
|
||||
| `AMOMAXUD` | |
|
||||
| `AMOMAXUW` | |
|
||||
| `AMOMAXW` | |
|
||||
| `AMOMIND` | |
|
||||
| `AMOMINUD` | |
|
||||
| `AMOMINUW` | |
|
||||
| `AMOMINW` | |
|
||||
| `AMOORD` | |
|
||||
| `AMOORW` | |
|
||||
| `AMOSWAPD` | Atomic swap doubleword |
|
||||
| `AMOSWAPW` | Atomic swap word |
|
||||
| `AMOXORD` | |
|
||||
| `AMOXORW` | |
|
||||
| `AND` | Bitwise AND |
|
||||
| `ANDI` | AND immediate |
|
||||
| `ANDN` | |
|
||||
| `AUIPC` | Add upper immediate to PC |
|
||||
| `BCLR` | |
|
||||
| `BCLRI` | |
|
||||
| `BEQ` | Branch if equal |
|
||||
| `BEQZ` | |
|
||||
| `BEXT` | |
|
||||
| `BEXTI` | |
|
||||
| `BGE` | Branch if greater or equal |
|
||||
| `BGEU` | Branch if greater or equal unsigned |
|
||||
| `BGEZ` | |
|
||||
| `BGT` | |
|
||||
| `BGTU` | |
|
||||
| `BGTZ` | |
|
||||
| `BINV` | |
|
||||
| `BINVI` | |
|
||||
| `BLE` | |
|
||||
| `BLEU` | |
|
||||
| `BLEZ` | |
|
||||
| `BLT` | Branch if less than |
|
||||
| `BLTU` | Branch if less than unsigned |
|
||||
| `BLTZ` | |
|
||||
| `BNE` | Branch if not equal |
|
||||
| `BNEZ` | |
|
||||
| `BSET` | |
|
||||
| `BSETI` | |
|
||||
| `CADD` | |
|
||||
| `CADDI` | |
|
||||
| `CADDI16SP` | |
|
||||
| `CADDI4SPN` | |
|
||||
| `CADDIW` | |
|
||||
| `CADDW` | |
|
||||
| `CAND` | |
|
||||
| `CANDI` | |
|
||||
| `CBEQZ` | |
|
||||
| `CBNEZ` | |
|
||||
| `CEBREAK` | |
|
||||
| `CFLD` | |
|
||||
| `CFLDSP` | |
|
||||
| `CFSD` | |
|
||||
| `CFSDSP` | |
|
||||
| `CJ` | |
|
||||
| `CJALR` | |
|
||||
| `CJR` | |
|
||||
| `CLD` | |
|
||||
| `CLDSP` | |
|
||||
| `CLI` | |
|
||||
| `CLUI` | |
|
||||
| `CLW` | |
|
||||
| `CLWSP` | |
|
||||
| `CLZ` | |
|
||||
| `CLZW` | |
|
||||
| `CMV` | |
|
||||
| `CNOP` | |
|
||||
| `COR` | |
|
||||
| `CPOP` | |
|
||||
| `CPOPW` | |
|
||||
| `CSD` | |
|
||||
| `CSDSP` | |
|
||||
| `CSLLI` | |
|
||||
| `CSRAI` | |
|
||||
| `CSRLI` | |
|
||||
| `CSRRC` | |
|
||||
| `CSRRCI` | |
|
||||
| `CSRRS` | |
|
||||
| `CSRRSI` | |
|
||||
| `CSRRW` | |
|
||||
| `CSRRWI` | |
|
||||
| `CSUB` | |
|
||||
| `CSUBW` | |
|
||||
| `CSW` | |
|
||||
| `CSWSP` | |
|
||||
| `CTZ` | |
|
||||
| `CTZW` | |
|
||||
| `CXOR` | |
|
||||
| `CZEROEQZ` | |
|
||||
| `CZERONEZ` | |
|
||||
| `DIV` | Divide |
|
||||
| `DIVU` | Divide unsigned |
|
||||
| `DIVUW` | |
|
||||
| `DIVW` | Divide (32-bit) |
|
||||
| `DRET` | |
|
||||
| `EBREAK` | Breakpoint |
|
||||
| `ECALL` | Environment call |
|
||||
| `FABSD` | |
|
||||
| `FABSS` | |
|
||||
| `FADDD` | FP add (double) |
|
||||
| `FADDQ` | |
|
||||
| `FADDS` | FP add (single) |
|
||||
| `FCLASSD` | |
|
||||
| `FCLASSQ` | |
|
||||
| `FCLASSS` | |
|
||||
| `FCVTDL` | |
|
||||
| `FCVTDLU` | |
|
||||
| `FCVTDQ` | |
|
||||
| `FCVTDS` | |
|
||||
| `FCVTDW` | |
|
||||
| `FCVTDWU` | |
|
||||
| `FCVTLD` | |
|
||||
| `FCVTLQ` | |
|
||||
| `FCVTLS` | |
|
||||
| `FCVTLUD` | |
|
||||
| `FCVTLUQ` | |
|
||||
| `FCVTLUS` | |
|
||||
| `FCVTQD` | |
|
||||
| `FCVTQL` | |
|
||||
| `FCVTQLU` | |
|
||||
| `FCVTQS` | |
|
||||
| `FCVTQW` | |
|
||||
| `FCVTQWU` | |
|
||||
| `FCVTSD` | |
|
||||
| `FCVTSL` | |
|
||||
| `FCVTSLU` | |
|
||||
| `FCVTSQ` | |
|
||||
| `FCVTSW` | |
|
||||
| `FCVTSWU` | |
|
||||
| `FCVTWD` | |
|
||||
| `FCVTWQ` | |
|
||||
| `FCVTWS` | |
|
||||
| `FCVTWUD` | |
|
||||
| `FCVTWUQ` | |
|
||||
| `FCVTWUS` | |
|
||||
| `FDIVD` | FP divide (double) |
|
||||
| `FDIVQ` | |
|
||||
| `FDIVS` | FP divide (single) |
|
||||
| `FENCE` | Memory barrier |
|
||||
| `FEQD` | |
|
||||
| `FEQQ` | |
|
||||
| `FEQS` | |
|
||||
| `FLD` | FP load doubleword |
|
||||
| `FLED` | |
|
||||
| `FLEQ` | |
|
||||
| `FLES` | |
|
||||
| `FLQ` | |
|
||||
| `FLTD` | |
|
||||
| `FLTQ` | |
|
||||
| `FLTS` | |
|
||||
| `FLW` | FP load word |
|
||||
| `FMADDD` | |
|
||||
| `FMADDQ` | |
|
||||
| `FMADDS` | |
|
||||
| `FMAXD` | |
|
||||
| `FMAXQ` | |
|
||||
| `FMAXS` | |
|
||||
| `FMIND` | |
|
||||
| `FMINQ` | |
|
||||
| `FMINS` | |
|
||||
| `FMSUBD` | |
|
||||
| `FMSUBQ` | |
|
||||
| `FMSUBS` | |
|
||||
| `FMULD` | FP multiply (double) |
|
||||
| `FMULQ` | |
|
||||
| `FMULS` | FP multiply (single) |
|
||||
| `FMVDX` | |
|
||||
| `FMVSX` | |
|
||||
| `FMVWX` | |
|
||||
| `FMVXD` | |
|
||||
| `FMVXS` | |
|
||||
| `FMVXW` | |
|
||||
| `FNED` | |
|
||||
| `FNEGD` | |
|
||||
| `FNEGS` | |
|
||||
| `FNES` | |
|
||||
| `FNMADDD` | |
|
||||
| `FNMADDQ` | |
|
||||
| `FNMADDS` | |
|
||||
| `FNMSUBD` | |
|
||||
| `FNMSUBQ` | |
|
||||
| `FNMSUBS` | |
|
||||
| `FSD` | FP store doubleword |
|
||||
| `FSGNJD` | |
|
||||
| `FSGNJND` | |
|
||||
| `FSGNJNQ` | |
|
||||
| `FSGNJNS` | |
|
||||
| `FSGNJQ` | |
|
||||
| `FSGNJS` | |
|
||||
| `FSGNJXD` | |
|
||||
| `FSGNJXQ` | |
|
||||
| `FSGNJXS` | |
|
||||
| `FSQ` | |
|
||||
| `FSQRTD` | |
|
||||
| `FSQRTQ` | |
|
||||
| `FSQRTS` | |
|
||||
| `FSUBD` | FP subtract (double) |
|
||||
| `FSUBQ` | |
|
||||
| `FSUBS` | FP subtract (single) |
|
||||
| `FSW` | FP store word |
|
||||
| `JAL` | Jump and link |
|
||||
| `JALR` | Jump and link register |
|
||||
| `LB` | Load byte |
|
||||
| `LBU` | Load byte unsigned |
|
||||
| `LD` | Load doubleword |
|
||||
| `LH` | Load halfword |
|
||||
| `LHU` | Load halfword unsigned |
|
||||
| `LRD` | Load-reserved doubleword |
|
||||
| `LRW` | Load-reserved word |
|
||||
| `LUI` | Load upper immediate |
|
||||
| `LW` | Load word |
|
||||
| `LWU` | Load word unsigned |
|
||||
| `MAX` | |
|
||||
| `MAXU` | |
|
||||
| `MIN` | |
|
||||
| `MINU` | |
|
||||
| `MOV` | |
|
||||
| `MOVB` | |
|
||||
| `MOVBU` | |
|
||||
| `MOVD` | |
|
||||
| `MOVF` | |
|
||||
| `MOVH` | |
|
||||
| `MOVHU` | |
|
||||
| `MOVW` | |
|
||||
| `MOVWU` | |
|
||||
| `MRET` | |
|
||||
| `MUL` | Multiply |
|
||||
| `MULH` | Multiply high |
|
||||
| `MULHSU` | Multiply high signed/unsigned |
|
||||
| `MULHU` | Multiply high unsigned |
|
||||
| `MULW` | Multiply (32-bit) |
|
||||
| `NEG` | |
|
||||
| `NEGW` | |
|
||||
| `NOT` | |
|
||||
| `OR` | Bitwise OR |
|
||||
| `ORCB` | |
|
||||
| `ORI` | OR immediate |
|
||||
| `ORN` | |
|
||||
| `RDCYCLE` | |
|
||||
| `RDINSTRET` | |
|
||||
| `RDTIME` | |
|
||||
| `REM` | Remainder |
|
||||
| `REMU` | Remainder unsigned |
|
||||
| `REMUW` | |
|
||||
| `REMW` | |
|
||||
| `REV8` | |
|
||||
| `ROL` | |
|
||||
| `ROLW` | |
|
||||
| `ROR` | |
|
||||
| `RORI` | |
|
||||
| `RORIW` | |
|
||||
| `RORW` | |
|
||||
| `SB` | Store byte |
|
||||
| `SBREAK` | |
|
||||
| `SCALL` | |
|
||||
| `SCD` | Store-conditional doubleword |
|
||||
| `SCW` | Store-conditional word |
|
||||
| `SD` | Store doubleword |
|
||||
| `SEQZ` | |
|
||||
| `SEXTB` | |
|
||||
| `SEXTH` | |
|
||||
| `SFENCEVMA` | |
|
||||
| `SH` | Store halfword |
|
||||
| `SH1ADD` | |
|
||||
| `SH1ADDUW` | |
|
||||
| `SH2ADD` | |
|
||||
| `SH2ADDUW` | |
|
||||
| `SH3ADD` | |
|
||||
| `SH3ADDUW` | |
|
||||
| `SLL` | Shift left logical |
|
||||
| `SLLI` | Shift left logical immediate |
|
||||
| `SLLIUW` | |
|
||||
| `SLLIW` | |
|
||||
| `SLLW` | |
|
||||
| `SLT` | Set if less than |
|
||||
| `SLTI` | Set if less than immediate |
|
||||
| `SLTIU` | Set if less than unsigned immediate |
|
||||
| `SLTU` | Set if less than unsigned |
|
||||
| `SNEZ` | |
|
||||
| `SRA` | Shift right arithmetic |
|
||||
| `SRAI` | Shift right arithmetic immediate |
|
||||
| `SRAIW` | |
|
||||
| `SRAW` | |
|
||||
| `SRET` | |
|
||||
| `SRL` | Shift right logical |
|
||||
| `SRLI` | Shift right logical immediate |
|
||||
| `SRLIW` | |
|
||||
| `SRLW` | |
|
||||
| `SUB` | Integer subtract |
|
||||
| `SUBW` | Subtract (32-bit) |
|
||||
| `SW` | Store word |
|
||||
| `VAADDUVV` | |
|
||||
| `VAADDUVX` | |
|
||||
| `VAADDVV` | |
|
||||
| `VAADDVX` | |
|
||||
| `VADCVIM` | |
|
||||
| `VADCVVM` | |
|
||||
| `VADCVXM` | |
|
||||
| `VADDVI` | |
|
||||
| `VADDVV` | |
|
||||
| `VADDVX` | |
|
||||
| `VANDVI` | |
|
||||
| `VANDVV` | |
|
||||
| `VANDVX` | |
|
||||
| `VASUBUVV` | |
|
||||
| `VASUBUVX` | |
|
||||
| `VASUBVV` | |
|
||||
| `VASUBVX` | |
|
||||
| `VCOMPRESSVM` | |
|
||||
| `VCPOPM` | |
|
||||
| `VDIVUVV` | |
|
||||
| `VDIVUVX` | |
|
||||
| `VDIVVV` | |
|
||||
| `VDIVVX` | |
|
||||
| `VFABSV` | |
|
||||
| `VFADDVF` | |
|
||||
| `VFADDVV` | |
|
||||
| `VFCLASSV` | |
|
||||
| `VFCVTFXUV` | |
|
||||
| `VFCVTFXV` | |
|
||||
| `VFCVTRTZXFV` | |
|
||||
| `VFCVTRTZXUFV` | |
|
||||
| `VFCVTXFV` | |
|
||||
| `VFCVTXUFV` | |
|
||||
| `VFDIVVF` | |
|
||||
| `VFDIVVV` | |
|
||||
| `VFIRSTM` | |
|
||||
| `VFMACCVF` | |
|
||||
| `VFMACCVV` | |
|
||||
| `VFMADDVF` | |
|
||||
| `VFMADDVV` | |
|
||||
| `VFMAXVF` | |
|
||||
| `VFMAXVV` | |
|
||||
| `VFMERGEVFM` | |
|
||||
| `VFMINVF` | |
|
||||
| `VFMINVV` | |
|
||||
| `VFMSACVF` | |
|
||||
| `VFMSACVV` | |
|
||||
| `VFMSUBVF` | |
|
||||
| `VFMSUBVV` | |
|
||||
| `VFMULVF` | |
|
||||
| `VFMULVV` | |
|
||||
| `VFMVFS` | |
|
||||
| `VFMVSF` | |
|
||||
| `VFMVVF` | |
|
||||
| `VFNCVTFFW` | |
|
||||
| `VFNCVTFXUW` | |
|
||||
| `VFNCVTFXW` | |
|
||||
| `VFNCVTRODFFW` | |
|
||||
| `VFNCVTRTZXFW` | |
|
||||
| `VFNCVTRTZXUFW` | |
|
||||
| `VFNCVTXFW` | |
|
||||
| `VFNCVTXUFW` | |
|
||||
| `VFNEGV` | |
|
||||
| `VFNMACCVF` | |
|
||||
| `VFNMACCVV` | |
|
||||
| `VFNMADDVF` | |
|
||||
| `VFNMADDVV` | |
|
||||
| `VFNMSACVF` | |
|
||||
| `VFNMSACVV` | |
|
||||
| `VFNMSUBVF` | |
|
||||
| `VFNMSUBVV` | |
|
||||
| `VFRDIVVF` | |
|
||||
| `VFREC7V` | |
|
||||
| `VFREDMAXVS` | |
|
||||
| `VFREDMINVS` | |
|
||||
| `VFREDOSUMVS` | |
|
||||
| `VFREDUSUMVS` | |
|
||||
| `VFRSQRT7V` | |
|
||||
| `VFRSUBVF` | |
|
||||
| `VFSGNJNVF` | |
|
||||
| `VFSGNJNVV` | |
|
||||
| `VFSGNJVF` | |
|
||||
| `VFSGNJVV` | |
|
||||
| `VFSGNJXVF` | |
|
||||
| `VFSGNJXVV` | |
|
||||
| `VFSLIDE1DOWNVF` | |
|
||||
| `VFSLIDE1UPVF` | |
|
||||
| `VFSQRTV` | |
|
||||
| `VFSUBVF` | |
|
||||
| `VFSUBVV` | |
|
||||
| `VFWADDVF` | |
|
||||
| `VFWADDVV` | |
|
||||
| `VFWADDWF` | |
|
||||
| `VFWADDWV` | |
|
||||
| `VFWCVTFFV` | |
|
||||
| `VFWCVTFXUV` | |
|
||||
| `VFWCVTFXV` | |
|
||||
| `VFWCVTRTZXFV` | |
|
||||
| `VFWCVTRTZXUFV` | |
|
||||
| `VFWCVTXFV` | |
|
||||
| `VFWCVTXUFV` | |
|
||||
| `VFWMACCVF` | |
|
||||
| `VFWMACCVV` | |
|
||||
| `VFWMSACVF` | |
|
||||
| `VFWMSACVV` | |
|
||||
| `VFWMULVF` | |
|
||||
| `VFWMULVV` | |
|
||||
| `VFWNMACCVF` | |
|
||||
| `VFWNMACCVV` | |
|
||||
| `VFWNMSACVF` | |
|
||||
| `VFWNMSACVV` | |
|
||||
| `VFWREDOSUMVS` | |
|
||||
| `VFWREDUSUMVS` | |
|
||||
| `VFWSUBVF` | |
|
||||
| `VFWSUBVV` | |
|
||||
| `VFWSUBWF` | |
|
||||
| `VFWSUBWV` | |
|
||||
| `VIDV` | |
|
||||
| `VIOTAM` | |
|
||||
| `VL1RE16V` | |
|
||||
| `VL1RE32V` | |
|
||||
| `VL1RE64V` | |
|
||||
| `VL1RE8V` | |
|
||||
| `VL1RV` | |
|
||||
| `VL2RE16V` | |
|
||||
| `VL2RE32V` | |
|
||||
| `VL2RE64V` | |
|
||||
| `VL2RE8V` | |
|
||||
| `VL2RV` | |
|
||||
| `VL4RE16V` | |
|
||||
| `VL4RE32V` | |
|
||||
| `VL4RE64V` | |
|
||||
| `VL4RE8V` | |
|
||||
| `VL4RV` | |
|
||||
| `VL8RE16V` | |
|
||||
| `VL8RE32V` | |
|
||||
| `VL8RE64V` | |
|
||||
| `VL8RE8V` | |
|
||||
| `VL8RV` | |
|
||||
| `VLE16FFV` | |
|
||||
| `VLE16V` | |
|
||||
| `VLE32FFV` | |
|
||||
| `VLE32V` | |
|
||||
| `VLE64FFV` | |
|
||||
| `VLE64V` | |
|
||||
| `VLE8FFV` | |
|
||||
| `VLE8V` | |
|
||||
| `VLMV` | |
|
||||
| `VLOXEI16V` | |
|
||||
| `VLOXEI32V` | |
|
||||
| `VLOXEI64V` | |
|
||||
| `VLOXEI8V` | |
|
||||
| `VLOXSEG2EI16V` | |
|
||||
| `VLOXSEG2EI32V` | |
|
||||
| `VLOXSEG2EI64V` | |
|
||||
| `VLOXSEG2EI8V` | |
|
||||
| `VLOXSEG3EI16V` | |
|
||||
| `VLOXSEG3EI32V` | |
|
||||
| `VLOXSEG3EI64V` | |
|
||||
| `VLOXSEG3EI8V` | |
|
||||
| `VLOXSEG4EI16V` | |
|
||||
| `VLOXSEG4EI32V` | |
|
||||
| `VLOXSEG4EI64V` | |
|
||||
| `VLOXSEG4EI8V` | |
|
||||
| `VLOXSEG5EI16V` | |
|
||||
| `VLOXSEG5EI32V` | |
|
||||
| `VLOXSEG5EI64V` | |
|
||||
| `VLOXSEG5EI8V` | |
|
||||
| `VLOXSEG6EI16V` | |
|
||||
| `VLOXSEG6EI32V` | |
|
||||
| `VLOXSEG6EI64V` | |
|
||||
| `VLOXSEG6EI8V` | |
|
||||
| `VLOXSEG7EI16V` | |
|
||||
| `VLOXSEG7EI32V` | |
|
||||
| `VLOXSEG7EI64V` | |
|
||||
| `VLOXSEG7EI8V` | |
|
||||
| `VLOXSEG8EI16V` | |
|
||||
| `VLOXSEG8EI32V` | |
|
||||
| `VLOXSEG8EI64V` | |
|
||||
| `VLOXSEG8EI8V` | |
|
||||
| `VLSE16V` | |
|
||||
| `VLSE32V` | |
|
||||
| `VLSE64V` | |
|
||||
| `VLSE8V` | |
|
||||
| `VLSEG2E16FFV` | |
|
||||
| `VLSEG2E16V` | |
|
||||
| `VLSEG2E32FFV` | |
|
||||
| `VLSEG2E32V` | |
|
||||
| `VLSEG2E64FFV` | |
|
||||
| `VLSEG2E64V` | |
|
||||
| `VLSEG2E8FFV` | |
|
||||
| `VLSEG2E8V` | |
|
||||
| `VLSEG3E16FFV` | |
|
||||
| `VLSEG3E16V` | |
|
||||
| `VLSEG3E32FFV` | |
|
||||
| `VLSEG3E32V` | |
|
||||
| `VLSEG3E64FFV` | |
|
||||
| `VLSEG3E64V` | |
|
||||
| `VLSEG3E8FFV` | |
|
||||
| `VLSEG3E8V` | |
|
||||
| `VLSEG4E16FFV` | |
|
||||
| `VLSEG4E16V` | |
|
||||
| `VLSEG4E32FFV` | |
|
||||
| `VLSEG4E32V` | |
|
||||
| `VLSEG4E64FFV` | |
|
||||
| `VLSEG4E64V` | |
|
||||
| `VLSEG4E8FFV` | |
|
||||
| `VLSEG4E8V` | |
|
||||
| `VLSEG5E16FFV` | |
|
||||
| `VLSEG5E16V` | |
|
||||
| `VLSEG5E32FFV` | |
|
||||
| `VLSEG5E32V` | |
|
||||
| `VLSEG5E64FFV` | |
|
||||
| `VLSEG5E64V` | |
|
||||
| `VLSEG5E8FFV` | |
|
||||
| `VLSEG5E8V` | |
|
||||
| `VLSEG6E16FFV` | |
|
||||
| `VLSEG6E16V` | |
|
||||
| `VLSEG6E32FFV` | |
|
||||
| `VLSEG6E32V` | |
|
||||
| `VLSEG6E64FFV` | |
|
||||
| `VLSEG6E64V` | |
|
||||
| `VLSEG6E8FFV` | |
|
||||
| `VLSEG6E8V` | |
|
||||
| `VLSEG7E16FFV` | |
|
||||
| `VLSEG7E16V` | |
|
||||
| `VLSEG7E32FFV` | |
|
||||
| `VLSEG7E32V` | |
|
||||
| `VLSEG7E64FFV` | |
|
||||
| `VLSEG7E64V` | |
|
||||
| `VLSEG7E8FFV` | |
|
||||
| `VLSEG7E8V` | |
|
||||
| `VLSEG8E16FFV` | |
|
||||
| `VLSEG8E16V` | |
|
||||
| `VLSEG8E32FFV` | |
|
||||
| `VLSEG8E32V` | |
|
||||
| `VLSEG8E64FFV` | |
|
||||
| `VLSEG8E64V` | |
|
||||
| `VLSEG8E8FFV` | |
|
||||
| `VLSEG8E8V` | |
|
||||
| `VLSSEG2E16V` | |
|
||||
| `VLSSEG2E32V` | |
|
||||
| `VLSSEG2E64V` | |
|
||||
| `VLSSEG2E8V` | |
|
||||
| `VLSSEG3E16V` | |
|
||||
| `VLSSEG3E32V` | |
|
||||
| `VLSSEG3E64V` | |
|
||||
| `VLSSEG3E8V` | |
|
||||
| `VLSSEG4E16V` | |
|
||||
| `VLSSEG4E32V` | |
|
||||
| `VLSSEG4E64V` | |
|
||||
| `VLSSEG4E8V` | |
|
||||
| `VLSSEG5E16V` | |
|
||||
| `VLSSEG5E32V` | |
|
||||
| `VLSSEG5E64V` | |
|
||||
| `VLSSEG5E8V` | |
|
||||
| `VLSSEG6E16V` | |
|
||||
| `VLSSEG6E32V` | |
|
||||
| `VLSSEG6E64V` | |
|
||||
| `VLSSEG6E8V` | |
|
||||
| `VLSSEG7E16V` | |
|
||||
| `VLSSEG7E32V` | |
|
||||
| `VLSSEG7E64V` | |
|
||||
| `VLSSEG7E8V` | |
|
||||
| `VLSSEG8E16V` | |
|
||||
| `VLSSEG8E32V` | |
|
||||
| `VLSSEG8E64V` | |
|
||||
| `VLSSEG8E8V` | |
|
||||
| `VLUXEI16V` | |
|
||||
| `VLUXEI32V` | |
|
||||
| `VLUXEI64V` | |
|
||||
| `VLUXEI8V` | |
|
||||
| `VLUXSEG2EI16V` | |
|
||||
| `VLUXSEG2EI32V` | |
|
||||
| `VLUXSEG2EI64V` | |
|
||||
| `VLUXSEG2EI8V` | |
|
||||
| `VLUXSEG3EI16V` | |
|
||||
| `VLUXSEG3EI32V` | |
|
||||
| `VLUXSEG3EI64V` | |
|
||||
| `VLUXSEG3EI8V` | |
|
||||
| `VLUXSEG4EI16V` | |
|
||||
| `VLUXSEG4EI32V` | |
|
||||
| `VLUXSEG4EI64V` | |
|
||||
| `VLUXSEG4EI8V` | |
|
||||
| `VLUXSEG5EI16V` | |
|
||||
| `VLUXSEG5EI32V` | |
|
||||
| `VLUXSEG5EI64V` | |
|
||||
| `VLUXSEG5EI8V` | |
|
||||
| `VLUXSEG6EI16V` | |
|
||||
| `VLUXSEG6EI32V` | |
|
||||
| `VLUXSEG6EI64V` | |
|
||||
| `VLUXSEG6EI8V` | |
|
||||
| `VLUXSEG7EI16V` | |
|
||||
| `VLUXSEG7EI32V` | |
|
||||
| `VLUXSEG7EI64V` | |
|
||||
| `VLUXSEG7EI8V` | |
|
||||
| `VLUXSEG8EI16V` | |
|
||||
| `VLUXSEG8EI32V` | |
|
||||
| `VLUXSEG8EI64V` | |
|
||||
| `VLUXSEG8EI8V` | |
|
||||
| `VMACCVV` | |
|
||||
| `VMACCVX` | |
|
||||
| `VMADCVI` | |
|
||||
| `VMADCVIM` | |
|
||||
| `VMADCVV` | |
|
||||
| `VMADCVVM` | |
|
||||
| `VMADCVX` | |
|
||||
| `VMADCVXM` | |
|
||||
| `VMADDVV` | |
|
||||
| `VMADDVX` | |
|
||||
| `VMANDMM` | |
|
||||
| `VMANDNMM` | |
|
||||
| `VMAXUVV` | |
|
||||
| `VMAXUVX` | |
|
||||
| `VMAXVV` | |
|
||||
| `VMAXVX` | |
|
||||
| `VMCLRM` | |
|
||||
| `VMERGEVIM` | |
|
||||
| `VMERGEVVM` | |
|
||||
| `VMERGEVXM` | |
|
||||
| `VMFEQVF` | |
|
||||
| `VMFEQVV` | |
|
||||
| `VMFGEVF` | |
|
||||
| `VMFGEVV` | |
|
||||
| `VMFGTVF` | |
|
||||
| `VMFGTVV` | |
|
||||
| `VMFLEVF` | |
|
||||
| `VMFLEVV` | |
|
||||
| `VMFLTVF` | |
|
||||
| `VMFLTVV` | |
|
||||
| `VMFNEVF` | |
|
||||
| `VMFNEVV` | |
|
||||
| `VMINUVV` | |
|
||||
| `VMINUVX` | |
|
||||
| `VMINVV` | |
|
||||
| `VMINVX` | |
|
||||
| `VMMVM` | |
|
||||
| `VMNANDMM` | |
|
||||
| `VMNORMM` | |
|
||||
| `VMNOTM` | |
|
||||
| `VMORMM` | |
|
||||
| `VMORNMM` | |
|
||||
| `VMSBCVV` | |
|
||||
| `VMSBCVVM` | |
|
||||
| `VMSBCVX` | |
|
||||
| `VMSBCVXM` | |
|
||||
| `VMSBFM` | |
|
||||
| `VMSEQVI` | |
|
||||
| `VMSEQVV` | |
|
||||
| `VMSEQVX` | |
|
||||
| `VMSETM` | |
|
||||
| `VMSGEUVI` | |
|
||||
| `VMSGEUVV` | |
|
||||
| `VMSGEVI` | |
|
||||
| `VMSGEVV` | |
|
||||
| `VMSGTUVI` | |
|
||||
| `VMSGTUVV` | |
|
||||
| `VMSGTUVX` | |
|
||||
| `VMSGTVI` | |
|
||||
| `VMSGTVV` | |
|
||||
| `VMSGTVX` | |
|
||||
| `VMSIFM` | |
|
||||
| `VMSLEUVI` | |
|
||||
| `VMSLEUVV` | |
|
||||
| `VMSLEUVX` | |
|
||||
| `VMSLEVI` | |
|
||||
| `VMSLEVV` | |
|
||||
| `VMSLEVX` | |
|
||||
| `VMSLTUVI` | |
|
||||
| `VMSLTUVV` | |
|
||||
| `VMSLTUVX` | |
|
||||
| `VMSLTVI` | |
|
||||
| `VMSLTVV` | |
|
||||
| `VMSLTVX` | |
|
||||
| `VMSNEVI` | |
|
||||
| `VMSNEVV` | |
|
||||
| `VMSNEVX` | |
|
||||
| `VMSOFM` | |
|
||||
| `VMULHSUVV` | |
|
||||
| `VMULHSUVX` | |
|
||||
| `VMULHUVV` | |
|
||||
| `VMULHUVX` | |
|
||||
| `VMULHVV` | |
|
||||
| `VMULHVX` | |
|
||||
| `VMULVV` | |
|
||||
| `VMULVX` | |
|
||||
| `VMV1RV` | |
|
||||
| `VMV2RV` | |
|
||||
| `VMV4RV` | |
|
||||
| `VMV8RV` | |
|
||||
| `VMVSX` | |
|
||||
| `VMVVI` | |
|
||||
| `VMVVV` | |
|
||||
| `VMVVX` | |
|
||||
| `VMVXS` | |
|
||||
| `VMXNORMM` | |
|
||||
| `VMXORMM` | |
|
||||
| `VNCLIPUWI` | |
|
||||
| `VNCLIPUWV` | |
|
||||
| `VNCLIPUWX` | |
|
||||
| `VNCLIPWI` | |
|
||||
| `VNCLIPWV` | |
|
||||
| `VNCLIPWX` | |
|
||||
| `VNCVTXXW` | |
|
||||
| `VNEGV` | |
|
||||
| `VNMSACVV` | |
|
||||
| `VNMSACVX` | |
|
||||
| `VNMSUBVV` | |
|
||||
| `VNMSUBVX` | |
|
||||
| `VNOTV` | |
|
||||
| `VNSRAWI` | |
|
||||
| `VNSRAWV` | |
|
||||
| `VNSRAWX` | |
|
||||
| `VNSRLWI` | |
|
||||
| `VNSRLWV` | |
|
||||
| `VNSRLWX` | |
|
||||
| `VORVI` | |
|
||||
| `VORVV` | |
|
||||
| `VORVX` | |
|
||||
| `VREDANDVS` | |
|
||||
| `VREDMAXUVS` | |
|
||||
| `VREDMAXVS` | |
|
||||
| `VREDMINUVS` | |
|
||||
| `VREDMINVS` | |
|
||||
| `VREDORVS` | |
|
||||
| `VREDSUMVS` | |
|
||||
| `VREDXORVS` | |
|
||||
| `VREMUVV` | |
|
||||
| `VREMUVX` | |
|
||||
| `VREMVV` | |
|
||||
| `VREMVX` | |
|
||||
| `VRGATHEREI16VV` | |
|
||||
| `VRGATHERVI` | |
|
||||
| `VRGATHERVV` | |
|
||||
| `VRGATHERVX` | |
|
||||
| `VRSUBVI` | |
|
||||
| `VRSUBVX` | |
|
||||
| `VS1RV` | |
|
||||
| `VS2RV` | |
|
||||
| `VS4RV` | |
|
||||
| `VS8RV` | |
|
||||
| `VSADDUVI` | |
|
||||
| `VSADDUVV` | |
|
||||
| `VSADDUVX` | |
|
||||
| `VSADDVI` | |
|
||||
| `VSADDVV` | |
|
||||
| `VSADDVX` | |
|
||||
| `VSBCVVM` | |
|
||||
| `VSBCVXM` | |
|
||||
| `VSE16V` | |
|
||||
| `VSE32V` | |
|
||||
| `VSE64V` | |
|
||||
| `VSE8V` | |
|
||||
| `VSETIVLI` | |
|
||||
| `VSETVL` | |
|
||||
| `VSETVLI` | |
|
||||
| `VSEXTVF2` | |
|
||||
| `VSEXTVF4` | |
|
||||
| `VSEXTVF8` | |
|
||||
| `VSLIDE1DOWNVX` | |
|
||||
| `VSLIDE1UPVX` | |
|
||||
| `VSLIDEDOWNVI` | |
|
||||
| `VSLIDEDOWNVX` | |
|
||||
| `VSLIDEUPVI` | |
|
||||
| `VSLIDEUPVX` | |
|
||||
| `VSLLVI` | |
|
||||
| `VSLLVV` | |
|
||||
| `VSLLVX` | |
|
||||
| `VSMULVV` | |
|
||||
| `VSMULVX` | |
|
||||
| `VSMV` | |
|
||||
| `VSOXEI16V` | |
|
||||
| `VSOXEI32V` | |
|
||||
| `VSOXEI64V` | |
|
||||
| `VSOXEI8V` | |
|
||||
| `VSOXSEG2EI16V` | |
|
||||
| `VSOXSEG2EI32V` | |
|
||||
| `VSOXSEG2EI64V` | |
|
||||
| `VSOXSEG2EI8V` | |
|
||||
| `VSOXSEG3EI16V` | |
|
||||
| `VSOXSEG3EI32V` | |
|
||||
| `VSOXSEG3EI64V` | |
|
||||
| `VSOXSEG3EI8V` | |
|
||||
| `VSOXSEG4EI16V` | |
|
||||
| `VSOXSEG4EI32V` | |
|
||||
| `VSOXSEG4EI64V` | |
|
||||
| `VSOXSEG4EI8V` | |
|
||||
| `VSOXSEG5EI16V` | |
|
||||
| `VSOXSEG5EI32V` | |
|
||||
| `VSOXSEG5EI64V` | |
|
||||
| `VSOXSEG5EI8V` | |
|
||||
| `VSOXSEG6EI16V` | |
|
||||
| `VSOXSEG6EI32V` | |
|
||||
| `VSOXSEG6EI64V` | |
|
||||
| `VSOXSEG6EI8V` | |
|
||||
| `VSOXSEG7EI16V` | |
|
||||
| `VSOXSEG7EI32V` | |
|
||||
| `VSOXSEG7EI64V` | |
|
||||
| `VSOXSEG7EI8V` | |
|
||||
| `VSOXSEG8EI16V` | |
|
||||
| `VSOXSEG8EI32V` | |
|
||||
| `VSOXSEG8EI64V` | |
|
||||
| `VSOXSEG8EI8V` | |
|
||||
| `VSRAVI` | |
|
||||
| `VSRAVV` | |
|
||||
| `VSRAVX` | |
|
||||
| `VSRLVI` | |
|
||||
| `VSRLVV` | |
|
||||
| `VSRLVX` | |
|
||||
| `VSSE16V` | |
|
||||
| `VSSE32V` | |
|
||||
| `VSSE64V` | |
|
||||
| `VSSE8V` | |
|
||||
| `VSSEG2E16V` | |
|
||||
| `VSSEG2E32V` | |
|
||||
| `VSSEG2E64V` | |
|
||||
| `VSSEG2E8V` | |
|
||||
| `VSSEG3E16V` | |
|
||||
| `VSSEG3E32V` | |
|
||||
| `VSSEG3E64V` | |
|
||||
| `VSSEG3E8V` | |
|
||||
| `VSSEG4E16V` | |
|
||||
| `VSSEG4E32V` | |
|
||||
| `VSSEG4E64V` | |
|
||||
| `VSSEG4E8V` | |
|
||||
| `VSSEG5E16V` | |
|
||||
| `VSSEG5E32V` | |
|
||||
| `VSSEG5E64V` | |
|
||||
| `VSSEG5E8V` | |
|
||||
| `VSSEG6E16V` | |
|
||||
| `VSSEG6E32V` | |
|
||||
| `VSSEG6E64V` | |
|
||||
| `VSSEG6E8V` | |
|
||||
| `VSSEG7E16V` | |
|
||||
| `VSSEG7E32V` | |
|
||||
| `VSSEG7E64V` | |
|
||||
| `VSSEG7E8V` | |
|
||||
| `VSSEG8E16V` | |
|
||||
| `VSSEG8E32V` | |
|
||||
| `VSSEG8E64V` | |
|
||||
| `VSSEG8E8V` | |
|
||||
| `VSSRAVI` | |
|
||||
| `VSSRAVV` | |
|
||||
| `VSSRAVX` | |
|
||||
| `VSSRLVI` | |
|
||||
| `VSSRLVV` | |
|
||||
| `VSSRLVX` | |
|
||||
| `VSSSEG2E16V` | |
|
||||
| `VSSSEG2E32V` | |
|
||||
| `VSSSEG2E64V` | |
|
||||
| `VSSSEG2E8V` | |
|
||||
| `VSSSEG3E16V` | |
|
||||
| `VSSSEG3E32V` | |
|
||||
| `VSSSEG3E64V` | |
|
||||
| `VSSSEG3E8V` | |
|
||||
| `VSSSEG4E16V` | |
|
||||
| `VSSSEG4E32V` | |
|
||||
| `VSSSEG4E64V` | |
|
||||
| `VSSSEG4E8V` | |
|
||||
| `VSSSEG5E16V` | |
|
||||
| `VSSSEG5E32V` | |
|
||||
| `VSSSEG5E64V` | |
|
||||
| `VSSSEG5E8V` | |
|
||||
| `VSSSEG6E16V` | |
|
||||
| `VSSSEG6E32V` | |
|
||||
| `VSSSEG6E64V` | |
|
||||
| `VSSSEG6E8V` | |
|
||||
| `VSSSEG7E16V` | |
|
||||
| `VSSSEG7E32V` | |
|
||||
| `VSSSEG7E64V` | |
|
||||
| `VSSSEG7E8V` | |
|
||||
| `VSSSEG8E16V` | |
|
||||
| `VSSSEG8E32V` | |
|
||||
| `VSSSEG8E64V` | |
|
||||
| `VSSSEG8E8V` | |
|
||||
| `VSSUBUVV` | |
|
||||
| `VSSUBUVX` | |
|
||||
| `VSSUBVV` | |
|
||||
| `VSSUBVX` | |
|
||||
| `VSUBVV` | |
|
||||
| `VSUBVX` | |
|
||||
| `VSUXEI16V` | |
|
||||
| `VSUXEI32V` | |
|
||||
| `VSUXEI64V` | |
|
||||
| `VSUXEI8V` | |
|
||||
| `VSUXSEG2EI16V` | |
|
||||
| `VSUXSEG2EI32V` | |
|
||||
| `VSUXSEG2EI64V` | |
|
||||
| `VSUXSEG2EI8V` | |
|
||||
| `VSUXSEG3EI16V` | |
|
||||
| `VSUXSEG3EI32V` | |
|
||||
| `VSUXSEG3EI64V` | |
|
||||
| `VSUXSEG3EI8V` | |
|
||||
| `VSUXSEG4EI16V` | |
|
||||
| `VSUXSEG4EI32V` | |
|
||||
| `VSUXSEG4EI64V` | |
|
||||
| `VSUXSEG4EI8V` | |
|
||||
| `VSUXSEG5EI16V` | |
|
||||
| `VSUXSEG5EI32V` | |
|
||||
| `VSUXSEG5EI64V` | |
|
||||
| `VSUXSEG5EI8V` | |
|
||||
| `VSUXSEG6EI16V` | |
|
||||
| `VSUXSEG6EI32V` | |
|
||||
| `VSUXSEG6EI64V` | |
|
||||
| `VSUXSEG6EI8V` | |
|
||||
| `VSUXSEG7EI16V` | |
|
||||
| `VSUXSEG7EI32V` | |
|
||||
| `VSUXSEG7EI64V` | |
|
||||
| `VSUXSEG7EI8V` | |
|
||||
| `VSUXSEG8EI16V` | |
|
||||
| `VSUXSEG8EI32V` | |
|
||||
| `VSUXSEG8EI64V` | |
|
||||
| `VSUXSEG8EI8V` | |
|
||||
| `VWADDUVV` | |
|
||||
| `VWADDUVX` | |
|
||||
| `VWADDUWV` | |
|
||||
| `VWADDUWX` | |
|
||||
| `VWADDVV` | |
|
||||
| `VWADDVX` | |
|
||||
| `VWADDWV` | |
|
||||
| `VWADDWX` | |
|
||||
| `VWCVTUXXV` | |
|
||||
| `VWCVTXXV` | |
|
||||
| `VWMACCSUVV` | |
|
||||
| `VWMACCSUVX` | |
|
||||
| `VWMACCUSVX` | |
|
||||
| `VWMACCUVV` | |
|
||||
| `VWMACCUVX` | |
|
||||
| `VWMACCVV` | |
|
||||
| `VWMACCVX` | |
|
||||
| `VWMULSUVV` | |
|
||||
| `VWMULSUVX` | |
|
||||
| `VWMULUVV` | |
|
||||
| `VWMULUVX` | |
|
||||
| `VWMULVV` | |
|
||||
| `VWMULVX` | |
|
||||
| `VWREDSUMUVS` | |
|
||||
| `VWREDSUMVS` | |
|
||||
| `VWSUBUVV` | |
|
||||
| `VWSUBUVX` | |
|
||||
| `VWSUBUWV` | |
|
||||
| `VWSUBUWX` | |
|
||||
| `VWSUBVV` | |
|
||||
| `VWSUBVX` | |
|
||||
| `VWSUBWV` | |
|
||||
| `VWSUBWX` | |
|
||||
| `VXORVI` | |
|
||||
| `VXORVV` | |
|
||||
| `VXORVX` | |
|
||||
| `VZEXTVF2` | |
|
||||
| `VZEXTVF4` | |
|
||||
| `VZEXTVF8` | |
|
||||
| `WFI` | |
|
||||
| `WORD` | |
|
||||
| `XNOR` | |
|
||||
| `XOR` | Bitwise XOR |
|
||||
| `XORI` | XOR immediate |
|
||||
| `ZEXTH` | |
|
||||
|
||||
Recognised: 975 mnemonics.
|
||||
Reference in New Issue
Block a user