From 17b4861e53fd5be2107f3b7fd8bf77f3d2cc15da Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 28 Dec 2025 19:02:39 +0100 Subject: backend: start implementing aarch64 --- x86_64/isel.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'x86_64') diff --git a/x86_64/isel.c b/x86_64/isel.c index 40d8db4..98d66a1 100644 --- a/x86_64/isel.c +++ b/x86_64/isel.c @@ -194,19 +194,6 @@ aimm(struct addr *addr, int disp) return 0; } -static bool -acon(struct addr *addr, union ref r) -{ - vlong a = addr->disp; - assert(isintcon(r)); - a += intconval(r); - if ((int)a == a) { - addr->disp = a; - return 1; - } - return 0; -} - static bool ascale(struct addr *addr, union ref a, union ref b) { @@ -268,7 +255,8 @@ aadd(struct addr *addr, struct block *blk, int *curi, union ref r) ins->skip = 1; } else goto Ref; } else if (isnumcon(r)) { - return acon(addr, r); + assert(isintcon(r)); + return aimm(addr, intconval(r)); } else if (isaddrcon(r,1)) { if (!addr->base.bits && !isaddrcon(addr->index,1)) addr->base = r; else return 0; -- cgit v1.2.3