最近在研究CH32V307这块MCU,看到它的内核支持XW扩展指令集。但是目前能找到的文档如《QingKeV4_Processor_Manual》中对该指令子集描述甚少,不知如何使用。想问一下XW扩展指令集的用途是在什么地方,要如何使用?
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU
最近在研究CH32V307这块MCU,看到它的内核支持XW扩展指令集。但是目前能找到的文档如《QingKeV4_Processor_Manual》中对该指令子集描述甚少,不知如何使用。想问一下XW扩展指令集的用途是在什么地方,要如何使用?
您好,XW指令集为自扩展字节和半字操作的 16 位压缩指令 。标准压缩指令不支持字节和半字操作,我们增加了字节和半字操作,当使用MounRiver开发时勾选RVXW选项,有利于提升代码密度。
XW 子集包含以下压缩指令 c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shsp,具体含义如下。
下图介绍为前4个指令的介绍,后4个指令与该四个指令意思一样,主要用于压栈的时候,后四个反汇编名字会和前四个一样,但是机器码不一样,反汇编不一定显示前面的??c.
感谢您的解答,我可以将其理解为编译器在编译时自动使用该压缩指令进行优化吗
您好,是的,但需要按照上图1勾选配置一下
好的,十分感谢。