From 3b957f92dead7ca896615b6b3784b930686b57d4 Mon Sep 17 00:00:00 2001 From: Alice Carlotti Date: Tue, 7 Oct 2025 05:02:11 +0100 Subject: [PATCH] aarch64: Remove incorrect disassembly constraint A check in print_insn_aarch64_word asserted that part of the encoding space couldn't contain any valid encodings, and then returned ERR_NYI ("Not Yet Implemented", perhaps?) for these values. However, some of the new FEAT_MOP4 instructions will trigger the assert. The check seems to be outdated, and is clearly no longer valid, so it can just be deleted. Additionally, there are no other assignments of ERR_NYI, so delete all remaining references to this error type. --- include/opcode/aarch64.h | 1 - opcodes/aarch64-asm.c | 2 -- opcodes/aarch64-dis.c | 10 ---------- 3 files changed, 13 deletions(-) diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 2b3c57d5167..ad3f419f914 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -1283,7 +1283,6 @@ enum err_type ERR_OK, ERR_UND, ERR_UNP, - ERR_NYI, ERR_VFI, ERR_NR_ENTRIES }; diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c index 21395bb1d0e..0c8f4b36902 100644 --- a/opcodes/aarch64-asm.c +++ b/opcodes/aarch64-asm.c @@ -2695,7 +2695,6 @@ aarch64_opcode_encode (const aarch64_opcode *opcode, { case ERR_UND: case ERR_UNP: - case ERR_NYI: return false; default: break; @@ -2711,7 +2710,6 @@ aarch64_opcode_encode (const aarch64_opcode *opcode, { case ERR_UND: case ERR_UNP: - case ERR_NYI: return false; default: break; diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index 2bde0ca7daa..c9e60a97152 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -4188,7 +4188,6 @@ print_aarch64_insn (bfd_vma pc, const aarch64_inst *inst, break; case ERR_UND: case ERR_UNP: - case ERR_NYI: default: break; } @@ -4207,7 +4206,6 @@ print_insn_aarch64_word (bfd_vma pc, [ERR_OK] = "_", [ERR_UND] = "undefined", [ERR_UNP] = "unpredictable", - [ERR_NYI] = "NYI" }; enum err_type ret; @@ -4229,18 +4227,10 @@ print_insn_aarch64_word (bfd_vma pc, ret = aarch64_decode_insn (word, &inst, no_aliases, errors); - if (((word >> 21) & 0x3ff) == 1) - { - /* RESERVED for ALES. */ - assert (ret != ERR_OK); - ret = ERR_NYI; - } - switch (ret) { case ERR_UND: case ERR_UNP: - case ERR_NYI: /* Handle undefined instructions. */ info->insn_type = dis_noninsn; (*info->fprintf_styled_func) (info->stream, -- 2.47.3