VANDN.VV 是否总能带 v0.t 掩码?
可以带可选 v0.t;省略时 vm=1,使用时 vm=0。但掩码执行的 vd 寄存器组不得与 v0 重叠。
向量按位 AND-NOT:vd[i] = vs2[i] & ~vs1[i]
vd、vs2、vs1 选择向量寄存器 v0–v31;可选掩码写作 v0.t,省略时 vm=1,带掩码时 vm=0;没有立即数。
32 位 OP-V:funct6=000001,vm[25],vs2[24:20],vs1[19:15],funct3=000,vd[11:7],opcode=1010111。
支持 Zvbb 或 Zvkb;在当前 SEW 内,对活动元素计算 vd[i]=vs2[i]&~vs1[i]。SEW 取实现支持的宽度:Zve32x 提供 8/16/32,Zve64x 还提供 64;无 AES 元素组约束。
执行范围为 vstart≤i<vl,掩码关闭元素按 vma、尾部按 vta 处理;前置元素保持。掩码目的组不得与 v0 重叠,v0 也不能同时作为 SEW 数据源与 EEW=1 掩码;同宽源/目的可重叠并读取原源值。vstart≥vl(含 vl=0)时不更新目标;普通 agnostic 元素可保持或写全 1,不保证清零。
VANDN.VV 使用 opcode 1010111(0x57)、funct3 000。32 位 OP-V:funct6=000001,vm[25],vs2[24:20],vs1[19:15],funct3=000,vd[11:7],opcode=1010111。
vandn.vv 对每个活动元素计算 vd[i] = vs2[i] & ~vs1[i],结果宽度为当前 SEW。支持 Zvbb 或其子集 Zvkb;省略 v0.t 时不掩码,带 v0.t 时仅处理 v0.mask[i]=1 的活动元素。
向量按位 AND-NOT:vd[i] = vs2[i] & ~vs1[i]
vd、vs2、vs1 选择向量寄存器 v0–v31;可选掩码写作 v0.t,省略时 vm=1,带掩码时 vm=0;没有立即数。
32 位 OP-V:funct6=000001,vm[25],vs2[24:20],vs1[19:15],funct3=000,vd[11:7],opcode=1010111。
支持 Zvbb 或 Zvkb;在当前 SEW 内,对活动元素计算 vd[i]=vs2[i]&~vs1[i]。SEW 取实现支持的宽度:Zve32x 提供 8/16/32,Zve64x 还提供 64;无 AES 元素组约束。
执行范围为 vstart≤i<vl,掩码关闭元素按 vma、尾部按 vta 处理;前置元素保持。掩码目的组不得与 v0 重叠,v0 也不能同时作为 SEW 数据源与 EEW=1 掩码;同宽源/目的可重叠并读取原源值。vstart≥vl(含 vl=0)时不更新目标;普通 agnostic 元素可保持或写全 1,不保证清零。
Zvbb 或 Zvkb,SEW=8、vl=1、vstart=0,无掩码,vs2[0]=0xF0、vs1[0]=0xCC:0xF0 & ~0xCC = 0x30,写入 vd[0]。
Zvbb 或 Zvkb,SEW=8、vl=1、vstart=0,无掩码,vs2[0]=0xF0、vs1[0]=0xCC:0xF0 & ~0xCC = 0x30,写入 vd[0]。
可以带可选 v0.t;省略时 vm=1,使用时 vm=0。但掩码执行的 vd 寄存器组不得与 v0 重叠。
由 vtype.SEW 和实现支持决定:Zve32x 提供 8/16/32,Zve64x 还提供 64。该指令没有 AES 的 SEW=32 或 128 位元素组限制。