all: BITALG instructions (#362)
Adds the AVX-512 Bit Algorithms instruction set. These new instructions are added via the `opcodesextra` mechanism #345, since they're missing from the opcodes database. Contributed by @vsivsi. Extracted from #234 with simplifications for AVX-512 form expansion. Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
This commit is contained in:
committed by
GitHub
parent
a42c8ae281
commit
05ed388d0f
@@ -2672,6 +2672,8 @@ func TestContextInstructions(t *testing.T) {
|
||||
ctx.VPMULUDQ_BCST(opm64, opxmm, opk, opxmm)
|
||||
ctx.VPMULUDQ_BCST_Z(opm64, opxmm, opk, opxmm)
|
||||
ctx.VPMULUDQ_Z(opm128, opxmm, opk, opxmm)
|
||||
ctx.VPOPCNTB(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTB_Z(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTD(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTD_BCST(opm32, opk, opxmm)
|
||||
ctx.VPOPCNTD_BCST_Z(opm32, opk, opxmm)
|
||||
@@ -2680,6 +2682,8 @@ func TestContextInstructions(t *testing.T) {
|
||||
ctx.VPOPCNTQ_BCST(opm64, opk, opxmm)
|
||||
ctx.VPOPCNTQ_BCST_Z(opm64, opk, opxmm)
|
||||
ctx.VPOPCNTQ_Z(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTW(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTW_Z(opm128, opk, opxmm)
|
||||
ctx.VPOR(opm256, opymm, opymm)
|
||||
ctx.VPORD(opm128, opxmm, opk, opxmm)
|
||||
ctx.VPORD_BCST(opm32, opxmm, opk, opxmm)
|
||||
@@ -2727,6 +2731,7 @@ func TestContextInstructions(t *testing.T) {
|
||||
ctx.VPSCATTERQD(opxmm, opk, opvm64x)
|
||||
ctx.VPSCATTERQQ(opxmm, opk, opvm64x)
|
||||
ctx.VPSHUFB(opm256, opymm, opymm)
|
||||
ctx.VPSHUFBITQMB(opm128, opxmm, opk, opk)
|
||||
ctx.VPSHUFB_Z(opm128, opxmm, opk, opxmm)
|
||||
ctx.VPSHUFD(opimm8, opm256, opymm)
|
||||
ctx.VPSHUFD_BCST(opimm8, opm32, opk, opxmm)
|
||||
|
||||
Reference in New Issue
Block a user