Does SH1ADD access memory?
No. It only reads and writes integer registers; any memory access must be performed by a separate load or store instruction.
Shift left by 1 and add
Shifts rs1 left by 1 then adds rs2: rd = rs2 + (rs1 << 1). For halfword (2-byte) array address generation. Part of Zba.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
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.
SH1ADD is a Zba instruction: it shifts rs1 left by 1, adds rs2, and writes the XLEN-wide result to rd.
Understand this scenario with real code like «sh1add x10, x11, x12 ; x10 = x12 + (x11 << 1)».
No. It only reads and writes integer registers; any memory access must be performed by a separate load or store instruction.
This instruction performs the shift and addition at XLEN width and writes the XLEN-wide result to rd.