From 90c1123d1c9f02c0c2036053dcf9ad6b35e848da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 17 Sep 2025 00:23:48 +0200 Subject: [PATCH] std.mem: work around LoongArch inline asm bug in doNotOptimizeAway() https://github.com/llvm/llvm-project/issues/159200 --- lib/std/mem.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 0b0967a566..6a5e654fab 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -4485,7 +4485,8 @@ pub fn doNotOptimizeAway(val: anytype) void { } else doNotOptimizeAway(&val); }, .float => { - if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c) { + // https://github.com/llvm/llvm-project/issues/159200 + if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c and !builtin.cpu.arch.isLoongArch()) { asm volatile ("" : : [_] "rm" (val),