Skip to content

VPCMPD:x86 compare向量指令

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

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

VPCMPD 的 AVX512/AVX512F 编码。

02
操作数k, xmm, xmmdestination

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

VPCMPD · REGISTER OPERATIONX86 · COMPARE
元素数量向量宽度 ÷ 元素宽度8
vs2 · zmm1第一来源
zmm1[511:0]
vs2[7]864 bits
vs2[6]764 bits
vs2[5]664 bits
vs2[4]564 bits
vs2[3]464 bits
vs2[2]364 bits
vs2[1]264 bits
vs2[0]164 bits
vs1 · zmm2第二来源
zmm2[511:0]
vs1[7]1664 bits
vs1[6]1564 bits
vs1[5]1464 bits
vs1[4]1364 bits
vs1[3]1264 bits
vs1[2]1164 bits
vs1[1]1064 bits
vs1[0]964 bits
vd · zmm0(结果)compare
zmm0[511:0]
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
每个圆球代表一个完整元素强调背景:目标写入高索引在左、低索引在右

指令形式

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

操作语义

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

注意点

修改的寄存器

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

内存对齐

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

标志位与异常

浮点运算可能依据 MXCSR、舍入控制和 SAE 累积浮点异常。 只有 Intel SDM 明确规定的比较、测试或字符串形式修改 EFLAGS/RFLAGS;其他形式不修改整数标志。

示例形式

asm
vpcmpd k, xmm, xmm

参考

SIGNAL MAINTAINED · BUILT FROM MARKDOWN