Skip to content

VPCMPUD:x86 compare向量指令

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

操作码
Intel SDM · 见各编码形式
指令集
AVX512F
英文全称
VPCMPUD
参考资料
Intel SDM
页码
01VPCMPUD02k, xmm, xmm
01
指令助记符VPCMPUDmnemonic

VPCMPUD 的 AVX512/AVX512F 编码。

02
操作数k, xmm, xmmdestination

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

VPCMPUD · REGISTER OPERATIONX86 · COMPARE
元素数量向量宽度 ÷ 元素宽度16
vs2 · zmm1第一来源
zmm1[511:0]
vs2[15]1632 bits
vs2[14]1532 bits
vs2[13]1432 bits
vs2[12]1332 bits
vs2[11]1232 bits
vs2[10]1132 bits
vs2[9]1032 bits
vs2[8]932 bits
vs2[7]832 bits
vs2[6]732 bits
vs2[5]632 bits
vs2[4]532 bits
vs2[3]432 bits
vs2[2]332 bits
vs2[1]232 bits
vs2[0]132 bits
vs1 · zmm2第二来源
zmm2[511:0]
vs1[15]3232 bits
vs1[14]3132 bits
vs1[13]3032 bits
vs1[12]2932 bits
vs1[11]2832 bits
vs1[10]2732 bits
vs1[9]2632 bits
vs1[8]2532 bits
vs1[7]2432 bits
vs1[6]2332 bits
vs1[5]2232 bits
vs1[4]2132 bits
vs1[3]2032 bits
vs1[2]1932 bits
vs1[1]1832 bits
vs1[0]1732 bits
vd · zmm0(结果)compare
zmm0[511:0]
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
每个圆球代表一个完整元素强调背景:目标写入高索引在左、低索引在右

指令形式

语法说明
VPCMPUD k {k}, xmm, xmmIntel 官方操作数形式
VPCMPUD k {k}, xmm, xmm, imm8Intel 官方操作数形式
VPCMPUD k {k}, ymm, ymmIntel 官方操作数形式
VPCMPUD k {k}, ymm, ymm, imm8Intel 官方操作数形式
VPCMPUD k {k}, zmm, zmm, imm8Intel 官方操作数形式
VPCMPUD k, xmm, xmmIntel 官方操作数形式
VPCMPUD k, xmm, xmm, imm8Intel 官方操作数形式
VPCMPUD k, ymm, ymmIntel 官方操作数形式
VPCMPUD k, ymm, ymm, imm8Intel 官方操作数形式
VPCMPUD 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
vpcmpud k, xmm, xmm

参考

SIGNAL MAINTAINED · BUILT FROM MARKDOWN