* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
[deliverable/binutils-gdb.git] / opcodes / arc-opc.c
index c67cd8881a6153fea5d1051b47f0d7ad74d1d37f..614fff033f7e33dc68e451403f2093d908b56fdd 100644 (file)
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+#include "sysdep.h"
 #include <stdio.h>
 #include "ansidecl.h"
+#include "bfd.h"
 #include "opcode/arc.h"
 
 #define INSERT_FN(fn) \
@@ -64,6 +66,9 @@ enum operand {OP_NONE,OP_REG,OP_SHIMM,OP_LIMM};
 
 enum operand ls_operand[OPERANDS];
 
+struct arc_opcode *arc_ext_opcodes;
+struct arc_ext_operand_value *arc_ext_operands;
+
 #define LS_VALUE  0
 #define LS_DEST   0
 #define LS_BASE   1
@@ -512,7 +517,7 @@ arc_get_opcode_mach (bfd_mach, big_p)
     ARC_MACH_7,
     ARC_MACH_8
   };
-  return mach_type_map[bfd_mach] | (big_p ? ARC_MACH_BIG : 0);
+  return mach_type_map[bfd_mach - bfd_mach_arc_5] | (big_p ? ARC_MACH_BIG : 0);
 }
 
 /* Initialize any tables that need it.
@@ -1149,14 +1154,6 @@ insert_st_syntax (insn, operand, mods, reg, value, errmsg)
     {
       limm += arc_limm_fixup_adjust(insn);
     }
-  if (ST_SYNTAX(OP_LIMM,OP_SHIMM,OP_SHIMM) && (shimm * 2 == limm))
-    {
-      insn &= ~C(-1);
-      limm_p = 0;
-      limm = 0;
-      insn |= C(ARC_REG_SHIMM);
-      ls_operand[LS_VALUE] = OP_SHIMM;
-    }
   if (!(ST_SYNTAX(OP_REG,OP_REG,OP_NONE)
        || ST_SYNTAX(OP_REG,OP_LIMM,OP_NONE)
        || ST_SYNTAX(OP_REG,OP_REG,OP_SHIMM)
This page took 0.026858 seconds and 4 git commands to generate.