VPCMPD/VPCMPUD—Compare Packed Integer Values into MaskInstruction Operand EncodingDescriptionPerforms a SIMD compare of the packed integer values in the second source operand and the first source operand and returns the results of the comparison to the mask destination operand. The comparison predicate operand (immediate byte) specifies the type of comparison performed on each pair of packed values in the two source oper-ands. The result of each comparison is a single mask bit result of 1 (comparison true) or 0 (comparison false).VPCMPD/VPCMPUD performs a comparison between pairs of signed/unsigned doubleword integer values.The first source operand (second operand) is a ZMM/YMM/XMM register. The second source operand can be a ZMM/YMM/XMM register or a 512/256/128-bit memory location or a 512-bit vector broadcasted from a 32-bit memory location. The destination operand (first operand) is a mask register k1. Up to 16/8/4 comparisons are performed with results written to the destination operand under the writemask k2.The comparison predicate operand is an 8-bit immediate: bits 2:0 define the type of comparison to be performed. Bits 3 through 7 of the immediate are reserved. Compiler can implement the pseudo-op mnemonic listed in Table 5-8.Opcode/InstructionOp/En64/32 bit Mode SupportCPUID Feature FlagDescriptionEVEX.128.66.0F3A.W0 1F /r ibVPCMPD k1 {k2}, xmm2, xmm3/m128/m32bcst, imm8AV/VAVX512VLAVX512FCompare packed signed doubleword integer values in xmm3/m128/m32bcst and xmm2 using bits 2:0 of imm8 as a comparison predicate with writemask k2 and leave the result in mask register k1.EVEX.256.66.0F3A.W0 1F /r ibVPCMPD k1 {k2}, ymm2, ymm3/m256/m32bcst, imm8AV/VAVX512VLAVX512FCompare packed signed doubleword integer values in ymm3/m256/m32bcst and ymm2 using bits 2:0 of imm8 as a comparison predicate with writemask k2 and leave the result in mask register k1.EVEX.512.66.0F3A.W0 1F /r ibVPCMPD k1 {k2}, zmm2, zmm3/m512/m32bcst, imm8AV/VAVX512FCompare packed signed doubleword integer values in zmm2 and zmm3/m512/m32bcst using bits 2:0 of imm8 as a comparison predicate. The comparison results are written to the destination k1 under writemask k2.EVEX.128.66.0F3A.W0 1E /r ibVPCMPUD k1 {k2}, xmm2, xmm3/m128/m32bcst, imm8AV/VAVX512VLAVX512FCompare packed unsigned doubleword integer values in xmm3/m128/m32bcst and xmm2 using bits 2:0 of imm8 as a comparison predicate with writemask k2 and leave the result in mask register k1.EVEX.256.66.0F3A.W0 1E /r ibVPCMPUD k1 {k2}, ymm2, ymm3/m256/m32bcst, imm8AV/VAVX512VLAVX512FCompare packed unsigned doubleword integer values in ymm3/m256/m32bcst and ymm2 using bits 2:0 of imm8 as a comparison predicate with writemask k2 and leave the result in mask register k1.EVEX.512.66.0F3A.W0 1E /r ibVPCMPUD k1 {k2}, zmm2, zmm3/m512/m32bcst, imm8AV/VAVX512FCompare packed unsigned doubleword integer values in zmm2 and zmm3/m512/m32bcst using bits 2:0 of imm8 as a comparison predicate. The comparison results are written to the destination k1 under writemask k2.Op/EnTuple TypeOperand 1Operand 2Operand 3Operand 4AFullModRM:reg (w)EVEX.vvvv (r)ModRM:r/m (r)Imm8
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.