Skip to content

VPCMPUW:x86 compare向量指令

VPCMPUW 属于 AVX512/AVX512BW 的 compare 类 SIMD 指令。传统、VEX 与 EVEX 形式如共享该助记符,会集中列在本页。

操作码
Intel SDM · 见各编码形式
指令集
AVX512BW
英文全称
VPCMPUW
参考资料
Intel SDM
页码
01VPCMPUW02k, xmm, xmm
01
指令助记符VPCMPUWmnemonic

VPCMPUW 的 AVX512/AVX512BW 编码。

02
操作数k, xmm, xmmdestination

Intel 官方资料列出的一个操作数形式;全部形式见下表。

VPCMPUW · REGISTER OPERATIONX86 · COMPARE
元素数量向量宽度 ÷ 元素宽度32
vs2 · zmm1第一来源
zmm1[511:0]
vs2[31]3216 bits
vs2[30]3116 bits
vs2[29]3016 bits
vs2[28]2916 bits
vs2[27]2816 bits
vs2[26]2716 bits
vs2[25]2616 bits
vs2[24]2516 bits
vs2[23]2416 bits
vs2[22]2316 bits
vs2[21]2216 bits
vs2[20]2116 bits
vs2[19]2016 bits
vs2[18]1916 bits
vs2[17]1816 bits
vs2[16]1716 bits
vs2[15]1616 bits
vs2[14]1516 bits
vs2[13]1416 bits
vs2[12]1316 bits
vs2[11]1216 bits
vs2[10]1116 bits
vs2[9]1016 bits
vs2[8]916 bits
vs2[7]816 bits
vs2[6]716 bits
vs2[5]616 bits
vs2[4]516 bits
vs2[3]416 bits
vs2[2]316 bits
vs2[1]216 bits
vs2[0]116 bits
vs1 · zmm2第二来源
zmm2[511:0]
vs1[31]6416 bits
vs1[30]6316 bits
vs1[29]6216 bits
vs1[28]6116 bits
vs1[27]6016 bits
vs1[26]5916 bits
vs1[25]5816 bits
vs1[24]5716 bits
vs1[23]5616 bits
vs1[22]5516 bits
vs1[21]5416 bits
vs1[20]5316 bits
vs1[19]5216 bits
vs1[18]5116 bits
vs1[17]5016 bits
vs1[16]4916 bits
vs1[15]4816 bits
vs1[14]4716 bits
vs1[13]4616 bits
vs1[12]4516 bits
vs1[11]4416 bits
vs1[10]4316 bits
vs1[9]4216 bits
vs1[8]4116 bits
vs1[7]4016 bits
vs1[6]3916 bits
vs1[5]3816 bits
vs1[4]3716 bits
vs1[3]3616 bits
vs1[2]3516 bits
vs1[1]3416 bits
vs1[0]3316 bits
vd · zmm0(结果)compare
zmm0[511:0]
vd[31]ALL-1compare
vd[30]0compare
vd[29]ALL-1compare
vd[28]0compare
vd[27]ALL-1compare
vd[26]0compare
vd[25]ALL-1compare
vd[24]0compare
vd[23]ALL-1compare
vd[22]0compare
vd[21]ALL-1compare
vd[20]0compare
vd[19]ALL-1compare
vd[18]0compare
vd[17]ALL-1compare
vd[16]0compare
vd[15]ALL-1compare
vd[14]0compare
vd[13]ALL-1compare
vd[12]0compare
vd[11]ALL-1compare
vd[10]0compare
vd[9]ALL-1compare
vd[8]0compare
vd[7]ALL-1compare
vd[6]0compare
vd[5]ALL-1compare
vd[4]0compare
vd[3]ALL-1compare
vd[2]0compare
vd[1]ALL-1compare
vd[0]0compare
每个圆球代表一个完整元素强调背景:目标写入高索引在左、低索引在右

指令形式

语法说明
VPCMPUW k {k}, xmm, xmmIntel 官方操作数形式
VPCMPUW k {k}, xmm, xmm, imm8Intel 官方操作数形式
VPCMPUW k {k}, ymm, ymmIntel 官方操作数形式
VPCMPUW k {k}, ymm, ymm, imm8Intel 官方操作数形式
VPCMPUW k {k}, zmm, zmmIntel 官方操作数形式
VPCMPUW k {k}, zmm, zmm, imm8Intel 官方操作数形式
VPCMPUW k, xmm, xmmIntel 官方操作数形式
VPCMPUW k, xmm, xmm, imm8Intel 官方操作数形式
VPCMPUW k, ymm, ymmIntel 官方操作数形式
VPCMPUW k, ymm, ymm, imm8Intel 官方操作数形式
VPCMPUW k, zmm, zmmIntel 官方操作数形式
VPCMPUW k, zmm, zmm, imm8Intel 官方操作数形式

操作语义

操作数按 Intel SDM 中该编码规定的 packed 元素或低位标量解释。元素 0 位于向量寄存器最低有效位;128 位 lane 内行为与跨 lane 行为以具体形式为准。

注意点

修改的寄存器

显式目标寄存器或内存被写入,来源保持不变。传统双操作数形式可能覆盖第一来源;VEX/EVEX 非破坏性形式使用独立目标,并按编码规则清零有效宽度以上的目标位。EVEX 写掩码支持合并与 {z} 清零。

内存对齐

普通算术和转换内存来源通常没有额外自然对齐要求;名称为 aligned move 的形式以及部分非临时存储必须按 16、32 或 64 字节操作数宽度对齐。地址始终必须可访问完整操作数。

标志位与异常

纯整数或数据移动形式通常不修改 MXCSR。 只有 Intel SDM 明确规定的比较、测试或字符串形式修改 EFLAGS/RFLAGS;其他形式不修改整数标志。

示例形式

asm
vpcmpuw k, xmm, xmm

参考

SIGNAL MAINTAINED · BUILT FROM MARKDOWN