【发布时间】:2019-02-01 11:04:00
【问题描述】:
我正在尝试利用 RISC-V 汇编中的向量操作,特别是我需要使用 arch RV64iV 或 RV64GV 编译我的源代码。 我正在使用 riscv64-unknown-elf- 工具链,具有以下参数:
riscv64-unknown-elf-gcc -o test -march=rv32iv test.s
但我收到以下错误:
汇编程序消息: 致命错误:-march=rv32iv:不支持的 ISA 子集 `v'
谢谢
【问题讨论】:
-
尝试更新您的工具链。
-
This post about RISC-V Vector Extensions from 2018 年 9 月表示 “目前还没有使用 GCC 进行实施工作或实验”。
-
@Michael:但这是否意味着没有自动矢量化或内在函数可以让 GCC 发出指令? GNU Binutils 是一个单独的项目,即使 gcc 从不发出它们,也可以实现 asm 指令。 (.s 上的
gcc只是将 asm 文件从 binutils 提供给as。-march选项通常在仅组装而不是编译时毫无意义,但在 ARM 上对于拇指与 ARM 可能很重要......可能不是RISC-V) -
@PeterCordes:不知道。那是我能找到的信息。我最近没有自己构建 binutils,所以我没有任何最近的源代码分发。
-
我的评论在 OP 中得到了部分解决:他们应该尝试
riscv64-unknown-elf-gcc test.s并查看汇编程序说什么,而不是错误地输出 GCC 前端。