PMOVZX
以零扩展包装移动
stableVMJITAOTinstruction
编码
| 操作码 | 指令 | Op/En | 64 位 | 兼容/传统 | 说明 |
|---|---|---|---|---|---|
66 0f 38 30 /r | PMOVZXBW xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将8个打包的8位整数扩展为8个打包的16位整数. xmm1. |
66 0f 38 31 /r | PMOVZXBD xmm1, xmm2/m32 | A | 有效 | 有效 | 0在xmm2/m32的低4字节中将4个打包的8位整数扩展为4个打包的32位整数. xmm1. |
66 0f 38 32 /r | PMOVZXBQ xmm1, xmm2/m16 | A | 有效 | 有效 | 0在xmm2/m16的低2字节中扩展2个已包装的8位整数到xmm1的2个已包装的64位整数. |
66 0f 38 33 /r | PMOVZXWD xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将4个装箱的16位整数扩展至xmm1的4个装箱的32位整数. |
66 0f 38 34 /r | PMOVZXWQ xmm1, xmm2/m32 | A | 有效 | 有效 | 0延伸2个在xmm2/m32的低4字节中装入的16位整数到xmm1的2个装入的64位整数. |
66 0f 38 35 /r | PMOVZXDQ xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将2个装箱的32位整数扩展为2个装箱的64位整数在xmm1. |
VEX.128.66.0F38.WIG 30 /r | VPMOVZXBW xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将8个打包的8位整数扩展为8个打包的16位整数. xmm1. |
VEX.128.66.0F38.WIG 31 /r | VPMOVZXBD xmm1, xmm2/m32 | A | 有效 | 有效 | 0在xmm2/m32的低4字节中将4个打包的8位整数扩展为4个打包的32位整数. xmm1. |
VEX.128.66.0F38.WIG 32 /r | VPMOVZXBQ xmm1, xmm2/m16 | A | 有效 | 有效 | 0在xmm2/m16的低2字节中扩展2个已包装的8位整数到xmm1的2个已包装的64位整数. |
VEX.128.66.0F38.WIG 33 /r | VPMOVZXWD xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将4个装箱的16位整数扩展至xmm1的4个装箱的32位整数. |
VEX.128.66.0F38.WIG 34 /r | VPMOVZXWQ xmm1, xmm2/m32 | A | 有效 | 有效 | 0延伸2个在xmm2/m32的低4字节中装入的16位整数到xmm1的2个装入的64位整数. |
VEX.128.66.0F 38.WIG 35 /r | VPMOVZXDQ xmm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将2个装箱的32位整数扩展为2个装箱的64位整数在xmm1. |
VEX.256.66.0F38.WIG 30 /r | VPMOVZXBW ymm1, xmm2/m128 | A | 有效 | 有效 | 0将xmm2/m128的16个装箱的8位整数扩展至ymm1的16个装箱的16位整数. |
VEX.256.66.0F38.WIG 31 /r | VPMOVZXBD ymm1, xmm2/m64 | A | 有效 | 有效 | 0 扩展 8 块8 位整数在低 8 字节xmm2/m64到8个装入的32位整数ymm1. |
VEX.256.66.0F38.WIG 32 /r | VPMOVZXBQ ymm1, xmm2/m32 | A | 有效 | 有效 | 0在xmm2/m32的低4字节中将4个打包的8位整数扩展为4个打包的64位整数. ymm1. |
VEX.256.66.0F38.WIG 33 /r | VPMOVZXWD ymm1, xmm2/m128 Opcode/ Instruction | A | 有效 | 有效 | 0 将 xmm2/m128 的 8 个装入的 16 位整数扩展为 ymm1 的 8 个装入的 32 位整数 。 Op / 64/32 比特 CPUID 特性描述 模式支持旗 |
VEX.256.66.0F38.WIG 34 /r | VPMOVZXWQ ymm1, xmm2/m64 | A | 有效 | 有效 | 0在xmm2/m64的低8字节中将4个装箱的16位整数扩展至ymm1的4个装箱的64位整数. |
VEX.256.66.0F38.WIG 35 /r | VPMOVZXDQ ymm1, xmm2/m128 | A | 有效 | 有效 | 0将xmm2/m128中的4个装箱的32位整数扩展为ymm1中的4个装箱的64位整数. |
EVEX.128.66.0F38 30.WIG /r | VPMOVZXBW xmm1 {k1}{z}, xmm2/m64 | B | 有效 | 有效 | 0在低位8 AVX512BW)或字节的xmm2/m64中将8个包装的8位整数扩展为8个包装的16位整数. AVX10.1 xmm1. |
EVEX.256.66.0F38.WIG 30 /r | VPMOVZXBW ymm1 {k1}{z}, xmm2/m128 | B | 有效 | 有效 | 0 将 AVX512BW 的 16 个已装箱的 8 位整数 OR xmm2/m128 扩展为 ymm1 的 16 个已装箱的 16 位整数 . AVX10.1 |
EVEX.512.66.0F38.WIG 30 /r | VPMOVZXBW zmm1 {k1}{z}, ymm2/m256 | B | 有效 | 有效 | 0在OR AVX10.1 ymm2/m256中将32个装箱的8位整数扩展为32个装箱的16位整数在zmm1. |
EVEX.128.66.0F38.WIG 31 /r | VPMOVZXBD xmm1 {k1}{z}, xmm2/m32 | C | 有效 | 有效 | 0在低位4 AVX512F)或字节的xmm2/m32中将4个装箱的8位整数扩展为4个装箱的32位整数. AVX10.1 xmm1受写掩码 k1的约束. |
EVEX.256.66.0F38.WIG 31 /r | VPMOVZXBD ymm1 {k1}{z}, xmm2/m64 | C | 有效 | 有效 | 0在低位8 AVX512F)或xmm2/m64的字节中将8个已包装的8位整数扩展为8个已包装的32位整数,在AVX10.1ymm1中以写入mask k1为对象. |
EVEX.512.66.0F38.WIG 31 /r | VPMOVZXBD zmm1 {k1}{z}, xmm2/m128 | C | 有效 | 有效 | 0在OR AVX10.1 xmm2/m128中将16个装箱的8位整数扩展为16个装箱的32位整数,在zmm1中以写掩码 k1为对象. |
EVEX.128.66.0F38.WIG 32 /r | VPMOVZXBQ xmm1 {k1}{z}, xmm2/m16 | D | 有效 | 有效 | 0 扩展 2 包装 8 位整数 在低 2 AVX512F) 或 xmm2/m16 的字节为 2 包装 64 位整数 在 AVX10.1 xmm1 的下限为 writemask k1. |
EVEX.256.66.0F38.WIG 32 /r | VPMOVZXBQ ymm1 {k1}{z}, xmm2/m32 | D | 有效 | 有效 | 0在低位4 AVX512F)或字节的xmm2/m32中将4个装箱的8位整数扩展为4个装箱的64位整数. AVX10.1 ymm1受写掩码 k1的约束. |
EVEX.512.66.0F38.WIG 32 /r | VPMOVZXBQ zmm1 {k1}{z}, xmm2/m64 | D | 有效 | 有效 | 0在xmm2/m64的低8OR AVX10.1字节中将8个已包装的8位整数延伸至zmm1的8个已包装的64位整数,以写作k1. |
EVEX.128.66.0F38.WIG 33 /r | VPMOVZXWD xmm1 {k1}{z}, xmm2/m64 | B | 有效 | 有效 | 0在低位8 AVX512F)或xmm2/m64的字节中将4个装箱的16位整数扩展为4个装箱的32位整数,在AVX10.1,xmm1中以写入mask k1为对象. |
EVEX.256.66.0F38.WIG 33 /r | VPMOVZXWD ymm1 {k1}{z}, xmm2/m128 | B | 有效 | 有效 | 0在AVX512F中将8个装填的16位整数)OR xmm2/m128在zmm1 AVX10.1中将8个装填的32位整数按照写作程序k1. |
EVEX.512.66.0F38.WIG 33 /r | VPMOVZXWD zmm1 {k1}{z}, ymm2/m256 | B | 有效 | 有效 | 0在OR AVX10.1 ymm2/m256中将16个装箱的16位整数扩展为16个装箱的32位整数,在zmm1中以写掩码 k1为对象. |
EVEX.128.66.0F38.WIG 34 /r | VPMOVZXWQ xmm1 {k1}{z}, xmm2/m32 | C | 有效 | 有效 | 0延伸2个装箱的16位整数在低4AVX512F)或xmm2/m32的字节为2个装箱的64位整数在AVX10.1xmm1中以写mask k1为对象. |
EVEX.256.66.0F38.WIG 34 /r | VPMOVZXWQ ymm1 {k1}{z}, xmm2/m64 Opcode/ Instruction | C | 有效 | 有效 | 0 扩展 4 包装的 16 位整数在低 8 位AVX512F或字节xmm2/m64至 4 个装填的64位整数AVX10.1 ymm1须遵守写掩码 k1. Op 64/32 bi tCPUIDFeatur e 描述模式支持旗帜 |
EVEX.512.66.0F38.WIG 34 /r | VPMOVZXWQ zmm1 {k1}{z}, xmm2/m128 | C | 有效 | 有效 | 0在OR AVX10.1 xmm2/m128中将8个装箱的16位整数扩展为8个装箱的64位整数,在zmm1中以写掩码 k1为对象. |
EVEX.128.66.0F38.W0 35 /r | VPMOVZXDQ xmm1 {k1}{z}, xmm2/m64 | B | 有效 | 有效 | D 零 扩展 2 组装的 32 位整数AVX512F或字节xmm2/m64至 2 个装填的64位整数AVX10.1 zmm1使用写掩码 k1. |
EVEX.256.66.0F38.W0 35 /r | VPMOVZXDQ ymm1 {k1}{z}, xmm2/m128 | B | 有效 | 有效 | D 0 扩展 4 个装填的 32 位整数AVX512F(或)xmm2/m128至 4 个装填的64位整数zmm1 AVX10.1使用写掩码 k1. |
EVEX.512.66.0F38.W0 35 /r | VPMOVZXDQ zmm1 {k1}{z}, ymm2/m256 | B | 有效 | 有效 | 0 扩展 8 块32 位整数AVX10.1 ymm2/m256到8个装填的64位整数zmm1使用写掩码 k1. |
操作数编码
每个模式对应上表 Op/En 列的一个取值,说明各操作数按书写顺序分别编码在指令的哪个字段,以及指令对它是读、是写还是两者兼有。
A
modrm.regescrituraModRM 字节的 reg 字段(第 5-3 位)modrm.rmlecturaModRM 字节的 r/m 字段(第 2-0 位);当 mod 字段要求时,还包括 SIB 字节和位移
B
modrm.regescrituraModRM 字节的 reg 字段(第 5-3 位)modrm.rmlecturaModRM 字节的 r/m 字段(第 2-0 位);当 mod 字段要求时,还包括 SIB 字节和位移
Tupla: Half Mem
C
modrm.regescrituraModRM 字节的 reg 字段(第 5-3 位)modrm.rmlecturaModRM 字节的 r/m 字段(第 2-0 位);当 mod 字段要求时,还包括 SIB 字节和位移
Tupla: Quarter Mem
D
modrm.regescrituraModRM 字节的 reg 字段(第 5-3 位)modrm.rmlecturaModRM 字节的 r/m 字段(第 2-0 位);当 mod 字段要求时,还包括 SIB 字节和位移
Tupla: Eighth Mem
实测开销
未实测:不在 64 位处理器上运行。
说明
VEX和EVEX编码版本: 从源操作数(第二个操作数)的低位字节开始的包装字节,单词,或单词整数为零扩展为单词,单词,或四词整数,并存储在已签名的目标操作数的包式字节中.
128位遗产 SSE 版本 : 对应目的地的比特(MAXVL-1:128)注册保持不变.
VEX.128 编码版本 : 对应目的地的比特(MAXVL-1:128)注册被清零.
VEX.256 编码版本 : 对应目的地的比特(MAXVL-1:256)注册被清零.
EVEX 编码版本 : 从源操作数(第二个操作数)的低字节开始的包装dword整数为零扩展为四字整数,并在写掩码下存储到目标操作数. 目的地登记册是XMM,YMM或ZMM Register.
说明: VEX.vvvv和EVEX.vvvv是保留的,必须是1111b,否则指令会#UD.
行动
Packed_Zero_Extend_BYTE_to_WORD(DEST, SRC)
DEST[15:0] := ZeroExtend(SRC[7:0]);
DEST[31:16] := ZeroExtend(SRC[15:8]);
DEST[47:32] := ZeroExtend(SRC[23:16]);
DEST[63:48] := ZeroExtend(SRC[31:24]);
DEST[79:64] := ZeroExtend(SRC[39:32]);
DEST[95:80] := ZeroExtend(SRC[47:40]);
DEST[111:96] := ZeroExtend(SRC[55:48]);
DEST[127:112] := ZeroExtend(SRC[63:56]);
Packed_Zero_Extend_BYTE_to_DWORD(DEST, SRC)
DEST[31:0] := ZeroExtend(SRC[7:0]);
DEST[63:32] := ZeroExtend(SRC[15:8]);
DEST[95:64] := ZeroExtend(SRC[23:16]);
DEST[127:96] := ZeroExtend(SRC[31:24]);
Packed_Zero_Extend_BYTE_to_QWORD(DEST, SRC)
DEST[63:0] := ZeroExtend(SRC[7:0]);
DEST[127:64] := ZeroExtend(SRC[15:8]);
Packed_Zero_Extend_WORD_to_DWORD(DEST, SRC)
DEST[31:0] := ZeroExtend(SRC[15:0]);
DEST[63:32] := ZeroExtend(SRC[31:16]);
DEST[95:64] := ZeroExtend(SRC[47:32]);
DEST[127:96] := ZeroExtend(SRC[63:48]);
Packed_Zero_Extend_WORD_to_QWORD(DEST, SRC)
DEST[63:0] := ZeroExtend(SRC[15:0]);
DEST[127:64] := ZeroExtend(SRC[31:16]);
Packed_Zero_Extend_DWORD_to_QWORD(DEST, SRC)
DEST[63:0] := ZeroExtend(SRC[31:0]);
DEST[127:64] := ZeroExtend(SRC[63:32]);
VPMOVZXBW (EVEX Encoded Versions)
(KL, VL) = (8, 128), (16, 256), (32, 512)
Packed_Zero_Extend_BYTE_to_WORD(TMP_DEST[127:0], SRC[63:0])
IF VL >= 256
Packed_Zero_Extend_BYTE_to_WORD(TMP_DEST[255:128], SRC[127:64])
FI;
IF VL >= 512
Packed_Zero_Extend_BYTE_to_WORD(TMP_DEST[383:256], SRC[191:128])
Packed_Zero_Extend_BYTE_to_WORD(TMP_DEST[511:384], SRC[255:192])
FI;
FOR j := 0 TO KL-1
i := j * 16
IF k1[j] OR *no writemask*
THEN DEST[i+15:i] := TEMP_DEST[i+15:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+15:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+15:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXBD (EVEX Encoded Versions)
(KL, VL) = (4, 128), (8, 256), (16, 512)
Packed_Zero_Extend_BYTE_to_DWORD(TMP_DEST[127:0], SRC[31:0])
IF VL >= 256
Packed_Zero_Extend_BYTE_to_DWORD(TMP_DEST[255:128], SRC[63:32])
FI;
IF VL >= 512
Packed_Zero_Extend_BYTE_to_DWORD(TMP_DEST[383:256], SRC[95:64])
Packed_Zero_Extend_BYTE_to_DWORD(TMP_DEST[511:384], SRC[127:96])
FI;
FOR j := 0 TO KL-1
i := j * 32
IF k1[j] OR *no writemask*
THEN DEST[i+31:i] := TEMP_DEST[i+31:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+31:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+31:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXBQ (EVEX Encoded Versions)
(KL, VL) = (2, 128), (4, 256), (8, 512)
Packed_Zero_Extend_BYTE_to_QWORD(TMP_DEST[127:0], SRC[15:0])
IF VL >= 256
Packed_Zero_Extend_BYTE_to_QWORD(TMP_DEST[255:128], SRC[31:16])
FI;
IF VL >= 512
Packed_Zero_Extend_BYTE_to_QWORD(TMP_DEST[383:256], SRC[47:32])
Packed_Zero_Extend_BYTE_to_QWORD(TMP_DEST[511:384], SRC[63:48])
FI;
FOR j := 0 TO KL-1
i := j * 64
IF k1[j] OR *no writemask*
THEN DEST[i+63:i] := TEMP_DEST[i+63:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+63:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+63:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXWD (EVEX Encoded Versions)
(KL, VL) = (4, 128), (8, 256), (16, 512)
Packed_Zero_Extend_WORD_to_DWORD(TMP_DEST[127:0], SRC[63:0])
IF VL >= 256
Packed_Zero_Extend_WORD_to_DWORD(TMP_DEST[255:128], SRC[127:64])
FI;
IF VL >= 512
Packed_Zero_Extend_WORD_to_DWORD(TMP_DEST[383:256], SRC[191:128])
Packed_Zero_Extend_WORD_to_DWORD(TMP_DEST[511:384], SRC[256:192])
FI;
FOR j := 0 TO KL-1
i := j * 32
IF k1[j] OR *no writemask*
THEN DEST[i+31:i] := TEMP_DEST[i+31:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+31:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+31:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXWQ (EVEX Encoded Versions)
(KL, VL) = (2, 128), (4, 256), (8, 512)
Packed_Zero_Extend_WORD_to_QWORD(TMP_DEST[127:0], SRC[31:0])
IF VL >= 256
Packed_Zero_Extend_WORD_to_QWORD(TMP_DEST[255:128], SRC[63:32])
FI;
IF VL >= 512
Packed_Zero_Extend_WORD_to_QWORD(TMP_DEST[383:256], SRC[95:64])
Packed_Zero_Extend_WORD_to_QWORD(TMP_DEST[511:384], SRC[127:96])
FI;
FOR j := 0 TO KL-1
i := j * 64
IF k1[j] OR *no writemask*
THEN DEST[i+63:i] := TEMP_DEST[i+63:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+63:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+63:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXDQ (EVEX Encoded Versions)
(KL, VL) = (2, 128), (4, 256), (8, 512)
Packed_Zero_Extend_DWORD_to_QWORD(TEMP_DEST[127:0], SRC[63:0])
IF VL >= 256
Packed_Zero_Extend_DWORD_to_QWORD(TEMP_DEST[255:128], SRC[127:64])
FI;
IF VL >= 512
Packed_Zero_Extend_DWORD_to_QWORD(TEMP_DEST[383:256], SRC[191:128])
Packed_Zero_Extend_DWORD_to_QWORD(TEMP_DEST[511:384], SRC[255:192])
FI;
FOR j := 0 TO KL-1
i := j * 64
IF k1[j] OR *no writemask*
THEN DEST[i+63:i] := TEMP_DEST[i+63:i]
ELSE
IF *merging-masking* ; merging-masking
THEN *DEST[i+63:i] remains unchanged*
ELSE *zeroing-masking* ; zeroing-masking
DEST[i+63:i] := 0
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
VPMOVZXBW (VEX.256 Encoded Version)
Packed_Zero_Extend_BYTE_to_WORD(DEST[127:0], SRC[63:0])
Packed_Zero_Extend_BYTE_to_WORD(DEST[255:128], SRC[127:64])
DEST[MAXVL-1:256] := 0
VPMOVZXBD (VEX.256 Encoded Version)
Packed_Zero_Extend_BYTE_to_DWORD(DEST[127:0], SRC[31:0])
Packed_Zero_Extend_BYTE_to_DWORD(DEST[255:128], SRC[63:32])
DEST[MAXVL-1:256] := 0
VPMOVZXBQ (VEX.256 Encoded Version)
Packed_Zero_Extend_BYTE_to_QWORD(DEST[127:0], SRC[15:0])
Packed_Zero_Extend_BYTE_to_QWORD(DEST[255:128], SRC[31:16])
DEST[MAXVL-1:256] := 0
VPMOVZXWD (VEX.256 Encoded Version)
Packed_Zero_Extend_WORD_to_DWORD(DEST[127:0], SRC[63:0])
Packed_Zero_Extend_WORD_to_DWORD(DEST[255:128], SRC[127:64])
DEST[MAXVL-1:256] := 0
VPMOVZXWQ (VEX.256 Encoded Version)
Packed_Zero_Extend_WORD_to_QWORD(DEST[127:0], SRC[31:0])
Packed_Zero_Extend_WORD_to_QWORD(DEST[255:128], SRC[63:32])
DEST[MAXVL-1:256] := 0
VPMOVZXDQ (VEX.256 Encoded Version)
Packed_Zero_Extend_DWORD_to_QWORD(DEST[127:0], SRC[63:0])
Packed_Zero_Extend_DWORD_to_QWORD(DEST[255:128], SRC[127:64])
DEST[MAXVL-1:256] := 0
VPMOVZXBW (VEX.128 Encoded Version)
Packed_Zero_Extend_BYTE_to_WORD()
DEST[MAXVL-1:128] := 0
VPMOVZXBD (VEX.128 Encoded Version)
Packed_Zero_Extend_BYTE_to_DWORD()
DEST[MAXVL-1:128] := 0
VPMOVZXBQ (VEX.128 Encoded Version)
Packed_Zero_Extend_BYTE_to_QWORD()
DEST[MAXVL-1:128] := 0
VPMOVZXWD (VEX.128 Encoded Version)
Packed_Zero_Extend_WORD_to_DWORD()
DEST[MAXVL-1:128] := 0
VPMOVZXWQ (VEX.128 Encoded Version)
Packed_Zero_Extend_WORD_to_QWORD()
DEST[MAXVL-1:128] := 0
VPMOVZXDQ (VEX.128 Encoded Version)
Packed_Zero_Extend_DWORD_to_QWORD()
DEST[MAXVL-1:128] := 0
PMOVZXBW
Packed_Zero_Extend_BYTE_to_WORD()
DEST[MAXVL-1:128] (Unmodified)
PMOVZXBD
Packed_Zero_Extend_BYTE_to_DWORD()
DEST[MAXVL-1:128] (Unmodified)
PMOVZXBQ
Packed_Zero_Extend_BYTE_to_QWORD()
DEST[MAXVL-1:128] (Unmodified)
PMOVZXWD
Packed_Zero_Extend_WORD_to_DWORD()
DEST[MAXVL-1:128] (Unmodified)
PMOVZXWQ
Packed_Zero_Extend_WORD_to_QWORD()
DEST[MAXVL-1:128] (Unmodified)
PMOVZXDQ
Packed_Zero_Extend_DWORD_to_QWORD()
DEST[MAXVL-1:128] (Unmodified)Intel C/C++ 内在编译器
VPMOVZXBW __m512i _mm512_cvtepu8_epi16(__m256i a);
VPMOVZXBW __m512i _mm512_mask_cvtepu8_epi16(__m512i a, __mmask32 k, __m256i b);
VPMOVZXBW __m512i _mm512_maskz_cvtepu8_epi16( __mmask32 k, __m256i b);
VPMOVZXBD __m512i _mm512_cvtepu8_epi32(__m128i a);
VPMOVZXBD __m512i _mm512_mask_cvtepu8_epi32(__m512i a, __mmask16 k, __m128i b);
VPMOVZXBD __m512i _mm512_maskz_cvtepu8_epi32( __mmask16 k, __m128i b);
VPMOVZXBQ __m512i _mm512_cvtepu8_epi64(__m128i a);
VPMOVZXBQ __m512i _mm512_mask_cvtepu8_epi64(__m512i a, __mmask8 k, __m128i b);
VPMOVZXBQ __m512i _mm512_maskz_cvtepu8_epi64( __mmask8 k, __m128i a);
VPMOVZXDQ __m512i _mm512_cvtepu32_epi64(__m256i a);
VPMOVZXDQ __m512i _mm512_mask_cvtepu32_epi64(__m512i a, __mmask8 k, __m256i b);
VPMOVZXDQ __m512i _mm512_maskz_cvtepu32_epi64( __mmask8 k, __m256i a);
VPMOVZXWD __m512i _mm512_cvtepu16_epi32(__m128i a);
VPMOVZXWD __m512i _mm512_mask_cvtepu16_epi32(__m512i a, __mmask16 k, __m128i b);
VPMOVZXWD __m512i _mm512_maskz_cvtepu16_epi32(__mmask16 k, __m128i a);
VPMOVZXWQ __m512i _mm512_cvtepu16_epi64(__m256i a);
VPMOVZXWQ __m512i _mm512_mask_cvtepu16_epi64(__m512i a, __mmask8 k, __m256i b);
VPMOVZXWQ __m512i _mm512_maskz_cvtepu16_epi64( __mmask8 k, __m256i a);
VPMOVZXBW __m256i _mm256_cvtepu8_epi16(__m256i a);
VPMOVZXBW __m256i _mm256_mask_cvtepu8_epi16(__m256i a, __mmask16 k, __m128i b);
VPMOVZXBW __m256i _mm256_maskz_cvtepu8_epi16( __mmask16 k, __m128i b);
VPMOVZXBD __m256i _mm256_cvtepu8_epi32(__m128i a);
VPMOVZXBD __m256i _mm256_mask_cvtepu8_epi32(__m256i a, __mmask8 k, __m128i b);
VPMOVZXBD __m256i _mm256_maskz_cvtepu8_epi32( __mmask8 k, __m128i b);
VPMOVZXBQ __m256i _mm256_cvtepu8_epi64(__m128i a);
VPMOVZXBQ __m256i _mm256_mask_cvtepu8_epi64(__m256i a, __mmask8 k, __m128i b);
VPMOVZXBQ __m256i _mm256_maskz_cvtepu8_epi64( __mmask8 k, __m128i a);
VPMOVZXDQ __m256i _mm256_cvtepu32_epi64(__m128i a);
VPMOVZXDQ __m256i _mm256_mask_cvtepu32_epi64(__m256i a, __mmask8 k, __m128i b);
VPMOVZXDQ __m256i _mm256_maskz_cvtepu32_epi64( __mmask8 k, __m128i a);
VPMOVZXWD __m256i _mm256_cvtepu16_epi32(__m128i a);
VPMOVZXWD __m256i _mm256_mask_cvtepu16_epi32(__m256i a, __mmask16 k, __m128i b);
VPMOVZXWD __m256i _mm256_maskz_cvtepu16_epi32(__mmask16 k, __m128i a);
VPMOVZXWQ __m256i _mm256_cvtepu16_epi64(__m128i a);
VPMOVZXWQ __m256i _mm256_mask_cvtepu16_epi64(__m256i a, __mmask8 k, __m128i b);
VPMOVZXWQ __m256i _mm256_maskz_cvtepu16_epi64( __mmask8 k, __m128i a);
VPMOVZXBW __m128i _mm_mask_cvtepu8_epi16(__m128i a, __mmask8 k, __m128i b);
VPMOVZXBW __m128i _mm_maskz_cvtepu8_epi16( __mmask8 k, __m128i b);
VPMOVZXBD __m128i _mm_mask_cvtepu8_epi32(__m128i a, __mmask8 k, __m128i b);
VPMOVZXBD __m128i _mm_maskz_cvtepu8_epi32( __mmask8 k, __m128i b);
VPMOVZXBQ __m128i _mm_mask_cvtepu8_epi64(__m128i a, __mmask8 k, __m128i b);
VPMOVZXBQ __m128i _mm_maskz_cvtepu8_epi64( __mmask8 k, __m128i a);
VPMOVZXDQ __m128i _mm_mask_cvtepu32_epi64(__m128i a, __mmask8 k, __m128i b);
VPMOVZXDQ __m128i _mm_maskz_cvtepu32_epi64( __mmask8 k, __m128i a);
VPMOVZXWD __m128i _mm_mask_cvtepu16_epi32(__m128i a, __mmask16 k, __m128i b);
VPMOVZXWD __m128i _mm_maskz_cvtepu16_epi32(__mmask8 k, __m128i a);
VPMOVZXWQ __m128i _mm_mask_cvtepu16_epi64(__m128i a, __mmask8 k, __m128i b);
VPMOVZXWQ __m128i _mm_maskz_cvtepu16_epi64( __mmask8 k, __m128i a);
PMOVZXBW __m128i _mm_ cvtepu8_epi16 ( __m128i a);
PMOVZXBD __m128i _mm_ cvtepu8_epi32 ( __m128i a);
PMOVZXBQ __m128i _mm_ cvtepu8_epi64 ( __m128i a);
PMOVZXWD __m128i _mm_ cvtepu16_epi32 ( __m128i a);
PMOVZXWQ __m128i _mm_ cvtepu16_epi64 ( __m128i a);
PMOVZXDQ __m128i _mm_ cvtepu32_epi64 ( __m128i a);SIMD 浮点 例外
None.
其他例外
Non-EVEX-encoded discription,参见表2-22,"第5类例外条件".
EVEX-encoded 指令,参见表2-53,"Type E5类例外条件".
Additionally:
#UD If VEX.vvvv != 1111B, or EVEX.vvvv != 1111B.