我正在寻找支持官方规范定义的 RISC-V 矢量扩展 v1.0 的 C/C++ 工具链。
Spike似乎支持矢量 rvv1.0,但我很难找到一个工具链来使用它。
GCC (我只看到rvv0.9的一个分支)和 LLVM(我使用的是 LLVM/clang 13.0.0,它只升级到 rvv0.10)似乎都不支持最新的规范。
有人可以向我指出一个有效的工具链,还是我只需要再等一些工具才能赶上?
现在,在 2021 年 12 月 8 日,您可以使用启用矢量支持 rvv 0.1 的 llvm + clang 14.0.0 3eda87732fbac6f316e9e83984ef9a90f962c381。
编译 RISCV GCC 工具链
编译 LLVM + CLANG + LLD
将 GCC 工具链添加到 llvm 安装文件夹,这里描述了如何使用 Clang 为 RISC-V 编译
最后用下一个键向量化:
clang -O2 -c -march=rv64gv0p10 test.ll -o test1.o -menable-experimental-extensions -mllvm --riscv-v-vector-bits-min=256 -mno-relax
这是一个输出 - objdump 文件:
Objdump 无法识别指令,但如果您发出带有
-S
密钥的汇编代码,您可以看到它: