From 46fc55e27390ea85eb34ec0367f40426197c9b9f Mon Sep 17 00:00:00 2001 From: lemon Date: Thu, 19 Mar 2026 11:51:13 +0100 Subject: regalloc & emit: explicit comparisons over memcmp of small structures The one in x86-64_emit was not portable due to relying on zero initialization of inactive union fields/padding. --- src/ir_regalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ir_regalloc.c') diff --git a/src/ir_regalloc.c b/src/ir_regalloc.c index ddb05e2..54f5d59 100644 --- a/src/ir_regalloc.c +++ b/src/ir_regalloc.c @@ -210,7 +210,7 @@ typedef struct { static void pmadd(PMState *pms, enum irclass k, Alloc dst, Alloc src) { - if (!memcmp(&dst, &src, sizeof dst)) return; + if (dst.bits == src.bits) return; assert(pms->npmove < MAXREGS); pms->pmove[pms->npmove++] = (struct PMove) { k, PMTOMOVE, dst, src }; } -- cgit v1.2.3