[binutils-gdb] aarch64: Remove incorrect disassembly constraint

Alice Carlotti acarlotti@sourceware.org
Fri Oct 10 00:36:50 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3b957f92dead7ca896615b6b3784b930686b57d4

commit 3b957f92dead7ca896615b6b3784b930686b57d4
Author: Alice Carlotti <alice.carlotti@arm.com>
Date:   Tue Oct 7 05:02:11 2025 +0100

    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.

Diff:
---
 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,


More information about the Binutils-cvs mailing list