如何使用RISC-V架构的C.ADDI4SPN和C.ADDI16SP指令压缩子集?

问题描述

我不知道如何正确调用这两个指令。第一条指令C.ADDI4SPN的第一个操作数应该是一个寄存器,第二条操作数(如果我是对的话)应该是一个以4缩放的数字。

但是当我尝试调用指令时,我得到的消息是操作数是非法的。

第二条指令C.ADDI16SP也是一样,唯一的区别是数字应按16缩放。 这些是手册中说明的描述:

C.ADDI16SP添加 立即将非零符号扩展的6位扩展到堆栈指针(sp = x2)中的值,其中 立即数被缩放为代表范围(-512,496)中16的倍数。

C.ADDI4SPN是仅CIW格式的RV32C / RV64C指令,它添加了零扩展的非零 立即,按4的比例缩放到堆栈指针x2,并将结果写入rd0

这些是我如何尝试使用说明的示例:

c.addi16sp 32
c.addi4spn x10,8

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)