all: VAES instructions (#358)

Adds "Vector Advanced Encryption Standard" instruction set.

These are added via the `opcodesextra` mechanism #345, since they're missing
from the opcodes database.

Contributed by @vsivsi. Extracted from #349 with minor tweaks.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
This commit is contained in:
Michael McLoughlin
2023-01-07 21:55:36 -08:00
committed by GitHub
parent 92f38ce96d
commit 0569748e19
7 changed files with 1087 additions and 642 deletions

View File

@@ -17437,6 +17437,42 @@ var Instructions = []Instruction{
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "m256", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "m512", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
},
},
{
@@ -17461,6 +17497,42 @@ var Instructions = []Instruction{
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "m256", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "m512", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
},
},
{
@@ -17485,6 +17557,42 @@ var Instructions = []Instruction{
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "m256", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "m512", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
},
},
{
@@ -17509,6 +17617,42 @@ var Instructions = []Instruction{
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "m256", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"VAES"},
Operands: []Operand{
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x1},
{Type: "ymm", Action: 0x2},
},
EncodingType: 0x3,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "m512", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
{
ISA: []string{"AVX512F", "VAES"},
Operands: []Operand{
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x1},
{Type: "zmm", Action: 0x2},
},
EncodingType: 0x4,
},
},
},
{