Modify AArch64 Assembly and disassembly functions to be able to fail and report why.
[deliverable/binutils-gdb.git] / opcodes / aarch64-asm-2.c
index ba7fbfbe990ffa4908f595fcb09d19419ea122d5..01bc0e1363ed77d850f7864e25e74adc33407f3a 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2018 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -422,155 +422,156 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 1152: /* movz */
       value = 1152;    /* --> movz.  */
       break;
-    case 1191: /* autibsp */
-    case 1190: /* autibz */
-    case 1189: /* autiasp */
-    case 1188: /* autiaz */
-    case 1187: /* pacibsp */
-    case 1186: /* pacibz */
-    case 1185: /* paciasp */
-    case 1184: /* paciaz */
-    case 1171: /* psb */
-    case 1170: /* esb */
-    case 1169: /* autib1716 */
-    case 1168: /* autia1716 */
-    case 1167: /* pacib1716 */
-    case 1166: /* pacia1716 */
-    case 1165: /* xpaclri */
-    case 1164: /* sevl */
-    case 1163: /* sev */
-    case 1162: /* wfi */
-    case 1161: /* wfe */
-    case 1160: /* yield */
+    case 1192: /* autibsp */
+    case 1191: /* autibz */
+    case 1190: /* autiasp */
+    case 1189: /* autiaz */
+    case 1188: /* pacibsp */
+    case 1187: /* pacibz */
+    case 1186: /* paciasp */
+    case 1185: /* paciaz */
+    case 1172: /* psb */
+    case 1171: /* esb */
+    case 1170: /* autib1716 */
+    case 1169: /* autia1716 */
+    case 1168: /* pacib1716 */
+    case 1167: /* pacia1716 */
+    case 1166: /* xpaclri */
+    case 1165: /* sevl */
+    case 1164: /* sev */
+    case 1163: /* wfi */
+    case 1162: /* wfe */
+    case 1161: /* yield */
+    case 1160: /* csdb */
     case 1159: /* nop */
     case 1158: /* hint */
       value = 1158;    /* --> hint.  */
       break;
-    case 1180: /* tlbi */
-    case 1179: /* ic */
-    case 1178: /* dc */
-    case 1177: /* at */
-    case 1176: /* sys */
-      value = 1176;    /* --> sys.  */
+    case 1181: /* tlbi */
+    case 1180: /* ic */
+    case 1179: /* dc */
+    case 1178: /* at */
+    case 1177: /* sys */
+      value = 1177;    /* --> sys.  */
       break;
-    case 1973: /* bic */
-    case 1239: /* and */
-      value = 1239;    /* --> and.  */
+    case 1990: /* bic */
+    case 1240: /* and */
+      value = 1240;    /* --> and.  */
       break;
-    case 1222: /* mov */
-    case 1241: /* and */
-      value = 1241;    /* --> and.  */
-      break;
-    case 1226: /* movs */
-    case 1242: /* ands */
-      value = 1242;    /* --> ands.  */
+    case 1223: /* mov */
+    case 1242: /* and */
+      value = 1242;    /* --> and.  */
       break;
-    case 1974: /* cmple */
-    case 1277: /* cmpge */
-      value = 1277;    /* --> cmpge.  */
+    case 1227: /* movs */
+    case 1243: /* ands */
+      value = 1243;    /* --> ands.  */
       break;
-    case 1977: /* cmplt */
-    case 1280: /* cmpgt */
-      value = 1280;    /* --> cmpgt.  */
+    case 1991: /* cmple */
+    case 1278: /* cmpge */
+      value = 1278;    /* --> cmpge.  */
       break;
-    case 1975: /* cmplo */
-    case 1282: /* cmphi */
-      value = 1282;    /* --> cmphi.  */
+    case 1994: /* cmplt */
+    case 1281: /* cmpgt */
+      value = 1281;    /* --> cmpgt.  */
       break;
-    case 1976: /* cmpls */
-    case 1285: /* cmphs */
-      value = 1285;    /* --> cmphs.  */
+    case 1992: /* cmplo */
+    case 1283: /* cmphi */
+      value = 1283;    /* --> cmphi.  */
       break;
-    case 1219: /* mov */
-    case 1307: /* cpy */
-      value = 1307;    /* --> cpy.  */
+    case 1993: /* cmpls */
+    case 1286: /* cmphs */
+      value = 1286;    /* --> cmphs.  */
       break;
-    case 1221: /* mov */
+    case 1220: /* mov */
     case 1308: /* cpy */
       value = 1308;    /* --> cpy.  */
       break;
-    case 1984: /* fmov */
-    case 1224: /* mov */
+    case 1222: /* mov */
     case 1309: /* cpy */
       value = 1309;    /* --> cpy.  */
       break;
-    case 1214: /* mov */
-    case 1321: /* dup */
-      value = 1321;    /* --> dup.  */
+    case 2001: /* fmov */
+    case 1225: /* mov */
+    case 1310: /* cpy */
+      value = 1310;    /* --> cpy.  */
       break;
-    case 1216: /* mov */
-    case 1213: /* mov */
+    case 1215: /* mov */
     case 1322: /* dup */
       value = 1322;    /* --> dup.  */
       break;
-    case 1983: /* fmov */
-    case 1218: /* mov */
+    case 1217: /* mov */
+    case 1214: /* mov */
     case 1323: /* dup */
       value = 1323;    /* --> dup.  */
       break;
-    case 1217: /* mov */
-    case 1324: /* dupm */
-      value = 1324;    /* --> dupm.  */
+    case 2000: /* fmov */
+    case 1219: /* mov */
+    case 1324: /* dup */
+      value = 1324;    /* --> dup.  */
       break;
-    case 1978: /* eon */
-    case 1326: /* eor */
-      value = 1326;    /* --> eor.  */
+    case 1218: /* mov */
+    case 1325: /* dupm */
+      value = 1325;    /* --> dupm.  */
       break;
-    case 1227: /* not */
-    case 1328: /* eor */
-      value = 1328;    /* --> eor.  */
+    case 1995: /* eon */
+    case 1327: /* eor */
+      value = 1327;    /* --> eor.  */
       break;
-    case 1228: /* nots */
-    case 1329: /* eors */
-      value = 1329;    /* --> eors.  */
+    case 1228: /* not */
+    case 1329: /* eor */
+      value = 1329;    /* --> eor.  */
       break;
-    case 1979: /* facle */
-    case 1334: /* facge */
-      value = 1334;    /* --> facge.  */
+    case 1229: /* nots */
+    case 1330: /* eors */
+      value = 1330;    /* --> eors.  */
       break;
-    case 1980: /* faclt */
-    case 1335: /* facgt */
-      value = 1335;    /* --> facgt.  */
+    case 1996: /* facle */
+    case 1335: /* facge */
+      value = 1335;    /* --> facge.  */
       break;
-    case 1981: /* fcmle */
-    case 1348: /* fcmge */
-      value = 1348;    /* --> fcmge.  */
+    case 1997: /* faclt */
+    case 1336: /* facgt */
+      value = 1336;    /* --> facgt.  */
       break;
-    case 1982: /* fcmlt */
-    case 1350: /* fcmgt */
-      value = 1350;    /* --> fcmgt.  */
+    case 1998: /* fcmle */
+    case 1349: /* fcmge */
+      value = 1349;    /* --> fcmge.  */
       break;
-    case 1211: /* fmov */
-    case 1356: /* fcpy */
-      value = 1356;    /* --> fcpy.  */
+    case 1999: /* fcmlt */
+    case 1351: /* fcmgt */
+      value = 1351;    /* --> fcmgt.  */
       break;
-    case 1210: /* fmov */
-    case 1379: /* fdup */
-      value = 1379;    /* --> fdup.  */
+    case 1212: /* fmov */
+    case 1357: /* fcpy */
+      value = 1357;    /* --> fcpy.  */
       break;
-    case 1212: /* mov */
-    case 1694: /* orr */
-      value = 1694;    /* --> orr.  */
+    case 1211: /* fmov */
+    case 1380: /* fdup */
+      value = 1380;    /* --> fdup.  */
       break;
-    case 1985: /* orn */
-    case 1695: /* orr */
-      value = 1695;    /* --> orr.  */
+    case 1213: /* mov */
+    case 1711: /* orr */
+      value = 1711;    /* --> orr.  */
       break;
-    case 1215: /* mov */
-    case 1697: /* orr */
-      value = 1697;    /* --> orr.  */
+    case 2002: /* orn */
+    case 1712: /* orr */
+      value = 1712;    /* --> orr.  */
       break;
-    case 1225: /* movs */
-    case 1698: /* orrs */
-      value = 1698;    /* --> orrs.  */
+    case 1216: /* mov */
+    case 1714: /* orr */
+      value = 1714;    /* --> orr.  */
       break;
-    case 1220: /* mov */
-    case 1760: /* sel */
-      value = 1760;    /* --> sel.  */
+    case 1226: /* movs */
+    case 1715: /* orrs */
+      value = 1715;    /* --> orrs.  */
       break;
-    case 1223: /* mov */
-    case 1761: /* sel */
-      value = 1761;    /* --> sel.  */
+    case 1221: /* mov */
+    case 1777: /* sel */
+      value = 1777;    /* --> sel.  */
+      break;
+    case 1224: /* mov */
+    case 1778: /* sel */
+      value = 1778;    /* --> sel.  */
       break;
     default: return NULL;
     }
@@ -578,10 +579,11 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
   return aarch64_opcode_table + value;
 }
 
-const char*
+bfd_boolean
 aarch64_insert_operand (const aarch64_operand *self,
                           const aarch64_opnd_info *info,
-                          aarch64_insn *code, const aarch64_inst *inst)
+                          aarch64_insn *code, const aarch64_inst *inst,
+                          aarch64_operand_error *errors)
 {
   /* Use the index as the key.  */
   int key = self - aarch64_operands;
@@ -612,7 +614,6 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 27:
     case 28:
     case 29:
-    case 151:
     case 152:
     case 153:
     case 154:
@@ -622,7 +623,7 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 158:
     case 159:
     case 160:
-    case 173:
+    case 161:
     case 174:
     case 175:
     case 176:
@@ -631,28 +632,29 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 179:
     case 180:
     case 181:
-    case 185:
-    case 188:
-      return aarch64_ins_regno (self, info, code, inst);
+    case 182:
+    case 186:
+    case 189:
+      return aarch64_ins_regno (self, info, code, inst, errors);
     case 13:
-      return aarch64_ins_reg_extended (self, info, code, inst);
+      return aarch64_ins_reg_extended (self, info, code, inst, errors);
     case 14:
-      return aarch64_ins_reg_shifted (self, info, code, inst);
+      return aarch64_ins_reg_shifted (self, info, code, inst, errors);
     case 19:
-      return aarch64_ins_ft (self, info, code, inst);
+      return aarch64_ins_ft (self, info, code, inst, errors);
     case 30:
     case 31:
     case 32:
-    case 190:
-      return aarch64_ins_reglane (self, info, code, inst);
+    case 191:
+      return aarch64_ins_reglane (self, info, code, inst, errors);
     case 33:
-      return aarch64_ins_reglist (self, info, code, inst);
+      return aarch64_ins_reglist (self, info, code, inst, errors);
     case 34:
-      return aarch64_ins_ldst_reglist (self, info, code, inst);
+      return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
     case 35:
-      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
     case 36:
-      return aarch64_ins_ldst_elemlist (self, info, code, inst);
+      return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
     case 37:
     case 38:
     case 39:
@@ -675,9 +677,8 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 76:
     case 77:
     case 78:
-    case 148:
-    case 150:
-    case 165:
+    case 149:
+    case 151:
     case 166:
     case 167:
     case 168:
@@ -685,85 +686,86 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 170:
     case 171:
     case 172:
-      return aarch64_ins_imm (self, info, code, inst);
+    case 173:
+      return aarch64_ins_imm (self, info, code, inst, errors);
     case 41:
     case 42:
-      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
+      return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
     case 43:
     case 44:
     case 45:
-      return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
+      return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
     case 49:
-    case 139:
-      return aarch64_ins_fpimm (self, info, code, inst);
+    case 140:
+      return aarch64_ins_fpimm (self, info, code, inst, errors);
     case 64:
-    case 146:
-      return aarch64_ins_limm (self, info, code, inst);
+    case 147:
+      return aarch64_ins_limm (self, info, code, inst, errors);
     case 65:
-      return aarch64_ins_aimm (self, info, code, inst);
+      return aarch64_ins_aimm (self, info, code, inst, errors);
     case 66:
-      return aarch64_ins_imm_half (self, info, code, inst);
+      return aarch64_ins_imm_half (self, info, code, inst, errors);
     case 67:
-      return aarch64_ins_fbits (self, info, code, inst);
+      return aarch64_ins_fbits (self, info, code, inst, errors);
     case 69:
     case 70:
-    case 144:
-      return aarch64_ins_imm_rotate2 (self, info, code, inst);
+    case 145:
+      return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
     case 71:
-    case 143:
-      return aarch64_ins_imm_rotate1 (self, info, code, inst);
+    case 144:
+      return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
     case 72:
     case 73:
-      return aarch64_ins_cond (self, info, code, inst);
+      return aarch64_ins_cond (self, info, code, inst, errors);
     case 79:
     case 86:
-      return aarch64_ins_addr_simple (self, info, code, inst);
+      return aarch64_ins_addr_simple (self, info, code, inst, errors);
     case 80:
-      return aarch64_ins_addr_regoff (self, info, code, inst);
+      return aarch64_ins_addr_regoff (self, info, code, inst, errors);
     case 81:
     case 82:
     case 83:
-      return aarch64_ins_addr_simm (self, info, code, inst);
+      return aarch64_ins_addr_simm (self, info, code, inst, errors);
     case 84:
-      return aarch64_ins_addr_simm10 (self, info, code, inst);
+      return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
     case 85:
-      return aarch64_ins_addr_uimm12 (self, info, code, inst);
+      return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
     case 87:
-      return aarch64_ins_addr_offset (self, info, code, inst);
+      return aarch64_ins_addr_offset (self, info, code, inst, errors);
     case 88:
-      return aarch64_ins_simd_addr_post (self, info, code, inst);
+      return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
     case 89:
-      return aarch64_ins_sysreg (self, info, code, inst);
+      return aarch64_ins_sysreg (self, info, code, inst, errors);
     case 90:
-      return aarch64_ins_pstatefield (self, info, code, inst);
+      return aarch64_ins_pstatefield (self, info, code, inst, errors);
     case 91:
     case 92:
     case 93:
     case 94:
-      return aarch64_ins_sysins_op (self, info, code, inst);
+      return aarch64_ins_sysins_op (self, info, code, inst, errors);
     case 95:
     case 96:
-      return aarch64_ins_barrier (self, info, code, inst);
+      return aarch64_ins_barrier (self, info, code, inst, errors);
     case 97:
-      return aarch64_ins_prfop (self, info, code, inst);
+      return aarch64_ins_prfop (self, info, code, inst, errors);
     case 98:
-      return aarch64_ins_hint (self, info, code, inst);
+      return aarch64_ins_hint (self, info, code, inst, errors);
     case 99:
-      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 100:
     case 101:
     case 102:
     case 103:
-      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
     case 104:
-      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 105:
-      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
     case 106:
     case 107:
     case 108:
     case 109:
-      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst);
+      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 110:
     case 111:
     case 112:
@@ -776,8 +778,8 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 119:
     case 120:
     case 121:
-      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst);
     case 122:
+      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 123:
     case 124:
     case 125:
@@ -785,49 +787,50 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 127:
     case 128:
     case 129:
-      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst);
     case 130:
+      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
     case 131:
     case 132:
     case 133:
-      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst);
     case 134:
-      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst);
+      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
     case 135:
-      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
     case 136:
-      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
     case 137:
-      return aarch64_ins_sve_aimm (self, info, code, inst);
+      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
     case 138:
-      return aarch64_ins_sve_asimm (self, info, code, inst);
-    case 140:
-      return aarch64_ins_sve_float_half_one (self, info, code, inst);
+      return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+    case 139:
+      return aarch64_ins_sve_asimm (self, info, code, inst, errors);
     case 141:
-      return aarch64_ins_sve_float_half_two (self, info, code, inst);
+      return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
     case 142:
-      return aarch64_ins_sve_float_zero_one (self, info, code, inst);
-    case 145:
-      return aarch64_ins_inv_limm (self, info, code, inst);
-    case 147:
-      return aarch64_ins_sve_limm_mov (self, info, code, inst);
-    case 149:
-      return aarch64_ins_sve_scale (self, info, code, inst);
-    case 161:
+      return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+    case 143:
+      return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
+    case 146:
+      return aarch64_ins_inv_limm (self, info, code, inst, errors);
+    case 148:
+      return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
+    case 150:
+      return aarch64_ins_sve_scale (self, info, code, inst, errors);
     case 162:
-      return aarch64_ins_sve_shlimm (self, info, code, inst);
     case 163:
+      return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
     case 164:
-      return aarch64_ins_sve_shrimm (self, info, code, inst);
-    case 182:
+    case 165:
+      return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
     case 183:
     case 184:
-      return aarch64_ins_sve_quad_index (self, info, code, inst);
-    case 186:
-      return aarch64_ins_sve_index (self, info, code, inst);
+    case 185:
+      return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
     case 187:
-    case 189:
-      return aarch64_ins_sve_reglist (self, info, code, inst);
+      return aarch64_ins_sve_index (self, info, code, inst, errors);
+    case 188:
+    case 190:
+      return aarch64_ins_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
 }
This page took 0.034086 seconds and 4 git commands to generate.