更新说明

  • 根据用户反馈,发布面向通用 LoongArch 处理器的标量版工具链和 C 库源代码。
  • 在 rc1.1 基础上默认关闭向量化功能,不输出 LSX / LASX 指令。

GCC 8.3 LoongArch GNU/Linux 非向量交叉工具链 (rc1.1 novec)

  • 基础源码版本: gcc-8.3.0 binutils-2.31 glibc-2.28 gdb-8.1.50

  • 多库支持情况:仅支持 lp64d ABI 的 Glibc 库,无其他 C 库和 ABI 类型。

(当前发布的二进制版本默认开启 -mabi=lp64d 选项,一般无需手动添加)

  • 目标指令集架构 (-march) 支持:
处理器型号 目标指令集架构 编译参数
64 位龙芯架构处理器 - -march=loongarch64
3A5000
3C5000[L]
LA64/LSX/LASX -march=la464

(当前发布的二进制版本默认开启 -march=loongarch64 选项)

  • 目标微结构调优 (-mtune) 支持:
处理器型号 微结构 编译参数
64 位龙芯架构处理器 - -mtune=loongarch64
3A5000
3C5000[L]
LA464 -mtune=la464

(当前发布的二进制版本默认开启 -mtune=la464 选项)

  • 软浮点支持:

建议使用 -msoft-float 选项开启编译器软浮点功能。 该选项禁止编译器自动生成硬件浮点指令,并选择 lp64s ABI 以实现不依赖于浮点寄存器的函数传参和返回。

需要注意:本工具链版本中包含的 Glibc 暂不支持 lp64s ABI, 因此使用软浮点功能编译的程序无法链接 C 库。