diff options
| author | Leslie Zhai <zhaixiang@loongson.cn> | 2024-11-28 15:09:49 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-28 08:09:49 +0100 |
| commit | e5b7dfb52468fa6a8a2dd8eab6ea77cdacbe60ff (patch) | |
| tree | 32746ac48362a0890d4b94b9e78d86aac0ad425a /src | |
| parent | de0b6027485ba978d809d51c33b1b0308f80758b (diff) | |
| download | box64-e5b7dfb52468fa6a8a2dd8eab6ea77cdacbe60ff.tar.gz box64-e5b7dfb52468fa6a8a2dd8eab6ea77cdacbe60ff.zip | |
[LA64_DYNAREC] Added LEA opcode (#2087)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/la64/dynarec_la64_67.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/dynarec/la64/dynarec_la64_67.c b/src/dynarec/la64/dynarec_la64_67.c index 969c448b..7be8a16b 100644 --- a/src/dynarec/la64/dynarec_la64_67.c +++ b/src/dynarec/la64/dynarec_la64_67.c @@ -144,6 +144,17 @@ uintptr_t dynarec64_67(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni SMWRITELOCK(lock); } break; + case 0x8D: + INST_NAME("LEA Gd, Ed"); + nextop = F8; + GETGD; + if (MODREG) { // reg <= reg? that's an invalid operation + DEFAULT; + } else { // mem <= reg + addr = geted32(dyn, addr, ninst, nextop, &ed, gd, x1, &fixedaddress, rex, NULL, 0, 0); + ZEROUP2(gd, ed); + } + break; case 0xF7: nextop = F8; switch ((nextop >> 3) & 7) { |