mask 元素
每个元素索引对应 1 bit 谓词值;本页指令操作 mask 位,不操作 SEW 宽的数据元素。
向量掩码 XNOR:vd.mask[i] = ~(vs2.mask[i] ^ vs1.mask[i])
VMXNOR.MM 是 RVV 的 向量掩码同或 指令。`.mm` 表示源和目的都是 mask register 操作数;每个 mask 元素只有 1 bit,并按元素索引计算 vd.mask[i] = ~(vs2.mask[i] ^ vs1.mask[i])。该类指令总是 unmasked,vm=0 编码保留;尾部元素按 tail-agnostic 策略更新。
从 V 扩展编码字段开始,展示 XNOR mask 逻辑的字段解析、mask bit 读取、逐 lane 运算和 vd 写回。
本动画只模拟 vd.mask[i] = ~(vs2.mask[i] ^ vs1.mask[i]) 的 ISA 语义关系:读取两个 mask register 的 predicate bits,逐 lane 计算 XNOR,再写入目标 mask register。
VMXNOR.MM 是 RVV 掩码寄存器逻辑指令 的 向量掩码同或 指令,用来做 predicate 条件组合。`.mm` 后缀表示 vd、vs2、vs1 都是 mask register 语义;每个元素只占 1 bit,与当前 SEW 的数据元素宽度无关。
阅读 VMXNOR.MM 时,重点是 mask register 上的逐 bit 谓词组合。.mm:源和目的都是 mask register,逐元素处理 1 bit 谓词值。
每个元素索引对应 1 bit 谓词值;本页指令操作 mask 位,不操作 SEW 宽的数据元素。
vd 可为任意 mask register,接收结果 mask;vs2 与 vs1 提供两个源 mask,按相同元素索引逐 bit 组合。
mask logical 指令总是 unmasked;只有把组合结果写到或搬到 v0 后,后续普通 masked vector 指令才通过 v0.t 消费它。
结合 «vmxnor.mm v1, v2, v3» 等实际代码理解该场景。
结合 «vmxnor.mm v1, v2, v3» 等实际代码理解该场景。
结合 «vmxnor.mm v1, v2, v3» 等实际代码理解该场景。
它表示 mask-mask 形式:vd、vs2、vs1 都按 mask register 解释,逐元素处理 1 bit 谓词值。
公式是 vd.mask[i] = ~(vs2.mask[i] ^ vs1.mask[i])。
不受。向量 mask logical 指令总是 unmasked,vm=0 编码保留;vd 可为任意 mask register。只有结果写到或搬到 v0 后,后续普通 masked vector 指令才通过 v0.t 消费。
表示两个源 mask 在该 lane 相等:同为 1 或同为 0。