diff options
| author | 2025-11-29 19:37:43 +0100 | |
|---|---|---|
| committer | 2025-11-29 19:54:03 +0100 | |
| commit | 3cf75f807badf1d10e7bbeeeaaee13ed3eeb6bff (patch) | |
| tree | 40d0d8b4ca775190e815a918985e87d2b80d7e3d /amd64/emit.c | |
| parent | 61d64a4ce2550288d4b97128893f3d53d129bc17 (diff) | |
amd64/isel: fix addressing index shift being possibly too large to encode (duh)
Diffstat (limited to 'amd64/emit.c')
| -rw-r--r-- | amd64/emit.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/amd64/emit.c b/amd64/emit.c index 14b679f..5cabd09 100644 --- a/amd64/emit.c +++ b/amd64/emit.c @@ -132,6 +132,7 @@ mkmemoper(union ref r) const struct addr *addr = &addrht[r.i]; struct oper mem; + assert(addr->shift <= 3); if (addr->base.t == RTMP && ioper(addr->base.i).t == OMEM) { mem = ioper(addr->base.i); if (addr->index.bits) addmemoper(&mem, mkregoper(addr->index)); |