Does clmul access memory?
It does not access data memory. It reads two integer registers and delivers the selected product bits to rd; rd=x0 discards the result.
RV32/RV64 Zbc/Zbkc carry-less multiply, returning low XLEN bits of the 2*XLEN-bit product.
RV32/RV64 Zbc or Zbkc 1.0; syntax clmul rd, rs1, rs2, with no rs3 or immediate.
32-bit R-type: funct7=0000101, funct3=001, opcode=0110011; register fields select x0–x31.
Select shifted rs1 terms with set rs2 bits and combine with XOR; select full-product bits XLEN-1:0. Sources use old XLEN-bit patterns; x0 reads zero and discards writes.
clmul performs GF(2) carry-less multiplication and returns the low XLEN bits.
This model shows ISA-visible GF(2) XOR partial products; it does not model integer carries, a pipeline, or a cryptographic protocol.
funct7=0000101, funct3=001
clmul performs GF(2) carry-less multiplication and returns the low XLEN bits.
RV32 Zbc/Zbkc, x11=0xB and x12=0xD: partial products 0xB XOR 0x2C XOR 0x58=0x7F; clmul writes x10=0x7F.
It does not access data memory. It reads two integer registers and delivers the selected product bits to rd; rd=x0 discards the result.
It treats XLEN-bit patterns as polynomial operands for carry-less multiplication, without signed-integer multiplication semantics; partial products combine with XOR.