Why is c.jal RV32C-only?
The C extension defines C.JAL for RV32C; in RV64C the same encoding space is used for C.ADDIW.
Unconditional jump; write return address to x1. CJ format, RV32C.
c.jal is an RV32C instruction. It jumps by a compressed J-format PC-relative offset and writes the next instruction address to x1/ra.
c.jal is an RV32C instruction. It jumps by a compressed J-format PC-relative offset and writes the next instruction address to x1/ra.
Understand this scenario with real code like «c.jal 256 # call subroutine at pc+256».
The C extension defines C.JAL for RV32C; in RV64C the same encoding space is used for C.ADDIW.
No. It is a 16-bit encoded instruction defined by the C extension.