PACK 是否访问内存?
不访问。它只在整数寄存器内重排位字段或查表。
低半字打包(Zbkb)。
PACK 使用 opcode 0110011(0x33)、funct3 100、funct7 0000100。rs1 和 rs2 字段选择两个源寄存器,rd 字段选择目标寄存器。
PACK(Zbkb)把 rs1 的低 XLEN/2 位放入 rd 的低半,把 rs2 的低 XLEN/2 位放入 rd 的高半。RV32 中 rd[15:0]=rs1[15:0]、rd[31:16]=rs2[15:0];RV64 中 rd[31:0]=rs1[31:0]、rd[63:32]=rs2[31:0]。
PACK 是 Zbkb 密码位操作指令;页面按官方 B 扩展的操作定义校对。
结合 «pack a0, a1, a2» 等实际代码理解该场景。
结合 «pack a0, a1, a2» 等实际代码理解该场景。
不访问。它只在整数寄存器内重排位字段或查表。
它属于 Zbkb 密码位操作扩展。