all: VPOPCNTDQ instructions (#361)
Adds the VPOPCNTDQ instruction set, providing packed population count for double and quadword integers. These are added via the `opcodesextra` mechanism #345, since they're missing from the opcodes database. In this case the 512-bit non-AVX512VL forms are added here as well as the opcodes database, but they're deduplicated later. 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
7dac51aabf
commit
a42c8ae281
@@ -2672,14 +2672,14 @@ 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.VPOPCNTD(opm512, opk, opzmm)
|
||||
ctx.VPOPCNTD_BCST(opm32, opk, opzmm)
|
||||
ctx.VPOPCNTD_BCST_Z(opm32, opk, opzmm)
|
||||
ctx.VPOPCNTD_Z(opm512, opk, opzmm)
|
||||
ctx.VPOPCNTQ(opm512, opk, opzmm)
|
||||
ctx.VPOPCNTQ_BCST(opm64, opk, opzmm)
|
||||
ctx.VPOPCNTQ_BCST_Z(opm64, opk, opzmm)
|
||||
ctx.VPOPCNTQ_Z(opm512, opk, opzmm)
|
||||
ctx.VPOPCNTD(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTD_BCST(opm32, opk, opxmm)
|
||||
ctx.VPOPCNTD_BCST_Z(opm32, opk, opxmm)
|
||||
ctx.VPOPCNTD_Z(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTQ(opm128, opk, opxmm)
|
||||
ctx.VPOPCNTQ_BCST(opm64, opk, opxmm)
|
||||
ctx.VPOPCNTQ_BCST_Z(opm64, opk, opxmm)
|
||||
ctx.VPOPCNTQ_Z(opm128, opk, opxmm)
|
||||
ctx.VPOR(opm256, opymm, opymm)
|
||||
ctx.VPORD(opm128, opxmm, opk, opxmm)
|
||||
ctx.VPORD_BCST(opm32, opxmm, opk, opxmm)
|
||||
|
||||
Reference in New Issue
Block a user