all: VNNI instructions (#359)

Adds "Vector Neural Network Instructions" 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 some tweaks.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
This commit is contained in:
Michael McLoughlin
2023-01-08 11:42:48 -08:00
committed by GitHub
parent 0569748e19
commit b893b32213
8 changed files with 2789 additions and 243 deletions

View File

@@ -2396,6 +2396,22 @@ func TestContextInstructions(t *testing.T) {
ctx.VPCONFLICTQ_BCST(opm64, opk, opxmm)
ctx.VPCONFLICTQ_BCST_Z(opm64, opk, opxmm)
ctx.VPCONFLICTQ_Z(opm128, opk, opxmm)
ctx.VPDPBUSD(opm128, opxmm, opk, opxmm)
ctx.VPDPBUSDS(opm128, opxmm, opk, opxmm)
ctx.VPDPBUSDS_BCST(opm32, opxmm, opk, opxmm)
ctx.VPDPBUSDS_BCST_Z(opm32, opxmm, opk, opxmm)
ctx.VPDPBUSDS_Z(opm128, opxmm, opk, opxmm)
ctx.VPDPBUSD_BCST(opm32, opxmm, opk, opxmm)
ctx.VPDPBUSD_BCST_Z(opm32, opxmm, opk, opxmm)
ctx.VPDPBUSD_Z(opm128, opxmm, opk, opxmm)
ctx.VPDPWSSD(opm128, opxmm, opk, opxmm)
ctx.VPDPWSSDS(opm128, opxmm, opk, opxmm)
ctx.VPDPWSSDS_BCST(opm32, opxmm, opk, opxmm)
ctx.VPDPWSSDS_BCST_Z(opm32, opxmm, opk, opxmm)
ctx.VPDPWSSDS_Z(opm128, opxmm, opk, opxmm)
ctx.VPDPWSSD_BCST(opm32, opxmm, opk, opxmm)
ctx.VPDPWSSD_BCST_Z(opm32, opxmm, opk, opxmm)
ctx.VPDPWSSD_Z(opm128, opxmm, opk, opxmm)
ctx.VPERM2F128(opimm8, opm256, opymm, opymm)
ctx.VPERM2I128(opimm8, opm256, opymm, opymm)
ctx.VPERMB(opm128, opxmm, opk, opxmm)