diff options
| author | 2026-04-09 09:31:25 +0200 | |
|---|---|---|
| committer | 2026-04-09 09:31:25 +0200 | |
| commit | 2c777a84d54fec374f95034d2b823d92be6e8658 (patch) | |
| tree | 414ad24bbd315696e3cf37edae00fda3096c2a08 /src/t_aarch64_emit.c | |
| parent | 015d408ca05f8663850fb284a4de15924c6e5acb (diff) | |
aarch64 handle more cases of stack relative addressing
Diffstat (limited to 'src/t_aarch64_emit.c')
| -rw-r--r-- | src/t_aarch64_emit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/t_aarch64_emit.c b/src/t_aarch64_emit.c index 799b388..ca251f0 100644 --- a/src/t_aarch64_emit.c +++ b/src/t_aarch64_emit.c @@ -636,6 +636,10 @@ gencopy(uchar **pcode, enum irclass cls, Block *blk, int curi, Oper dst, Ref val } else { Xadr(pcode, KPTR, dst, src); } + } else if (src.t == OMEM) { + assert(dst.t == OREG); + assert(src.m.mode == AIMMIDX); + Xadd(pcode, cls, dst, reg2oper(src.m.base), mkoper(OIMM, .imm = src.m.disp)); } else assert(0); } |