Which extensions does C.SEXT.B require?
It is a Zcb instruction, and the manual lists Zbb as an additional prerequisite; Zcb itself depends on Zca.
16-bit sign-extend byte (bit 7 replicated to upper bits)
C.SEXT.B uses the Zcb CU format. It sign-extends the least-significant byte of rd'/rs1' to XLEN bits by copying byte bit 7 into all upper bits. rd'/rs1' is limited to x8-x15, and Zbb is also required.
Shows only official 16-bit fields, operands, conditions, and architectural state; it does not model a pipeline, cache, or timing.
C.SEXT.B reads the low 8 bits of rd'/rs1', sign-extends using bit 7, and writes the XLEN-bit result back to that register.
Understand this scenario with real code like «c.sext.b x10 # x10 = EXTS(x10[7:0])».
It is a Zcb instruction, and the manual lists Zbb as an additional prerequisite; Zcb itself depends on Zca.
Only the original low 8 bits of rd'/rs1' are used; bit 7 is copied into every higher bit and the result overwrites the same x8-x15 register.