为什么 riscv 的 JAL 指令中的立即偏移量的位顺序发生了变化?

Why the immediate offset in the riscv's JAL instruction has bit order changed?

位域如下图

我看不出重新排序位域有什么意义。

RISC-V处理器在执行这条指令时是否有特殊的操作?

改组的目的是减少从不同指令类型的立即数构造全尺寸操作数所涉及的多路复用器的数量。

例如,符号扩展位(驱动很多线)始终相同 (inst[31])。您还可以看到 imm[10] 也几乎总是在同一个地方,跨越 I 型、S 型、B 型和 J 型指令。