authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-17 00:23:48+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-18 10:08:38+02:00
loge7f1624e6ea11bb30c779963f9fdfabd51902276
tree00203d3cbba21cfb24f3aac89070a99e167a5d15
parentc547a05b656118bef790478c26b439e07c858c76
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.mem: work around LoongArch inline asm bug in doNotOptimizeAway()

https://github.com/llvm/llvm-project/issues/159200

1 files changed, 2 insertions(+), 1 deletions(-)

lib/std/mem.zig+2-1
......@@ -4534,7 +4534,8 @@ pub fn doNotOptimizeAway(val: anytype) void {
45344534 } else doNotOptimizeAway(&val);
45354535 },
45364536 .float => {
4537 if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c) {
4537 // https://github.com/llvm/llvm-project/issues/159200
4538 if ((t.float.bits == 32 or t.float.bits == 64) and builtin.zig_backend != .stage2_c and !builtin.cpu.arch.isLoongArch()) {
45384539 asm volatile (""
45394540 :
45404541 : [_] "rm" (val),