跳到主要内容

每周一龙:第 28 期

· 阅读需 9 分钟
WANG Xuerui
🐲龙门客栈打杂的

每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯! 上周的进展主要有工具链、本站阅读材料的新增,以及证实了 3A6000 可上水冷(但需自备角磨机等机加工设备)。 详情点进来看!

如无特别说明,文中提及的日期、时间都为北京时间(UTC+8)。

先「马」再看

本栏目的内容具有一定延续性,将持续追踪报道 LoongArch 领域的重要或长期项目(坑)。

Linux

Huacai Chen 发出了本开发周期的第二组问题修复, Linus 已将其合并入 tag v6.7-rc5。 主要的变更有:

  • 修复了上期周报提到的 BPF JIT 错误实现(Hengqi Chen),Tiezhu Yang 也修了另两个问题;
  • 修复了上上期、上期周报都提到的 execve 之后丢失系统调用号信息的问题(Hengqi Chen);
  • 修复了上上期周报提到的 Clang 构建的压缩内核不能引导的问题(WANG Rui)。

工具链

binutils

Xi Ruoyao 为共享库启用了 la.gotla.pcrel 的 relaxation 优化。

mengqinggang 意图为 LoongArch 汇编语言增加双引号括起来的符号名和寄存器名支持,但未一并给出意欲支持的需求场景。Fangrui Song 随后指出了寄存器名还加引号有点奇怪,应该是不用支持;作者同意了,会再改一版。

引号表示符号名的意义

这样做大概是为了支持引用那些内含奇特字符的符号。例如在 x86 上:

movq $1, "%rax"  ; 向名为 %rax 的符号指向的 8 字节位置写 1
movq $1, %rax ; 向 rax 寄存器写 1

详见 Xi Ruoyao解释文字

GCC

杰哥三天前 (12 月 8 日)发现 GCC 14 的 20231203 快照版本,相比 GCC 13.2.1 居然劣化了 3A6000 的 CoreMark 跑分高达 15%!Xi Ruoyao 立即加入排查队伍。 大家发现了至少 4 个彼此独立的问题:

  • PR112919:先前在 LA464 上证实最优的代码块对齐参数,对 LA664 反而是损害;
  • PR112935:架构无关部分发生了劣化,Andrew Pinski 已经给出补丁;
  • PR112936:排查上一个问题时,发现 LoongArch 的乘除法指令成本定义得非常坏,完全不反映现实,Xi Ruoyao 也已给出补丁;以及
  • PR111126 也与本问题存在一定关系,是后续可以惠及 LoongArch、RISC-V 和 MIPS64r6 的一项改进。

Jiahao Xu 做的 LoongArch v1.10 的近似浮点倒数指令 frecipe.[sd]、近似浮点平方根倒数指令 frsqrte.[sd] 及其 SIMD 支持,已由 chenglulu 合入主线。 感谢杰哥提供新闻线索!

Xi Ruoyao 允许了-mcmodel=extrememodel 属性, 搭配 -mexplicit-relocs=auto 使用。

Yang Yujie 修复了__builtin_eh_return 的调用会导致同一函数中其他常规返回路径的返回值被破坏的问题。 此问题被发现会导致 libgcc 的 _Unwind_RaiseException 在极端情况下返回错误结果。

Yang Yujie 还基于安同开源社区(AOSC)开发者刘子兴先前在 9 月份发出的 D 语言 LoongArch 适配补丁, 将其迭代到了第三版。

本期的大多数 GCC 新闻都是 Xi Ruoyao 帮忙整理(以及自己制造)的,让我们感谢 的奉献!

LLVM

wangleiat 教会了 LLVM 做很多 SIMD 代码生成:

SixWeining 同步了 LoongArch ELF psABI 20231102 版本(整体版本号 v2.20)变更了的重定位类型定义。

杂闻播报

本站的其他栏目得到了些久违的更新:

欢迎读者们提出建议参与贡献

Xinmudotmoe 十月份向 ROCm 的 ROCR-Runtime 组件提交的 LoongArch 支持补丁,已为 AMD 维护者所确认:将进入 ROCm 6.1 官方版本。

安同开源社区(AOSC)贡献者傅孝元为 Rust 的 Lua 绑定库 mlua 新增了 LoongArch 支持。 感谢白铭骢投递新闻线索!

社区整活

本栏目接受任何网友的投稿,只要内容与 LoongArch 有关,并可以为读者带来价值, 无论严肃贡献(整的大活)或是博君一笑都一概欢迎!

近日,Xinmudotmoe 在角磨机的配合下,为 的 3A6000 换上了水冷! 看看 的好活

3A6000 水冷计划!

固件组更新太快, 使得我刚磨开 PCIe 槽就有了更好的固件。(白干)

(编者按:3A6000 评估板的出厂固件是不能点亮 RDNA 或更往后的 A 卡的。 虽然可用「献祭流」绕过, 但前提是要「解决 x8 槽插 x16 卡的问题」——朋友的角磨机怕不是就为这购买的……)

XA61200 主板扣具兼容 LGA 115x 孔位,但处理器高度过低,且桥片散热器与处理器供电电感位置冲突。 只得用角磨机对 115x 水冷头框架进行打磨,使其兼容。 可见打磨后水冷头的变化(点击可看高清大图,下同):

角磨机打磨后的冷头框架特写

测试安装压力:

测试安装压力的效果

运行效果:

水冷系统的运行效果

角磨一时爽,漏液火葬场!

张贴栏

本栏目可供张贴公益性质的各种信息。