JR¶
说明¶
无条件寄存器跳转 (Jump Register)
无条件跳转至源寄存器内TPC加左移一位的立即数偏移指示的目标地址处。
汇编语法¶
汇编符号¶
- SrcL:源寄存器,可以索引全局寄存器R0-R23和前序1-4条输出至T队列或U队列的指令结果。
- label:表示跳转目标位置的程序标签。它相对于本指令TPC的偏移距离除以2后编码在simm12字段。
编码格式¶
执行方式¶
- 通用寄存器读写:R[]
- 对数据符号扩展:SignExtend()
integer s = UInt(SrcL);
bits(64) curtpc = R[s, 64];
bits(64) offset = SignExtend(simm12);
TPC = curtpc + (offset << 1);
汇编索引模式¶
汇编示例¶
如果需要跳转到一个symbol所在的位置,且j指令偏移的编码不足,可以使用addtpc和jr完成。
注意事项¶
本指令不占块内私有寄存器槽位。
备注¶
本指令属于基础指令集,可用于向量Tile块、并行Tile块和访存Tile块的块体中。