summaryrefslogtreecommitdiffstats
path: root/disas
diff options
context:
space:
mode:
authorRichard Henderson2022-11-06 03:37:33 +0100
committerPhilippe Mathieu-Daudé2022-11-08 01:04:25 +0100
commitbb3daca71b58d11a13bc5979d1eb3c90b79452bc (patch)
treeba762cba7e4d5e212e44605cdb62d31b782eb09e /disas
parentdisas/nanomips: Split out read_u16 (diff)
downloadqemu-bb3daca71b58d11a13bc5979d1eb3c90b79452bc.tar.gz
qemu-bb3daca71b58d11a13bc5979d1eb3c90b79452bc.tar.xz
qemu-bb3daca71b58d11a13bc5979d1eb3c90b79452bc.zip
disas/nanomips: Tidy read for 48-bit opcodes
There is no point in looking for a 48-bit opcode if we've not read the second word for a 32-bit opcode. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20221106023735.5277-5-richard.henderson@linaro.org>
Diffstat (limited to 'disas')
-rw-r--r--disas/nanomips.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/disas/nanomips.c b/disas/nanomips.c
index 3b998118e3..a0253598dd 100644
--- a/disas/nanomips.c
+++ b/disas/nanomips.c
@@ -21964,14 +21964,14 @@ int print_insn_nanomips(bfd_vma memaddr, struct disassemble_info *info)
return -1;
}
length = 4;
- }
- /* Handle 48-bit opcodes. */
- if ((words[0] >> 10) == 0x18) {
- if (!read_u16(&words[1], memaddr + 4, info)) {
- return -1;
+ /* Handle 48-bit opcodes. */
+ if ((words[0] >> 10) == 0x18) {
+ if (!read_u16(&words[1], memaddr + 4, info)) {
+ return -1;
+ }
+ length = 6;
}
- length = 6;
}
for (int i = 0; i < ARRAY_SIZE(words); i++) {