【问题标题】:RISC-V Toolchain with Vector support具有矢量支持的 RISC-V 工具链
【发布时间】:2021-09-29 11:59:05
【问题描述】:

我正在寻找支持官方spec 定义的 RISC-V 矢量扩展 v1.0 的 C/C++ 工具链。

Spike 似乎支持矢量 rvv1.0,但我无法找到与之一起使用的工具链。

GCC(我只看到 rvv0.9 的一个分支)和 LLVM(我使用的是 LLVM/clang 13.0.0,它只升级到 rvv0.10)似乎都不支持最新的规范。

有人可以给我指出一个有效的工具链,还是我只需要再等一些工具才能赶上?

【问题讨论】:

  • 你好朋友,看看 sifive repo 怎么样,正如他们所说,他们有去年的 1.0 rvv。 github.com/sifive/freedom-tools/releases
  • 是的,你是对的。他们确实在 GCC 中支持 RVV-1.0 草案。但显然,GCC 上没有进一步的 RVV 开发。所以从长远来看,这似乎是一个死胡同?
  • 谁知道?也许你应该问问Kito Cheng?

标签: gcc clang llvm riscv riscv32


【解决方案1】:

现在,在 2021 年 12 月 8 日,您可以在启用矢量支持 rvv 0.1 的情况下使用 llvm + clang 14.0.0 3eda87732fbac6f316e9e83984ef9a90f962c381。

  1. 编译 RISCV GCC 工具链

  2. 编译 LLVM + CLANG + LLD

  3. 将 GCC 工具链添加到 llvm 安装文件夹,这里描述了如何做到这一点Using Clang to compile for RISC-V

  4. 最后用下一个键向量化:

    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 键发出汇编代码,您可以看到它:

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多