aboutsummaryrefslogtreecommitdiffhomepage
path: root/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64')
-rw-r--r--x86_64/isel.c16
1 files changed, 2 insertions, 14 deletions
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
@@ -195,19 +195,6 @@ aimm(struct addr *addr, int disp)
}
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)
{
if (b.t != RICON) return 0;
@@ -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;