Does ROLW access memory?
No. This instruction reads its integer source registers and writes the computed result to rd; it performs no data-memory load or store.
Rotate left word by register (RV64)
RV64 only: rotate rs1[31:0] left by rs2[4:0], then sign-extend bit 31 to 64 bits. Available with Zbb or Zbkb.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
Assumes Zbb or Zbkb is enabled at the selected XLEN, with the fixed register values below and PC=0x2000; fetch succeeds and no asynchronous interrupt occurs. Steps are a teaching decomposition.
The machine code is split by the current instruction format; the animation starts from encoding/decode.
This animation shows ISA-visible decode and state changes, not any specific CPU pipeline, cache, prediction, or timing implementation.
RV64 only: rotate rs1[31:0] left by rs2[4:0], then sign-extend bit 31 of the 32-bit result to 64 bits.
Understand this scenario with real code like «rolw x10, x11, x12 ; x10 = sign_ext(rotl(x11[31:0], x12[4:0]))».
Understand this scenario with real code like «rolw x10, x11, x12 ; x10 = sign_ext(rotl(x11[31:0], x12[4:0]))».
No. This instruction reads its integer source registers and writes the computed result to rd; it performs no data-memory load or store.
ROLW first produces a 32-bit rotated result, then sign-extends bit 31 to the 64-bit value written to rd.