Which immediates can C.LI load?
C.LI has a signed 6-bit CI immediate field, so it can load values from -32 through 31.
Load a sign-extended 6-bit immediate into a nonzero rd: rd = imm. CI format.
Extension condition: C (or Zca) on RV32I/RV64I; 16-bit encoding, IALIGN=16. The animation assumes successful instruction fetch and no asynchronous interrupt.
C.LI uses the CI format to write a sign-extended 6-bit immediate to a nonzero rd and expands to addi rd, x0, imm. rd is a full 5-bit field; encodings with rd=x0 are HINTs rather than ordinary C.LI writeback.
RV32I/RV64I + C (or Zca), 16-bit encoding, IALIGN=16.
c.li rd, imm0x556D = 0101010101101101Restore full register fields and the immediate, distinguishing ordinary instructions, HINTs, and shared encodings.
These are teaching steps for architectural effects, not processor pipeline stages or cycles.
C.LI is a 16-bit CI encoding that writes a signed 6-bit immediate to rd; the regular form requires nonzero rd.
RV32I/RV64I + C/Zca, c.li x10, 5 writes 5 to x10 without reading old x10 or accessing data memory, and advances PC by 2.
C.LI has a signed 6-bit CI immediate field, so it can load values from -32 through 31.