You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译RISC-V汇编遇mul指令报错,指定m扩展仍无效求解决

RISC-V汇编编译时mul指令不被识别的问题解决

问题场景

已构建基于newlib、rv32imac架构及ilp32 ABI的riscv-gnu-toolchain,执行汇编编译命令:

riscv32-unknown-elf-as -march=rv32imac -mabi=ilp32 main.s -o main.o

出现错误:

Error: unrecognized opcode 'mul a0,t4,t5', extension 'm' or 'zmmul' required

尽管工具链构建和编译命令均指定了m扩展,汇编器仍无法识别mul指令。

解决方法

检查汇编源码main.s,发现其中存在语句:

.attribute 5, "rv32i2p0"

该语句会覆盖命令行传入的-march参数,导致汇编器仅启用rv32i基础指令集,无法识别m扩展的mul指令。

将该属性语句修改为:

.attribute 5, "rv32imac"

重新执行编译命令即可正常生成目标文件。


内容的提问来源于stack exchange,提问作者user3272

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:52:10