VPMOVDB/VPMOVSDB/VPMOVUSDB—Down Convert DWord to ByteInstruction Operand EncodingDescription VPMOVDB down converts 32-bit integer elements in the source operand (the second operand) into packed bytes using truncation. VPMOVSDB converts signed 32-bit integers into packed signed bytes using signed saturation. VPMOVUSDB convert unsigned double-word values into unsigned byte values using unsigned saturation. The source operand is a ZMM/YMM/XMM register. The destination operand is a XMM register or a 128/64/32-bit memory location.Down-converted byte elements are written to the destination operand (the first operand) from the least-significant byte. Byte elements of the destination operand are updated according to the writemask. Bits (MAXVL-1:128/64/32) of the register destination are zeroed.EVEX.vvvv is reserved and must be 1111b otherwise instructions will #UD.Opcode/InstructionOp / En64/32 bit Mode SupportCPUID Feature FlagDescriptionEVEX.128.F3.0F38.W0 31 /rVPMOVDB xmm1/m32 {k1}{z}, xmm2AV/VAVX512VLAVX512FConverts 4 packed double-word integers from xmm2into 4 packed byte integers in xmm1/m32 with truncation under writemask k1.EVEX.128.F3.0F38.W0 21 /rVPMOVSDB xmm1/m32 {k1}{z}, xmm2AV/VAVX512VLAVX512FConverts 4 packed signed double-word integers from xmm2 into 4 packed signed byte integers in xmm1/m32 usingsigned saturation under writemask k1.EVEX.128.F3.0F38.W0 11 /rVPMOVUSDB xmm1/m32 {k1}{z}, xmm2AV/VAVX512VLAVX512FConverts 4 packed unsigned double-word integers from xmm2 into 4 packed unsigned byte integers in xmm1/m32 usingunsigned saturation under writemask k1.EVEX.256.F3.0F38.W0 31 /rVPMOVDB xmm1/m64 {k1}{z}, ymm2AV/VAVX512VLAVX512FConverts 8 packed double-word integers from ymm2into 8 packed byte integers in xmm1/m64 with truncation under writemask k1.EVEX.256.F3.0F38.W0 21 /rVPMOVSDB xmm1/m64 {k1}{z}, ymm2AV/VAVX512VLAVX512FConverts 8 packed signed double-word integers from ymm2 into 8 packed signed byte integers in xmm1/m64 usingsigned saturation under writemask k1.EVEX.256.F3.0F38.W0 11 /rVPMOVUSDB xmm1/m64 {k1}{z}, ymm2AV/VAVX512VLAVX512FConverts 8 packed unsigned double-word integers from ymm2 into 8 packed unsigned byte integers in xmm1/m64 usingunsigned saturation under writemask k1.EVEX.512.F3.0F38.W0 31 /rVPMOVDB xmm1/m128 {k1}{z}, zmm2AV/VAVX512FConverts 16 packed double-word integers from zmm2into 16 packed byte integers in xmm1/m128 with truncation under writemask k1.EVEX.512.F3.0F38.W0 21 /rVPMOVSDB xmm1/m128 {k1}{z}, zmm2AV/VAVX512FConverts 16 packed signed double-word integers from zmm2 into 16 packed signed byte integers in xmm1/m128 usingsigned saturation under writemask k1.EVEX.512.F3.0F38.W0 11 /rVPMOVUSDB xmm1/m128 {k1}{z}, zmm2AV/VAVX512FConverts 16 packed unsigned double-word integers from zmm2 into 16 packed unsigned byte integers in xmm1/m128 usingunsigned saturation under writemask k1.Op/EnTuple TypeOperand 1Operand 2Operand 3Operand 4AQuarter MemModRM:r/m (w)ModRM:reg (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.