internal/opcodesextra: _yvblendmpd forms helper (#365)
Use helper function for instructions sharing the `_yvblendmpd` family of forms.
This commit is contained in:
committed by
GitHub
parent
e2c0a40f50
commit
9e56971ed6
@@ -67,71 +67,4 @@ var vnni = []*inst.Instruction{
|
||||
// {zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
|
||||
// {zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
|
||||
// }
|
||||
var vnniforms = inst.Forms{
|
||||
// EVEX.128.66.0F38.W0 50 /r VPDPBUSD xmm1{k1}{z}, xmm2, xmm3/m128/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.128.66.0F38.W0 51 /r VPDPBUSDS xmm1{k1}{z}, xmm2, xmm3/m128/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.128.66.0F38.W0 52 /r VPDPWSSD xmm1{k1}{z}, xmm2, xmm3/m128/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.128.66.0F38.W0 53 /r VPDPWSSDS xmm1{k1}{z}, xmm2, xmm3/m128/m32bcst AVX512VNNI AVX512VL
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "xmm", Action: inst.R},
|
||||
{Type: "xmm", Action: inst.R},
|
||||
{Type: "xmm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VL", "AVX512VNNI"},
|
||||
},
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "m128/m32bcst", Action: inst.R},
|
||||
{Type: "xmm", Action: inst.R},
|
||||
{Type: "xmm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VL", "AVX512VNNI"},
|
||||
},
|
||||
// EVEX.256.66.0F38.W0 50 /r VPDPBUSD ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.256.66.0F38.W0 51 /r VPDPBUSDS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.256.66.0F38.W0 52 /r VPDPWSSD ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst AVX512VNNI AVX512VL
|
||||
// EVEX.256.66.0F38.W0 53 /r VPDPWSSDS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst AVX512VNNI AVX512VL
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "ymm", Action: inst.R},
|
||||
{Type: "ymm", Action: inst.R},
|
||||
{Type: "ymm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VL", "AVX512VNNI"},
|
||||
},
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "m256/m32bcst", Action: inst.R},
|
||||
{Type: "ymm", Action: inst.R},
|
||||
{Type: "ymm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VL", "AVX512VNNI"},
|
||||
},
|
||||
// EVEX.512.66.0F38.W0 50 /r VPDPBUSD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst AVX512VNNI
|
||||
// EVEX.512.66.0F38.W0 51 /r VPDPBUSDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst AVX512VNNI
|
||||
// EVEX.512.66.0F38.W0 52 /r VPDPWSSD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst AVX512VNNI
|
||||
// EVEX.512.66.0F38.W0 53 /r VPDPWSSDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst AVX512VNNI
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "zmm", Action: inst.R},
|
||||
{Type: "zmm", Action: inst.R},
|
||||
{Type: "zmm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VNNI"},
|
||||
},
|
||||
{
|
||||
Operands: []inst.Operand{
|
||||
{Type: "m512/m32bcst", Action: inst.R},
|
||||
{Type: "zmm", Action: inst.R},
|
||||
{Type: "zmm{k}{z}", Action: inst.RW},
|
||||
},
|
||||
EncodingType: inst.EncodingTypeEVEX,
|
||||
ISA: []string{"AVX512VNNI"},
|
||||
},
|
||||
}
|
||||
var vnniforms = _yvblendmpd("AVX512VNNI", "/m32bcst")
|
||||
|
||||
Reference in New Issue
Block a user