VPOPCNT — Return the Count of Number of Bits Set to 1 in BYTE/WORD/DWORD/QWORDInstruction Operand EncodingDescriptionThis instruction counts the number of bits set to one in each byte, word, dword or qword element of its source (e.g., zmm2 or memory) and places the results in the destination register (zmm1). This instruction supports memory fault suppression.Opcode/InstructionOp/En64/32 bit Mode SupportCPUID Feature FlagDescriptionEVEX.128.66.0F38.W0 54 /rVPOPCNTB xmm1{k1}{z}, xmm2/m128AV/VAVX512_BITALGAVX512VLCounts the number of bits set to one in xmm2/m128 and puts the result in xmm1 with writemask k1.EVEX.256.66.0F38.W0 54 /rVPOPCNTB ymm1{k1}{z}, ymm2/m256AV/VAVX512_BITALGAVX512VLCounts the number of bits set to one in ymm2/m256 and puts the result in ymm1 with writemask k1.EVEX.512.66.0F38.W0 54 /rVPOPCNTB zmm1{k1}{z}, zmm2/m512AV/VAVX512_BITALGCounts the number of bits set to one in zmm2/m512 and puts the result in zmm1 with writemask k1.EVEX.128.66.0F38.W1 54 /rVPOPCNTW xmm1{k1}{z}, xmm2/m128AV/VAVX512_BITALGAVX512VLCounts the number of bits set to one in xmm2/m128 and puts the result in xmm1 with writemask k1.EVEX.256.66.0F38.W1 54 /rVPOPCNTW ymm1{k1}{z}, ymm2/m256AV/VAVX512_BITALGAVX512VLCounts the number of bits set to one in ymm2/m256 and puts the result in ymm1 with writemask k1.EVEX.512.66.0F38.W1 54 /rVPOPCNTW zmm1{k1}{z}, zmm2/m512AV/VAVX512_BITALGCounts the number of bits set to one in zmm2/m512 and puts the result in zmm1 with writemask k1.EVEX.128.66.0F38.W0 55 /rVPOPCNTD xmm1{k1}{z}, xmm2/m128/m32bcstBV/VAVX512_VPOPCNTDQAVX512VLCounts the number of bits set to one in xmm2/m128/m32bcst and puts the result in xmm1 with writemask k1.EVEX.256.66.0F38.W0 55 /rVPOPCNTD ymm1{k1}{z}, ymm2/m256/m32bcstBV/VAVX512_VPOPCNTDQAVX512VLCounts the number of bits set to one in ymm2/m256/m32bcst and puts the result in ymm1 with writemask k1.EVEX.512.66.0F38.W0 55 /rVPOPCNTD zmm1{k1}{z}, zmm2/m512/m32bcstBV/VAVX512_VPOPCNTDQCounts the number of bits set to one in zmm2/m512/m32bcst and puts the result in zmm1 with writemask k1.EVEX.128.66.0F38.W1 55 /rVPOPCNTQ xmm1{k1}{z}, xmm2/m128/m64bcstBV/VAVX512_VPOPCNTDQAVX512VLCounts the number of bits set to one in xmm2/m128/m32bcst and puts the result in xmm1 with writemask k1.EVEX.256.66.0F38.W1 55 /rVPOPCNTQ ymm1{k1}{z}, ymm2/m256/m64bcstBV/VAVX512_VPOPCNTDQAVX512VLCounts the number of bits set to one in ymm2/m256/m32bcst and puts the result in ymm1 with writemask k1.EVEX.512.66.0F38.W1 55 /rVPOPCNTQ zmm1{k1}{z}, zmm2/m512/m64bcstBV/VAVX512_VPOPCNTDQCounts the number of bits set to one in zmm2/m512/m64bcst and puts the result in zmm1 with writemask k1.Op/EnTupleOperand 1Operand 2Operand 3Operand 4AFull MemModRM:reg (w)ModRM:r/m (r)NANABFullModRM:reg (w)ModRM:r/m (r)NANA
This UNOFFICIAL reference was generated from the official Intel® 64 and IA-32 Architectures Software Developer’s Manual by a dumb script. There is no guarantee that some parts aren't mangled or broken and is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.