]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - opcodes/aarch64-asm-2.c
[AArch64, Binutils] Add missing TSB instruction
[thirdparty/binutils-gdb.git] / opcodes / aarch64-asm-2.c
index d6efacc255ae33b802113f9c897cc798d4a8e57e..bb2da48d346f3162822274166282bfae1ca20281 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -58,519 +58,534 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 17:   /* subs */
       value = 17;      /* --> subs.  */
       break;
-    case 21:   /* cmn */
-    case 20:   /* adds */
-      value = 20;      /* --> adds.  */
-      break;
-    case 23:   /* neg */
-    case 22:   /* sub */
-      value = 22;      /* --> sub.  */
-      break;
-    case 26:   /* negs */
-    case 25:   /* cmp */
-    case 24:   /* subs */
-      value = 24;      /* --> subs.  */
-      break;
-    case 150:  /* mov */
-    case 149:  /* umov */
-      value = 149;     /* --> umov.  */
-      break;
-    case 152:  /* mov */
-    case 151:  /* ins */
-      value = 151;     /* --> ins.  */
-      break;
-    case 154:  /* mov */
-    case 153:  /* ins */
-      value = 153;     /* --> ins.  */
-      break;
-    case 236:  /* mvn */
-    case 235:  /* not */
-      value = 235;     /* --> not.  */
-      break;
-    case 311:  /* mov */
-    case 310:  /* orr */
-      value = 310;     /* --> orr.  */
-      break;
-    case 380:  /* sxtl */
-    case 379:  /* sshll */
-      value = 379;     /* --> sshll.  */
-      break;
-    case 382:  /* sxtl2 */
-    case 381:  /* sshll2 */
-      value = 381;     /* --> sshll2.  */
-      break;
-    case 404:  /* uxtl */
-    case 403:  /* ushll */
-      value = 403;     /* --> ushll.  */
-      break;
-    case 406:  /* uxtl2 */
-    case 405:  /* ushll2 */
-      value = 405;     /* --> ushll2.  */
-      break;
-    case 527:  /* mov */
-    case 526:  /* dup */
-      value = 526;     /* --> dup.  */
-      break;
-    case 614:  /* sxtw */
-    case 613:  /* sxth */
-    case 612:  /* sxtb */
-    case 615:  /* asr */
-    case 611:  /* sbfx */
-    case 610:  /* sbfiz */
-    case 609:  /* sbfm */
-      value = 609;     /* --> sbfm.  */
-      break;
-    case 618:  /* bfc */
-    case 619:  /* bfxil */
-    case 617:  /* bfi */
-    case 616:  /* bfm */
-      value = 616;     /* --> bfm.  */
-      break;
-    case 624:  /* uxth */
-    case 623:  /* uxtb */
-    case 626:  /* lsr */
-    case 625:  /* lsl */
-    case 622:  /* ubfx */
-    case 621:  /* ubfiz */
-    case 620:  /* ubfm */
-      value = 620;     /* --> ubfm.  */
-      break;
-    case 644:  /* cset */
-    case 643:  /* cinc */
-    case 642:  /* csinc */
-      value = 642;     /* --> csinc.  */
-      break;
-    case 647:  /* csetm */
-    case 646:  /* cinv */
-    case 645:  /* csinv */
-      value = 645;     /* --> csinv.  */
-      break;
-    case 649:  /* cneg */
-    case 648:  /* csneg */
-      value = 648;     /* --> csneg.  */
-      break;
-    case 667:  /* rev */
-    case 668:  /* rev64 */
-      value = 667;     /* --> rev.  */
-      break;
-    case 693:  /* lsl */
-    case 692:  /* lslv */
-      value = 692;     /* --> lslv.  */
-      break;
-    case 695:  /* lsr */
-    case 694:  /* lsrv */
-      value = 694;     /* --> lsrv.  */
-      break;
-    case 697:  /* asr */
-    case 696:  /* asrv */
-      value = 696;     /* --> asrv.  */
-      break;
-    case 699:  /* ror */
-    case 698:  /* rorv */
-      value = 698;     /* --> rorv.  */
-      break;
-    case 709:  /* mul */
-    case 708:  /* madd */
-      value = 708;     /* --> madd.  */
-      break;
-    case 711:  /* mneg */
-    case 710:  /* msub */
-      value = 710;     /* --> msub.  */
-      break;
-    case 713:  /* smull */
-    case 712:  /* smaddl */
-      value = 712;     /* --> smaddl.  */
-      break;
-    case 715:  /* smnegl */
-    case 714:  /* smsubl */
-      value = 714;     /* --> smsubl.  */
-      break;
-    case 718:  /* umull */
-    case 717:  /* umaddl */
-      value = 717;     /* --> umaddl.  */
-      break;
-    case 720:  /* umnegl */
-    case 719:  /* umsubl */
-      value = 719;     /* --> umsubl.  */
-      break;
-    case 731:  /* ror */
-    case 730:  /* extr */
-      value = 730;     /* --> extr.  */
-      break;
-    case 938:  /* bic */
-    case 937:  /* and */
-      value = 937;     /* --> and.  */
-      break;
-    case 940:  /* mov */
-    case 939:  /* orr */
-      value = 939;     /* --> orr.  */
-      break;
-    case 943:  /* tst */
-    case 942:  /* ands */
-      value = 942;     /* --> ands.  */
-      break;
-    case 948:  /* uxtw */
-    case 947:  /* mov */
-    case 946:  /* orr */
-      value = 946;     /* --> orr.  */
-      break;
-    case 950:  /* mvn */
-    case 949:  /* orn */
-      value = 949;     /* --> orn.  */
-      break;
-    case 954:  /* tst */
-    case 953:  /* ands */
-      value = 953;     /* --> ands.  */
-      break;
-    case 1080: /* staddb */
-    case 984:  /* ldaddb */
-      value = 984;     /* --> ldaddb.  */
-      break;
-    case 1081: /* staddh */
-    case 985:  /* ldaddh */
-      value = 985;     /* --> ldaddh.  */
-      break;
-    case 1082: /* stadd */
-    case 986:  /* ldadd */
-      value = 986;     /* --> ldadd.  */
+    case 23:   /* cmn */
+    case 22:   /* adds */
+      value = 22;      /* --> adds.  */
+      break;
+    case 25:   /* neg */
+    case 24:   /* sub */
+      value = 24;      /* --> sub.  */
+      break;
+    case 27:   /* cmp */
+    case 28:   /* negs */
+    case 26:   /* subs */
+      value = 26;      /* --> subs.  */
+      break;
+    case 153:  /* mov */
+    case 152:  /* umov */
+      value = 152;     /* --> umov.  */
+      break;
+    case 155:  /* mov */
+    case 154:  /* ins */
+      value = 154;     /* --> ins.  */
+      break;
+    case 157:  /* mov */
+    case 156:  /* ins */
+      value = 156;     /* --> ins.  */
+      break;
+    case 243:  /* mvn */
+    case 242:  /* not */
+      value = 242;     /* --> not.  */
+      break;
+    case 318:  /* mov */
+    case 317:  /* orr */
+      value = 317;     /* --> orr.  */
+      break;
+    case 389:  /* sxtl */
+    case 388:  /* sshll */
+      value = 388;     /* --> sshll.  */
+      break;
+    case 391:  /* sxtl2 */
+    case 390:  /* sshll2 */
+      value = 390;     /* --> sshll2.  */
+      break;
+    case 413:  /* uxtl */
+    case 412:  /* ushll */
+      value = 412;     /* --> ushll.  */
+      break;
+    case 415:  /* uxtl2 */
+    case 414:  /* ushll2 */
+      value = 414;     /* --> ushll2.  */
+      break;
+    case 536:  /* mov */
+    case 535:  /* dup */
+      value = 535;     /* --> dup.  */
+      break;
+    case 623:  /* sxtw */
+    case 622:  /* sxth */
+    case 621:  /* sxtb */
+    case 624:  /* asr */
+    case 620:  /* sbfx */
+    case 619:  /* sbfiz */
+    case 618:  /* sbfm */
+      value = 618;     /* --> sbfm.  */
+      break;
+    case 627:  /* bfc */
+    case 628:  /* bfxil */
+    case 626:  /* bfi */
+    case 625:  /* bfm */
+      value = 625;     /* --> bfm.  */
+      break;
+    case 633:  /* uxth */
+    case 632:  /* uxtb */
+    case 635:  /* lsr */
+    case 634:  /* lsl */
+    case 631:  /* ubfx */
+    case 630:  /* ubfiz */
+    case 629:  /* ubfm */
+      value = 629;     /* --> ubfm.  */
+      break;
+    case 665:  /* cset */
+    case 664:  /* cinc */
+    case 663:  /* csinc */
+      value = 663;     /* --> csinc.  */
+      break;
+    case 668:  /* csetm */
+    case 667:  /* cinv */
+    case 666:  /* csinv */
+      value = 666;     /* --> csinv.  */
+      break;
+    case 670:  /* cneg */
+    case 669:  /* csneg */
+      value = 669;     /* --> csneg.  */
+      break;
+    case 688:  /* rev */
+    case 689:  /* rev64 */
+      value = 688;     /* --> rev.  */
+      break;
+    case 714:  /* lsl */
+    case 713:  /* lslv */
+      value = 713;     /* --> lslv.  */
+      break;
+    case 716:  /* lsr */
+    case 715:  /* lsrv */
+      value = 715;     /* --> lsrv.  */
+      break;
+    case 718:  /* asr */
+    case 717:  /* asrv */
+      value = 717;     /* --> asrv.  */
+      break;
+    case 720:  /* ror */
+    case 719:  /* rorv */
+      value = 719;     /* --> rorv.  */
+      break;
+    case 723:  /* cmpp */
+    case 722:  /* subps */
+      value = 722;     /* --> subps.  */
+      break;
+    case 736:  /* mul */
+    case 735:  /* madd */
+      value = 735;     /* --> madd.  */
+      break;
+    case 738:  /* mneg */
+    case 737:  /* msub */
+      value = 737;     /* --> msub.  */
+      break;
+    case 740:  /* smull */
+    case 739:  /* smaddl */
+      value = 739;     /* --> smaddl.  */
+      break;
+    case 742:  /* smnegl */
+    case 741:  /* smsubl */
+      value = 741;     /* --> smsubl.  */
+      break;
+    case 745:  /* umull */
+    case 744:  /* umaddl */
+      value = 744;     /* --> umaddl.  */
+      break;
+    case 747:  /* umnegl */
+    case 746:  /* umsubl */
+      value = 746;     /* --> umsubl.  */
+      break;
+    case 758:  /* ror */
+    case 757:  /* extr */
+      value = 757;     /* --> extr.  */
+      break;
+    case 991:  /* bic */
+    case 990:  /* and */
+      value = 990;     /* --> and.  */
+      break;
+    case 993:  /* mov */
+    case 992:  /* orr */
+      value = 992;     /* --> orr.  */
+      break;
+    case 996:  /* tst */
+    case 995:  /* ands */
+      value = 995;     /* --> ands.  */
+      break;
+    case 1001: /* uxtw */
+    case 1000: /* mov */
+    case 999:  /* orr */
+      value = 999;     /* --> orr.  */
+      break;
+    case 1003: /* mvn */
+    case 1002: /* orn */
+      value = 1002;    /* --> orn.  */
+      break;
+    case 1007: /* tst */
+    case 1006: /* ands */
+      value = 1006;    /* --> ands.  */
+      break;
+    case 1133: /* staddb */
+    case 1037: /* ldaddb */
+      value = 1037;    /* --> ldaddb.  */
+      break;
+    case 1134: /* staddh */
+    case 1038: /* ldaddh */
+      value = 1038;    /* --> ldaddh.  */
       break;
-    case 1083: /* staddlb */
-    case 988:  /* ldaddlb */
-      value = 988;     /* --> ldaddlb.  */
+    case 1135: /* stadd */
+    case 1039: /* ldadd */
+      value = 1039;    /* --> ldadd.  */
       break;
-    case 1084: /* staddlh */
-    case 991:  /* ldaddlh */
-      value = 991;     /* --> ldaddlh.  */
+    case 1136: /* staddlb */
+    case 1041: /* ldaddlb */
+      value = 1041;    /* --> ldaddlb.  */
       break;
-    case 1085: /* staddl */
-    case 994:  /* ldaddl */
-      value = 994;     /* --> ldaddl.  */
+    case 1137: /* staddlh */
+    case 1044: /* ldaddlh */
+      value = 1044;    /* --> ldaddlh.  */
       break;
-    case 1086: /* stclrb */
-    case 996:  /* ldclrb */
-      value = 996;     /* --> ldclrb.  */
+    case 1138: /* staddl */
+    case 1047: /* ldaddl */
+      value = 1047;    /* --> ldaddl.  */
       break;
-    case 1087: /* stclrh */
-    case 997:  /* ldclrh */
-      value = 997;     /* --> ldclrh.  */
+    case 1139: /* stclrb */
+    case 1049: /* ldclrb */
+      value = 1049;    /* --> ldclrb.  */
       break;
-    case 1088: /* stclr */
-    case 998:  /* ldclr */
-      value = 998;     /* --> ldclr.  */
+    case 1140: /* stclrh */
+    case 1050: /* ldclrh */
+      value = 1050;    /* --> ldclrh.  */
       break;
-    case 1089: /* stclrlb */
-    case 1000: /* ldclrlb */
-      value = 1000;    /* --> ldclrlb.  */
+    case 1141: /* stclr */
+    case 1051: /* ldclr */
+      value = 1051;    /* --> ldclr.  */
       break;
-    case 1090: /* stclrlh */
-    case 1003: /* ldclrlh */
-      value = 1003;    /* --> ldclrlh.  */
+    case 1142: /* stclrlb */
+    case 1053: /* ldclrlb */
+      value = 1053;    /* --> ldclrlb.  */
       break;
-    case 1091: /* stclrl */
-    case 1006: /* ldclrl */
-      value = 1006;    /* --> ldclrl.  */
+    case 1143: /* stclrlh */
+    case 1056: /* ldclrlh */
+      value = 1056;    /* --> ldclrlh.  */
       break;
-    case 1092: /* steorb */
-    case 1008: /* ldeorb */
-      value = 1008;    /* --> ldeorb.  */
+    case 1144: /* stclrl */
+    case 1059: /* ldclrl */
+      value = 1059;    /* --> ldclrl.  */
       break;
-    case 1093: /* steorh */
-    case 1009: /* ldeorh */
-      value = 1009;    /* --> ldeorh.  */
+    case 1145: /* steorb */
+    case 1061: /* ldeorb */
+      value = 1061;    /* --> ldeorb.  */
       break;
-    case 1094: /* steor */
-    case 1010: /* ldeor */
-      value = 1010;    /* --> ldeor.  */
+    case 1146: /* steorh */
+    case 1062: /* ldeorh */
+      value = 1062;    /* --> ldeorh.  */
       break;
-    case 1095: /* steorlb */
-    case 1012: /* ldeorlb */
-      value = 1012;    /* --> ldeorlb.  */
+    case 1147: /* steor */
+    case 1063: /* ldeor */
+      value = 1063;    /* --> ldeor.  */
       break;
-    case 1096: /* steorlh */
-    case 1015: /* ldeorlh */
-      value = 1015;    /* --> ldeorlh.  */
+    case 1148: /* steorlb */
+    case 1065: /* ldeorlb */
+      value = 1065;    /* --> ldeorlb.  */
       break;
-    case 1097: /* steorl */
-    case 1018: /* ldeorl */
-      value = 1018;    /* --> ldeorl.  */
+    case 1149: /* steorlh */
+    case 1068: /* ldeorlh */
+      value = 1068;    /* --> ldeorlh.  */
       break;
-    case 1098: /* stsetb */
-    case 1020: /* ldsetb */
-      value = 1020;    /* --> ldsetb.  */
+    case 1150: /* steorl */
+    case 1071: /* ldeorl */
+      value = 1071;    /* --> ldeorl.  */
       break;
-    case 1099: /* stseth */
-    case 1021: /* ldseth */
-      value = 1021;    /* --> ldseth.  */
+    case 1151: /* stsetb */
+    case 1073: /* ldsetb */
+      value = 1073;    /* --> ldsetb.  */
       break;
-    case 1100: /* stset */
-    case 1022: /* ldset */
-      value = 1022;    /* --> ldset.  */
+    case 1152: /* stseth */
+    case 1074: /* ldseth */
+      value = 1074;    /* --> ldseth.  */
       break;
-    case 1101: /* stsetlb */
-    case 1024: /* ldsetlb */
-      value = 1024;    /* --> ldsetlb.  */
+    case 1153: /* stset */
+    case 1075: /* ldset */
+      value = 1075;    /* --> ldset.  */
       break;
-    case 1102: /* stsetlh */
-    case 1027: /* ldsetlh */
-      value = 1027;    /* --> ldsetlh.  */
+    case 1154: /* stsetlb */
+    case 1077: /* ldsetlb */
+      value = 1077;    /* --> ldsetlb.  */
       break;
-    case 1103: /* stsetl */
-    case 1030: /* ldsetl */
-      value = 1030;    /* --> ldsetl.  */
+    case 1155: /* stsetlh */
+    case 1080: /* ldsetlh */
+      value = 1080;    /* --> ldsetlh.  */
       break;
-    case 1104: /* stsmaxb */
-    case 1032: /* ldsmaxb */
-      value = 1032;    /* --> ldsmaxb.  */
+    case 1156: /* stsetl */
+    case 1083: /* ldsetl */
+      value = 1083;    /* --> ldsetl.  */
       break;
-    case 1105: /* stsmaxh */
-    case 1033: /* ldsmaxh */
-      value = 1033;    /* --> ldsmaxh.  */
+    case 1157: /* stsmaxb */
+    case 1085: /* ldsmaxb */
+      value = 1085;    /* --> ldsmaxb.  */
       break;
-    case 1106: /* stsmax */
-    case 1034: /* ldsmax */
-      value = 1034;    /* --> ldsmax.  */
-      break;
-    case 1107: /* stsmaxlb */
-    case 1036: /* ldsmaxlb */
-      value = 1036;    /* --> ldsmaxlb.  */
-      break;
-    case 1108: /* stsmaxlh */
-    case 1039: /* ldsmaxlh */
-      value = 1039;    /* --> ldsmaxlh.  */
-      break;
-    case 1109: /* stsmaxl */
-    case 1042: /* ldsmaxl */
-      value = 1042;    /* --> ldsmaxl.  */
-      break;
-    case 1110: /* stsminb */
-    case 1044: /* ldsminb */
-      value = 1044;    /* --> ldsminb.  */
-      break;
-    case 1111: /* stsminh */
-    case 1045: /* ldsminh */
-      value = 1045;    /* --> ldsminh.  */
-      break;
-    case 1112: /* stsmin */
-    case 1046: /* ldsmin */
-      value = 1046;    /* --> ldsmin.  */
-      break;
-    case 1113: /* stsminlb */
-    case 1048: /* ldsminlb */
-      value = 1048;    /* --> ldsminlb.  */
-      break;
-    case 1114: /* stsminlh */
-    case 1051: /* ldsminlh */
-      value = 1051;    /* --> ldsminlh.  */
-      break;
-    case 1115: /* stsminl */
-    case 1054: /* ldsminl */
-      value = 1054;    /* --> ldsminl.  */
-      break;
-    case 1116: /* stumaxb */
-    case 1056: /* ldumaxb */
-      value = 1056;    /* --> ldumaxb.  */
-      break;
-    case 1117: /* stumaxh */
-    case 1057: /* ldumaxh */
-      value = 1057;    /* --> ldumaxh.  */
-      break;
-    case 1118: /* stumax */
-    case 1058: /* ldumax */
-      value = 1058;    /* --> ldumax.  */
-      break;
-    case 1119: /* stumaxlb */
-    case 1060: /* ldumaxlb */
-      value = 1060;    /* --> ldumaxlb.  */
-      break;
-    case 1120: /* stumaxlh */
-    case 1063: /* ldumaxlh */
-      value = 1063;    /* --> ldumaxlh.  */
-      break;
-    case 1121: /* stumaxl */
-    case 1066: /* ldumaxl */
-      value = 1066;    /* --> ldumaxl.  */
-      break;
-    case 1122: /* stuminb */
-    case 1068: /* lduminb */
-      value = 1068;    /* --> lduminb.  */
-      break;
-    case 1123: /* stuminh */
-    case 1069: /* lduminh */
-      value = 1069;    /* --> lduminh.  */
-      break;
-    case 1124: /* stumin */
-    case 1070: /* ldumin */
-      value = 1070;    /* --> ldumin.  */
-      break;
-    case 1125: /* stuminlb */
-    case 1072: /* lduminlb */
-      value = 1072;    /* --> lduminlb.  */
-      break;
-    case 1126: /* stuminlh */
-    case 1075: /* lduminlh */
-      value = 1075;    /* --> lduminlh.  */
-      break;
-    case 1127: /* stuminl */
-    case 1078: /* lduminl */
-      value = 1078;    /* --> lduminl.  */
-      break;
-    case 1129: /* mov */
-    case 1128: /* movn */
-      value = 1128;    /* --> movn.  */
-      break;
-    case 1131: /* mov */
-    case 1130: /* movz */
-      value = 1130;    /* --> movz.  */
-      break;
-    case 1169: /* autibsp */
-    case 1168: /* autibz */
-    case 1167: /* autiasp */
-    case 1166: /* autiaz */
-    case 1165: /* pacibsp */
-    case 1164: /* pacibz */
-    case 1163: /* paciasp */
-    case 1162: /* paciaz */
-    case 1149: /* psb */
-    case 1148: /* esb */
-    case 1147: /* autib1716 */
-    case 1146: /* autia1716 */
-    case 1145: /* pacib1716 */
-    case 1144: /* pacia1716 */
-    case 1143: /* xpaclri */
-    case 1142: /* sevl */
-    case 1141: /* sev */
-    case 1140: /* wfi */
-    case 1139: /* wfe */
-    case 1138: /* yield */
-    case 1137: /* nop */
-    case 1136: /* hint */
-      value = 1136;    /* --> hint.  */
-      break;
-    case 1158: /* tlbi */
-    case 1157: /* ic */
-    case 1156: /* dc */
-    case 1155: /* at */
-    case 1154: /* sys */
-      value = 1154;    /* --> sys.  */
-      break;
-    case 1912: /* bic */
-    case 1217: /* and */
-      value = 1217;    /* --> and.  */
-      break;
-    case 1200: /* mov */
-    case 1219: /* and */
-      value = 1219;    /* --> and.  */
-      break;
-    case 1204: /* movs */
-    case 1220: /* ands */
-      value = 1220;    /* --> ands.  */
-      break;
-    case 1913: /* cmple */
-    case 1255: /* cmpge */
-      value = 1255;    /* --> cmpge.  */
-      break;
-    case 1916: /* cmplt */
-    case 1258: /* cmpgt */
-      value = 1258;    /* --> cmpgt.  */
-      break;
-    case 1914: /* cmplo */
-    case 1260: /* cmphi */
-      value = 1260;    /* --> cmphi.  */
-      break;
-    case 1915: /* cmpls */
-    case 1263: /* cmphs */
-      value = 1263;    /* --> cmphs.  */
-      break;
-    case 1197: /* mov */
-    case 1285: /* cpy */
-      value = 1285;    /* --> cpy.  */
-      break;
-    case 1199: /* mov */
-    case 1286: /* cpy */
-      value = 1286;    /* --> cpy.  */
-      break;
-    case 1923: /* fmov */
-    case 1202: /* mov */
-    case 1287: /* cpy */
-      value = 1287;    /* --> cpy.  */
-      break;
-    case 1192: /* mov */
-    case 1299: /* dup */
-      value = 1299;    /* --> dup.  */
-      break;
-    case 1194: /* mov */
-    case 1191: /* mov */
-    case 1300: /* dup */
-      value = 1300;    /* --> dup.  */
-      break;
-    case 1922: /* fmov */
-    case 1196: /* mov */
-    case 1301: /* dup */
-      value = 1301;    /* --> dup.  */
-      break;
-    case 1195: /* mov */
-    case 1302: /* dupm */
-      value = 1302;    /* --> dupm.  */
-      break;
-    case 1917: /* eon */
-    case 1304: /* eor */
-      value = 1304;    /* --> eor.  */
-      break;
-    case 1205: /* not */
-    case 1306: /* eor */
-      value = 1306;    /* --> eor.  */
-      break;
-    case 1206: /* nots */
-    case 1307: /* eors */
-      value = 1307;    /* --> eors.  */
-      break;
-    case 1918: /* facle */
-    case 1312: /* facge */
-      value = 1312;    /* --> facge.  */
-      break;
-    case 1919: /* faclt */
-    case 1313: /* facgt */
-      value = 1313;    /* --> facgt.  */
-      break;
-    case 1920: /* fcmle */
-    case 1322: /* fcmge */
-      value = 1322;    /* --> fcmge.  */
-      break;
-    case 1921: /* fcmlt */
-    case 1324: /* fcmgt */
-      value = 1324;    /* --> fcmgt.  */
-      break;
-    case 1189: /* fmov */
-    case 1330: /* fcpy */
-      value = 1330;    /* --> fcpy.  */
-      break;
-    case 1188: /* fmov */
-    case 1347: /* fdup */
-      value = 1347;    /* --> fdup.  */
-      break;
-    case 1190: /* mov */
-    case 1645: /* orr */
-      value = 1645;    /* --> orr.  */
+    case 1158: /* stsmaxh */
+    case 1086: /* ldsmaxh */
+      value = 1086;    /* --> ldsmaxh.  */
       break;
-    case 1924: /* orn */
-    case 1646: /* orr */
-      value = 1646;    /* --> orr.  */
+    case 1159: /* stsmax */
+    case 1087: /* ldsmax */
+      value = 1087;    /* --> ldsmax.  */
+      break;
+    case 1160: /* stsmaxlb */
+    case 1089: /* ldsmaxlb */
+      value = 1089;    /* --> ldsmaxlb.  */
+      break;
+    case 1161: /* stsmaxlh */
+    case 1092: /* ldsmaxlh */
+      value = 1092;    /* --> ldsmaxlh.  */
+      break;
+    case 1162: /* stsmaxl */
+    case 1095: /* ldsmaxl */
+      value = 1095;    /* --> ldsmaxl.  */
+      break;
+    case 1163: /* stsminb */
+    case 1097: /* ldsminb */
+      value = 1097;    /* --> ldsminb.  */
+      break;
+    case 1164: /* stsminh */
+    case 1098: /* ldsminh */
+      value = 1098;    /* --> ldsminh.  */
+      break;
+    case 1165: /* stsmin */
+    case 1099: /* ldsmin */
+      value = 1099;    /* --> ldsmin.  */
+      break;
+    case 1166: /* stsminlb */
+    case 1101: /* ldsminlb */
+      value = 1101;    /* --> ldsminlb.  */
+      break;
+    case 1167: /* stsminlh */
+    case 1104: /* ldsminlh */
+      value = 1104;    /* --> ldsminlh.  */
+      break;
+    case 1168: /* stsminl */
+    case 1107: /* ldsminl */
+      value = 1107;    /* --> ldsminl.  */
+      break;
+    case 1169: /* stumaxb */
+    case 1109: /* ldumaxb */
+      value = 1109;    /* --> ldumaxb.  */
+      break;
+    case 1170: /* stumaxh */
+    case 1110: /* ldumaxh */
+      value = 1110;    /* --> ldumaxh.  */
+      break;
+    case 1171: /* stumax */
+    case 1111: /* ldumax */
+      value = 1111;    /* --> ldumax.  */
+      break;
+    case 1172: /* stumaxlb */
+    case 1113: /* ldumaxlb */
+      value = 1113;    /* --> ldumaxlb.  */
+      break;
+    case 1173: /* stumaxlh */
+    case 1116: /* ldumaxlh */
+      value = 1116;    /* --> ldumaxlh.  */
+      break;
+    case 1174: /* stumaxl */
+    case 1119: /* ldumaxl */
+      value = 1119;    /* --> ldumaxl.  */
+      break;
+    case 1175: /* stuminb */
+    case 1121: /* lduminb */
+      value = 1121;    /* --> lduminb.  */
+      break;
+    case 1176: /* stuminh */
+    case 1122: /* lduminh */
+      value = 1122;    /* --> lduminh.  */
+      break;
+    case 1177: /* stumin */
+    case 1123: /* ldumin */
+      value = 1123;    /* --> ldumin.  */
+      break;
+    case 1178: /* stuminlb */
+    case 1125: /* lduminlb */
+      value = 1125;    /* --> lduminlb.  */
+      break;
+    case 1179: /* stuminlh */
+    case 1128: /* lduminlh */
+      value = 1128;    /* --> lduminlh.  */
+      break;
+    case 1180: /* stuminl */
+    case 1131: /* lduminl */
+      value = 1131;    /* --> lduminl.  */
+      break;
+    case 1182: /* mov */
+    case 1181: /* movn */
+      value = 1181;    /* --> movn.  */
+      break;
+    case 1184: /* mov */
+    case 1183: /* movz */
+      value = 1183;    /* --> movz.  */
+      break;
+    case 1237: /* autibsp */
+    case 1236: /* autibz */
+    case 1235: /* autiasp */
+    case 1234: /* autiaz */
+    case 1233: /* pacibsp */
+    case 1232: /* pacibz */
+    case 1231: /* paciasp */
+    case 1230: /* paciaz */
+    case 1210: /* tsb */
+    case 1209: /* psb */
+    case 1208: /* esb */
+    case 1207: /* autib1716 */
+    case 1206: /* autia1716 */
+    case 1205: /* pacib1716 */
+    case 1204: /* pacia1716 */
+    case 1203: /* xpaclri */
+    case 1201: /* sevl */
+    case 1200: /* sev */
+    case 1199: /* wfi */
+    case 1198: /* wfe */
+    case 1197: /* yield */
+    case 1196: /* bti */
+    case 1195: /* csdb */
+    case 1194: /* nop */
+    case 1193: /* hint */
+      value = 1193;    /* --> hint.  */
+      break;
+    case 1214: /* pssbb */
+    case 1213: /* ssbb */
+    case 1212: /* dsb */
+      value = 1212;    /* --> dsb.  */
+      break;
+    case 1225: /* cpp */
+    case 1224: /* dvp */
+    case 1223: /* cfp */
+    case 1222: /* tlbi */
+    case 1221: /* ic */
+    case 1220: /* dc */
+    case 1219: /* at */
+    case 1218: /* sys */
+      value = 1218;    /* --> sys.  */
+      break;
+    case 2035: /* bic */
+    case 1285: /* and */
+      value = 1285;    /* --> and.  */
+      break;
+    case 1268: /* mov */
+    case 1287: /* and */
+      value = 1287;    /* --> and.  */
+      break;
+    case 1272: /* movs */
+    case 1288: /* ands */
+      value = 1288;    /* --> ands.  */
+      break;
+    case 2036: /* cmple */
+    case 1323: /* cmpge */
+      value = 1323;    /* --> cmpge.  */
+      break;
+    case 2039: /* cmplt */
+    case 1326: /* cmpgt */
+      value = 1326;    /* --> cmpgt.  */
+      break;
+    case 2037: /* cmplo */
+    case 1328: /* cmphi */
+      value = 1328;    /* --> cmphi.  */
+      break;
+    case 2038: /* cmpls */
+    case 1331: /* cmphs */
+      value = 1331;    /* --> cmphs.  */
+      break;
+    case 1265: /* mov */
+    case 1353: /* cpy */
+      value = 1353;    /* --> cpy.  */
+      break;
+    case 1267: /* mov */
+    case 1354: /* cpy */
+      value = 1354;    /* --> cpy.  */
+      break;
+    case 2046: /* fmov */
+    case 1270: /* mov */
+    case 1355: /* cpy */
+      value = 1355;    /* --> cpy.  */
+      break;
+    case 1260: /* mov */
+    case 1367: /* dup */
+      value = 1367;    /* --> dup.  */
+      break;
+    case 1262: /* mov */
+    case 1259: /* mov */
+    case 1368: /* dup */
+      value = 1368;    /* --> dup.  */
+      break;
+    case 2045: /* fmov */
+    case 1264: /* mov */
+    case 1369: /* dup */
+      value = 1369;    /* --> dup.  */
+      break;
+    case 1263: /* mov */
+    case 1370: /* dupm */
+      value = 1370;    /* --> dupm.  */
+      break;
+    case 2040: /* eon */
+    case 1372: /* eor */
+      value = 1372;    /* --> eor.  */
+      break;
+    case 1273: /* not */
+    case 1374: /* eor */
+      value = 1374;    /* --> eor.  */
+      break;
+    case 1274: /* nots */
+    case 1375: /* eors */
+      value = 1375;    /* --> eors.  */
+      break;
+    case 2041: /* facle */
+    case 1380: /* facge */
+      value = 1380;    /* --> facge.  */
+      break;
+    case 2042: /* faclt */
+    case 1381: /* facgt */
+      value = 1381;    /* --> facgt.  */
+      break;
+    case 2043: /* fcmle */
+    case 1394: /* fcmge */
+      value = 1394;    /* --> fcmge.  */
+      break;
+    case 2044: /* fcmlt */
+    case 1396: /* fcmgt */
+      value = 1396;    /* --> fcmgt.  */
+      break;
+    case 1257: /* fmov */
+    case 1402: /* fcpy */
+      value = 1402;    /* --> fcpy.  */
+      break;
+    case 1256: /* fmov */
+    case 1425: /* fdup */
+      value = 1425;    /* --> fdup.  */
+      break;
+    case 1258: /* mov */
+    case 1756: /* orr */
+      value = 1756;    /* --> orr.  */
       break;
-    case 1193: /* mov */
-    case 1648: /* orr */
-      value = 1648;    /* --> orr.  */
+    case 2047: /* orn */
+    case 1757: /* orr */
+      value = 1757;    /* --> orr.  */
       break;
-    case 1203: /* movs */
-    case 1649: /* orrs */
-      value = 1649;    /* --> orrs.  */
+    case 1261: /* mov */
+    case 1759: /* orr */
+      value = 1759;    /* --> orr.  */
       break;
-    case 1198: /* mov */
-    case 1705: /* sel */
-      value = 1705;    /* --> sel.  */
+    case 1271: /* movs */
+    case 1760: /* orrs */
+      value = 1760;    /* --> orrs.  */
       break;
-    case 1201: /* mov */
-    case 1706: /* sel */
-      value = 1706;    /* --> sel.  */
+    case 1266: /* mov */
+    case 1822: /* sel */
+      value = 1822;    /* --> sel.  */
+      break;
+    case 1269: /* mov */
+    case 1823: /* sel */
+      value = 1823;    /* --> sel.  */
       break;
     default: return NULL;
     }
@@ -578,10 +593,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;
@@ -597,12 +613,12 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 8:
     case 9:
     case 10:
-    case 14:
-    case 15:
+    case 11:
+    case 12:
     case 16:
     case 17:
+    case 18:
     case 19:
-    case 20:
     case 21:
     case 22:
     case 23:
@@ -610,20 +626,9 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 25:
     case 26:
     case 27:
-    case 35:
-    case 36:
-    case 139:
-    case 140:
-    case 141:
-    case 142:
-    case 143:
-    case 144:
-    case 145:
-    case 146:
-    case 147:
-    case 148:
-    case 161:
-    case 162:
+    case 28:
+    case 29:
+    case 30:
     case 163:
     case 164:
     case 165:
@@ -632,32 +637,44 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 168:
     case 169:
     case 170:
-    case 173:
-      return aarch64_ins_regno (self, info, code, inst);
-    case 12:
-      return aarch64_ins_reg_extended (self, info, code, inst);
-    case 13:
-      return aarch64_ins_reg_shifted (self, info, code, inst);
-    case 18:
-      return aarch64_ins_ft (self, info, code, inst);
-    case 28:
-    case 29:
-    case 30:
-      return aarch64_ins_reglane (self, info, code, inst);
+    case 171:
+    case 172:
+    case 187:
+    case 188:
+    case 189:
+    case 190:
+    case 191:
+    case 192:
+    case 193:
+    case 194:
+    case 195:
+    case 201:
+    case 204:
+      return aarch64_ins_regno (self, info, code, inst, errors);
+    case 14:
+      return aarch64_ins_reg_extended (self, info, code, inst, errors);
+    case 15:
+      return aarch64_ins_reg_shifted (self, info, code, inst, errors);
+    case 20:
+      return aarch64_ins_ft (self, info, code, inst, errors);
     case 31:
-      return aarch64_ins_reglist (self, info, code, inst);
     case 32:
-      return aarch64_ins_ldst_reglist (self, info, code, inst);
     case 33:
-      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
     case 34:
-      return aarch64_ins_ldst_elemlist (self, info, code, inst);
+    case 207:
+      return aarch64_ins_reglane (self, info, code, inst, errors);
+    case 35:
+      return aarch64_ins_reglist (self, info, code, inst, errors);
+    case 36:
+      return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
     case 37:
-    case 47:
-    case 48:
-    case 49:
-    case 50:
-    case 51:
+      return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
+    case 38:
+      return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
+    case 39:
+    case 40:
+    case 41:
+    case 42:
     case 52:
     case 53:
     case 54:
@@ -666,146 +683,185 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 57:
     case 58:
     case 59:
-    case 68:
-    case 69:
-    case 70:
-    case 71:
-    case 136:
-    case 138:
-    case 153:
-    case 154:
-    case 155:
-    case 156:
-    case 157:
-    case 158:
-    case 159:
-    case 160:
-      return aarch64_ins_imm (self, info, code, inst);
-    case 38:
-    case 39:
-      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
-    case 40:
-    case 41:
-    case 42:
-      return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
-    case 46:
-    case 129:
-      return aarch64_ins_fpimm (self, info, code, inst);
     case 60:
-    case 134:
-      return aarch64_ins_limm (self, info, code, inst);
     case 61:
-      return aarch64_ins_aimm (self, info, code, inst);
     case 62:
-      return aarch64_ins_imm_half (self, info, code, inst);
     case 63:
-      return aarch64_ins_fbits (self, info, code, inst);
+    case 64:
     case 65:
     case 66:
-      return aarch64_ins_cond (self, info, code, inst);
-    case 72:
-    case 78:
-      return aarch64_ins_addr_simple (self, info, code, inst);
+    case 67:
+    case 79:
+    case 80:
+    case 81:
+    case 82:
+    case 160:
+    case 162:
+    case 179:
+    case 180:
+    case 181:
+    case 182:
+    case 183:
+    case 184:
+    case 185:
+    case 186:
+    case 206:
+      return aarch64_ins_imm (self, info, code, inst, errors);
+    case 43:
+    case 44:
+      return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
+    case 45:
+    case 46:
+    case 47:
+      return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
+    case 51:
+    case 150:
+      return aarch64_ins_fpimm (self, info, code, inst, errors);
+    case 68:
+    case 158:
+      return aarch64_ins_limm (self, info, code, inst, errors);
+    case 69:
+      return aarch64_ins_aimm (self, info, code, inst, errors);
+    case 70:
+      return aarch64_ins_imm_half (self, info, code, inst, errors);
+    case 71:
+      return aarch64_ins_fbits (self, info, code, inst, errors);
     case 73:
-      return aarch64_ins_addr_regoff (self, info, code, inst);
     case 74:
+    case 155:
+      return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
     case 75:
+    case 154:
+    case 156:
+      return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
     case 76:
-      return aarch64_ins_addr_simm (self, info, code, inst);
     case 77:
-      return aarch64_ins_addr_uimm12 (self, info, code, inst);
-    case 79:
-      return aarch64_ins_simd_addr_post (self, info, code, inst);
-    case 80:
-      return aarch64_ins_sysreg (self, info, code, inst);
-    case 81:
-      return aarch64_ins_pstatefield (self, info, code, inst);
-    case 82:
+      return aarch64_ins_cond (self, info, code, inst, errors);
     case 83:
+    case 92:
+      return aarch64_ins_addr_simple (self, info, code, inst, errors);
     case 84:
+      return aarch64_ins_addr_regoff (self, info, code, inst, errors);
     case 85:
-      return aarch64_ins_sysins_op (self, info, code, inst);
     case 86:
     case 87:
-      return aarch64_ins_barrier (self, info, code, inst);
-    case 88:
-      return aarch64_ins_prfop (self, info, code, inst);
     case 89:
-      return aarch64_ins_hint (self, info, code, inst);
-    case 90:
     case 91:
-    case 92:
+      return aarch64_ins_addr_simm (self, info, code, inst, errors);
+    case 88:
+      return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
+    case 90:
+      return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
     case 93:
-      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst);
+      return aarch64_ins_addr_offset (self, info, code, inst, errors);
     case 94:
-      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst);
+      return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
     case 95:
-      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst);
+      return aarch64_ins_sysreg (self, info, code, inst, errors);
     case 96:
+      return aarch64_ins_pstatefield (self, info, code, inst, errors);
     case 97:
     case 98:
     case 99:
-      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst);
     case 100:
     case 101:
+      return aarch64_ins_sysins_op (self, info, code, inst, errors);
     case 102:
     case 103:
+      return aarch64_ins_barrier (self, info, code, inst, errors);
     case 104:
+      return aarch64_ins_prfop (self, info, code, inst, errors);
     case 105:
+      return aarch64_ins_none (self, info, code, inst, errors);
     case 106:
+      return aarch64_ins_hint (self, info, code, inst, errors);
     case 107:
     case 108:
+      return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 109:
     case 110:
     case 111:
-      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst);
     case 112:
+      return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
     case 113:
+      return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 114:
+      return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
     case 115:
     case 116:
     case 117:
     case 118:
+      return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 119:
-      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst);
     case 120:
     case 121:
     case 122:
     case 123:
-      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst);
     case 124:
-      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst);
     case 125:
-      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst);
     case 126:
-      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst);
     case 127:
-      return aarch64_ins_sve_aimm (self, info, code, inst);
     case 128:
-      return aarch64_ins_sve_asimm (self, info, code, inst);
+    case 129:
     case 130:
-      return aarch64_ins_sve_float_half_one (self, info, code, inst);
     case 131:
-      return aarch64_ins_sve_float_half_two (self, info, code, inst);
     case 132:
-      return aarch64_ins_sve_float_zero_one (self, info, code, inst);
+      return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 133:
-      return aarch64_ins_inv_limm (self, info, code, inst);
+    case 134:
     case 135:
-      return aarch64_ins_sve_limm_mov (self, info, code, inst);
+    case 136:
     case 137:
-      return aarch64_ins_sve_scale (self, info, code, inst);
+    case 138:
+    case 139:
+    case 140:
+      return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
+    case 141:
+    case 142:
+    case 143:
+    case 144:
+      return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
+    case 145:
+      return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
+    case 146:
+      return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
+    case 147:
+      return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
+    case 148:
+      return aarch64_ins_sve_aimm (self, info, code, inst, errors);
     case 149:
-    case 150:
-      return aarch64_ins_sve_shlimm (self, info, code, inst);
+      return aarch64_ins_sve_asimm (self, info, code, inst, errors);
     case 151:
+      return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
     case 152:
-      return aarch64_ins_sve_shrimm (self, info, code, inst);
-    case 171:
-      return aarch64_ins_sve_index (self, info, code, inst);
-    case 172:
+      return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+    case 153:
+      return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
+    case 157:
+      return aarch64_ins_inv_limm (self, info, code, inst, errors);
+    case 159:
+      return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
+    case 161:
+      return aarch64_ins_sve_scale (self, info, code, inst, errors);
+    case 173:
     case 174:
-      return aarch64_ins_sve_reglist (self, info, code, inst);
+    case 175:
+      return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
+    case 176:
+    case 177:
+    case 178:
+      return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
+    case 196:
+    case 197:
+    case 198:
+    case 199:
+    case 200:
+      return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
+    case 202:
+      return aarch64_ins_sve_index (self, info, code, inst, errors);
+    case 203:
+    case 205:
+      return aarch64_ins_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
 }