+2016-09-15  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * testsuite/gas/arc/textinsnxop.d: New file.
+       * testsuite/gas/arc/textinsnxop.s: Likewise.
+
 2016-09-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * testsuite/gas/sparc/sparc.exp (gas_64_check): Run
 
--- /dev/null
+#objdump: -d
+
+.*: +file format .*arc.*
+
+
+Disassembly of section .text:
+
+[0-9a-f]+ <start>:
+   0:  3921 0080               insn1   r0,r1,r2
+   4:  382f 0061               insn2   r0,r1
+   8:  392f 407f               insn3   r1
+   c:  396f 403f               insn4
 
--- /dev/null
+       .extInstruction insn1, 7, 0x21, SUFFIX_NONE, SYNTAX_3OP
+       .extInstruction insn2, 7, 0x21, SUFFIX_NONE, SYNTAX_2OP
+       .extInstruction insn3, 7, 0x21, SUFFIX_NONE, SYNTAX_1OP
+       .extInstruction insn4, 7, 0x21, SUFFIX_NONE, SYNTAX_NOP
+
+start:
+       insn1   r0,r1,r2
+       insn2   r0,r1
+       insn3   r1
+       insn4
 
+2016-09-15  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * arc-dis.c (find_format): Walk the linked list pointed by einsn.
+
 2016-09-14  Peter Bergner <bergner@vnet.ibm.com>
 
        * ppc-opc.c (powerpc_opcodes) <slbiag>: New mnemonic.
 
 {
   const struct arc_opcode *opcode = NULL;
   bfd_boolean needs_limm;
-  const extInstruction_t *einsn;
+  const extInstruction_t *einsn, *i;
 
   /* First, try the extension instructions.  */
   einsn = arcExtMap_insn (OPCODE (insn[0]), insn[0]);
-  if (einsn != NULL)
+  for (i = einsn; (i != NULL) && (opcode == NULL); i = i->next)
     {
       const char *errmsg = NULL;
 
-      opcode = arcExtMap_genOpcode (einsn, isa_mask, &errmsg);
+      opcode = arcExtMap_genOpcode (i, isa_mask, &errmsg);
       if (opcode == NULL)
        {
          (*info->fprintf_func) (info->stream, "\